Previous: sspco Up: ../linpack.html Next: sspfa


SSPDI

       SUBROUTINE SSPDI(AP,N,KPVT,DET,INERT,WORK,JOB)
       INTEGER N,JOB
       REAL AP(1),WORK(1)
       REAL DET(2)
       INTEGER KPVT(1),INERT(3)
 C
 C     SSPDI COMPUTES THE DETERMINANT, INERTIA AND INVERSE
 C     OF A REAL SYMMETRIC MATRIX USING THE FACTORS FROM SSPFA,
 C     WHERE THE MATRIX IS STORED IN PACKED FORM.
 C
 C     ON ENTRY
 C
 C        AP      REAL (N*(N+1)/2)
 C                THE OUTPUT FROM SSPFA.
 C
 C        N       INTEGER
 C                THE ORDER OF THE MATRIX A.
 C
 C        KPVT    INTEGER(N)
 C                THE PIVOT VECTOR FROM SSPFA.
 C
 C        WORK    REAL(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  SSPCO  HAS SET RCOND .EQ. 0.0
 C        OR  SSPFA  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 SAXPY,SCOPY,SDOT,SSWAP
 C     FORTRAN ABS,IABS,MOD
 C