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
