SF_SP_LINALG Module



Uses

  • module~~sf_sp_linalg~~UsesGraph module~sf_sp_linalg SF_SP_LINALG module~sf_linalg SF_LINALG module~sf_sp_linalg->module~sf_linalg module~sf_misc SF_MISC module~sf_sp_linalg->module~sf_misc module~sf_mpi SF_MPI module~sf_sp_linalg->module~sf_mpi module~sf_random SF_RANDOM module~sf_sp_linalg->module~sf_random module~sf_blacs SF_BLACS module~sf_linalg->module~sf_blacs

Used by

  • module~~sf_sp_linalg~~UsedByGraph module~sf_sp_linalg SF_SP_LINALG module~scifor SCIFOR module~scifor->module~sf_sp_linalg

Interfaces

public interface sp_eigh

  • private subroutine lanczos_arpack_d(MatVec, eval, evec, Nblock, Nitermax, bmat, v0, tol, iverbose)

    Arguments

    Type IntentOptional Attributes Name
    private subroutine MatVec(Nloc, vin, vout)
    Arguments
    Type IntentOptional Attributes Name
    integer :: Nloc
    real(kind=8), dimension(Nloc) :: vin
    real(kind=8), dimension(Nloc) :: vout
    real(kind=8) :: eval(:)
    real(kind=8) :: evec(:,:)
    integer, optional :: Nblock
    integer, optional :: Nitermax
    character(len=1), optional :: bmat
    real(kind=8), optional :: v0(size(evec,1))
    real(kind=8), optional :: tol
    logical, optional :: iverbose
  • private subroutine lanczos_arpack_c(MatVec, eval, evec, Nblock, Nitermax, bmat, v0, tol, iverbose)

    Arguments

    Type IntentOptional Attributes Name
    private subroutine MatVec(Nloc, vin, vout)
    Arguments
    Type IntentOptional Attributes Name
    integer :: Nloc
    complex(kind=8), dimension(Nloc) :: vin
    complex(kind=8), dimension(Nloc) :: vout
    real(kind=8) :: eval(:)
    complex(kind=8) :: evec(:,:)
    integer, optional :: Nblock
    integer, optional :: Nitermax
    character(len=1), optional :: bmat
    complex(kind=8), optional :: v0(size(evec,1))
    real(kind=8), optional :: tol
    logical, optional :: iverbose
  • private subroutine lanczos_parpack_d(MpiComm, MatVec, eval, evec, Nblock, Nitermax, v0, tol, iverbose, vrandom)

    Arguments

    Type IntentOptional Attributes Name
    integer :: MpiComm
    private subroutine MatVec(nchunk, vin, vout)
    Arguments
    Type IntentOptional Attributes Name
    integer :: nchunk
    real(kind=8), dimension(nchunk) :: vin
    real(kind=8), dimension(nchunk) :: vout
    real(kind=8) :: eval(:)
    real(kind=8) :: evec(:,:)
    integer, optional :: Nblock
    integer, optional :: Nitermax
    real(kind=8), optional :: v0(size(evec,1))
    real(kind=8), optional :: tol
    logical, optional :: iverbose
    logical, optional :: vrandom
  • private subroutine lanczos_parpack_c(MpiComm, MatVec, eval, evec, Nblock, Nitermax, v0, tol, iverbose, vrandom)

    Arguments

    Type IntentOptional Attributes Name
    integer :: MpiComm
    private subroutine MatVec(nchunk, vin, vout)
    Arguments
    Type IntentOptional Attributes Name
    integer :: nchunk
    complex(kind=8), dimension(nchunk) :: vin
    complex(kind=8), dimension(nchunk) :: vout
    real(kind=8) :: eval(:)
    complex(kind=8) :: evec(:,:)
    integer, optional :: Nblock
    integer, optional :: Nitermax
    complex(kind=8), optional :: v0(size(evec,1))
    real(kind=8), optional :: tol
    logical, optional :: iverbose
    logical, optional :: vrandom

public interface sp_lanc_eigh

  • private subroutine lanczos_eigh_d(MatVec, egs, vect, Nitermax, iverbose, threshold, ncheck, vrandom)

    Arguments

    Type IntentOptional Attributes Name
    private subroutine MatVec(Nloc, vin, vout)
    Arguments
    Type IntentOptional Attributes Name
    integer :: Nloc
    real(kind=8), dimension(Nloc) :: vin
    real(kind=8), dimension(Nloc) :: vout
    real(kind=8) :: egs
    real(kind=8), dimension(:) :: vect
    integer :: Nitermax
    logical, optional :: iverbose
    real(kind=8), optional :: threshold
    integer, optional :: ncheck
    logical, optional :: vrandom
  • private subroutine lanczos_eigh_c(MatVec, egs, vect, Nitermax, iverbose, threshold, ncheck, vrandom)

    Arguments

    Type IntentOptional Attributes Name
    private subroutine MatVec(Nloc, vin, vout)
    Arguments
    Type IntentOptional Attributes Name
    integer :: Nloc
    complex(kind=8), dimension(Nloc) :: vin
    complex(kind=8), dimension(Nloc) :: vout
    real(kind=8) :: egs
    complex(kind=8), dimension(:) :: vect
    integer :: Nitermax
    logical, optional :: iverbose
    real(kind=8), optional :: threshold
    integer, optional :: ncheck
    logical, optional :: vrandom
  • private subroutine mpi_lanczos_eigh_d(MpiComm, MatVec, egs, vect, Nitermax, iverbose, threshold, ncheck, vrandom)

    Arguments

    Type IntentOptional Attributes Name
    integer :: MpiComm
    private subroutine MatVec(Nloc, vin, vout)
    Arguments
    Type IntentOptional Attributes Name
    integer :: Nloc
    real(kind=8) :: vin(Nloc)
    real(kind=8) :: vout(Nloc)
    real(kind=8) :: egs
    real(kind=8), dimension(:) :: vect
    integer :: Nitermax
    logical, optional :: iverbose
    real(kind=8), optional :: threshold
    integer, optional :: ncheck
    logical, optional :: vrandom
  • private subroutine mpi_lanczos_eigh_c(MpiComm, MatVec, egs, vect, Nitermax, iverbose, threshold, ncheck, vrandom)

    Arguments

    Type IntentOptional Attributes Name
    integer :: MpiComm
    private subroutine MatVec(Nloc, vin, vout)
    Arguments
    Type IntentOptional Attributes Name
    integer :: Nloc
    complex(kind=8) :: vin(Nloc)
    complex(kind=8) :: vout(Nloc)
    real(kind=8) :: egs
    complex(kind=8), dimension(:) :: vect
    integer :: Nitermax
    logical, optional :: iverbose
    real(kind=8), optional :: threshold
    integer, optional :: ncheck
    logical, optional :: vrandom

public interface sp_lanc_tridiag

  • private subroutine lanczos_tridiag_d(MatVec, vin, alanc, blanc, threshold)

    Arguments

    Type IntentOptional Attributes Name
    private subroutine MatVec(Nloc, vin, vout)
    Arguments
    Type IntentOptional Attributes Name
    integer :: Nloc
    real(kind=8), dimension(Nloc) :: vin
    real(kind=8), dimension(Nloc) :: vout
    real(kind=8), intent(inout), dimension(:) :: vin
    real(kind=8), intent(inout), dimension(:) :: alanc
    real(kind=8), intent(inout), dimension(size(alanc)) :: blanc
    real(kind=8), optional :: threshold
  • private subroutine lanczos_tridiag_c(MatVec, vin, alanc, blanc, threshold)

    Arguments

    Type IntentOptional Attributes Name
    private subroutine MatVec(Nloc, vin, vout)
    Arguments
    Type IntentOptional Attributes Name
    integer :: Nloc
    complex(kind=8), dimension(Nloc) :: vin
    complex(kind=8), dimension(Nloc) :: vout
    complex(kind=8), intent(inout), dimension(:) :: vin
    real(kind=8), intent(inout), dimension(:) :: alanc
    real(kind=8), intent(inout), dimension(size(alanc)) :: blanc
    real(kind=8), optional :: threshold
  • private subroutine mpi_lanczos_tridiag_d(MpiComm, MatVec, vin, alanc, blanc, threshold)

    Arguments

    Type IntentOptional Attributes Name
    integer :: MpiComm
    private subroutine MatVec(Nloc, vin, vout)
    Arguments
    Type IntentOptional Attributes Name
    integer :: Nloc
    real(kind=8), dimension(Nloc) :: vin
    real(kind=8), dimension(Nloc) :: vout
    real(kind=8), intent(inout), dimension(:) :: vin
    real(kind=8), intent(inout), dimension(:) :: alanc
    real(kind=8), intent(inout), dimension(size(alanc)) :: blanc
    real(kind=8), optional :: threshold
  • private subroutine mpi_lanczos_tridiag_c(MpiComm, MatVec, vin, alanc, blanc, threshold)

    Arguments

    Type IntentOptional Attributes Name
    integer :: MpiComm
    private subroutine MatVec(Nloc, vin, vout)
    Arguments
    Type IntentOptional Attributes Name
    integer :: Nloc
    complex(kind=8), dimension(Nloc) :: vin
    complex(kind=8), dimension(Nloc) :: vout
    complex(kind=8), intent(inout), dimension(:) :: vin
    real(kind=8), intent(inout), dimension(:) :: alanc
    real(kind=8), intent(inout), dimension(size(alanc)) :: blanc
    real(kind=8), optional :: threshold

public interface sp_dvdson_eigh

  • private subroutine dvdson_eigh_d(MatVec, eval, evec, Nblock, Nitermax, Tol)

    Arguments

    Type IntentOptional Attributes Name
    private subroutine MatVec(Nloc, vin, vout)
    Arguments
    Type IntentOptional Attributes Name
    integer :: Nloc
    real(kind=8), dimension(Nloc) :: vin
    real(kind=8), dimension(Nloc) :: vout
    real(kind=8), intent(inout) :: eval(:)
    real(kind=8), intent(inout) :: evec(:,:)
    integer, optional :: Nblock
    integer, optional :: Nitermax
    real(kind=8), optional :: Tol