eigen库的使用
CMakeLists.txt文件
# 声明要求的 cmake 最低版本
cmake_minimum_required(VERSION 2.8)
# 声明一个 cmake 工程
project(HelloSLAM)
# 添加一个可执行程序
# 语法:add_executable( 程序名 源代码文件 )
add_executable(helloSLAM eigen.cpp)
# 添加eigen库
include_directories("/usr/include/eigen3")
eigen.cpp文件
#include<iostream>
#include<eigen3/Eigen/Core>
#include<eigen3/Eigen/Dense>
using namespace std;
int main(int argc, char **argv)
{
Eigen::Matrix<float,2,3>matrix2_3;
Eigen::Vector3d v_3d;
Eigen::Matrix3d matrix3_3;
Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic>dynamic_matrix;
matrix3_3<<1,2,3,4,5,6,7,8,9;
std::cout<<matrix3_3<<endl;
cout<<matrix3_3(0,1)<<endl;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
cout<<matrix3_3(i,j)<<endl;
}
}
matrix2_3<<1,2,3,4,5,6;
v_3d<<1,2,3;
std::cout<<matrix2_3<<endl;
std::cout<<v_3d<<endl;
Eigen::Matrix<double,2,1>matrix_result;
matrix_result=matrix2_3.cast<double>()*v_3d;
cout<<matrix_result<<endl;
cout<<matrix_result.transpose()<<endl;
cout<<matrix_result.sum()<<endl;
cout<<matrix_result.trace()<<endl;
cout<<matrix3_3.inverse()<<endl;
cout<<matrix3_3.determinant()<<endl;
return 0;
}