CLATDF  -  compute the contribution to the reciprocal Dif-
       estimate by solving for x in Z * x = b, where b is  chosen
       such that the norm of x is as large as possible


SYNOPSIS

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

           INTEGER        IJOB, LDZ, N

           REAL           RDSCAL, RDSUM

           INTEGER        IPIV( * ), JPIV( * )

           COMPLEX        RHS( * ), Z( LDZ, * )


PURPOSE

       CLATDF computes the contribution to  the  reciprocal  Dif-
       estimate  by solving for x in Z * x = b, where b is chosen
       such that the norm of x is as large  as  possible.  It  is
       assumed  that  LU  decomposition of Z has been computed by
       CGETC2. On entry RHS = f holds the contribution from  ear­
       lier solved sub-systems, and on return RHS = x.

       The factorization of Z returned by CGETC2 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-vec­
               tor e of Z using CGECON, 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) REAL array, dimension (LDZ, N)
               On  entry, the LU part of the factorization of the
               n-by-n matrix Z computed by CGETC2:  Z = P * L * U
               * Q

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

               On entry, RHS contains  contributions  from  other
               subsystems.  On exit, RHS contains the solution of
               the subsystem with entries according to the  value
               of IJOB (see above).

       RDSUM   (input/output) REAL
               On entry, the sum of squares of computed contribu­
               tions to the  Dif-estimate  under  computation  by
               CTGSYL,  where  the  scaling  factor  RDSCAL  (see
               below) has been factored out.  On exit, the corre­
               sponding sum of squares updated with the contribu­
               tions from the current sub-system.  If TRANS = 'T'
               RDSUM  is  not  touched.   NOTE:  RDSUM only makes
               sense when CTGSY2 is called by CTGSYL.

       RDSCAL  (input/output) REAL
               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 CTGSY2 is called by CTGSYL.

       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 Separa­
       tion
              between two Regular Matrix Pairs with  Applications

              Condition  Estimation.  Report UMINF-95.05, Depart­
       ment of
              Computing Science, Umea University, S-901 87  Umea,
       Sweden,
              1995.


Man(1) output converted with man2html