1、Eigen库的下载
http://bitbucket.org/eigen/eigen/get/3.2.5.tar.bz2
2、Eigen配置
假设将上述下载解压放在C盘,命名为eigen
本处在Qt里使用到,需要在pro文件添加如下路径
INCLUDEPATH += C:\eigen
3、矩阵的基本使用
#include <QCoreApplication>
#include <Eigen/Dense>
#include <iostream>
using namespace std;
using namespace Eigen;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
MatrixXf A(2, 2);
cout << "A矩阵未初始化" << endl << A << endl;
A = MatrixXf::Zero(2, 2);
cout << "A矩阵初始化为0" << endl << A << endl;
A = MatrixXf::Ones(2, 2);
A = A.setIdentity();
cout << "A矩阵设为单位矩阵" << endl << A << endl;
A <<1,2,3,4 ;
cout << "A矩阵初始化为1 2;3 4" << endl << A << endl;
cout << "A矩阵求逆" << endl << A.inverse() << endl;
cout << "A矩阵第二行第一个元素的值" << endl << A(1,0) << endl;
cout << "A矩阵的转置矩阵" << endl << A.transpose() << endl;
cout << "A矩阵的伴随矩阵" << endl << A.adjoint() << endl;
cout << "A矩阵的行列式" << endl << A.determinant() << endl;
cout << "A矩阵的数乘2" << endl << 2 * A << endl;
MatrixXf B(2,2);
B.setRandom();
cout << "B矩阵初始化为随意值" << endl << B << endl;
cout << "A矩阵 + B矩阵" << endl << A + B << endl;
cout << "A矩阵 - B矩阵" << endl << A - B << endl;
cout << "A矩阵 * B矩阵" << endl << A * B<< endl;
return a.exec();
}