zlar1v (l) - Linux Manuals
zlar1v: computes the (scaled) r-th column of the inverse of the sumbmatrix in rows B1 through BN of the tridiagonal matrix L D L^T - sigma I
NAME
ZLAR1V - computes the (scaled) r-th column of the inverse of the sumbmatrix in rows B1 through BN of the tridiagonal matrix L D L^T - sigma ISYNOPSIS
- SUBROUTINE ZLAR1V(
 - N, B1, BN, LAMBDA, D, L, LD, LLD, PIVMIN, GAPTOL, Z, WANTNC, NEGCNT, ZTZ, MINGMA, R, ISUPPZ, NRMINV, RESID, RQCORR, WORK )
 
- LOGICAL WANTNC
 
- INTEGER B1, BN, N, NEGCNT, R
 
- DOUBLE PRECISION GAPTOL, LAMBDA, MINGMA, NRMINV, PIVMIN, RESID, RQCORR, ZTZ
 
- INTEGER ISUPPZ( * )
 
- DOUBLE PRECISION D( * ), L( * ), LD( * ), LLD( * ), WORK( * )
 
- COMPLEX*16 Z( * )
 
PURPOSE
ZLAR1V computes the (scaled) r-th column of the inverse of the sumbmatrix in rows B1 through BN of the tridiagonal matrix L D L^T - sigma I. When sigma is close to an eigenvalue, the computed vector is an accurate eigenvector. Usually, r corresponds to the index where the eigenvector is largest in magnitude. The following steps accomplish this computation :(a) Stationary qd transform, L D L^T - sigma I = L(+) D(+) L(+)^T, (b) Progressive qd transform, L D L^T - sigma I = U(-) D(-) U(-)^T, (c) Computation of the diagonal elements of the inverse of
(d) Computation of the (scaled) r-th column of the inverse using the
ARGUMENTS
- N (input) INTEGER
 - The order of the matrix L D L^T.
 - B1 (input) INTEGER
 - First index of the submatrix of L D L^T.
 - BN (input) INTEGER
 - Last index of the submatrix of L D L^T.
 - LAMBDA (input) DOUBLE PRECISION
 - The shift. In order to compute an accurate eigenvector, LAMBDA should be a good approximation to an eigenvalue of L D L^T.
 - L (input) DOUBLE PRECISION array, dimension (N-1)
 - The (n-1) subdiagonal elements of the unit bidiagonal matrix L, in elements 1 to N-1.
 - D (input) DOUBLE PRECISION array, dimension (N)
 - The n diagonal elements of the diagonal matrix D.
 - LD (input) DOUBLE PRECISION array, dimension (N-1)
 - The n-1 elements L(i)*D(i).
 - LLD (input) DOUBLE PRECISION array, dimension (N-1)
 - The n-1 elements L(i)*L(i)*D(i).
 - PIVMIN (input) DOUBLE PRECISION
 - The minimum pivot in the Sturm sequence.
 - GAPTOL (input) DOUBLE PRECISION
 - Tolerance that indicates when eigenvector entries are negligible w.r.t. their contribution to the residual.
 - Z (input/output) COMPLEX*16 array, dimension (N)
 - On input, all entries of Z must be set to 0. On output, Z contains the (scaled) r-th column of the inverse. The scaling is such that Z(R) equals 1.
 - WANTNC (input) LOGICAL
 - Specifies whether NEGCNT has to be computed.
 - NEGCNT (output) INTEGER
 - If WANTNC is .TRUE. then NEGCNT = the number of pivots < pivmin in the matrix factorization L D L^T, and NEGCNT = -1 otherwise.
 - ZTZ (output) DOUBLE PRECISION
 - The square of the 2-norm of Z.
 - MINGMA (output) DOUBLE PRECISION
 - The reciprocal of the largest (in magnitude) diagonal element of the inverse of L D L^T - sigma I.
 - R (input/output) INTEGER
 - The twist index for the twisted factorization used to compute Z. On input, 0 <= R <= N. If R is input as 0, R is set to the index where (L D L^T - sigma I)^{-1} is largest in magnitude. If 1 <= R <= N, R is unchanged. On output, R contains the twist index used to compute Z. Ideally, R designates the position of the maximum entry in the eigenvector.
 - ISUPPZ (output) INTEGER array, dimension (2)
 - The support of the vector in Z, i.e., the vector Z is nonzero only in elements ISUPPZ(1) through ISUPPZ( 2 ).
 - NRMINV (output) DOUBLE PRECISION
 - NRMINV = 1/SQRT( ZTZ )
 - RESID (output) DOUBLE PRECISION
 - The residual of the FP vector. RESID = ABS( MINGMA )/SQRT( ZTZ )
 - RQCORR (output) DOUBLE PRECISION
 - The Rayleigh Quotient correction to LAMBDA. RQCORR = MINGMA*TMP
 - WORK (workspace) DOUBLE PRECISION array, dimension (4*N)
 
FURTHER DETAILS
Based on contributions byBeresford Parlett, University of California, Berkeley, USA
Jim Demmel, University of California, Berkeley, USA
Inderjit Dhillon, University of Texas, Austin, USA
Osni Marques, LBNL/NERSC, USA
Christof Voemel, University of California, Berkeley, USA