{L,U} = lu(A)
Matrix L,U;
Matrix A;
【詳細】
{L,U} =lu(A)は,行列 A のLU分解を求める。この分解は,正方行列 A
を下三角行列を行置換した行列 L と上三角行列 U の積に分解する。
これらの行列の間には,A = L * U の関係がある。
【算法】
文献 1 の算法を使う。
【例題】
>> A = [[1 2 3][6 5 4][7 8 1]];
>> {L, U} = lu(A);
>> print L, U
=== [L] : ( 3, 3) ===
( 1) ( 2) ( 3)
( 1) 1.42857143E-01 -4.61538462E-01 1.00000000E+00
( 2) 8.57142857E-01 1.00000000E+00 0.00000000E+00
( 3) 1.00000000E+00 0.00000000E+00 0.00000000E+00
=== [U] : ( 3, 3) ===
( 1) ( 2) ( 3)
( 1) 7.00000000E+00 8.00000000E+00 1.00000000E+00
( 2) 0.00000000E+00 -1.85714286E+00 3.14285714E+00
( 3) 0.00000000E+00 0.00000000E+00 4.30769231E+00
【参照】
【文献】
- 1.
- Gene H. Golub and Charles F. Van Loan: Matrix Computations.
The Johns Hopkins University Press, 1989