Eigen是用于线性代数的C ++模板库,包括矩阵,向量,数值求解器和相关算法。
安装
从Eigen官网下载最新的Eigen版本。解压Eigen,然后使用Cmake进行配置并生成Visual Studio 15 2017的工程。打开解决方案,先生成ALL_BUILD工程,再生成INSTALL工程,则安装Eigen完毕。将在安装路径下生成Eigen的头文件。
当然也可以不编译安装,直接将Eigen源代码目录下的Eigen子目录复制到Include文件夹即可。
示例
运行时推断矩阵尺寸示例
1 2 3 4 5 6 7 8 9 10 11 12 13
| #include <iostream> #include <Eigen/Dense> using namespace Eigen; using namespace std; int main() { MatrixXd m = MatrixXd::Random(3,3); m = (m + MatrixXd::Constant(3,3,1.2)) * 50; cout << "m =" << endl << m << endl; VectorXd v(3); v << 1, 2, 3; cout << "m * v =" << endl << m * v << endl; }
|
编译时确定矩阵尺寸示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #include <iostream> #include <Eigen/Dense> using namespace Eigen; using namespace std; int main() { Matrix3d m = Matrix3d::Random(); m = (m + Matrix3d::Constant(1.2)) * 50; cout << "m =" << endl << m << endl; Vector3d v(1,2,3); cout << "m * v =" << endl << m * v << endl; }
|
参考链接
- Getting started,by eigen home.