# symmetric reordering and incomplete factorization with tolerance?

Barry Smith bsmith at mcs.anl.gov
Tue Sep 16 11:06:07 CDT 2008

```On Sep 16, 2008, at 10:57 AM, zhifeng sheng wrote:

> Dear Barry
>
> I tried the RCM+ICC(2) in Petsc.... it seems that the reordering
> does not work well... as I view the preconditioner, it does not say
> in which way the matrix is reordered.

I've added this information to PCView_ICC.

>
>
> And when I solve it with KSP, the solver always complains about
>
> Detected zero pivot in Cholesky factorization
>
> How could it be?

This is very possible, there is nothing that says you take some
symmetric matrix and do an ICC on it that you will get a positive
definite matrix or
no zero pivots.

You can use -pc_factor_shift_positive_definite to force the ICC to
generate a positive definite matrix.

Barry

>
>
> Thanks
> Best regards
> Zhifeng
>
> Barry Smith wrote:
>>
>>   You should use rcm+icc if you want to keep a symmetric
>> preconditioner.
>>
>>   Depending on your matrix you might want to use KSPCR or KSPMINRES
>> or even KSPSYMMLQ
>>
>>   We don't have a drop tolerance ICC and I do not recommend our
>> drop tolerance ILU.
>>
>>   Barry
>>
>>
>> On Sep 16, 2008, at 10:23 AM, zhifeng sheng wrote:
>>
>>> Dear all
>>>
>>> I used the reordering scheme in petsc, and I would like to know
>>> whether they are symmetric or not.
>>>
>>> I have a symmetric matrix (for 3D system) and I tried to solve it
>>> with petsc and with matlab.
>>>
>>> In petsc I used rcm + ILU + bicgstab. while in matlab I used symrcm
>>> +ICC+bicgstab.
>>>
>>> it seems that with symmetric reordering, the factorization is
>>> somewhat faster... So I am wondering if it is possible to apply a
>>> symmetric reordering?
>>>
>>> PS: in Matlab, an incomplete factorization can be done with a
>>> tolerance (e.g. ICC(1e-4) ), can I do something like that with
>>> Petsc?
>>>
>>> Thanks a lot
>>> Best regards
>>> Zhifeng Sheng
>>>
>>>
>>
>

```