On Wed, Sep 19, 2012 at 10:01 AM, Klaij, Christiaan <span dir="ltr"><<a href="mailto:C.Klaij@marin.nl" target="_blank">C.Klaij@marin.nl</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'm solving a system with GMRES using the same preconditioner either on the left or on the right.<br>
For left preconditioning I get two orders of reduction for the preconditioned residual in 20 its:<br></blockquote><div><br></div><div>Notice here that your "preconditioner" is far from one. It manages to blow up the true residual by</div>
<div>5 orders of magnitude, from which it never recovers. The right preconditioning just avoids being</div><div>so screwed up.</div><div><br></div><div>   Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

  0 KSP preconditioned resid norm 2.980694554053e+01 true resid norm 7.058057578378e-05 ||r(i)||/||b|| 1.000000000000e+00<br>
  1 KSP preconditioned resid norm 1.121717063399e+01 true resid norm 2.239445995669e+00 ||r(i)||/||b|| 3.172892783603e+04<br>
  2 KSP preconditioned resid norm 8.419094257245e+00 true resid norm 4.482707776056e+00 ||r(i)||/||b|| 6.351191848857e+04<br>
  3 KSP preconditioned resid norm 6.113655853636e+00 true resid norm 1.759217056899e+00 ||r(i)||/||b|| 2.492494623858e+04<br>
  4 KSP preconditioned resid norm 4.949889403847e+00 true resid norm 3.572848898052e-01 ||r(i)||/||b|| 5.062085224406e+03<br>
  5 KSP preconditioned resid norm 4.187220822242e+00 true resid norm 7.071876172117e-01 ||r(i)||/||b|| 1.001957846558e+04<br>
  6 KSP preconditioned resid norm 3.598699773848e+00 true resid norm 6.751395101318e-01 ||r(i)||/||b|| 9.565514344910e+03<br>
  7 KSP preconditioned resid norm 3.024026574700e+00 true resid norm 5.529170377011e-01 ||r(i)||/||b|| 7.833841415447e+03<br>
  8 KSP preconditioned resid norm 2.609636515722e+00 true resid norm 5.689992696649e-01 ||r(i)||/||b|| 8.061697759565e+03<br>
  9 KSP preconditioned resid norm 2.254221020819e+00 true resid norm 4.949259965429e-01 ||r(i)||/||b|| 7.012212510975e+03<br>
 10 KSP preconditioned resid norm 1.873529244708e+00 true resid norm 6.109183824231e-01 ||r(i)||/||b|| 8.655616302912e+03<br>
 11 KSP preconditioned resid norm 1.505474576580e+00 true resid norm 4.363808762555e-01 ||r(i)||/||b|| 6.182733300340e+03<br>
 12 KSP preconditioned resid norm 1.273391808351e+00 true resid norm 5.799473619663e-01 ||r(i)||/||b|| 8.216812565299e+03<br>
 13 KSP preconditioned resid norm 1.092596045026e+00 true resid norm 5.341297417537e-01 ||r(i)||/||b|| 7.567659172829e+03<br>
 14 KSP preconditioned resid norm 9.145639963916e-01 true resid norm 4.424631524670e-01 ||r(i)||/||b|| 6.268908230820e+03<br>
 15 KSP preconditioned resid norm 7.619506249149e-01 true resid norm 4.154893466277e-01 ||r(i)||/||b|| 5.886737845558e+03<br>
 16 KSP preconditioned resid norm 6.305034569873e-01 true resid norm 4.166530590059e-01 ||r(i)||/||b|| 5.903225559994e+03<br>
 17 KSP preconditioned resid norm 5.020718919136e-01 true resid norm 3.542538361268e-01 ||r(i)||/||b|| 5.019140637390e+03<br>
 18 KSP preconditioned resid norm 4.099172843566e-01 true resid norm 2.942812083953e-01 ||r(i)||/||b|| 4.169436209997e+03<br>
 19 KSP preconditioned resid norm 3.456791256934e-01 true resid norm 2.474858759247e-01 ||r(i)||/||b|| 3.506430390747e+03<br>
 20 KSP preconditioned resid norm 2.730195605094e-01 true resid norm 2.641558094323e-01 ||r(i)||/||b|| 3.742613410260e+03<br>
<br>
For right preconditioning I do not get any reduction:<br>
<br>
  0 KSP unpreconditioned resid norm 7.058057578378e-05 true resid norm 7.058057578378e-05 ||r(i)||/||b|| 1.000000000000e+00<br>
  1 KSP unpreconditioned resid norm 7.054747142321e-05 true resid norm 7.054747142321e-05 ||r(i)||/||b|| 9.995309706643e-01<br>
  2 KSP unpreconditioned resid norm 7.020651831374e-05 true resid norm 7.020651657757e-05 ||r(i)||/||b|| 9.947002528379e-01<br>
  3 KSP unpreconditioned resid norm 7.006225380599e-05 true resid norm 7.006225529373e-05 ||r(i)||/||b|| 9.926563295312e-01<br>
  4 KSP unpreconditioned resid norm 7.004188290578e-05 true resid norm 7.004188381810e-05 ||r(i)||/||b|| 9.923677023076e-01<br>
  5 KSP unpreconditioned resid norm 7.004130975499e-05 true resid norm 7.004131048416e-05 ||r(i)||/||b|| 9.923595791954e-01<br>
  6 KSP unpreconditioned resid norm 7.002915081650e-05 true resid norm 7.002915219093e-05 ||r(i)||/||b|| 9.921873180158e-01<br>
  7 KSP unpreconditioned resid norm 6.992906439247e-05 true resid norm 6.992905409646e-05 ||r(i)||/||b|| 9.907691077879e-01<br>
  8 KSP unpreconditioned resid norm 6.992498998319e-05 true resid norm 6.992497553136e-05 ||r(i)||/||b|| 9.907113218454e-01<br>
  9 KSP unpreconditioned resid norm 6.992334551935e-05 true resid norm 6.992333044667e-05 ||r(i)||/||b|| 9.906880139498e-01<br>
 10 KSP unpreconditioned resid norm 6.992269976389e-05 true resid norm 6.992268439725e-05 ||r(i)||/||b|| 9.906788605898e-01<br>
 11 KSP unpreconditioned resid norm 6.992074987133e-05 true resid norm 6.992073650172e-05 ||r(i)||/||b|| 9.906512624085e-01<br>
 12 KSP unpreconditioned resid norm 6.991044260131e-05 true resid norm 6.991042957959e-05 ||r(i)||/||b|| 9.905052318325e-01<br>
 13 KSP unpreconditioned resid norm 6.990672948921e-05 true resid norm 6.990672691791e-05 ||r(i)||/||b|| 9.904527717663e-01<br>
 14 KSP unpreconditioned resid norm 6.990672944080e-05 true resid norm 6.990672690106e-05 ||r(i)||/||b|| 9.904527715275e-01<br>
 15 KSP unpreconditioned resid norm 6.990484339200e-05 true resid norm 6.990483829521e-05 ||r(i)||/||b|| 9.904260133744e-01<br>
 16 KSP unpreconditioned resid norm 6.990392558763e-05 true resid norm 6.990391880630e-05 ||r(i)||/||b|| 9.904129858679e-01<br>
 17 KSP unpreconditioned resid norm 6.990024258014e-05 true resid norm 6.990024073952e-05 ||r(i)||/||b|| 9.903608742673e-01<br>
 18 KSP unpreconditioned resid norm 6.989684197988e-05 true resid norm 6.989683754968e-05 ||r(i)||/||b|| 9.903126571793e-01<br>
 19 KSP unpreconditioned resid norm 6.985738628710e-05 true resid norm 6.985745310045e-05 ||r(i)||/||b|| 9.897546502659e-01<br>
 20 KSP unpreconditioned resid norm 6.984955654109e-05 true resid norm 6.984951941662e-05 ||r(i)||/||b|| 9.896422442146e-01<br>
<br>
The solution is ok for left preconditioning but stuck to zero (the initial guess) for right preconditioning.<br>
Shouldn't left and right preconditiong give similar results, what could be the reason for this behaviour?<br>
<br>
<br>
dr. ir. Christiaan Klaij<br>
CFD Researcher<br>
Research & Development<br>
E mailto:<a href="mailto:C.Klaij@marin.nl">C.Klaij@marin.nl</a><br>
T <a href="tel:%2B31%20317%2049%2033%2044" value="+31317493344">+31 317 49 33 44</a><br>
<br>
MARIN<br>
2, Haagsteeg, P.O. Box 28, 6700 AA Wageningen, The Netherlands<br>
T <a href="tel:%2B31%20317%2049%2039%2011" value="+31317493911">+31 317 49 39 11</a>, F <a href="tel:%2B31%20317%2049%2032%2045" value="+31317493245">+31 317 49 32 45</a>, I <a href="http://www.marin.nl" target="_blank">www.marin.nl</a><br>

<br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br>