Armadillo:C++下的Matlab替代品
Eigen3:强大且只需头文件
OpenCV:方便的计算机视觉计算库
ViennaCL:并行矩阵计算
PETSc:大规模并行科学计算
其他的矩阵计算库和资料
最近在几个地方都看到有人问C++下用什么矩阵运算库比较好,顺便做了个调查,做一些相关的推荐吧。主要针对稠密矩阵,有时间会再写一个稀疏矩阵的推荐。欢迎关注我的独立博客:http://cvnote.info/。另外新开了个新浪微博@cvnote求关注!啊!!!
Armadillo:C++下的Matlab替代品
地址:http://arma.sourceforge.net/
许可证:MPL 2.0
目前使用比较广的C++矩阵运算库之一,是在C++下使用Matlab方式操作矩阵很好的选择,许多Matlab的矩阵操作函数都可以找到对应,这对习惯了Matlab的人来说实在是非常方便,另外如果要将Matlab下做研究的代码改写成C++,使用Armadillo也会很方便,这里有一个简易的Matlab到Armadillo的语法转换。下面列了一些Armadillo的特性:
支持整数,浮点数,和复数矩阵。
支持矩阵逐元素操作,包括abs · conj · conv_to · eps · imag/real · misc functions (exp, log, pow, sqrt, round, sign, …) · trigonometric functions (cos, sin, …)等等。
支持矩阵分块操作。
支持对整体矩阵的操作diagvec · min/max · prod · sum · statistics (mean, stddev, …) · accu · as_scalar · det · dot/cdot/norm_dot · log_det · norm · rank · trace等等。
Matlab用户ÿ