(git:b279b6b)
cp_fm_diag.F File Reference

Go to the source code of this file.

Modules

module  cp_fm_diag
 used for collecting some of the diagonalization schemes available for cp_fm_type. cp_fm_power also moved here as it is very related
 

Functions/Subroutines

subroutine, public cp_fm_diag::diag_init (diag_lib, fallback_applied, elpa_kernel, elpa_neigvec_min_input, elpa_qr, elpa_print, elpa_qr_unsafe, dlaf_neigvec_min_input, eps_check_diag_input)
 Setup the diagonalization library to be used. More...
 
subroutine, public cp_fm_diag::diag_finalize ()
 Finalize the diagonalization library. More...
 
subroutine, public cp_fm_diag::choose_eigv_solver (matrix, eigenvectors, eigenvalues, info)
 Choose the Eigensolver depending on which library is available ELPA seems to be unstable for small systems. More...
 
subroutine, public cp_fm_diag::cp_fm_syevd (matrix, eigenvectors, eigenvalues, info)
 Computes all eigenvalues and vectors of a real symmetric matrix significantly faster than syevx, scales also much better. Needs workspace to allocate all the eigenvectors. More...
 
subroutine, public cp_fm_diag::cp_fm_syevx (matrix, eigenvectors, eigenvalues, neig, work_syevx)
 compute eigenvalues and optionally eigenvectors of a real symmetric matrix using scalapack. If eigenvectors are required this routine will replicate a full matrix on each CPU... if more than a handful of vectors are needed, use cp_fm_syevd instead More...
 
subroutine, public cp_fm_diag::cp_fm_power (matrix, work, exponent, threshold, n_dependent, verbose, eigvals)
 ... More...
 
subroutine, public cp_fm_diag::cp_fm_block_jacobi (matrix, eigenvectors, eigval, thresh, start_sec_block)
 ... More...
 
subroutine, public cp_fm_diag::cp_fm_geeig (amatrix, bmatrix, eigenvectors, eigenvalues, work)
 General Eigenvalue Problem AX = BXE Single option version: Cholesky decomposition of B. More...
 
subroutine, public cp_fm_diag::cp_fm_geeig_canon (amatrix, bmatrix, eigenvectors, eigenvalues, work, epseig)
 General Eigenvalue Problem AX = BXE Use canonical diagonalization : U*s**(-1/2) More...
 

Variables

real(kind=dp), parameter, public cp_fm_diag::eps_check_diag_default = 5.0E-14_dp
 
integer, parameter, public cp_fm_diag::fm_diag_type_scalapack = 101
 
integer, parameter, public cp_fm_diag::fm_diag_type_elpa = 102
 
integer, parameter, public cp_fm_diag::fm_diag_type_cusolver = 103
 
integer, parameter, public cp_fm_diag::fm_diag_type_dlaf = 104
 
integer, parameter, public cp_fm_diag::fm_diag_type_default = FM_DIAG_TYPE_SCALAPACK