Cholesky 分解是把一个对称正定的矩阵表示成一个下三角矩阵L和其转置的乘积的分解。Eigen的LLT分解实现了Cholesky 分解。代码如下:
#include<Eigen/Cholesky>
int main(int argc, char** argv)
{
Eigen::Matrix2d down;
down<<1,0,
2,1;
//P<<1,2
// 2,5
Eigen::Matrix2d P=down*down.transpose();
std::cout<<"P"<<P<<std::endl;
Eigen::Matrix2d ml=P.llt().matrixL();
Eigen::Matrix2d testP=ml*ml.transpose();
std::cout<<"mllt"<<ml<<std::endl;
std::cout<<"testP"<<testP<<std::endl;
return 0;
}
参考
https://blog.csdn.net/hanshihao1336295654/article/details/83422496
https://blog.csdn.net/u013354805/article/details/48250547