Computes all of the eigenvalues of a real symmetric matrix.
A — Real symmetric matrix of order N. (Input)
EVAL — Real vector of length N containing the eigenvalues of A in decreasing order of magnitude. (Output)
N — Order of the
matrix A.
(Input)
Default: N = size
(A,2).
LDA — Leading
dimension of A
exactly as specified in the dimension statement in the calling
program. (Input)
Default: LDA = size
(A,1).
Generic: CALL EVLSF (A, EVAL [,…])
Specific: The specific interface names are S_EVLSF and D_EVLSF.
Single: CALL EVLSF (N, A, LDA, EVAL)
Double: The double precision name is DEVLSF.
Routine EVLSF computes the eigenvalues of a real symmetric matrix. Orthogonal similarity transformations are used to reduce the matrix to an equivalent symmetric tridiagonal matrix. Then, an implicit rational QR algorithm is used to compute the eigenvalues of this tridiagonal matrix.
The underlying code is based on either EISPACK or LAPACK code depending upon which supporting libraries are used during linking. For a detailed explanation, see “Using ScaLAPACK, LAPACK, LINPACK, and EISPACK” in the Introduction section of this manual.
1. Workspace may be explicitly provided, if desired, by use of E4LSF/DE4LSF. The reference is:
CALL E4LSF (N, A, LDA, EVAL, WORK, IWORK)
The additional arguments are as follows:
WORK — Work array of length 2N.
IWORK — Integer array of length N.
2. Informational error
Type Code
3 1 The iteration for the eigenvalue failed to converge in 100 iterations before deflating.
In this example, the eigenvalues of a real symmetric matrix are computed and printed. This matrix is given by Gregory and Karney (1969, page 56).
USE EVLSF_INT
USE WRRRN_INT
IMPLICIT NONE
! Declare variables
INTEGER LDA, N
PARAMETER (N=4, LDA=N)
!
REAL A(LDA,N), EVAL(N)
! Set values of A
!
! A = ( 6.0 4.0 4.0 1.0)
! ( 4.0 6.0 1.0 4.0)
! ( 4.0 1.0 6.0 4.0)
! ( 1.0 4.0 4.0 6.0)
!
DATA A /6.0, 4.0, 4.0, 1.0, 4.0, 6.0, 1.0, 4.0, 4.0, 1.0, 6.0, &
4.0, 1.0, 4.0, 4.0, 6.0 /
!
! Find eigenvalues of A
CALL EVLSF (A, EVAL)
! Print results
CALL WRRRN ('EVAL', EVAL, 1, N, 1)
END
EVAL
1 2 3 4
15.00 5.00 5.00 -1.00
Visual Numerics, Inc. PHONE: 713.784.3131 FAX:713.781.9260 |