|
| subroutine, public | cp_cfm_diag::cp_cfm_heevd (matrix, eigenvectors, eigenvalues) |
| | Perform a diagonalisation of a complex matrix.
|
| subroutine, public | cp_cfm_diag::cp_cfm_power (matrix, work, exponent, threshold, n_dependent, verbose, eigvals) |
| | Raise the positive spectral part of a Hermitian matrix to a real power. Eigenmodes with eigenvalues below the nonnegative threshold, and all non-positive eigenvalues, are discarded. This routine does not implement a general matrix power for indefinite Hermitian matrices.
|
| subroutine, public | cp_cfm_diag::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_diag::cp_cfm_geeig_canon (amatrix, bmatrix, eigenvectors, eigenvalues, work, epseig, nmo_retained) |
| | General Eigenvalue Problem AX = BXE Use canonical orthogonalization.
|
| subroutine, public | cp_cfm_diag::cp_cfm_geeig_local (amatrix, bmatrix, eigenvectors, eigenvalues, ws) |
| | 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_diag::cp_cfm_geeig_canon_local (amatrix, bmatrix, eigenvectors, eigenvalues, work, epseig, ws) |
| | Canonical generalized complex diagonalization on a one-rank BLACS grid.
|
| subroutine, public | cp_cfm_diag::cp_cfm_heevd_local (matrix, vectors, info, ws) |
| | Local LAPACK ZHEEVD with prepared scratch, without allocation or communication.
|
| subroutine, public | cp_cfm_diag::cp_cfm_local_workspace_prepare (ws, n, a, b) |
| | Query LAPACK once per matrix order/solver and retain private scratch across k points.
|