psfun_krylov_mod Module

This module implements the Krylov methods for the solution of shifted linear systems: . It is built as an extension of the Krylov module for PSBLAS (psb_krylov_mod)


Uses

    • psb_base_mod
    • psb_prec_mod
    • amg_prec_mod
  • module~~psfun_krylov_mod~~UsesGraph module~psfun_krylov_mod psfun_krylov_mod amg_prec_mod amg_prec_mod module~psfun_krylov_mod->amg_prec_mod psb_base_mod psb_base_mod module~psfun_krylov_mod->psb_base_mod psb_prec_mod psb_prec_mod module~psfun_krylov_mod->psb_prec_mod

Used by

  • module~~psfun_krylov_mod~~UsedByGraph module~psfun_krylov_mod psfun_krylov_mod program~shiftedtest shiftedtest program~shiftedtest->module~psfun_krylov_mod

Contents


Interfaces

public interface psb_krylov

We add the methods for the shifted system to the same interfaces in PSBLAS it is a lazy way to avoid modifying all the Krylov methods in PSBLAS to allow for the solution of shifted linear systems

  • public subroutine psfun_dkrylov_vect(method, a, prec, b, eta, zeta, x, eps, desc_a, info, itmax, iter, err, itrace, irst, istop, cond)

    Apply Krylov method to on distributed vectors

    Arguments

    Type IntentOptional AttributesName
    character(len=*) :: method
    type(psb_dspmat_type), intent(in) :: a
    class(psb_dprec_type), intent(inout) :: prec
    type(psb_d_vect_type), intent(inout) :: b
    real(kind=psb_dpk_), intent(in) :: eta
    real(kind=psb_dpk_), intent(in) :: zeta
    type(psb_d_vect_type), intent(inout) :: x
    real(kind=psb_dpk_), intent(in) :: eps
    type(psb_desc_type), intent(in) :: desc_a
    integer(kind=psb_ipk_), intent(out) :: info
    integer(kind=psb_ipk_), intent(in), optional :: itmax
    integer(kind=psb_ipk_), intent(out), optional :: iter
    real(kind=psb_dpk_), intent(out), optional :: err
    integer(kind=psb_ipk_), intent(in), optional :: itrace
    integer(kind=psb_ipk_), intent(in), optional :: irst
    integer(kind=psb_ipk_), intent(in), optional :: istop
    real(kind=psb_dpk_), intent(out), optional :: cond

Subroutines

public subroutine psfun_dkrylov_vect(method, a, prec, b, eta, zeta, x, eps, desc_a, info, itmax, iter, err, itrace, irst, istop, cond)

Apply Krylov method to on distributed vectors

Arguments

Type IntentOptional AttributesName
character(len=*) :: method
type(psb_dspmat_type), intent(in) :: a
class(psb_dprec_type), intent(inout) :: prec
type(psb_d_vect_type), intent(inout) :: b
real(kind=psb_dpk_), intent(in) :: eta
real(kind=psb_dpk_), intent(in) :: zeta
type(psb_d_vect_type), intent(inout) :: x
real(kind=psb_dpk_), intent(in) :: eps
type(psb_desc_type), intent(in) :: desc_a
integer(kind=psb_ipk_), intent(out) :: info
integer(kind=psb_ipk_), intent(in), optional :: itmax
integer(kind=psb_ipk_), intent(out), optional :: iter
real(kind=psb_dpk_), intent(out), optional :: err
integer(kind=psb_ipk_), intent(in), optional :: itrace
integer(kind=psb_ipk_), intent(in), optional :: irst
integer(kind=psb_ipk_), intent(in), optional :: istop
real(kind=psb_dpk_), intent(out), optional :: cond