2011-08-08 72 views
4

你知道一個好的庫/我可以用它來解決c#中的特徵系統嗎?在c#中解決特徵系統?

我的數據是2D/3D,我想獲得第一和第二特徵向量的方向和長度,以評估我的數據在二維空間中如何拉長。

謝謝

+0

這可能會幫助:http://stackoverflow.com/questions/4400203/calculating -eigenvectors-in-c-using-advanced-matrix-library-in-c-net –

+2

順便說一句,你可能需要SVD,而不是特徵向量分解。 –

回答

2

感謝那些建議Alglib的人,但是它的命名約定是C++風格的,我不覺得它很容易使用!

相反,我找到了一個叫Accord.Math的精彩開源庫。它提供了一個非常好的數學滿足我的需求的夢幻般的API。

我第一次發現了Normalized EigenValue分解代碼here,但顯然它已經添加到Accord.Math庫。

我的代碼如下所示:

var gevd = new EigenvalueDecomposition(rect); 
var V = gevd.Eigenvectors; 
var D = gevd.DiagonalMatrix; 

它還提供其他類型的分解的:

enter image description here

5

也許this library可以幫助你。

+0

這似乎很好,但任何示例代碼? –