Developer Reference

  • 2020.2
  • 07/15/2020
  • Public Content
Contents

Extended Eigensolver Naming Conventions

There are two different types of interfaces available in the Extended Eigensolver routines:
  1. The reverse communication interfaces (RCI):
    ?feast_
    <matrix type>
    _rci
    These interfaces are matrix free format (the interfaces are independent of the matrix data formats). You must provide matrix-vector multiply and direct/iterative linear system solvers for your own explicit or implicit data format.
  2. The predefined interfaces:
    ?feast_
    <matrix type><type of eigenvalue problem>
    are predefined drivers for
    ?feast
    reverse communication interface that act on commonly used matrix data storage (dense, banded and compressed sparse row representation), using internal matrix-vector routines and selected inner linear system solvers.
For these interfaces:
  • ?
    indicates the data type of matrix
    A
    (and matrix
    B
    if any) defined as follows:
    s
    real, single precision
    d
    real, double precision
    c
    complex, single precision
    z
    complex , double precision
  • <matrix type>
    defined as follows:
    Value of
    <matrix type>
    Matrix format
    Inner linear system solver used by Extended Eigensolver
    sy
    (symmetric real)
    Dense
    LAPACK dense solvers
    he
    (Hermitian complex)
    sb
    (symmetric banded real)
    Banded-LAPACK
    Internal banded solver
    hb
    (Hermitian banded complex)
    scsr
    (symmetric real)
    Compressed sparse row
    PARDISO solver
    hcsr
    (Hermitian complex)
    s
    (symmetric real)
    Reverse communications interfaces
    User defined
    h
    (Hermitian complex)
  • <type of eigenvalue problem>
    is:
    gv
    generalized eigenvalue problem
    ev
    standard eigenvalue problem
For example,
sfeast_scsrev
is a single-precision routine with a symmetric real matrix stored in sparse compressed-row format for a standard eigenvalue problem, and
zfeast_hrci
is a complex double-precision routine with a Hermitian matrix using the reverse communication interface.
Note that:
  • ?
    can be
    s
    or
    d
    if a matrix is real symmetric:
    <matrix type>
    is
    sy
    ,
    sb
    , or
    scsr
    .
  • ?
    can be
    c
    or
    z
    if a matrix is complex Hermitian:
    <matrix type>
    is
    he
    ,
    hb
    , or
    hcsr
    .
  • ?
    can be
    c
    or
    z
    if the Extended Eigensolver RCI interface is used for solving a complex Hermitian problem.
  • ?
    can be
    s
    or
    d
    if the Extended Eigensolver RCI interface is used for solving a real symmetric problem.