Further question about PC with Jaocbi Row Sum

Hong Zhang hzhang at mcs.anl.gov
Fri Apr 11 16:19:20 CDT 2008


Shi,

> Suppose I have a diagonal matrix, what is the best way to invert it in PETSc?
> Do I have to install the external packages superlu_dist or mumps?
> I realized that LU or Cholesky decomposition does not work with MPIAIJ matrices.
> I also know the best way is probably to directly call Vector operations directly.
> However, I want to keep the same KSPSolve structure so that the same code can be used  for non-diagonal MPIAIJ matrices without changing each call to KSPSolve.
> Thank you very much.

Without changing your application code, i.e., keep the same KSPSolve 
structure,
running it with the option
'-pc_type jacobi'
actually inverts the diagonal matrix, in both sequential and parallel 
cases.

Install external packages superlu_dist or mumps, then run your 
code in sequential or parallel with
-ksp_type preonly -pc_type lu -mat_type superlu_dist
(work with mpiaij matrix)
>> or
>> -ksp_type preonly -pc_type cholesky -mat_type sbaijmumps
(work with mpisbaij matrix format).

Hong

>
> Shi
>> Then you may try direct sparse linear solver,
>> sequential run:
>> -ksp_type preonly -pc_type cholesky
>> parallel run (install external packages superlu_dist or mumps):
>> -ksp_type preonly -pc_type lu -mat_type superlu_dist
>> or
>> -ksp_type preonly -pc_type cholesky -mat_type sbaijmumps
>>
>> Hong
>>
>
>
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>
>




More information about the petsc-users mailing list