寻找优雅高效的C ++矩阵库

时间:2010-07-29 05:08:50

标签: c++ math matlab matrix linear-algebra

问候, 谷歌搜索该主题带来例如MTLexmatLAPACKhere。我似乎也记得微软研究院发布了一个,但不能把它放在手上。 我寻求实际使用(或开发......)其中之一的人的建议,希望在C ++中尽可能地获得Matlab经验(尽可能多)。 在此先感谢,Robi

8 个答案:

答案 0 :(得分:15)

查看Armadillo,文档对于Matlab用户有syntax conversion table,并且网站中有针对其他C ++矩阵库的基准。我发现它非常友好。

答案 1 :(得分:8)

我同时使用Eigen和Matlab,并且同样喜欢它们。 Eigen支持SIMD和延迟评估以获得额外性能。但是用户不需要打扰内部。 Eigen的界面非常简单直观。从Matlab到Eigen应该相对简单,我不能说uBLAS或LAPACK。

编辑:这是Eigen Quick Reference for Matlab Users

答案 2 :(得分:6)

boost有一个能够进行矩阵代数的数学库 - uBLAS

答案 3 :(得分:1)

Boost生态系统中有两个新的线性代数库,即NT2Boost LA AFAIK正在进行工作(甚至中途完成?),以使它们与Boost uBlas兼容。

答案 4 :(得分:1)

NIST拥有TNT(模板数值工具包)。非常轻巧简单。

答案 5 :(得分:1)

一个半严肃的回答(直接来自Stroustrup):http://www.stroustrup.com/Programming/Matrix/index.html

答案 6 :(得分:0)

在www.embedded.com上阅读Jack Crenshaw的文章。多年来,他一直在研究矩阵类,同时开发与之相关的数值方法代码并使用它。

答案 7 :(得分:0)

我刚开始使用Gmm++库。它只是头文件,支持稀疏矩阵,有大量的求解器,以及LAPACK和BLAS的接口。它的界面看起来不像Eigen,但它更完整。