Eigen入门教程

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;
}

参考链接

  1. Getting started,by eigen home.