man zlar1v (Fonctions bibliothèques) - compute 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 - compute 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
SYNOPSIS
- SUBROUTINE ZLAR1V(
- N, B1, BN, SIGMA, D, L, LD, LLD, GERSCH, Z, ZTZ, MINGMA, R, ISUPPZ, WORK )
- INTEGER B1, BN, N, R
- DOUBLE PRECISION MINGMA, SIGMA, ZTZ
- INTEGER ISUPPZ( * )
- DOUBLE PRECISION D( * ), GERSCH( * ), 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. 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
L D L^T - sigma I by combining the above transforms, and choosing
r as the index where the diagonal of the inverse is (one of the)
largest in magnitude.
(d) Computation of the (scaled) r-th column of the inverse using the
twisted factorization obtained by combining the top part of the
the stationary and the bottom part of the progressive transform.
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.
- SIGMA (input) DOUBLE PRECISION
- The shift. Initially, when R = 0, SIGMA 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).
- GERSCH (input) DOUBLE PRECISION array, dimension (2*N)
- The n Gerschgorin intervals. These are used to restrict the initial search for R, when R is input as 0.
- Z (output) COMPLEX*16 array, dimension (N)
- The (scaled) r-th column of the inverse. Z(R) is returned to be 1.
- ZTZ (output) DOUBLE PRECISION
- The square of the 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
- Initially, R should be input to be 0 and is then output as the index where the diagonal element of the inverse is largest in magnitude. In later iterations, this same value of R should be input.
- 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 ).
- WORK (workspace) DOUBLE PRECISION array, dimension (4*N)
FURTHER DETAILS
Based on contributions by
Inderjit Dhillon, IBM Almaden, USA
Osni Marques, LBNL/NERSC, USA
Ken Stanley, Computer Science Division, University of
California at Berkeley, USA