0 引言
eigen库是一个高层次的C++库,有效支持线性代数,矩阵和矢量运算,数值分析及其相关的算法。eigen除了C++标准库之外,不需要任何其他的依赖包。Eigen使用的CMake建立配置文件和单元测试,并自动安装。如果使用Eigen库,只需包特定模块的的头文件即可。
1 配置eigen在VSCode中的开发环境(ubuntu)
2 eigen:矩阵的遍历和基本运算
// Eigen matrix 的遍历
float rt[4][4]; Eigen::Matrix4f rt_mat; for (int i = 0; i < 4;++ i) { for (int j = 0; j < 4;++j) { rt_mat(i, j) = rt[i][j]; } }
// Eigen matrix 求逆 Eigen::Matrix4f rt_mat_inverse; rt_mat_inverse = rt_mat.inverse(); rt_mat_inverse *= rt_mat_inverse; for (int i = 0; i < 4;++ i) { for (int j = 0; j < 4;++j) { cout << rt_mat_inverse (i, j) << "\t"; } cout << endl; }
3 eigen: dense linear problems and decompositions
4 boost库:利用 boost::mt19937 随机数生成器添加噪声
https://blog.youkuaiyun.com/liujingjing669/article/details/82841363 https://blog.youkuaiyun.com/huang_xw/article/details/8452413