c++矩阵库 Eigen 使用说明

版权声明:请注明转发出处 https://blog.csdn.net/mafucun1988/article/details/89372038

1. 简介

Eigen是一个C++线性运算的模板库:他可以用来完成矩阵,向量,数值解等相关的运算。Eigen库的使用相当方便,将压缩包中的Eigen文件夹拷贝到项目目录下,直接包含其中的头文件即可使用,省去了使用Cmake进行编译的烦恼。

Core #include <Eigen/Core> Matrix and Array classes, basic linear algebra (including triangular and selfadjoint products), array manipulation
Geometry #include <Eigen/Geometry> TransformTranslationScalingRotation2D and 3D rotations (QuaternionAngleAxis)
LU #include <Eigen/LU> Inverse, determinant, LU decompositions with solver (FullPivLUPartialPivLU)
Cholesky #include <Eigen/Cholesky> LLT and LDLT Cholesky factorization with solver
Householder #include <Eigen/Householder> Householder transformations; this module is used by several linear algebra modules
SVD #include <Eigen/SVD> SVD decomposition with least-squares solver (JacobiSVD)
QR #include <Eigen/QR> QR decomposition with solver (HouseholderQRColPivHouseholderQRFullPivHouseholderQR)
Eigenvalues #include <Eigen/Eigenvalues> Eigenvalue, eigenvector decompositions (EigenSolverSelfAdjointEigenSolver,ComplexEigenSolver)
Sparse #include <Eigen/Sparse> Sparse matrix storage and related basic linear algebra (SparseMatrix, DynamicSparseMatrix,SparseVector)
  #include <Eigen/Dense> Includes Core, Geometry, LU, Cholesky, SVD, QR, and Eigenvalues header files
  #include <Eigen/Eigen> Includes Dense and Sparse header files (the whole Eigen library)

2. 下载Eigen最新版本

        Eigen V3.3.7

3. .pro文件中包含头文件

  1. INCLUDEPATH += $$PWD/Eigen

4. 简单使用

#include<Eigen/Dense>
#include <Eigen/Core>
using namespace Eigen;
Vector4d  v4;
int rows=5, cols=5;
MatrixXf m(rows,cols);
m << (Matrix3f() << 1, 2, 3, 4, 5, 6, 7, 8, 9).finished(),
            MatrixXf::Zero(3,cols-3),
            MatrixXf::Zero(rows-3,3),
            MatrixXf::Identity(rows-3,cols-3);
cout << m;
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==


运行结果:
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==  
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
 

猜你喜欢

转载自blog.csdn.net/mafucun1988/article/details/89372038