computes eigenvalues and eigenvectors
- CALL EIGEN( eigenvalues, eigenvectors,
where A is an arbitrary square numeric matrix
for which eigenvalues and eigenvectors are to be calculated.
The EIGEN call returns the following values:
- a matrix to contain the eigenvalues of the input matrix.
- names a matrix to contain the right eigenvectors of the input matrix.
- is an optional n ×n matrix containing
the left eigenvectors of A in the same
manner that eigenvectors contains the right eigenvectors.
The EIGEN subroutine computes eigenvalues,
a matrix containing the eigenvalues of
A arranged in descending order. If A
is symmetric, eigenvalues in the n ×1 vector containing
the n real eigenvalues of A.
If A is not symmetric (as determined by the criterion
described below) eigenvalues
is an n ×2 matrix containing the eigenvalues of the
n ×n matrix A. The first column
of A contains the real parts, Re(, and the
second column contains the imaginary parts Im.Each row represents one eigenvalue, .Complex conjugate eigenvalues, Re,are stored in standard order; that is, the eigenvalue of
the pair with a positive imaginary part is followed by the
eigenvalue of the pair with the negative imaginary part.
The EIGEN subroutine also computes eigenvectors,
a matrix. If A is symmetric, then
eigenvectors has orthonormal column eigenvectors of
A arranged so that the matrices correspond;
that is, the first column of eigenvectors is the
eigenvector corresponding to the largest eigenvalue, and so forth.
If A is not symmetric, then
eigenvectors is an n ×n matrix containing
the right eigenvectors of A.
If the eigenvalue in row i of eigenvalues is real, then column
i of eigenvectors contains the corresponding real eigenvector.
If rows i and i+1 of eigenvalues contain complex
conjugate eigenvalues Re,then columns i and i+1 of eigenvectors contain the real,
v, and imaginary, , parts, respectively,
of the two corresponding eigenvectors .
The eigenvalues of a matrix A are the
roots of the characteristic polynomial, which
is defined as p(z) = det(zI- A).
The spectrum, denoted by , is
the set of eigenvalues of the matrix A.
If , then
The trace of A is defined by
An eigenvector is a nonzero vector, x, that satisfies
Right eigenvectors satisfy , and left
eigenvectors satisfy .
The following are properties of the unsymmetric
real eigenvalue problem, in which the real
matrix A is square but not necessarily symmetric:
- The eigenvalues of an unsymmetric
matrix A can be complex.
If A has a complex
eigenvalue , then the
conjugate complex value is also an eigenvalue of A.
- The right and left eigenvectors corresponding
to a real eigenvalue of A are real.
The right and left eigenvectors corresponding to conjugate
complex eigenvalues of A are also conjugate complex.
- The left eigenvectors of A are the same as the
complex conjugate right eigenvectors of A'.
The three routines, EIGEN, EIGVAL,
and EIGVEC, use the following test
of symmetry for a square argument matrix A:
- Select the entry of A with the largest magnitude:
- Multiply the value of amax with the square
root of the machine precision . (The value of is the largest value
stored in double precision that, when added
to 1 in double precision, still results in 1.)
- The matrix A is considered unsymmetric
if there exists at least one pair of symmetric entries
that differs in more than ,
If A is symmetric, the
result of the statement
has the properties
E' = inv(E)
The QL method is used to compute the
eigenvalues (Wilkinson and Reinsch 1971).
A = E* diag(M)*E' .
In statistical applications, nonsymmetric matrices for which
eigenvalues are desired are usually of the form E-1 H, where E and H are symmetric.
The eigenvalues L and eigenvectors
V of E-1H can be obtained
by using the GENEIG subroutine or as follows:
The computation can be checked by forming the residuals:
The values in R should be of the order of round-off error.
Copyright © 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.