1ZLAR1V(1)           LAPACK auxiliary routine (version 3.1)           ZLAR1V(1)
2
3
4

NAME

6       ZLAR1V  -  the (scaled) r-th column of the inverse of the sumbmatrix in
7       rows B1 through BN of the tridiagonal matrix L D L^T - sigma I
8

SYNOPSIS

10       SUBROUTINE ZLAR1V( N, B1, BN, LAMBDA, D, L, LD, LLD, PIVMIN, GAPTOL, Z,
11                          WANTNC,  NEGCNT,  ZTZ,  MINGMA,  R,  ISUPPZ, NRMINV,
12                          RESID, RQCORR, WORK )
13
14           LOGICAL        WANTNC
15
16           INTEGER        B1, BN, N, NEGCNT, R
17
18           DOUBLE         PRECISION GAPTOL, LAMBDA,  MINGMA,  NRMINV,  PIVMIN,
19                          RESID, RQCORR, ZTZ
20
21           INTEGER        ISUPPZ( * )
22
23           DOUBLE         PRECISION D( * ), L( * ), LD( * ), LLD( * ), WORK( *
24                          )
25
26           COMPLEX*16     Z( * )
27

PURPOSE

29       ZLAR1V computes the (scaled) r-th column of the inverse of the  sumbma‐
30       trix in rows B1 through BN of the tridiagonal matrix L D L^T - sigma I.
31       When sigma is close to an eigenvalue, the computed vector is  an  accu‐
32       rate  eigenvector. Usually, r corresponds to the index where the eigen‐
33       vector is largest in magnitude.  The following  steps  accomplish  this
34       computation :
35       (a) Stationary qd transform,  L D L^T - sigma I = L(+) D(+) L(+)^T, (b)
36       Progressive qd transform, L D L^T - sigma I =  U(-)  D(-)  U(-)^T,  (c)
37       Computation of the diagonal elements of the inverse of
38           L D L^T - sigma I by combining the above transforms, and choosing
39           r as the index where the diagonal of the inverse is (one of the)
40           largest in magnitude.
41       (d) Computation of the (scaled) r-th column of the inverse using the
42           twisted factorization obtained by combining the top part of the
43           the stationary and the bottom part of the progressive transform.
44
45

ARGUMENTS

47       N        (input) INTEGER
48                The order of the matrix L D L^T.
49
50       B1       (input) INTEGER
51                First index of the submatrix of L D L^T.
52
53       BN       (input) INTEGER
54                Last index of the submatrix of L D L^T.
55
56       LAMBDA    (input) DOUBLE PRECISION
57                 The  shift.  In  order  to  compute  an accurate eigenvector,
58                 LAMBDA should be a good approximation to an eigenvalue of L D
59                 L^T.
60
61       L        (input) DOUBLE PRECISION array, dimension (N-1)
62                The  (n-1)  subdiagonal elements of the unit bidiagonal matrix
63                L, in elements 1 to N-1.
64
65       D        (input) DOUBLE PRECISION array, dimension (N)
66                The n diagonal elements of the diagonal matrix D.
67
68       LD       (input) DOUBLE PRECISION array, dimension (N-1)
69                The n-1 elements L(i)*D(i).
70
71       LLD      (input) DOUBLE PRECISION array, dimension (N-1)
72                The n-1 elements L(i)*L(i)*D(i).
73
74       PIVMIN   (input) DOUBLE PRECISION
75                The minimum pivot in the Sturm sequence.
76
77       GAPTOL   (input) DOUBLE PRECISION
78                Tolerance that indicates when eigenvector entries are negligi‐
79                ble w.r.t. their contribution to the residual.
80
81       Z        (input/output) COMPLEX*16       array, dimension (N)
82                On  input,  all  entries  of Z must be set to 0.  On output, Z
83                contains the (scaled) r-th column of the inverse. The  scaling
84                is such that Z(R) equals 1.
85
86       WANTNC   (input) LOGICAL
87                Specifies whether NEGCNT has to be computed.
88
89       NEGCNT   (output) INTEGER
90                If  WANTNC  is  .TRUE.  then  NEGCNT  = the number of pivots <
91                pivmin in the  matrix factorization L D L^T, and NEGCNT  =  -1
92                otherwise.
93
94       ZTZ      (output) DOUBLE PRECISION
95                The square of the 2-norm of Z.
96
97       MINGMA   (output) DOUBLE PRECISION
98                The  reciprocal of the largest (in magnitude) diagonal element
99                of the inverse of L D L^T - sigma I.
100
101       R        (input/output) INTEGER
102                The twist index for the twisted factorization used to  compute
103                Z.  On input, 0 <= R <= N. If R is input as 0, R is set to the
104                index where (L D L^T - sigma I)^{-1} is largest in  magnitude.
105                If  1  <=  R  <= N, R is unchanged.  On output, R contains the
106                twist index used to compute  Z.   Ideally,  R  designates  the
107                position of the maximum entry in the eigenvector.
108
109       ISUPPZ   (output) INTEGER array, dimension (2)
110                The  support of the vector in Z, i.e., the vector Z is nonzero
111                only in elements ISUPPZ(1) through ISUPPZ( 2 ).
112
113       NRMINV   (output) DOUBLE PRECISION
114                NRMINV = 1/SQRT( ZTZ )
115
116       RESID    (output) DOUBLE PRECISION
117                The residual of the FP vector.  RESID =  ABS(  MINGMA  )/SQRT(
118                ZTZ )
119
120       RQCORR   (output) DOUBLE PRECISION
121                The   Rayleigh   Quotient  correction  to  LAMBDA.   RQCORR  =
122                MINGMA*TMP
123
124       WORK     (workspace) DOUBLE PRECISION array, dimension (4*N)
125

FURTHER DETAILS

127       Based on contributions by
128          Beresford Parlett, University of California, Berkeley, USA
129          Jim Demmel, University of California, Berkeley, USA
130          Inderjit Dhillon, University of Texas, Austin, USA
131          Osni Marques, LBNL/NERSC, USA
132          Christof Voemel, University of California, Berkeley, USA
133
134
135
136
137 LAPACK auxiliary routine (versionNo3v.e1m)ber 2006                       ZLAR1V(1)
Impressum