原創|其它|編輯:郝浩|2012-12-28 13:41:48.000|閱讀 435 次
概述:.NET函數庫NMath提供了各種各樣的結構化的稀疏矩陣類型。結構性稀疏矩陣可以比一般的矩陣更有效地被操縱,因為所有的元素并不需要被存儲。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
.NET函數庫 NMath提供了各種各樣的結構化稀疏矩陣類型。結構性稀疏矩陣可以比一般的矩陣更有效地被操縱,因為所有的元素并不需要被存儲。
NMath包含的類如下表示:
為了提高效率,只對上三角矩陣和下三角矩陣分別保存。
對于對稱和Hermite矩陣,NMath只保存上三角。
為了效率,零元素以外的帶寬矩陣沒有被保存。
三對角矩陣的主對角線,超對角線,和次對角之外的0元素,NMath不保存。
接下來為大家帶來一個用 FloatComplexTriDiagMatrix 類來創建一個三對角矩陣單精度復數的代碼示例:
int rows = 8; cols = 8; FloatComplexTriDiagMatrix A = new FloatComplexTriDiagMatrix( rows, cols );
在三角矩陣中使用 Diagonal() 能夠快速的為其設定主對角線,超對角線,和次對角:
A.Diagonal( -1 ).Set( Slice.All, 1 ); A.Diagonal( 0 ).Set( Slice.All, 2 ); A.Diagonal( 1 ).Set( Slice.All, 3 ); Console.WriteLine( "A = {0}", A.ToString() ); // A = 8x8 [ (2,0) (3,0) (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) // (1,0) (2,0) (3,0) (0,0) (0,0) (0,0) (0,0) (0,0) // (0,0) (1,0) (2,0) (3,0) (0,0) (0,0) (0,0) (0,0) // (0,0) (0,0) (1,0) (2,0) (3,0) (0,0) (0,0) (0,0) // (0,0) (0,0) (0,0) (1,0) (2,0) (3,0) (0,0) (0,0) // (0,0) (0,0) (0,0) (0,0) (1,0) (2,0) (3,0) (0,0) // (0,0) (0,0) (0,0) (0,0) (0,0) (1,0) (2,0) (3,0) // (0,0) (0,0) (0,0) (0,0) (0,0) (0,0) (1,0) (2,0)]
索引就會把它當作為一般的矩陣而運行:
FloatComplex c = A[7,0];
還支持使用索引的值設置對角矩陣中對角線元素:
A[2,1] = new FloatComplex( 2, -1 );
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網