(git:48c3be8)
Loading...
Searching...
No Matches
cp_cfm_diag Module Reference

used for collecting diagonalization schemes available for cp_cfm_type More...

Functions/Subroutines

subroutine, public cp_cfm_heevd (matrix, eigenvectors, eigenvalues)
 Perform a diagonalisation of a complex matrix.
subroutine, public cp_cfm_geeig (amatrix, bmatrix, eigenvectors, eigenvalues, work, lowest_subset)
 General Eigenvalue Problem AX = BXE Single option version: Cholesky decomposition of B.
subroutine, public cp_cfm_geeig_canon (amatrix, bmatrix, eigenvectors, eigenvalues, work, epseig, nmo_retained)
 General Eigenvalue Problem AX = BXE Use canonical orthogonalization.
subroutine, public cp_cfm_geeig_local (amatrix, bmatrix, eigenvectors, eigenvalues)
 Solve a generalized complex eigenproblem using the local LAPACK backend. This routine is restricted to a one-rank BLACS grid. It deliberately avoids ScaLAPACK so independent k-points can be evaluated concurrently without making overlapping MPI calls from OpenMP worker threads.
subroutine, public cp_cfm_geeig_canon_local (amatrix, bmatrix, eigenvectors, eigenvalues, work, epseig)
 Canonical generalized complex diagonalization on a one-rank BLACS grid.

Detailed Description

used for collecting diagonalization schemes available for cp_cfm_type

Note
first version : only one routine right now
Author
Joost VandeVondele (2003-09)

Function/Subroutine Documentation

◆ cp_cfm_heevd()

subroutine, public cp_cfm_diag::cp_cfm_heevd ( type(cp_cfm_type), intent(in) matrix,
type(cp_cfm_type), intent(in) eigenvectors,
real(kind=dp), dimension(:), intent(out) eigenvalues )

Perform a diagonalisation of a complex matrix.

Parameters
matrix...
eigenvectors...
eigenvalues...
History
12.2024 Added DLA-Future support [Rocco Meli] 08.2026 Added ELPA support
Author
Joost VandeVondele

Definition at line 81 of file cp_cfm_diag.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cp_cfm_geeig()

subroutine, public cp_cfm_diag::cp_cfm_geeig ( type(cp_cfm_type), intent(in) amatrix,
type(cp_cfm_type), intent(in) bmatrix,
type(cp_cfm_type), intent(in) eigenvectors,
real(kind=dp), dimension(:) eigenvalues,
type(cp_cfm_type), intent(in) work,
logical, intent(in), optional lowest_subset )

General Eigenvalue Problem AX = BXE Single option version: Cholesky decomposition of B.

Parameters
amatrix...
bmatrix...
eigenvectors...
eigenvalues...
work...
lowest_subsetcompute only the requested lowest eigenpairs with ScaLAPACK when available
History
12.2024 Added DLA-Future support [Rocco Meli]

Definition at line 328 of file cp_cfm_diag.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cp_cfm_geeig_canon()

subroutine, public cp_cfm_diag::cp_cfm_geeig_canon ( type(cp_cfm_type), intent(in) amatrix,
type(cp_cfm_type), intent(in) bmatrix,
type(cp_cfm_type), intent(in) eigenvectors,
real(kind=dp), dimension(:), intent(out) eigenvalues,
type(cp_cfm_type), intent(in) work,
real(kind=dp), intent(in) epseig,
integer, intent(out), optional nmo_retained )

General Eigenvalue Problem AX = BXE Use canonical orthogonalization.

Parameters
amatrix...
bmatrix...
eigenvectors...
eigenvalues...
work...
epseig...
nmo_retained...

Definition at line 574 of file cp_cfm_diag.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cp_cfm_geeig_local()

subroutine, public cp_cfm_diag::cp_cfm_geeig_local ( type(cp_cfm_type), intent(in) amatrix,
type(cp_cfm_type), intent(in) bmatrix,
type(cp_cfm_type), intent(in) eigenvectors,
real(kind=dp), dimension(:), intent(out) eigenvalues )

Solve a generalized complex eigenproblem using the local LAPACK backend. This routine is restricted to a one-rank BLACS grid. It deliberately avoids ScaLAPACK so independent k-points can be evaluated concurrently without making overlapping MPI calls from OpenMP worker threads.

Parameters
amatrixHamiltonian, overwritten
bmatrixoverlap matrix, overwritten
eigenvectorseigenvectors
eigenvalueseigenvalues

Definition at line 665 of file cp_cfm_diag.F.

Here is the caller graph for this function:

◆ cp_cfm_geeig_canon_local()

subroutine, public cp_cfm_diag::cp_cfm_geeig_canon_local ( type(cp_cfm_type), intent(in) amatrix,
type(cp_cfm_type), intent(in) bmatrix,
type(cp_cfm_type), intent(in) eigenvectors,
real(kind=dp), dimension(:), intent(out) eigenvalues,
type(cp_cfm_type), intent(in) work,
real(kind=dp), intent(in) epseig )

Canonical generalized complex diagonalization on a one-rank BLACS grid.

Parameters
amatrixHamiltonian, overwritten
bmatrixoverlap matrix, overwritten and used as work storage
eigenvectorseigenvectors
eigenvalueseigenvalues
workwork matrix
epseigoverlap eigenvalue threshold

Definition at line 732 of file cp_cfm_diag.F.

Here is the caller graph for this function: