1CSTEIN(1)                LAPACK routine (version 3.2)                CSTEIN(1)
2
3
4

NAME

6       CSTEIN  -  computes  the  eigenvectors  of a real symmetric tridiagonal
7       matrix T corresponding to specified eigenvalues, using  inverse  itera‐
8       tion
9

SYNOPSIS

11       SUBROUTINE CSTEIN( N,  D, E, M, W, IBLOCK, ISPLIT, Z, LDZ, WORK, IWORK,
12                          IFAIL, INFO )
13
14           INTEGER        INFO, LDZ, M, N
15
16           INTEGER        IBLOCK( * ), IFAIL( * ), ISPLIT( * ), IWORK( * )
17
18           REAL           D( * ), E( * ), W( * ), WORK( * )
19
20           COMPLEX        Z( LDZ, * )
21

PURPOSE

23       CSTEIN computes the eigenvectors of a real symmetric tridiagonal matrix
24       T corresponding to specified eigenvalues, using inverse iteration.  The
25       maximum number of iterations allowed for each eigenvector is  specified
26       by  an  internal  parameter  MAXITS (currently set to 5).  Although the
27       eigenvectors are real, they are stored in a complex array, which may be
28       passed to CUNMTR or CUPMTR for back
29       transformation  to the eigenvectors of a complex Hermitian matrix which
30       was reduced to tridiagonal form.
31

ARGUMENTS

33       N       (input) INTEGER
34               The order of the matrix.  N >= 0.
35
36       D       (input) REAL array, dimension (N)
37               The n diagonal elements of the tridiagonal matrix T.
38
39       E       (input) REAL array, dimension (N-1)
40               The (n-1) subdiagonal elements of  the  tridiagonal  matrix  T,
41               stored in elements 1 to N-1.
42
43       M       (input) INTEGER
44               The number of eigenvectors to be found.  0 <= M <= N.
45
46       W       (input) REAL array, dimension (N)
47               The  first  M  elements  of W contain the eigenvalues for which
48               eigenvectors are to be computed.   The  eigenvalues  should  be
49               grouped by split-off block and ordered from smallest to largest
50               within the block.  ( The output array W from SSTEBZ with  ORDER
51               = 'B' is expected here. )
52
53       IBLOCK  (input) INTEGER array, dimension (N)
54               The  submatrix indices associated with the corresponding eigen‐
55               values in W; IBLOCK(i)=1 if  eigenvalue  W(i)  belongs  to  the
56               first  submatrix from the top, =2 if W(i) belongs to the second
57               submatrix, etc.  ( The  output  array  IBLOCK  from  SSTEBZ  is
58               expected here. )
59
60       ISPLIT  (input) INTEGER array, dimension (N)
61               The  splitting  points,  at which T breaks up into submatrices.
62               The first submatrix consists of rows/columns 1 to ISPLIT( 1  ),
63               the  second  of rows/columns ISPLIT( 1 )+1 through ISPLIT( 2 ),
64               etc.  ( The output array ISPLIT from SSTEBZ is expected here. )
65
66       Z       (output) COMPLEX array, dimension (LDZ, M)
67               The computed eigenvectors.  The eigenvector associated with the
68               eigenvalue  W(i) is stored in the i-th column of Z.  Any vector
69               which fails to converge is set to  its  current  iterate  after
70               MAXITS iterations.  The imaginary parts of the eigenvectors are
71               set to zero.
72
73       LDZ     (input) INTEGER
74               The leading dimension of the array Z.  LDZ >= max(1,N).
75
76       WORK    (workspace) REAL array, dimension (5*N)
77
78       IWORK   (workspace) INTEGER array, dimension (N)
79
80       IFAIL   (output) INTEGER array, dimension (M)
81               On normal exit, all elements of IFAIL are zero.  If one or more
82               eigenvectors  fail  to  converge  after MAXITS iterations, then
83               their indices are stored in array IFAIL.
84
85       INFO    (output) INTEGER
86               = 0: successful exit
87               < 0: if INFO = -i, the i-th argument had an illegal value
88               > 0: if INFO = i, then i eigenvectors  failed  to  converge  in
89               MAXITS iterations.  Their indices are stored in array IFAIL.
90

PARAMETERS

92       MAXITS  INTEGER, default = 5
93               The maximum number of iterations performed.
94
95       EXTRA   INTEGER, default = 2
96               The  number of iterations performed after norm growth criterion
97               is satisfied, should be at least 1.
98
99
100
101 LAPACK routine (version 3.2)    November 2008                       CSTEIN(1)
Impressum