eigen怎么用 eigen與taucs求解稀疏矩陣哪個好?
eigen與taucs求解稀疏矩陣哪個好?在了解了網(wǎng)格變形的論文之后,我開始嘗試實現(xiàn)它,并開始在網(wǎng)上搜索稀疏矩陣庫。一開始,我使用的矩陣庫是eigen,風(fēng)格類似MATLAB,但沒有實現(xiàn)稀疏矩陣運算的功
eigen與taucs求解稀疏矩陣哪個好?
在了解了網(wǎng)格變形的論文之后,我開始嘗試實現(xiàn)它,并開始在網(wǎng)上搜索稀疏矩陣庫。
一開始,我使用的矩陣庫是eigen,風(fēng)格類似MATLAB,但沒有實現(xiàn)稀疏矩陣運算的功能。雖然它保留了與其他幾個稀疏矩陣庫的接口,但我嘗試的umfpack和superlu都在if(!Lu)uua的。此步驟中的計算失敗。后來,我嘗試了taucs庫,但我也遇到了一個悲慘的問題。已成功編譯的庫可以在命令行上使用,但在VS2008中無法成功鏈接。幾天后,我終于決定封裝umfpack和eigen之間的接口。
求問C 的Eigen矩陣運算庫有沒有提供兩個矩陣對應(yīng)元素相乘的方法?
我使用了兩個數(shù)學(xué)庫,Eigen和GLM。本征是一個線性代數(shù)運算庫,使用非常方便。GLM這個庫一般應(yīng)用于計算機圖形學(xué)的相關(guān)編程,因為計算機圖形學(xué)涉及到很多與線性代數(shù)相關(guān)的運算,所以它一定能滿足您的要求。
此外,Eigen和GLM都是跨平臺的,可以使用windows和Linux。
至于Atlas和openblas,我還沒有使用它們,但是在Wikipedia中,Atlas肯定可以處理矩陣乘法,因為它還可以執(zhí)行LU分解和Cholesky分解。
如果您想了解有關(guān)線性代數(shù)相關(guān)數(shù)學(xué)庫的更多信息,這里是Wikipedia中各種線性代數(shù)庫的摘要。
比較線性代數(shù)庫
如果沒有GPU:
如果CPU不緊,優(yōu)化要求不高,請使用OpenMP并行加速;如果您不想熟悉指令集并想使用它進行更有效的優(yōu)化,請使用eigen或openblas。
如果有GPU:
如果只是卷積運算,調(diào)用CUDNNAPI是最簡單的;如果是學(xué)習(xí)目的,可以基于CUDA用Cu寫內(nèi)核函數(shù);如果是產(chǎn)品使用,因為它還涉及到其他運算和向量、矩陣運算,可以考慮tensorrt。