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 Aand 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