sstein(3)
NAME
- SSTEIN - compute the eigenvectors of a real symmetric
- tridiagonal matrix T corresponding to specified eigenvalues, us
- ing inverse iteration
SYNOPSIS
SUBROUTINE SSTEIN( N, D, E, M, W, IBLOCK, ISPLIT, Z, LDZ,
WORK, IWORK, IFAIL, INFO )
INTEGER INFO, LDZ, M, N
INTEGER IBLOCK( * ), IFAIL( * ), ISPLIT( * ),
IWORK( * )
REAL D( * ), E( * ), W( * ), WORK( * ), Z(
LDZ, * )
PURPOSE
- SSTEIN computes the eigenvectors of a real symmetric
- tridiagonal matrix T corresponding to specified eigenvalues, us
- ing inverse iteration. The maximum number of iterations allowed
- for each eigenvector is specified by an internal parameter MAXITS
- (currently set to 5).
ARGUMENTS
- N (input) INTEGER
- The order of the matrix. N >= 0.
- D (input) REAL array, dimension (N)
- The n diagonal elements of the tridiagonal matrix
- T.
- E (input) REAL array, dimension (N)
- The (n-1) subdiagonal elements of the tridiagonal
- matrix T, in elements 1 to N-1. E(N) need not be set.
- M (input) INTEGER
- The number of eigenvectors to be found. 0 <= M <=
- N.
- W (input) REAL array, dimension (N)
- The first M elements of W contain the eigenvalues
- for which eigenvectors are to be computed. The eigenvalues
- should be grouped by split-off block and ordered from smallest to
- largest within the block. ( The output array W from SSTEBZ with
- ORDER = 'B' is expected here. )
- IBLOCK (input) INTEGER array, dimension (N)
- The submatrix indices associated with the corre
- sponding eigenvalues in W; IBLOCK(i)=1 if eigenvalue W(i) belongs
- to the first submatrix from the top, =2 if W(i) belongs to the
- second submatrix, etc. ( The output array IBLOCK from SSTEBZ is
- expected here. )
- ISPLIT (input) INTEGER array, dimension (N)
- The splitting points, at which T breaks up into
- submatrices. The first submatrix consists of rows/columns 1 to
- ISPLIT( 1 ), the second of rows/columns ISPLIT( 1 )+1 through IS
- PLIT( 2 ), etc. ( The output array ISPLIT from SSTEBZ is expect
- ed here. )
- Z (output) REAL array, dimension (LDZ, M)
- The computed eigenvectors. The eigenvector asso
- ciated with the eigenvalue W(i) is stored in the i-th column of
- Z. Any vector which fails to converge is set to its current it
- erate after MAXITS iterations.
- LDZ (input) INTEGER
- The leading dimension of the array Z. LDZ >=
- max(1,N).
- WORK (workspace) REAL array, dimension (5*N)
- IWORK (workspace) INTEGER array, dimension (N)
- IFAIL (output) INTEGER array, dimension (M)
- On normal exit, all elements of IFAIL are zero.
- If one or more eigenvectors fail to converge after MAXITS itera
- tions, then their indices are stored in array IFAIL.
- INFO (output) INTEGER
- = 0: successful exit.
< 0: if INFO = -i, the i-th argument had an ille
- gal value
> 0: if INFO = i, then i eigenvectors failed to
- converge in MAXITS iterations. Their indices are stored in array
- IFAIL.
PARAMETERS
- MAXITS INTEGER, default = 5
- The maximum number of iterations performed.
- EXTRA INTEGER, default = 2
- The number of iterations performed after norm
- growth criterion is satisfied, should be at least 1.
- LAPACK version 3.0 15 June 2000