声明、初始化
Eigen提供了很多内置类型,但是底层均为Eigen::Matrix。例如Vector3d是<double,3,1> Matrix3d是<double,3,3>
Eigen::Matrix<float, 2, 3> matrix_23; //申明一个2x3的float矩阵
Eigen::Vector3d v_3d; //实质上是Matrix<double, 3, 1>
Eigen::Matrix3d matrix_33 = Eigen::Matrix3d::Zero();
Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic> matrix_dynamic;
Eigen::MatrixXd matrix_x;
初始化使用matrix33<<1,2,3,4,5,6; 即可进行赋值
基本运算
matrix_33.transpose() //转置
matrix_33.sum() //各元素和
matrix_33.trace() //迹
10 * matrix_33 //数乘
matrix_33.inverse(); //逆
matrix_33.determinant(); //行列式
测试程序
#include <iostream>
#include <ctime>
#include <Eigen/Dense>
#include <Eigen/Core>
#define MATRIX_SIZE 50
using namespace std;
int main() {
//声明
Eigen::Matrix<fl