In place ILU(0) factorization

Laslo Tibor Diosady diosady at MIT.EDU
Thu Aug 3 10:27:40 CDT 2006


Hong,

I know that I can use MatILUFactorSymbolic and then MatLUFactorNumeric and 
then destroy the original matrix if I want to. Though support for this in 
one step with MatILUFactor would be nice, it is not really important.

The point I was trying to make is that performing and ILU(0) does not 
change the sparsity pattern, no matter what reordering is used, since by 
definition there is no fill and hence no change in sparsity pattern from 
the original matrix.

The reordering in this case simply changes the order of operations to 
perform the ILU(0) but not the memory requirements. In this case 
reordering is performed not to reduce fill but to achieve a "better" ILU 
factorization.

Hence it should be possible to perform and ILU(0) in place with 
different reorderings. This is what I was hoping to get support for.


Thanks,

Laslo


On Thu, 3 Aug 2006, Hong Zhang wrote:

>
> 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