Previous: chpco Up: ../linpack.html Next: chpfa


CHPDI

       SUBROUTINE CHPDI(AP,N,KPVT,DET,INERT,WORK,JOB)
       INTEGER N,JOB
       COMPLEX AP(1),WORK(1)
       REAL DET(2)
       INTEGER KPVT(1),INERT(3)
 C
 C     CHPDI COMPUTES THE DETERMINANT, INERTIA AND INVERSE
 C     OF A COMPLEX HERMITIAN MATRIX USING THE FACTORS FROM CHPFA,
 C     WHERE THE MATRIX IS STORED IN PACKED FORM.
 C
 C     ON ENTRY
 C
 C        AP      COMPLEX (N*(N+1)/2)
 C                THE OUTPUT FROM CHPFA.
 C
 C        N       INTEGER
 C                THE ORDER OF THE MATRIX A.
 C
 C        KPVT    INTEGER(N)
 C                THE PIVOT VECTOR FROM CHPFA.
 C
 C        WORK    COMPLEX(N)
 C                WORK VECTOR.  CONTENTS IGNORED.
 C
 C        JOB     INTEGER
 C                JOB HAS THE DECIMAL EXPANSION  ABC  WHERE
 C                   IF  C .NE. 0, THE INVERSE IS COMPUTED,
 C                   IF  B .NE. 0, THE DETERMINANT IS COMPUTED,
 C                   IF  A .NE. 0, THE INERTIA IS COMPUTED.
 C
 C                FOR EXAMPLE, JOB = 111  GIVES ALL THREE.
 C
 C     ON RETURN
 C
 C        VARIABLES NOT REQUESTED BY JOB ARE NOT USED.
 C
 C        AP     CONTAINS THE UPPER TRIANGLE OF THE INVERSE OF
 C               THE ORIGINAL MATRIX, STORED IN PACKED FORM.
 C               THE COLUMNS OF THE UPPER TRIANGLE ARE STORED
 C               SEQUENTIALLY IN A ONE-DIMENSIONAL ARRAY.
 C
 C        DET    REAL(2)
 C               DETERMINANT OF ORIGINAL MATRIX.
 C               DETERMINANT = DET(1) * 10.0**DET(2)
 C               WITH 1.0 .LE. ABS(DET(1)) .LT. 10.0
 C               OR DET(1) = 0.0.
 C
 C        INERT  INTEGER(3)
 C               THE INERTIA OF THE ORIGINAL MATRIX.
 C               INERT(1)  =  NUMBER OF POSITIVE EIGENVALUES.
 C               INERT(2)  =  NUMBER OF NEGATIVE EIGENVALUES.
 C               INERT(3)  =  NUMBER OF ZERO EIGENVALUES.
 C
 C     ERROR CONDITION
 C
 C        A DIVISION BY ZERO WILL OCCUR IF THE INVERSE IS REQUESTED
 C        AND  CHPCO  HAS SET RCOND .EQ. 0.0
 C        OR  CHPFA  HAS SET  INFO .NE. 0 .
 C
 C     LINPACK. THIS VERSION DATED 08/14/78 .
 C     JAMES BUNCH, UNIV. CALIF. SAN DIEGO, ARGONNE NAT. LAB.
 C
 C     SUBROUTINES AND FUNCTIONS
 C
 C     BLAS CAXPY,CCOPY,CDOTC,CSWAP
 C     FORTRAN ABS,CABS,CMPLX,CONJG,IABS,MOD,REAL