In place ILU(0) factorization

Hong Zhang hzhang at mcs.anl.gov
Thu Aug 3 09:54:54 CDT 2006


Laslo,

An reordering of matrix changes matrix sparse pattern,
then the factored matrix cannot be stored in the original matrix.
Here is the notes from petsc MatILUFactor():

Notes:
   Probably really in-place only when level of fill is zero, otherwise
allocates
   new space to store factored matrix and deletes previous memory.

i.e., except ilu(0) without reordering, petsc inplace ilu()
virtually computes a new factor, and deletes the previous memory.
You may use petsc out-place ilu, and call MatDestroy()
to delete your original matrix.

> In otherwords, Petsc only supports in place ILU(0) without reordering.
>
> The idea behind doing an in place factorization is so that I don't use
> twice as much memory to store my matrix (ie the original matrix and the
> ILU factored matrix).
>
>
> Is in place ILU factorization with reordering going to be supported by
> Petsc anytime in the near future or is there an easy work around so I can
> get this to work?

We can add this support. As mentioned above, the factored matrix
will be newly allocated with the original memory deleted.

Hong




More information about the petsc-users mailing list