EigenvalueSoLversforPetaflop-Applications(ELPA)
2016.05.002
|
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... | |
Fortran module which provides the routines to use the two-stage ELPA solver.
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
na | Order of matrix a |
nev | Number 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). |
lda | Leading 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. |
ldq | Leading dimension of q |
nblk | blocksize of cyclic distribution, must be the same in both directions! |
matrixCols | local columns of matrix a and q |
mpi_comm_rows | MPI communicator for rows |
mpi_comm_cols | MPI communicator for columns |
mpi_comm_all | MPI communicator for the total processor set |
THIS_REAL_ELPA_KERNEL_API | (optional) specify used ELPA2 kernel via API |
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
na | Order of matrix a |
nev | Number 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). |
lda | Leading 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. |
ldq | Leading dimension of q |
nblk | blocksize of cyclic distribution, must be the same in both directions! |
matrixCols | local columns of matrix a and q |
mpi_comm_rows | MPI communicator for rows |
mpi_comm_cols | MPI communicator for columns |
mpi_comm_all | MPI communicator for the total processor set |
THIS_REAL_ELPA_KERNEL_API | (optional) specify used ELPA2 kernel via API |
use_qr | (optional) use QR decomposition |