Hi,
I have been experimenting solving a linear system with PGMRES+Jacobi preconditioner. The solver diverges with default restart. When I set the restart at 400, it converges in ~700 iterations. The number of iterations increases if I increase or decrease the restart from 400. How should I decide what restart is needed? Does the restart parameter change from system to system?
Quantity in brackets after PGMRES is the restart value. E.g. PGMRES(30) is with restart=30.
%=============================================================%
% PGMRES(30) solver summary:
% initial residual: 2.000000e+02
% iterations: 1000
% exact final residual: 4.569463e+00
% runtime: 1.0274 sec
%=============================================================%
%=============================================================%
% PGMRES(100) solver summary:
% initial residual: 2.000000e+02
% iterations: 1000
% exact final residual: 9.811325e03
% runtime: 2.7982 sec
%=============================================================%
%=============================================================%
% PGMRES(400) solver summary:
% initial residual: 2.000000e+02
% iterations: 697
% exact final residual: 1.183331e09
% runtime: 6.5171 sec
%=============================================================%
%=============================================================%
% PGMRES(500) solver summary:
% initial residual: 2.000000e+02
% iterations: 761
% exact final residual: 1.037513e09
% runtime: 8.2672 sec
%=============================================================%
%=============================================================%
% PGMRES(350) solver summary:
% initial residual: 2.000000e+02
% iterations: 871
% exact final residual: 8.002018e10
% runtime: 7.2320 sec
%=============================================================%
Thanks,
Harshad
What's the role of restart in PGMRES?

 Posts: 90
 Joined: Tue Sep 02, 2014 5:44 pm
Re: What's the role of restart in PGMRES?
Dear Harshad,
the restart parameter determines the dimension of the Krylov space before restarting. Please take a look at the literature for more theoretical background: http://wwwusers.cs.umn.edu/~saad/IterM ... _2ndEd.pdf
Small restart values result in low memory cost, faster loop execution (little orthogonalization effort) and small rounding effects. Larger Krylov subspace dimensions often result in faster convergence. Usually, one chooses restart values between 30  50. However, there is no general rule which dimension gives the best results for a specific system. (Otherwise, it would not be an option in MAGMA...)
Hope this helps.
Hartwig
the restart parameter determines the dimension of the Krylov space before restarting. Please take a look at the literature for more theoretical background: http://wwwusers.cs.umn.edu/~saad/IterM ... _2ndEd.pdf
Small restart values result in low memory cost, faster loop execution (little orthogonalization effort) and small rounding effects. Larger Krylov subspace dimensions often result in faster convergence. Usually, one chooses restart values between 30  50. However, there is no general rule which dimension gives the best results for a specific system. (Otherwise, it would not be an option in MAGMA...)
Hope this helps.
Hartwig