我试图用C++计算矩阵的Cholesky因子(对于给定的矩阵P找到L,使得LL ^ T = P).我的目标不是求解线性系统P*x = b,因为这样的矩阵分解经常被用于,但实际上要获得矩阵L.(我试图计算"sigma点",就像在无味变换中一样) .)
库Eigen据说计算Cholesky分解,但我无法弄清楚如何让它给我矩阵L中的值.当我尝试下面的代码行时
Eigen::MatrixXd P(3,3);
P << 6, 0, 0, 0, 4, 0, 0, 0, 7;
std::cout << P.llt().matrixL().col(0) << std::endl;
Run Code Online (Sandbox Code Playgroud)
我收到编译器错误
error: ‘Eigen::internal::LLT_Traits<Eigen::Matrix<double, -0x00000000000000001, -0x00000000000000001>, 1>::MatrixL’ has no member named ‘col’
Run Code Online (Sandbox Code Playgroud)
该文件 MatrixL说LLT.matrixL()返回类型特点::.那是什么以及如何获得L的值?