dftd3_fourier_jacobi Module

Eigensolver for small dense symmetric matrices.

The low-rank decomposition of the reference C6 coefficients requires a single eigendecomposition of a matrix with at most a few hundred rows. A self-contained cyclic Jacobi implementation avoids introducing a LAPACK dependency for it.


Uses


Subroutines

public subroutine symmetric_eigendecomposition(amat, eval, evec)

Eigendecomposition of a dense symmetric matrix by cyclic Jacobi rotations.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: amat(:,:)

Symmetric matrix to decompose

real(kind=wp), intent(out) :: eval(:)

Eigenvalues, sorted by descending magnitude

real(kind=wp), intent(out) :: evec(:,:)

Eigenvectors, stored column-wise in the same order as the eigenvalues