
图书馆Eigen据称计算Cholesky分解,但是我无法弄清楚如何让它给出矩阵L中的值.当我尝试以下代码行时
Eigen::MatrixXd P(3,3);P << 6,4,7;std::cout << P.llt().matrixL().col(0) << std::endl;
我得到编译器错误
error: ‘Eigen::internal::LLT_Traits<Eigen::Matrix<double,-0x00000000000000001,-0x00000000000000001>,1>::MatrixL’ has no member named ‘col’
documentation表示LLT.matrixL()返回类型为Traits :: MatrixL.这是什么,如何获得L的价值?
解决方法 您可以查看LLT.h头文件中的特征.它的 TriangularView像文档说的.三角形视图没有col成员,这就是为什么你得到错误.将三角形视图复制成如下所示的密集矩阵:Eigen::MatrixXd P(3,7;Eigen::MatrixXd L( P.llt().matrixL() );std::cout << L.col(0) << std::endl;
会得到你想要的东西
总结以上是内存溢出为你收集整理的c – 使用特征计算Cholesky分解全部内容,希望文章能够帮你解决c – 使用特征计算Cholesky分解所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)