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