New recursive keyword for all Krylov methods

3.6-recursive
Salvatore Filippone 7 years ago
parent 179cf52049
commit 08335a8eea

@ -94,7 +94,7 @@
! !
! !
subroutine psb_cbicg_vect(a,prec,b,x,eps,desc_a,info,& recursive subroutine psb_cbicg_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,istop) & itmax,iter,err,itrace,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -92,7 +92,7 @@
! where r is the (preconditioned, recursive ! where r is the (preconditioned, recursive
! estimate of) residual. ! estimate of) residual.
! !
Subroutine psb_ccgs_vect(a,prec,b,x,eps,desc_a,info,& recursive Subroutine psb_ccgs_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,istop) & itmax,iter,err,itrace,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -93,7 +93,7 @@
! where r is the (preconditioned, recursive ! where r is the (preconditioned, recursive
! estimate of) residual. ! estimate of) residual.
! !
Subroutine psb_ccgstab_vect(a,prec,b,x,eps,desc_a,info,itmax,iter,err,itrace,istop) recursive Subroutine psb_ccgstab_vect(a,prec,b,x,eps,desc_a,info,itmax,iter,err,itrace,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod
use psb_c_krylov_conv_mod use psb_c_krylov_conv_mod

@ -103,7 +103,7 @@
! !
! !
! !
Subroutine psb_ccgstabl_vect(a,prec,b,x,eps,desc_a,info,& recursive Subroutine psb_ccgstabl_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,irst,istop) & itmax,iter,err,itrace,irst,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -101,7 +101,7 @@
! stopped when |r| <= eps * |b| ! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive ! where r is the (preconditioned, recursive
! estimate of) residual. ! estimate of) residual.
! !
! !
recursive subroutine psb_cfcg_vect(a,prec,b,x,eps,desc_a,info,& recursive subroutine psb_cfcg_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,istop,cond) & itmax,iter,err,itrace,istop,cond)

@ -105,7 +105,7 @@
! irst - integer(optional) Input: restart parameter ! irst - integer(optional) Input: restart parameter
! !
subroutine psb_cgcr_vect(a,prec,b,x,eps,desc_a,info,& recursive subroutine psb_cgcr_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace, irst, istop) & itmax,iter,err,itrace, irst, istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -99,7 +99,7 @@ Subroutine psb_ckrylov_vect(method,a,prec,b,x,eps,desc_a,info,&
abstract interface abstract interface
subroutine psb_ckryl_vect(a,prec,b,x,eps,& recursive subroutine psb_ckryl_vect(a,prec,b,x,eps,&
& desc_a,info,itmax,iter,err,itrace,istop) & desc_a,info,itmax,iter,err,itrace,istop)
import :: psb_ipk_, psb_spk_, psb_desc_type, & import :: psb_ipk_, psb_spk_, psb_desc_type, &
& psb_cspmat_type, psb_cprec_type, psb_c_vect_type & psb_cspmat_type, psb_cprec_type, psb_c_vect_type
@ -114,7 +114,7 @@ Subroutine psb_ckrylov_vect(method,a,prec,b,x,eps,desc_a,info,&
integer(psb_ipk_), optional, intent(out) :: iter integer(psb_ipk_), optional, intent(out) :: iter
real(psb_spk_), optional, intent(out) :: err real(psb_spk_), optional, intent(out) :: err
end subroutine psb_ckryl_vect end subroutine psb_ckryl_vect
Subroutine psb_ckryl_rest_vect(a,prec,b,x,eps,desc_a,info,& recursive Subroutine psb_ckryl_rest_vect(a,prec,b,x,eps,desc_a,info,&
&itmax,iter,err, itrace,irst,istop) &itmax,iter,err, itrace,irst,istop)
import :: psb_ipk_, psb_spk_, psb_desc_type, & import :: psb_ipk_, psb_spk_, psb_desc_type, &
& psb_cspmat_type, psb_cprec_type, psb_c_vect_type & psb_cspmat_type, psb_cprec_type, psb_c_vect_type

@ -106,7 +106,7 @@
! irst - integer(optional) Input: restart parameter ! irst - integer(optional) Input: restart parameter
! !
subroutine psb_crgmres_vect(a,prec,b,x,eps,desc_a,info,& recursive subroutine psb_crgmres_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,irst,istop) & itmax,iter,err,itrace,irst,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -94,7 +94,7 @@
! !
! !
subroutine psb_dbicg_vect(a,prec,b,x,eps,desc_a,info,& recursive subroutine psb_dbicg_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,istop) & itmax,iter,err,itrace,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -92,7 +92,7 @@
! where r is the (preconditioned, recursive ! where r is the (preconditioned, recursive
! estimate of) residual. ! estimate of) residual.
! !
Subroutine psb_dcgs_vect(a,prec,b,x,eps,desc_a,info,& recursive Subroutine psb_dcgs_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,istop) & itmax,iter,err,itrace,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -93,7 +93,7 @@
! where r is the (preconditioned, recursive ! where r is the (preconditioned, recursive
! estimate of) residual. ! estimate of) residual.
! !
Subroutine psb_dcgstab_vect(a,prec,b,x,eps,desc_a,info,itmax,iter,err,itrace,istop) recursive Subroutine psb_dcgstab_vect(a,prec,b,x,eps,desc_a,info,itmax,iter,err,itrace,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod
use psb_d_krylov_conv_mod use psb_d_krylov_conv_mod

@ -103,7 +103,7 @@
! !
! !
! !
Subroutine psb_dcgstabl_vect(a,prec,b,x,eps,desc_a,info,& recursive Subroutine psb_dcgstabl_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,irst,istop) & itmax,iter,err,itrace,irst,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -101,7 +101,7 @@
! stopped when |r| <= eps * |b| ! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive ! where r is the (preconditioned, recursive
! estimate of) residual. ! estimate of) residual.
! !
! !
recursive subroutine psb_dfcg_vect(a,prec,b,x,eps,desc_a,info,& recursive subroutine psb_dfcg_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,istop,cond) & itmax,iter,err,itrace,istop,cond)

@ -105,7 +105,7 @@
! irst - integer(optional) Input: restart parameter ! irst - integer(optional) Input: restart parameter
! !
subroutine psb_dgcr_vect(a,prec,b,x,eps,desc_a,info,& recursive subroutine psb_dgcr_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace, irst, istop) & itmax,iter,err,itrace, irst, istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -99,7 +99,7 @@ Subroutine psb_dkrylov_vect(method,a,prec,b,x,eps,desc_a,info,&
abstract interface abstract interface
subroutine psb_dkryl_vect(a,prec,b,x,eps,& recursive subroutine psb_dkryl_vect(a,prec,b,x,eps,&
& desc_a,info,itmax,iter,err,itrace,istop) & desc_a,info,itmax,iter,err,itrace,istop)
import :: psb_ipk_, psb_dpk_, psb_desc_type, & import :: psb_ipk_, psb_dpk_, psb_desc_type, &
& psb_dspmat_type, psb_dprec_type, psb_d_vect_type & psb_dspmat_type, psb_dprec_type, psb_d_vect_type
@ -114,7 +114,7 @@ Subroutine psb_dkrylov_vect(method,a,prec,b,x,eps,desc_a,info,&
integer(psb_ipk_), optional, intent(out) :: iter integer(psb_ipk_), optional, intent(out) :: iter
real(psb_dpk_), optional, intent(out) :: err real(psb_dpk_), optional, intent(out) :: err
end subroutine psb_dkryl_vect end subroutine psb_dkryl_vect
Subroutine psb_dkryl_rest_vect(a,prec,b,x,eps,desc_a,info,& recursive Subroutine psb_dkryl_rest_vect(a,prec,b,x,eps,desc_a,info,&
&itmax,iter,err, itrace,irst,istop) &itmax,iter,err, itrace,irst,istop)
import :: psb_ipk_, psb_dpk_, psb_desc_type, & import :: psb_ipk_, psb_dpk_, psb_desc_type, &
& psb_dspmat_type, psb_dprec_type, psb_d_vect_type & psb_dspmat_type, psb_dprec_type, psb_d_vect_type

@ -106,7 +106,7 @@
! irst - integer(optional) Input: restart parameter ! irst - integer(optional) Input: restart parameter
! !
subroutine psb_drgmres_vect(a,prec,b,x,eps,desc_a,info,& recursive subroutine psb_drgmres_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,irst,istop) & itmax,iter,err,itrace,irst,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -94,7 +94,7 @@
! !
! !
subroutine psb_sbicg_vect(a,prec,b,x,eps,desc_a,info,& recursive subroutine psb_sbicg_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,istop) & itmax,iter,err,itrace,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -92,7 +92,7 @@
! where r is the (preconditioned, recursive ! where r is the (preconditioned, recursive
! estimate of) residual. ! estimate of) residual.
! !
Subroutine psb_scgs_vect(a,prec,b,x,eps,desc_a,info,& recursive Subroutine psb_scgs_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,istop) & itmax,iter,err,itrace,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -93,7 +93,7 @@
! where r is the (preconditioned, recursive ! where r is the (preconditioned, recursive
! estimate of) residual. ! estimate of) residual.
! !
Subroutine psb_scgstab_vect(a,prec,b,x,eps,desc_a,info,itmax,iter,err,itrace,istop) recursive Subroutine psb_scgstab_vect(a,prec,b,x,eps,desc_a,info,itmax,iter,err,itrace,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod
use psb_s_krylov_conv_mod use psb_s_krylov_conv_mod

@ -103,7 +103,7 @@
! !
! !
! !
Subroutine psb_scgstabl_vect(a,prec,b,x,eps,desc_a,info,& recursive Subroutine psb_scgstabl_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,irst,istop) & itmax,iter,err,itrace,irst,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -101,7 +101,7 @@
! stopped when |r| <= eps * |b| ! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive ! where r is the (preconditioned, recursive
! estimate of) residual. ! estimate of) residual.
! !
! !
recursive subroutine psb_sfcg_vect(a,prec,b,x,eps,desc_a,info,& recursive subroutine psb_sfcg_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,istop,cond) & itmax,iter,err,itrace,istop,cond)

@ -105,7 +105,7 @@
! irst - integer(optional) Input: restart parameter ! irst - integer(optional) Input: restart parameter
! !
subroutine psb_sgcr_vect(a,prec,b,x,eps,desc_a,info,& recursive subroutine psb_sgcr_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace, irst, istop) & itmax,iter,err,itrace, irst, istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -99,7 +99,7 @@ Subroutine psb_skrylov_vect(method,a,prec,b,x,eps,desc_a,info,&
abstract interface abstract interface
subroutine psb_skryl_vect(a,prec,b,x,eps,& recursive subroutine psb_skryl_vect(a,prec,b,x,eps,&
& desc_a,info,itmax,iter,err,itrace,istop) & desc_a,info,itmax,iter,err,itrace,istop)
import :: psb_ipk_, psb_spk_, psb_desc_type, & import :: psb_ipk_, psb_spk_, psb_desc_type, &
& psb_sspmat_type, psb_sprec_type, psb_s_vect_type & psb_sspmat_type, psb_sprec_type, psb_s_vect_type
@ -114,7 +114,7 @@ Subroutine psb_skrylov_vect(method,a,prec,b,x,eps,desc_a,info,&
integer(psb_ipk_), optional, intent(out) :: iter integer(psb_ipk_), optional, intent(out) :: iter
real(psb_spk_), optional, intent(out) :: err real(psb_spk_), optional, intent(out) :: err
end subroutine psb_skryl_vect end subroutine psb_skryl_vect
Subroutine psb_skryl_rest_vect(a,prec,b,x,eps,desc_a,info,& recursive Subroutine psb_skryl_rest_vect(a,prec,b,x,eps,desc_a,info,&
&itmax,iter,err, itrace,irst,istop) &itmax,iter,err, itrace,irst,istop)
import :: psb_ipk_, psb_spk_, psb_desc_type, & import :: psb_ipk_, psb_spk_, psb_desc_type, &
& psb_sspmat_type, psb_sprec_type, psb_s_vect_type & psb_sspmat_type, psb_sprec_type, psb_s_vect_type

@ -106,7 +106,7 @@
! irst - integer(optional) Input: restart parameter ! irst - integer(optional) Input: restart parameter
! !
subroutine psb_srgmres_vect(a,prec,b,x,eps,desc_a,info,& recursive subroutine psb_srgmres_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,irst,istop) & itmax,iter,err,itrace,irst,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -94,7 +94,7 @@
! !
! !
subroutine psb_zbicg_vect(a,prec,b,x,eps,desc_a,info,& recursive subroutine psb_zbicg_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,istop) & itmax,iter,err,itrace,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -92,7 +92,7 @@
! where r is the (preconditioned, recursive ! where r is the (preconditioned, recursive
! estimate of) residual. ! estimate of) residual.
! !
Subroutine psb_zcgs_vect(a,prec,b,x,eps,desc_a,info,& recursive Subroutine psb_zcgs_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,istop) & itmax,iter,err,itrace,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -93,7 +93,7 @@
! where r is the (preconditioned, recursive ! where r is the (preconditioned, recursive
! estimate of) residual. ! estimate of) residual.
! !
Subroutine psb_zcgstab_vect(a,prec,b,x,eps,desc_a,info,itmax,iter,err,itrace,istop) recursive Subroutine psb_zcgstab_vect(a,prec,b,x,eps,desc_a,info,itmax,iter,err,itrace,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod
use psb_z_krylov_conv_mod use psb_z_krylov_conv_mod

@ -103,7 +103,7 @@
! !
! !
! !
Subroutine psb_zcgstabl_vect(a,prec,b,x,eps,desc_a,info,& recursive Subroutine psb_zcgstabl_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,irst,istop) & itmax,iter,err,itrace,irst,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -101,7 +101,7 @@
! stopped when |r| <= eps * |b| ! stopped when |r| <= eps * |b|
! where r is the (preconditioned, recursive ! where r is the (preconditioned, recursive
! estimate of) residual. ! estimate of) residual.
! !
! !
recursive subroutine psb_zfcg_vect(a,prec,b,x,eps,desc_a,info,& recursive subroutine psb_zfcg_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,istop,cond) & itmax,iter,err,itrace,istop,cond)

@ -105,7 +105,7 @@
! irst - integer(optional) Input: restart parameter ! irst - integer(optional) Input: restart parameter
! !
subroutine psb_zgcr_vect(a,prec,b,x,eps,desc_a,info,& recursive subroutine psb_zgcr_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace, irst, istop) & itmax,iter,err,itrace, irst, istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

@ -99,7 +99,7 @@ Subroutine psb_zkrylov_vect(method,a,prec,b,x,eps,desc_a,info,&
abstract interface abstract interface
subroutine psb_zkryl_vect(a,prec,b,x,eps,& recursive subroutine psb_zkryl_vect(a,prec,b,x,eps,&
& desc_a,info,itmax,iter,err,itrace,istop) & desc_a,info,itmax,iter,err,itrace,istop)
import :: psb_ipk_, psb_dpk_, psb_desc_type, & import :: psb_ipk_, psb_dpk_, psb_desc_type, &
& psb_zspmat_type, psb_zprec_type, psb_z_vect_type & psb_zspmat_type, psb_zprec_type, psb_z_vect_type
@ -114,7 +114,7 @@ Subroutine psb_zkrylov_vect(method,a,prec,b,x,eps,desc_a,info,&
integer(psb_ipk_), optional, intent(out) :: iter integer(psb_ipk_), optional, intent(out) :: iter
real(psb_dpk_), optional, intent(out) :: err real(psb_dpk_), optional, intent(out) :: err
end subroutine psb_zkryl_vect end subroutine psb_zkryl_vect
Subroutine psb_zkryl_rest_vect(a,prec,b,x,eps,desc_a,info,& recursive Subroutine psb_zkryl_rest_vect(a,prec,b,x,eps,desc_a,info,&
&itmax,iter,err, itrace,irst,istop) &itmax,iter,err, itrace,irst,istop)
import :: psb_ipk_, psb_dpk_, psb_desc_type, & import :: psb_ipk_, psb_dpk_, psb_desc_type, &
& psb_zspmat_type, psb_zprec_type, psb_z_vect_type & psb_zspmat_type, psb_zprec_type, psb_z_vect_type

@ -106,7 +106,7 @@
! irst - integer(optional) Input: restart parameter ! irst - integer(optional) Input: restart parameter
! !
subroutine psb_zrgmres_vect(a,prec,b,x,eps,desc_a,info,& recursive subroutine psb_zrgmres_vect(a,prec,b,x,eps,desc_a,info,&
& itmax,iter,err,itrace,irst,istop) & itmax,iter,err,itrace,irst,istop)
use psb_base_mod use psb_base_mod
use psb_prec_mod use psb_prec_mod

Loading…
Cancel
Save