C/C++科學計算庫(矩陣,線性代數)


Matlab是矩陣運算/線性代數最常用的庫。不過由於licence問題,一般更多用於做實驗什么的,另外,雖然Matlab可以方便的用C寫擴展,但是Matlab自己的函數卻很難被其他語言調用。


Octave是Matlab一個不錯的開源替代,不過Octave也有一些問題,1,Octave並沒有實現Matlab太多功能 2, Octave在做一些沒有向量化的矩陣計算時,非常非常慢(大致比Matlab慢200倍左右)

 

C科學計算最經典的庫是LAPACK/MKL/AKL 之類,不過用起來非常麻煩,有很多為這些庫的封裝,保留速度的同時,提升接口的友好性。這里(http://verdandi.gforge.inria.fr/doc/linear_algebra_libraries.pdf)是一些庫的比較。

 

Armadillo是其中一個比較高效同時也比較友好的C++科學計算庫(http://arma.sourceforge.net/)

這里(http://arma.sourceforge.net/armadillo_nicta_2010.pdf)有一些Armadillo和其他庫(包括Matlab,Octave)的比較, 看起來是很厲害的一個庫,從給的example來看,接口還是比較友好的,應該會是一個比較流行的庫。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM