This is the generic function for applying every implemented Krylov method. The general iteration parameters (like the number of iteration, the stop criterion to be used, and the verbosity of the trace) can be passed directly to this routine. All the constitutive parameters of the actual method, and the information relative to the function are instead contained in the meth and fun objects. The Descriptor object `desc_a' contains the properties of the parallel environment.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(psfun_d_krylov), | intent(inout) | :: | meth | Krylov method object |
||
type(psfun_d_serial), | intent(inout) | :: | fun | Function object |
||
type(psb_dspmat_type), | intent(in) | :: | a | Distribute sparse matrix |
||
type(psb_desc_type), | intent(in) | :: | desc_a | Descriptor for the sparse matrix |
||
type(psb_d_vect_type), | intent(inout) | :: | y | Output vector |
||
type(psb_d_vect_type), | intent(inout) | :: | x | Input vector |
||
real(kind=psb_dpk_), | intent(in) | :: | eps | Requested tolerance |
||
integer(kind=psb_ipk_), | intent(out) | :: | info | Output flag |
||
integer(kind=psb_ipk_), | intent(in), | optional | :: | itmax | Maximum number of iteration |
|
integer(kind=psb_ipk_), | intent(in), | optional | :: | itrace | Trace for logoutput |
|
integer(kind=psb_ipk_), | intent(in), | optional | :: | istop | Stop criterion |
|
integer(kind=psb_ipk_), | intent(out), | optional | :: | iter | Number of iteration |
|
real(kind=psb_dpk_), | intent(out), | optional | :: | err | Last estimate error |
|
real(kind=psb_dpk_), | intent(out), | optional | allocatable | :: | res(:) | Vector of the residuals |