NMath矩陣分解的兩種方式

概述:本教程爲您介紹.Net惟一的數學與統計學運算庫NMath,實現矩陣分解的兩種方法。spa

  Nmath中包括用於構造和操做矩陣QR和奇異值分解的分解類。QR分解以下表示:code

1
AP=QR

  其中P是一個可置換矩陣,Q是正交的,且R爲上梯形。矩陣A的奇異值分解(SVD)的形式表示爲:orm

1
A=USV*

  其中U和V是正交的,S是對角的,和V *表示一個真正的矩陣V或一個複雜的矩陣V的條目沿對角線S的共軛轉置的奇異值。教程

  接下來帶來一個矩陣分解類的實例,下面代碼示例爲從FloatMatrix建立FloatQRDecomp這個分解類:ci

1
2
3
FloatMatrix A =
   new FloatMatrix(  "5x3 [ 1 2 3  4 5 6  7 8 9  0 1 2  3 4 5 ]" );
FloatQRDecomp qr =  new FloatQRDecomp( A );

  還有一種比較複雜的分解類的實例代碼爲:get

1
2
3
4
5
6
7
DoubleComplexQRDecompServer qrs =  new
   DoubleComplexQRDecompServer();
qrs.Pivoting =  false ;
int rows = 10, cols = 3;
DoubleComplexMatrix A =  new DoubleComplexMatrix( rows, cols,
   new RandGenUniform( -1, 1 ) );
DoubleComplexQRDecomp qr = qrs.GetDecomp( A );
相關文章
相關標籤/搜索