タグ

LU分解に関するbabydaemonsのブックマーク (3)

  • LU分解 - PukiWiki for PBCG Lab

    を直接法,反復法などで解くことだけを考えてきた. それでは実際の問題ではこのような線形システムはどのように扱われるだろうか. たとえば,制御の分野ではシステムの状態変化を捉えるために用いている. 係数行列Aがシステム内部を表し,右辺の定数ベクトルbで外乱などの状態を表す. システム内部が変わらず,外の状態が様々に変化したときの状態を知りたいとき, 係数行列Aは変化せず,bのみが変わるだけである. このように係数行列が固定で右辺の定数ベクトルだけが変化するということは, 物理学などの他の分野でも多くある. このとき,係数行列Aを解きやすい形に分解しておけば,計算量を大幅に減らすことができる. ここではそのような分解の一つであるLU分解について述べる. n元連立1次方程式の係数行列を考える. これを以下の下三角行列(lower triangular matrix) L と 上三角行列 (upp

  • LU分解で逆行列を求めるプログラム。 - プログラマ専用SNS ミクプラ

    フォーラム(掲示板)ルール フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code] と [/code] で囲って下さい。詳しくはこちら 初投稿です。よろしくお願い致します。 以下は行列Aの逆行列をLU分解を利用して求めるプログラムらしいのですが、終盤の /* b[1...N]の入力 */の部分で b=1;  と   }   の間の文が抜けています。 どなたか、このプログラムが動くように抜けている文を埋めて頂けないでしょうか? ↓↓↓↓↓↓↓↓ #include <stdio.h> #include <stdlib.h> #include <math.h> #define N 4 /* N次正方行列 */ /* 行列の入力 */ void input_matrix( double **a, char c, FILE *fin, FILE *fout); /* ベクトル

  • http://www2.ee.knct.ac.jp/el/E4/H15-E406/lu1.html

    /* LU分解による連立一次方程式の解法を用いたプログラム例 */ /* Lの対角要素は1とする。 */ #include <iostream.h> #include <iomanip.h> #include <math.h> const int N=3; /* 変数の数 */ const double Eps=1e-10; /* Pivotの最低値を規定する小さい数 */ /* ユーザー定義の型Matrixの定義 */ typedef double Matrix[N+1][N+1]; /* ユーザー定義の型Vectorの定義 */ typedef double Vector[N+1]; /* LU分解を行う関数の定義 */ int lu_decomposition( Matrix a,int n ) { int i,j,t; for ( t=1; t <=

  • 1