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来看,接口还是比较友好的,应该会是一个比较流行的库。
原文链接: https://www.cnblogs.com/bianjunjie/archive/2012/05/15/2501174.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/50282
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!