eigval_33rsym Subroutine

public subroutine eigval_33rsym(a, ev)

Calculates the eigenvalues of a 3 x 3 real symmetric matrix. The eigenvalues calculated are in decreasing order. Only the diagonal and lower triangular part of the matrix is accessed.

Reference: https://en.wikipedia.org/wiki/Eigenvalue_algorithm#cite_note-Smith-12

See also David Eberly's notes and implementation at https://www.geometrictools.com/Documentation/RobustEigenSymmetric3x3.pdf

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(in), dimension(3,3) :: a
real(kind=rp), intent(out), dimension(3) :: ev