mumps stores LDLt using its private internal data structure, which is not exposed to user and can be used only via mumps API. Either ask mumps developer about it or use a debugger to step into mumps source code.
Hong On Thu, Aug 24, 2017 at 9:46 AM, Franck Houssen <[email protected]> wrote: > How to get L (as a Mat) and D (probably as a Vec) from cholesky > factorisation ? > > I googled and looked in the doc but didn't find any obvious answer. I am > not sure to get the steps to follow: is there a dedicated example ? > > To make it short, I have: > PCSetType(pc, PCCHOLESKY); // LDLt > PCFactorSetMatSolverPackage(pc, "mumps"); > PCFactorGetMatrix(pc, &f); > MatGetInertia(f, ....); // OK ! > > Now, I would like to get/see L and D: how to get them ? > > From petsc/src/ksp/ksp/examples/tutorials/ex52.c, I would say > MatGetDiagonal(f, D) returns D: correct ? If so, how to get L as well ? > > A related question would be : how to get L and U from a PCLU factorisation > ? > > Franck >
