GMRES left-preconditioned with ILU1 versus ILU0

Stephane Aubert stephane.aubert at
Fri May 16 11:22:18 CDT 2008

I tried to improve the convergence of a rather badly conditioned linear 
system by increasing the ILU(k) level from k=0 to k=1.
And, whereas I got a convergence for k=0, I ended up with an explosive 
divergence for k=1!!!
The PETCS version is 2.3.2-p8.
The matrix type is MPIBAIJ (block size=7,mesh points=23010,non-empty 
The common command line options are:

    * KSP="-ksp_type gmres -ksp_max_it 800 -ksp_gmres_restart 800
      -ksp_rtol 1.0e-12 -ksp_left_pc -ksp_gmres_modifiedgramschmidt
      -ksp_gmres_cgs_refinement_type REFINE_NEVER -ksp_singmonitor
      -ksp_compute_eigenvalues": I'm forcing 800 krylovs without restart
      to get the condition number of the pre-conditioned system (if I
      understand correctly the man page of -ksp_singmonitor)
    * PC="-pc_type asm -pc_asm_overlap 2": I'm planning to run with more
      than 1 partition, but for the time being, only one partition is used.
    * BLK_KSP="-sub_ksp_type preonly": Because of GMRES+ILU

For ILU(0), I'm using:

    * BLK_PC="-sub_pc_type ilu -sub_pc_factor_levels 0
      -sub_pc_factor_fill 1.00 -sub_pc_factor_shift_nonzero
      -sub_pc_factor_mat_ordering_type rcm -sub_pc_factor_pivot_in_blocks"

and I got for convergence:
  0 KSP Residual norm 1.687258996558e+00 % max 1 min 1 max/min 1
  1 KSP Residual norm 1.687132576728e+00 % max 67.8829 min 67.8829 max/min 1
  2 KSP Residual norm 1.685760733293e+00 % max 3496.78 min 19.5582 
max/min 178.789
  3 KSP Residual norm 1.668552043995e+00 % max 3604.26 min 12.0073 
max/min 300.174
  4 KSP Residual norm 1.578511835381e+00 % max 3639.92 min 7.35118 
max/min 495.148
795 KSP Residual norm 1.465607932165e-09 % max 18209.9 min 0.00612973 
max/min 2.97075e+06
796 KSP Residual norm 1.390602265424e-09 % max 18227.3 min 0.00612913 
max/min 2.97388e+06
797 KSP Residual norm 1.320529491862e-09 % max 18231.9 min 0.0061286 
max/min 2.97489e+06
798 KSP Residual norm 1.253371917713e-09 % max 18234.8 min 0.00612856 
max/min 2.97538e+06
799 KSP Residual norm 1.188955299647e-09 % max 18278.5 min 0.00612594 
max/min 2.98378e+06
800 KSP Residual norm 1.118294486519e-09 % max 18278.5 min 0.00612475 
max/min 2.98437e+06

and the iterative solution compares very well with the one computed 
using complete LU factorization.

For ILU(1), I'm using:

    * BLK_PC="-sub_pc_type ilu -sub_pc_factor_levels 1
      -sub_pc_factor_fill 3.81 -sub_pc_factor_shift_nonzero
      -sub_pc_factor_mat_ordering_type rcm
      -sub_pc_factor_pivot_in_blocks": RCM gives the smallest fill value.

and I got for "convergence":
  0 KSP Residual norm 7.095990612421e+126 % max 1 min 1 max/min 1
  1 KSP Residual norm 3.313547979190e+123 % max 1.68012e+135 min 
1.68012e+135 max/min 1
  2 KSP Residual norm 1.257750994639e+119 % max 6.34518e+135 min 
3.55953e+131 max/min 17825.9
  3 KSP Residual norm 5.233083258710e+118 % max 1.25538e+136 min 
1.42732e+127 max/min 8.79538e+08
  4 KSP Residual norm 1.938981257595e+118 % max 1.44472e+136 min 
4.82369e+125 max/min 2.99506e+10
  5 KSP Residual norm 3.371270926617e+116 % max 1.45841e+136 min 
1.79839e+125 max/min 8.1095e+10
  6 KSP Residual norm 2.179293254483e+115 % max 1.45842e+136 min 
5.16422e+122 max/min 2.82408e+13
  7 KSP Residual norm 2.120598006522e+115 % max 1.46024e+136 min 
3.67337e+122 max/min 3.97521e+13
  8 KSP Residual norm 1.486820601733e+115 % max 1.461e+136 min 
1.02249e+122 max/min 1.42886e+14
  9 KSP Residual norm 7.653834441859e+114 % max 1.46138e+136 min 
4.93314e+121 max/min 2.96237e+14
 10 KSP Residual norm 5.001204920218e+114 % max 1.47243e+136 min 
4.89675e+121 max/min 3.00694e+14

My guess is that the ILU(1) is singular (zero as diagonal elements?), 
but I thought that the options "-sub_pc_factor_shift_nonzero 
-sub_pc_factor_pivot_in_blocks" were taking care of that... I got lost 
in the source files trying to find out who at the end is computing and 
applying the ILU for MPIBAIJ format (replaced by SEQBAIJ with only one 
partition, I'm guessing).

The question is: What am I doing wrong? I never heard that ILU(1) was 
worst than ILU(0)!

Dr. Stephane AUBERT, CEO & CTO
Centre Scientifique Auguste MOIROUX
64 chemin des MOUILLES
International:      fax: +33      tel: +33
France:             fax:         tel:
email: stephane.aubert at

More information about the petsc-users mailing list