[petsc-dev] How to get L and D from cholesky factorisation ?
Franck Houssen
franck.houssen at inria.fr
Thu Aug 24 10:56:42 CDT 2017
OK. I 'll try to shed some light on this when I have a MUMPS's guy around !... And try to ask to get that exposed if possible (?).
I guess the answer is the same for getting L and U from LU factorisation (using MUMPS).
What about the same question when using any other package ? (say SUPERLU)
Franck
----- Mail original -----
> De: "Hong" <hzhang at mcs.anl.gov>
> À: "Franck Houssen" <franck.houssen at inria.fr>
> Cc: "For users of the development version of PETSc" <petsc-dev at mcs.anl.gov>
> Envoyé: Jeudi 24 Août 2017 17:00:40
> Objet: Re: [petsc-dev] How to get L and D from cholesky factorisation ?
> 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 < franck.houssen at inria.fr >
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20170824/d7db2709/attachment.html>
More information about the petsc-dev
mailing list