The eigendecomposition of
an `n`-by-`n` real symmetric matrix is the
factorization ( in the complex Hermitian
case), where `Z` is orthogonal (unitary) and
is real and diagonal,
with .
The are the **eigenvalues** of `A`and the columns of
`Z` are the **eigenvectors** . This is also often written
. The eigendecomposition of a symmetric matrix is
computed
by the driver routines xSYEV, xSYEVX, xSYEVD, xSBEV, xSBEVX, xSBEVD,
xSPEV, xSPEVX, xSPEVD, xSTEV, xSTEVX and xSTEVD.
The complex counterparts of these routines, which compute the
eigendecomposition of complex Hermitian matrices, are
the driver routines xHEEV, xHEEVX, xHEEVD, xHBEV, xHBEVX, xHBEVD,
xHPEV, xHPEVX, and xHPEVD (see subsection 2.2.4).

The approximate error bounds for the computed eigenvalues are

The approximate error bounds for the computed eigenvectors , which bound the acute angles between the computed eigenvectors and true eigenvectors , are:

These bounds can be computed by the following code fragment:

EPSMCH = SLAMCH( 'E' ) * Compute eigenvalues and eigenvectors of A * The eigenvalues are returned in W * The eigenvector matrix Z overwrites A CALL SSYEV( 'V', UPLO, N, A, LDA, W, WORK, LWORK, INFO ) IF( INFO.GT.0 ) THEN PRINT *,'SSYEV did not converge' ELSE IF ( N.GT.0 ) THEN * Compute the norm of A ANORM = MAX( ABS( W(1) ), ABS( W(N) ) ) EERRBD = EPSMCH * ANORM * Compute reciprocal condition numbers for eigenvectors CALL SDISNA( 'Eigenvectors', N, N, W, RCONDZ, INFO ) DO 10 I = 1, N ZERRBD( I ) = EPSMCH * ( ANORM / RCONDZ( I ) ) 10 CONTINUE ENDIF

For example, if and

then the eigenvalues, approximate error bounds, and true errors are

Tue Nov 29 14:03:33 EST 1994