How to extract matrixL() and matrixU() when using Eigen::CholmodSupernodalLLT?

col*_*sky 6 c++ eigen

I'm trying to use Eigen::CholmodSupernodalLLT for Cholesky decomposition, however, it seems that I could not get matrixL() and matrixU(). How can I extract matrixL() and matrixU() from Eigen::CholmodSupernodalLLT for future use?

bar*_*top 0

您不能使用给定的类来执行此操作。您引用的类是方程求解器(它确实使用乔列斯基分解)。要分解你的矩阵,你应该使用Eigen::LLT. 他们网站上的代码示例:

MatrixXd A(3,3);
A << 4,-1,2, -1,6,0, 2,0,5;
LLT<MatrixXd> lltOfA(A);
MatrixXd L = lltOfA.matrixL(); 
MatrixXd U = lltOfA.matrixU(); 
Run Code Online (Sandbox Code Playgroud)