我要實現一個函數來在C++中完成半定矩陣的Cholesky分解,並且想知道是否存在已經優化過的庫/任何東西。這是因爲工作或類似於在此描述:在C++中半定矩陣的Cholesky分解
http://www.sciencedirect.com/science/article/pii/S0096300310012713
這是正定的一個例子,但它並不適用於半正定工作:http://en.wikipedia.org/wiki/Cholesky_decomposition#The_Cholesky.E2.80.93Banachiewicz_and_Cholesky.E2.80.93Crout_algorithms
程序必須不用C/FORTRAN庫,(想想尖尖的老闆給出指令),這意味着ATLAS,LAPACK等。出局。我通過MTL + Boost看過,但他們只適用於正定矩陣。有沒有我沒有找到的圖書館,甚至沒有寫過的單一功能?
謝謝你的幫助,我想我可能會在星期一要求編譯器一個鏡頭,但我不屏住呼吸。我將嘗試使用Crout算法的Eigen或MTL實現來實現這一點,並看看它是如何工作的。 – Adam
請注意,對於某些用途,非唯一性無關緊要,例如,一個應用程序用於模擬多信道矢量,然後任何解決方案都可以實現。 –