GNU/Linux |
CentOS 4.8 |
i386 |
![]() |
zlar1v(l) |
![]() |
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
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( * ) |
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.
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)
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
![]() |
zlar1v(l) | ![]() |