zlar1v(3S)

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

As shipped in IRIX 6.5.19. Added in IRIX 6.5.15.

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( * )

IMPLEMENTATION
     These routines are part of the SCSL Scientific Library and can be loaded
     using either the -lscs or the -lscs_mp option.  The -lscs_mp option
     directs the linker to use the multi-processor version of the library.

     When linking to SCSL with -lscs or -lscs_mp, the default integer size is
     4 bytes (32 bits). Another version of SCSL is available in which integers
     are 8 bytes (64 bits).  This version allows the user access to larger
     memory sizes and helps when porting legacy Cray codes.  It can be loaded
     by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
     only one of the two versions; 4-byte integer and 8-byte integer library
     calls cannot be mixed.

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


SEE ALSO
     INTRO_LAPACK(3S), INTRO_SCSL(3S)

     This man page is available only online.