CLAR1V - 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 CLAR1V( N, B1, BN, SIGMA, D, L, LD, LLD, GER
SCH, Z, ZTZ, MINGMA, R, ISUPPZ, WORK )
INTEGER B1, BN, N, R
REAL MINGMA, SIGMA, ZTZ
INTEGER ISUPPZ( * )
REAL D( * ), GERSCH( * ), L( * ), LD( * ),
LLD( * ), WORK( * )
COMPLEX Z( * )
PURPOSE
CLAR1V 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) REAL
The shift. Initially, when R = 0, SIGMA should be
a good approximation to an eigenvalue of L D L^T.
The (n-1) subdiagonal elements of the unit bidi
agonal matrix L, in elements 1 to N-1.
D (input) REAL array, dimension (N)
The n diagonal elements of the diagonal matrix D.
LD (input) REAL array, dimension (N-1)
The n-1 elements L(i)*D(i).
LLD (input) REAL array, dimension (N-1)
The n-1 elements L(i)*L(i)*D(i).
GERSCH (input) REAL 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 array, dimension (N)
The (scaled) r-th column of the inverse. Z(R) is
returned to be 1.
ZTZ (output) REAL
The square of the norm of Z.
MINGMA (output) REAL
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) REAL 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
Man(1) output converted with
man2html