dlatdf(3S)

DLATDF - use the LU factorization of the n-by-n matrix Z computed by DGETC2 and computes a contribution to the reciprocal Dif-estimate by solving Z * x = b for x, and choosing the r.h.s

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.15.

NAME
     DLATDF - use the LU factorization of the n-by-n matrix Z computed by
     DGETC2 and computes a contribution to the reciprocal Dif-estimate by
     solving Z * x = b for x, and choosing the r.h.s

SYNOPSIS
     SUBROUTINE DLATDF( IJOB, N, Z, LDZ, RHS, RDSUM, RDSCAL, IPIV, JPIV )

         INTEGER        IJOB, LDZ, N

         DOUBLE         PRECISION RDSCAL, RDSUM

         INTEGER        IPIV( * ), JPIV( * )

         DOUBLE         PRECISION RHS( * ), Z( LDZ, * )

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
     DLATDF uses the LU factorization of the n-by-n matrix Z computed by
     DGETC2 and computes a contribution to the reciprocal Dif-estimate by
     solving Z * x = b for x, and choosing the r.h.s. b such that the norm of
     x is as large as possible. On entry RHS = b holds the contribution from
     earlier solved sub-systems, and on return RHS = x.

     The factorization of Z returned by DGETC2 has the form Z = P*L*U*Q, where
     P and Q are permutation matrices. L is lower triangular with unit
     diagonal elements and U is upper triangular.


ARGUMENTS
     IJOB    (input) INTEGER
             IJOB = 2: First compute an approximative null-vector e of Z using
             DGECON, e is normalized and solve for Zx = +-e - f with the sign
             giving the greater value of 2-norm(x). About 5 times as expensive
             as Default.  IJOB .ne. 2: Local look ahead strategy where all
             entries of the r.h.s. b is choosen as either +1 or -1 (Default).

     N       (input) INTEGER
             The number of columns of the matrix Z.

     Z       (input) DOUBLE PRECISION array, dimension (LDZ, N)
             On entry, the LU part of the factorization of the n-by-n matrix Z
             computed by DGETC2:  Z = P * L * U * Q

     LDZ     (input) INTEGER
             The leading dimension of the array Z.  LDA >= max(1, N).

     RHS     (input/output) DOUBLE PRECISION array, dimension N.
             On entry, RHS contains contributions from other subsystems.  On
             exit, RHS contains the solution of the subsystem with entries
             acoording to the value of IJOB (see above).

     RDSUM   (input/output) DOUBLE PRECISION
             On entry, the sum of squares of computed contributions to the
             Dif-estimate under computation by DTGSYL, where the scaling
             factor RDSCAL (see below) has been factored out.  On exit, the
             corresponding sum of squares updated with the contributions from
             the current sub-system.  If TRANS = 'T' RDSUM is not touched.
             NOTE: RDSUM only makes sense when DTGSY2 is called by STGSYL.

     RDSCAL  (input/output) DOUBLE PRECISION
             On entry, scaling factor used to prevent overflow in RDSUM.  On
             exit, RDSCAL is updated w.r.t. the current contributions in
             RDSUM.  If TRANS = 'T', RDSCAL is not touched.  NOTE: RDSCAL only
             makes sense when DTGSY2 is called by DTGSYL.

     IPIV    (input) INTEGER array, dimension (N).
             The pivot indices; for 1 <= i <= N, row i of the matrix has been
             interchanged with row IPIV(i).

     JPIV    (input) INTEGER array, dimension (N).
             The pivot indices; for 1 <= j <= N, column j of the matrix has
             been interchanged with column JPIV(j).

FURTHER DETAILS
     Based on contributions by
        Bo Kagstrom and Peter Poromaa, Department of Computing Science,
        Umea University, S-901 87 Umea, Sweden.

     This routine is a further developed implementation of algorithm BSOLVE in
     [1] using complete pivoting in the LU factorization.

     [1] Bo Kagstrom and Lars Westin,
         Generalized Schur Methods with Condition Estimators for
         Solving the Generalized Sylvester Equation, IEEE Transactions
         on Automatic Control, Vol. 34, No. 7, July 1989, pp 745-751.

     [2] Peter Poromaa,
         On Efficient and Robust Estimators for the Separation
         between two Regular Matrix Pairs with Applications in
         Condition Estimation. Report IMINF-95.05, Departement of
         Computing Science, Umea University, S-901 87 Umea, Sweden, 1995.
SEE ALSO
     INTRO_LAPACK(3S), INTRO_SCSL(3S)

     This man page is available only online.