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.
Eigendecomposition of a dense symmetric matrix by cyclic Jacobi rotations.
| Type | Intent | Optional | 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 |