[petsc-users] difference between left and right pc

Klaij, Christiaan C.Klaij at marin.nl
Wed Sep 19 10:01:36 CDT 2012


I'm solving a system with GMRES using the same preconditioner either on the left or on the right.
For left preconditioning I get two orders of reduction for the preconditioned residual in 20 its:

  0 KSP preconditioned resid norm 2.980694554053e+01 true resid norm 7.058057578378e-05 ||r(i)||/||b|| 1.000000000000e+00
  1 KSP preconditioned resid norm 1.121717063399e+01 true resid norm 2.239445995669e+00 ||r(i)||/||b|| 3.172892783603e+04
  2 KSP preconditioned resid norm 8.419094257245e+00 true resid norm 4.482707776056e+00 ||r(i)||/||b|| 6.351191848857e+04
  3 KSP preconditioned resid norm 6.113655853636e+00 true resid norm 1.759217056899e+00 ||r(i)||/||b|| 2.492494623858e+04
  4 KSP preconditioned resid norm 4.949889403847e+00 true resid norm 3.572848898052e-01 ||r(i)||/||b|| 5.062085224406e+03
  5 KSP preconditioned resid norm 4.187220822242e+00 true resid norm 7.071876172117e-01 ||r(i)||/||b|| 1.001957846558e+04
  6 KSP preconditioned resid norm 3.598699773848e+00 true resid norm 6.751395101318e-01 ||r(i)||/||b|| 9.565514344910e+03
  7 KSP preconditioned resid norm 3.024026574700e+00 true resid norm 5.529170377011e-01 ||r(i)||/||b|| 7.833841415447e+03
  8 KSP preconditioned resid norm 2.609636515722e+00 true resid norm 5.689992696649e-01 ||r(i)||/||b|| 8.061697759565e+03
  9 KSP preconditioned resid norm 2.254221020819e+00 true resid norm 4.949259965429e-01 ||r(i)||/||b|| 7.012212510975e+03
 10 KSP preconditioned resid norm 1.873529244708e+00 true resid norm 6.109183824231e-01 ||r(i)||/||b|| 8.655616302912e+03
 11 KSP preconditioned resid norm 1.505474576580e+00 true resid norm 4.363808762555e-01 ||r(i)||/||b|| 6.182733300340e+03
 12 KSP preconditioned resid norm 1.273391808351e+00 true resid norm 5.799473619663e-01 ||r(i)||/||b|| 8.216812565299e+03
 13 KSP preconditioned resid norm 1.092596045026e+00 true resid norm 5.341297417537e-01 ||r(i)||/||b|| 7.567659172829e+03
 14 KSP preconditioned resid norm 9.145639963916e-01 true resid norm 4.424631524670e-01 ||r(i)||/||b|| 6.268908230820e+03
 15 KSP preconditioned resid norm 7.619506249149e-01 true resid norm 4.154893466277e-01 ||r(i)||/||b|| 5.886737845558e+03
 16 KSP preconditioned resid norm 6.305034569873e-01 true resid norm 4.166530590059e-01 ||r(i)||/||b|| 5.903225559994e+03
 17 KSP preconditioned resid norm 5.020718919136e-01 true resid norm 3.542538361268e-01 ||r(i)||/||b|| 5.019140637390e+03
 18 KSP preconditioned resid norm 4.099172843566e-01 true resid norm 2.942812083953e-01 ||r(i)||/||b|| 4.169436209997e+03
 19 KSP preconditioned resid norm 3.456791256934e-01 true resid norm 2.474858759247e-01 ||r(i)||/||b|| 3.506430390747e+03
 20 KSP preconditioned resid norm 2.730195605094e-01 true resid norm 2.641558094323e-01 ||r(i)||/||b|| 3.742613410260e+03

For right preconditioning I do not get any reduction:

  0 KSP unpreconditioned resid norm 7.058057578378e-05 true resid norm 7.058057578378e-05 ||r(i)||/||b|| 1.000000000000e+00
  1 KSP unpreconditioned resid norm 7.054747142321e-05 true resid norm 7.054747142321e-05 ||r(i)||/||b|| 9.995309706643e-01
  2 KSP unpreconditioned resid norm 7.020651831374e-05 true resid norm 7.020651657757e-05 ||r(i)||/||b|| 9.947002528379e-01
  3 KSP unpreconditioned resid norm 7.006225380599e-05 true resid norm 7.006225529373e-05 ||r(i)||/||b|| 9.926563295312e-01
  4 KSP unpreconditioned resid norm 7.004188290578e-05 true resid norm 7.004188381810e-05 ||r(i)||/||b|| 9.923677023076e-01
  5 KSP unpreconditioned resid norm 7.004130975499e-05 true resid norm 7.004131048416e-05 ||r(i)||/||b|| 9.923595791954e-01
  6 KSP unpreconditioned resid norm 7.002915081650e-05 true resid norm 7.002915219093e-05 ||r(i)||/||b|| 9.921873180158e-01
  7 KSP unpreconditioned resid norm 6.992906439247e-05 true resid norm 6.992905409646e-05 ||r(i)||/||b|| 9.907691077879e-01
  8 KSP unpreconditioned resid norm 6.992498998319e-05 true resid norm 6.992497553136e-05 ||r(i)||/||b|| 9.907113218454e-01
  9 KSP unpreconditioned resid norm 6.992334551935e-05 true resid norm 6.992333044667e-05 ||r(i)||/||b|| 9.906880139498e-01
 10 KSP unpreconditioned resid norm 6.992269976389e-05 true resid norm 6.992268439725e-05 ||r(i)||/||b|| 9.906788605898e-01
 11 KSP unpreconditioned resid norm 6.992074987133e-05 true resid norm 6.992073650172e-05 ||r(i)||/||b|| 9.906512624085e-01
 12 KSP unpreconditioned resid norm 6.991044260131e-05 true resid norm 6.991042957959e-05 ||r(i)||/||b|| 9.905052318325e-01
 13 KSP unpreconditioned resid norm 6.990672948921e-05 true resid norm 6.990672691791e-05 ||r(i)||/||b|| 9.904527717663e-01
 14 KSP unpreconditioned resid norm 6.990672944080e-05 true resid norm 6.990672690106e-05 ||r(i)||/||b|| 9.904527715275e-01
 15 KSP unpreconditioned resid norm 6.990484339200e-05 true resid norm 6.990483829521e-05 ||r(i)||/||b|| 9.904260133744e-01
 16 KSP unpreconditioned resid norm 6.990392558763e-05 true resid norm 6.990391880630e-05 ||r(i)||/||b|| 9.904129858679e-01
 17 KSP unpreconditioned resid norm 6.990024258014e-05 true resid norm 6.990024073952e-05 ||r(i)||/||b|| 9.903608742673e-01
 18 KSP unpreconditioned resid norm 6.989684197988e-05 true resid norm 6.989683754968e-05 ||r(i)||/||b|| 9.903126571793e-01
 19 KSP unpreconditioned resid norm 6.985738628710e-05 true resid norm 6.985745310045e-05 ||r(i)||/||b|| 9.897546502659e-01
 20 KSP unpreconditioned resid norm 6.984955654109e-05 true resid norm 6.984951941662e-05 ||r(i)||/||b|| 9.896422442146e-01

The solution is ok for left preconditioning but stuck to zero (the initial guess) for right preconditioning.
Shouldn't left and right preconditiong give similar results, what could be the reason for this behaviour?


dr. ir. Christiaan Klaij
CFD Researcher
Research & Development
E mailto:C.Klaij at marin.nl
T +31 317 49 33 44

MARIN
2, Haagsteeg, P.O. Box 28, 6700 AA Wageningen, The Netherlands
T +31 317 49 39 11, F +31 317 49 32 45, I www.marin.nl



More information about the petsc-users mailing list