EigenvalueSoLversforPetaflop-Applications(ELPA)  2016.05.001
Functions/Subroutines
ELPA2 Module Reference

Fortran module which provides the routines to use the two-stage ELPA solver. More...

Functions/Subroutines

logical function, public solve_evp_real_2stage (na, nev, a, lda, ev, q, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all, THIS_REAL_ELPA_KERNEL_API, useQR)
 solve_evp_real_2stage: Fortran function to solve the real eigenvalue problem with a 2 stage approach More...
 
logical function, public solve_evp_complex_2stage (na, nev, a, lda, ev, q, ldq, nblk, matrixCols, mpi_comm_rows, mpi_comm_cols, mpi_comm_all, THIS_COMPLEX_ELPA_KERNEL_API)
 solve_evp_complex_2stage: Fortran function to solve the complex eigenvalue problem with a 2 stage approach More...
 

Detailed Description

Fortran module which provides the routines to use the two-stage ELPA solver.

Function/Subroutine Documentation

logical function, public ELPA2::solve_evp_complex_2stage ( integer(kind=ik), intent(in)  na,
integer(kind=ik), intent(in)  nev,
complex(kind=ck), dimension(lda,matrixcols), intent(inout)  a,
integer(kind=ik), intent(in)  lda,
real(kind=rk), dimension(na), intent(inout)  ev,
complex(kind=ck), dimension(ldq,matrixcols), intent(inout)  q,
integer(kind=ik), intent(in)  ldq,
integer(kind=ik), intent(in)  nblk,
integer(kind=ik), intent(in)  matrixCols,
integer(kind=ik), intent(in)  mpi_comm_rows,
integer(kind=ik), intent(in)  mpi_comm_cols,
integer(kind=ik), intent(in)  mpi_comm_all,
integer(kind=ik), intent(in), optional  THIS_COMPLEX_ELPA_KERNEL_API 
)

solve_evp_complex_2stage: Fortran function to solve the complex eigenvalue problem with a 2 stage approach

Parameters

Parameters
naOrder of matrix a
nevNumber of eigenvalues needed
a(lda,matrixCols)Distributed matrix for which eigenvalues are to be computed. Distribution is like in Scalapack. The full matrix must be set (not only one half like in scalapack). Destroyed on exit (upper and lower half).
ldaLeading dimension of a
ev(na)On output: eigenvalues of a, every processor gets the complete set
q(ldq,matrixCols)On output: Eigenvectors of a Distribution is like in Scalapack. Must be always dimensioned to the full size (corresponding to (na,na)) even if only a part of the eigenvalues is needed.
ldqLeading dimension of q
nblkblocksize of cyclic distribution, must be the same in both directions!
matrixColslocal columns of matrix a and q
mpi_comm_rowsMPI communicator for rows
mpi_comm_colsMPI communicator for columns
mpi_comm_allMPI communicator for the total processor set
THIS_REAL_ELPA_KERNEL_API(optional) specify used ELPA2 kernel via API
Returns
success logical, false if error occured
logical function, public ELPA2::solve_evp_real_2stage ( integer(kind=ik), intent(in)  na,
integer(kind=ik), intent(in)  nev,
real(kind=rk), dimension(lda,matrixcols), intent(inout)  a,
integer(kind=ik), intent(in)  lda,
real(kind=rk), dimension(na), intent(inout)  ev,
real(kind=rk), dimension(ldq,matrixcols), intent(inout)  q,
integer(kind=ik), intent(in)  ldq,
integer(kind=ik), intent(in)  nblk,
integer(kind=ik), intent(in)  matrixCols,
integer(kind=ik), intent(in)  mpi_comm_rows,
integer(kind=ik), intent(in)  mpi_comm_cols,
integer(kind=ik), intent(in)  mpi_comm_all,
integer(kind=ik), intent(in), optional  THIS_REAL_ELPA_KERNEL_API,
logical, intent(in), optional  useQR 
)

solve_evp_real_2stage: Fortran function to solve the real eigenvalue problem with a 2 stage approach

Parameters

Parameters
naOrder of matrix a
nevNumber of eigenvalues needed
a(lda,matrixCols)Distributed matrix for which eigenvalues are to be computed. Distribution is like in Scalapack. The full matrix must be set (not only one half like in scalapack). Destroyed on exit (upper and lower half).
ldaLeading dimension of a
ev(na)On output: eigenvalues of a, every processor gets the complete set
q(ldq,matrixCols)On output: Eigenvectors of a Distribution is like in Scalapack. Must be always dimensioned to the full size (corresponding to (na,na)) even if only a part of the eigenvalues is needed.
ldqLeading dimension of q
nblkblocksize of cyclic distribution, must be the same in both directions!
matrixColslocal columns of matrix a and q
mpi_comm_rowsMPI communicator for rows
mpi_comm_colsMPI communicator for columns
mpi_comm_allMPI communicator for the total processor set
THIS_REAL_ELPA_KERNEL_API(optional) specify used ELPA2 kernel via API
use_qr(optional) use QR decomposition
Returns
success logical, false if error occured