是否存在用于C或C++中的矩阵计算的开源模板库

is there an open source template library for matrix computation in C or C++?

本文关键字:计算 开源 是否 用于 C++ 存在      更新时间:2023-10-16

我正在寻找一个具有线性代数标准功能的库。比如行列式、矩阵逆、乘法。。。但是通用。

Octave拥有完美的二重和复杂算术库,但我需要能够更改算术的实现。

Eigen绝对是目前C++中最好的矩阵库。

http://eigen.tuxfamily.org/index.php?title=Main_Page

我热情地建议你。

例如,该代码创建一个随机10x10矩阵并计算其逆矩阵:

MatrixXd A(10,10);
A.setRandom(10,10);
MatrixXd B = A.inverse();

你可以访问所有的数值矩阵代数,如分解,线性系统求解和其他几何算法。

它只有头,没有外部依赖,没有安装。它适用于大量的编译器,并且维护和文档都很好。

我不知道boost::uBLAS能帮你。你可以在这里查看他们的文档:http://www.boost.org/doc/libs/1_49_0/libs/numeric/ublas/doc/index.htm,这是一个基本的线性代数库。

我还推荐Eigen:它在固定大小的小矩阵和动态分配的大矩阵上都能快速工作。然而,您可能还想看看Armadillo,它有一组稍微不同的功能;特别是支持具有3个而不仅仅是2个索引(维度)的阵列。