smod_arpack_main Submodule

Main module for the Arnoldi-type solvers. Contains interfaces to the general Arnoldi procedures (general, shift-invert, etc.).



Contents


Interfaces

interface

  • module module subroutine solve_arpack_general(arpack_cfg, matrix_A, matrix_B, settings, omega, vr)

    Solves the eigenvalue problem using the Arnoldi general method.

    Arguments

    TypeIntentOptionalAttributesName
    type(arpack_t), intent(in) :: arpack_cfg

    arpack configuration

    type(matrix_t), intent(in) :: matrix_A

    matrix A

    type(matrix_t), intent(in) :: matrix_B

    matrix B

    type(settings_t), intent(in) :: settings

    settings object

    complex(kind=dp), intent(out) :: omega(:)

    array with eigenvalues

    complex(kind=dp), intent(out) :: vr(:,:)

    array with right eigenvectors

interface

  • module module subroutine solve_arpack_shift_invert(arpack_cfg, matrix_A, matrix_B, settings, omega, vr)

    Solves the eigenvalue problem using the Arnoldi shift-invert method.

    Arguments

    TypeIntentOptionalAttributesName
    type(arpack_t), intent(in) :: arpack_cfg

    arpack configuration

    type(matrix_t), intent(in) :: matrix_A

    matrix A

    type(matrix_t), intent(in) :: matrix_B

    matrix B

    type(settings_t), intent(in) :: settings

    settings object

    complex(kind=dp), intent(out) :: omega(:)

    array with eigenvalues

    complex(kind=dp), intent(out) :: vr(:,:)

    array with right eigenvectors


Module Procedures

module procedure arnoldi module module subroutine arnoldi(matrix_A, matrix_B, settings, omega, vr)

Arguments

TypeIntentOptionalAttributesName
type(matrix_t), intent(in) :: matrix_A

matrix A

type(matrix_t), intent(in) :: matrix_B

matrix B

type(settings_t), intent(inout) :: settings

settings object

complex(kind=dp), intent(out) :: omega(:)

array with eigenvalues

complex(kind=dp), intent(out) :: vr(:,:)

array with right eigenvectors