CHICO(3F)

CHICO - CHICO factors a complex Hermitian matrix by elimination with symmetric pivoting and estimates the condition of the matrix.

As shipped in IRIX 6.5.7. Unchanged since IRIX 6.5.

NAME
     CHICO   - CHICO factors a complex Hermitian matrix by elimination with
     symmetric pivoting and estimates the condition of the matrix.

     If  RCOND  is not needed, CHIFA is slightly faster.  To solve  A*X = B ,
     follow CHICO by CHISL.  To compute  INVERSE(A)*C , follow CHICO by CHISL.
     To compute  INVERSE(A) , follow CHICO by CHIDI.  To compute
     DETERMINANT(A) , follow CHICO by CHIDI.  To compute  INERTIA(A), follow
     CHICO by CHIDI.


SYNOPSYS
      SUBROUTINE CHICO(A,LDA,N,KPVT,RCOND,Z)

DESCRIPTION
     On Entry

     A COMPLEX(LDA, N)
        the Hermitian matrix to be factored.
        Only the diagonal and upper triangle are used.

     LDA INTEGER
        the leading dimension of the array  A .

     N INTEGER
        the order of the matrix  A .  Output

     A a block diagonal matrix and the multipliers which
        were used to obtain it.
        The factorization can be written  A = U*D*CTRANS(U)
        where  U  is a product of permutation and unit
        upper triangular matrices , CTRANS(U) is the
        conjugate transpose of  U , and  D  is block diagonal
        with 1 by 1 and 2 by 2 blocks.  KVPT    INTEGER(N)
        an integer vector of pivot indices.

     RCOND REAL
        an estimate of the reciprocal condition of  A .
        For the system  A*X = B , relative perturbations
        in  A  and  B  of size  EPSILON  may cause
        relative perturbations in  X  of size  EPSILON/RCOND .
        If  RCOND  is so small that the logical expression
        1.0 + RCOND .EQ. 1.0
        is true, then  A  may be singular to working
        precision.  In particular,  RCOND  is zero  if
        exact singularity is detected or the estimate
        underflows.

     Z COMPLEX(N)
        a work vector whose contents are usually unimportant.
        If  A  is close to a singular matrix, then  Z  is
        an approximate null vector in the sense that
        NORM(A*Z) = RCOND*NORM(A)*NORM(Z) .  LINPACK.  This version dated
     08/14/78 .  Cleve Moler, University of New Mexico, Argonne National Lab.
     Subroutines and Functions LINPACK CHIFA BLAS CAXPY,CDOTC,CSSCAL,SCASUM
     Fortran ABS,AIMAG,AMAX1,CMPLX,CONJG,IABS,REAL