FGMRES without preconditioner

FGMRES without preconditioner

I have got some problems getting the FGMRES solver to work. The problem can be reproduced using "fgmres_full_funct_c.c" from the MKL examples.

The shipped example program solves a 5x5 toy problem, using FGMRES with predconditioner, and works fine as is. However, when I deactivate the use of the user-supplied preconditioner by changing line 121 to

  ipar[10] = 0; /* C-style, zero-based! */

the program enters an infinite loop. I've attached the modified sample program (the only modification being said line).

PLEASE NOTE: I am aware of "fgmres_no_precon_c.c" (which works fine without a preconditioner), but I need to know specifically what's wrong with the example given above (since it reproduces a bug that occurs in my _actual_ code).

AttachmentSize
Downloadtext/x-csrc fgmres-full-funct-c-modified.c16.12 KB
3 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Hi,

I've reproduced your issue. I will investigate it and provide deeper information in nearest future :)

With best regards,

Alexander Kalinkin

Hi,

The hanging caused by a number of factors:

1. In case of non-preconditioner version of FGMRES you need in stopping criteria test multiply to compute residual not b, but computed_solution array. 

2. Its strongly recommended to increase number of iteration before restarting in case of non-preconditioner version of fgmres. When I increased iparm[14] from 2 to 5 your test return correct result.

With best regards,

Alexander Kalinkin 

Leave a Comment

Please sign in to add a comment. Not a member? Join today