1SSBEVX(1)             LAPACK driver routine (version 3.2)            SSBEVX(1)
2
3
4

NAME

6       SSBEVX - computes selected eigenvalues and, optionally, eigenvectors of
7       a real symmetric band matrix A
8

SYNOPSIS

10       SUBROUTINE SSBEVX( JOBZ, RANGE, UPLO, N, KD, AB, LDAB, Q, LDQ, VL,  VU,
11                          IL,  IU,  ABSTOL,  M, W, Z, LDZ, WORK, IWORK, IFAIL,
12                          INFO )
13
14           CHARACTER      JOBZ, RANGE, UPLO
15
16           INTEGER        IL, INFO, IU, KD, LDAB, LDQ, LDZ, M, N
17
18           REAL           ABSTOL, VL, VU
19
20           INTEGER        IFAIL( * ), IWORK( * )
21
22           REAL           AB( LDAB, * ), Q( LDQ, * ), W( * ), WORK(  *  ),  Z(
23                          LDZ, * )
24

PURPOSE

26       SSBEVX computes selected eigenvalues and, optionally, eigenvectors of a
27       real symmetric band matrix A.   Eigenvalues  and  eigenvectors  can  be
28       selected  by  specifying either a range of values or a range of indices
29       for the desired eigenvalues.
30

ARGUMENTS

32       JOBZ    (input) CHARACTER*1
33               = 'N':  Compute eigenvalues only;
34               = 'V':  Compute eigenvalues and eigenvectors.
35
36       RANGE   (input) CHARACTER*1
37               = 'A': all eigenvalues will be found;
38               = 'V': all eigenvalues in the half-open interval  (VL,VU]  will
39               be  found;  =  'I': the IL-th through IU-th eigenvalues will be
40               found.
41
42       UPLO    (input) CHARACTER*1
43               = 'U':  Upper triangle of A is stored;
44               = 'L':  Lower triangle of A is stored.
45
46       N       (input) INTEGER
47               The order of the matrix A.  N >= 0.
48
49       KD      (input) INTEGER
50               The number of superdiagonals of the matrix A if UPLO = 'U',  or
51               the number of subdiagonals if UPLO = 'L'.  KD >= 0.
52
53       AB      (input/output) REAL array, dimension (LDAB, N)
54               On  entry,  the  upper  or lower triangle of the symmetric band
55               matrix A, stored in the first KD+1 rows of the array.  The j-th
56               column  of  A  is  stored in the j-th column of the array AB as
57               follows: if UPLO = 'U', AB(kd+1+i-j,j) =  A(i,j)  for  max(1,j-
58               kd)<=i<=j;   if   UPLO  =  'L',  AB(1+i-j,j)     =  A(i,j)  for
59               j<=i<=min(n,j+kd).  On exit, AB is overwritten by values gener‐
60               ated  during the reduction to tridiagonal form.  If UPLO = 'U',
61               the first superdiagonal and the  diagonal  of  the  tridiagonal
62               matrix  T are returned in rows KD and KD+1 of AB, and if UPLO =
63               'L', the diagonal and first subdiagonal of T  are  returned  in
64               the first two rows of AB.
65
66       LDAB    (input) INTEGER
67               The leading dimension of the array AB.  LDAB >= KD + 1.
68
69       Q       (output) REAL array, dimension (LDQ, N)
70               If  JOBZ = 'V', the N-by-N orthogonal matrix used in the reduc‐
71               tion to tridiagonal form.  If JOBZ = 'N', the array  Q  is  not
72               referenced.
73
74       LDQ     (input) INTEGER
75               The  leading dimension of the array Q.  If JOBZ = 'V', then LDQ
76               >= max(1,N).
77
78       VL      (input) REAL
79               VU      (input) REAL If RANGE='V', the lower and  upper  bounds
80               of  the  interval to be searched for eigenvalues. VL < VU.  Not
81               referenced if RANGE = 'A' or 'I'.
82
83       IL      (input) INTEGER
84               IU      (input) INTEGER If RANGE='I', the indices (in ascending
85               order)  of the smallest and largest eigenvalues to be returned.
86               1 <= IL <= IU <= N, if N > 0; IL = 1 and IU = 0 if N = 0.   Not
87               referenced if RANGE = 'A' or 'V'.
88
89       ABSTOL  (input) REAL
90               The  absolute error tolerance for the eigenvalues.  An approxi‐
91               mate eigenvalue is accepted as converged when it is  determined
92               to  lie  in  an  interval  [a,b] of width less than or equal to
93               ABSTOL + EPS *   max( |a|,|b| ) , where EPS is the machine pre‐
94               cision.  If ABSTOL is less than or equal to zero, then  EPS*|T|
95               will be used in its place, where  |T|  is  the  1-norm  of  the
96               tridiagonal matrix obtained by reducing AB to tridiagonal form.
97               Eigenvalues will be computed most accurately when ABSTOL is set
98               to  twice  the underflow threshold 2*SLAMCH('S'), not zero.  If
99               this routine returns with INFO>0, indicating that  some  eigen‐
100               vectors  did not converge, try setting ABSTOL to 2*SLAMCH('S').
101               See "Computing Small Singular  Values  of  Bidiagonal  Matrices
102               with  Guaranteed  High Relative Accuracy," by Demmel and Kahan,
103               LAPACK Working Note #3.
104
105       M       (output) INTEGER
106               The total number of eigenvalues found.  0 <= M <= N.  If  RANGE
107               = 'A', M = N, and if RANGE = 'I', M = IU-IL+1.
108
109       W       (output) REAL array, dimension (N)
110               The  first  M  elements  contain  the  selected  eigenvalues in
111               ascending order.
112
113       Z       (output) REAL array, dimension (LDZ, max(1,M))
114               If JOBZ = 'V', then if INFO = 0, the first M columns of Z  con‐
115               tain the orthonormal eigenvectors of the matrix A corresponding
116               to the selected eigenvalues, with the i-th column of Z  holding
117               the  eigenvector associated with W(i).  If an eigenvector fails
118               to converge, then that column of Z contains the latest approxi‐
119               mation  to the eigenvector, and the index of the eigenvector is
120               returned in IFAIL.  If JOBZ = 'N', then Z  is  not  referenced.
121               Note:  the  user must ensure that at least max(1,M) columns are
122               supplied in the array Z; if RANGE = 'V', the exact value  of  M
123               is not known in advance and an upper bound must be used.
124
125       LDZ     (input) INTEGER
126               The  leading dimension of the array Z.  LDZ >= 1, and if JOBZ =
127               'V', LDZ >= max(1,N).
128
129       WORK    (workspace) REAL array, dimension (7*N)
130
131       IWORK   (workspace) INTEGER array, dimension (5*N)
132
133       IFAIL   (output) INTEGER array, dimension (N)
134               If JOBZ = 'V', then if INFO = 0, the first M elements of  IFAIL
135               are  zero.  If INFO > 0, then IFAIL contains the indices of the
136               eigenvectors that failed to converge.   If  JOBZ  =  'N',  then
137               IFAIL is not referenced.
138
139       INFO    (output) INTEGER
140               = 0:  successful exit.
141               < 0:  if INFO = -i, the i-th argument had an illegal value.
142               >  0:   if  INFO  =  i, then i eigenvectors failed to converge.
143               Their indices are stored in array IFAIL.
144
145
146
147 LAPACK driver routine (version 3.N2o)vember 2008                       SSBEVX(1)
Impressum