Wrapper for ELPA
source: cp_fm_elpa.FDriver routine to diagonalize a FM matrix with the ELPA library.
TYPE(cp_fm_type), |
POINTER |
:: | matrix | the matrix that is diagonalized | |
TYPE(cp_fm_type), |
POINTER |
:: | eigenvectors | eigenvectors of the input matrix | |
REAL(dp) |
:: | eigenvalues(:) | eigenvalues of the input matrix |
Returns the description texts of the availabel ELPA kernels
Return Value | :: | CHARACTER(default_string_length) |
Returns the names of the availabel ELPA kernels
Return Value | :: | CHARACTER(default_string_length) |
Return the number of available ELPA kernels
Return Value | :: | INTEGER |
Sets the active ELPA kernel.
INTEGER, |
INTENT(in) |
:: | kernel | Integer between 1 and get_elpa_number_kernels() |
Sets a flag that determines if additional information about the ELPA diagonalization should be printed
LOGICAL, |
INTENT(in) |
:: | flag | the logical flag |
Sets flags that determines if ELPA should try to use QR during diagonalization If use_qr = .TRUE., the QR step is performed only if the size of the input matrix is suitable. Check cp_fm_diag_elpa for further details.
LOGICAL, |
INTENT(in) |
:: | use_qr | the logical flag | |
LOGICAL, |
INTENT(in) |
:: | use_qr_unsafe | logical which determines if block size checks should be bypassed for some ELPA versions, potentially leading to incorrect eigenvalues |