Previous: sgeco Up: ../linpack.html Next: sgefa


SGEDI

       SUBROUTINE SGEDI(A,LDA,N,IPVT,DET,WORK,JOB)
       INTEGER LDA,N,IPVT(1),JOB
       REAL A(LDA,1),DET(2),WORK(1)
 C
 C     SGEDI COMPUTES THE DETERMINANT AND INVERSE OF A MATRIX
 C     USING THE FACTORS COMPUTED BY SGECO OR SGEFA.
 C
 C     ON ENTRY
 C
 C        A       REAL(LDA, N)
 C                THE OUTPUT FROM SGECO OR SGEFA.
 C
 C        LDA     INTEGER
 C                THE LEADING DIMENSION OF THE ARRAY  A .
 C
 C        N       INTEGER
 C                THE ORDER OF THE MATRIX  A .
 C
 C        IPVT    INTEGER(N)
 C                THE PIVOT VECTOR FROM SGECO OR SGEFA.
 C
 C        WORK    REAL(N)
 C                WORK VECTOR.  CONTENTS DESTROYED.
 C
 C        JOB     INTEGER
 C                = 11   BOTH DETERMINANT AND INVERSE.
 C                = 01   INVERSE ONLY.
 C                = 10   DETERMINANT ONLY.
 C
 C     ON RETURN
 C
 C        A       INVERSE OF ORIGINAL MATRIX IF REQUESTED.
 C                OTHERWISE UNCHANGED.
 C
 C        DET     REAL(2)
 C                DETERMINANT OF ORIGINAL MATRIX IF REQUESTED.
 C                OTHERWISE NOT REFERENCED.
 C                DETERMINANT = DET(1) * 10.0**DET(2)
 C                WITH  1.0 .LE. ABS(DET(1)) .LT. 10.0
 C                OR  DET(1) .EQ. 0.0 .
 C
 C     ERROR CONDITION
 C
 C        A DIVISION BY ZERO WILL OCCUR IF THE INPUT FACTOR CONTAINS
 C        A ZERO ON THE DIAGONAL AND THE INVERSE IS REQUESTED.
 C        IT WILL NOT OCCUR IF THE SUBROUTINES ARE CALLED CORRECTLY
 C        AND IF SGECO HAS SET RCOND .GT. 0.0 OR SGEFA HAS SET
 C        INFO .EQ. 0 .
 C
 C     LINPACK. THIS VERSION DATED 08/14/78 .
 C     CLEVE MOLER, UNIVERSITY OF NEW MEXICO, ARGONNE NATIONAL LAB.
 C
 C     SUBROUTINES AND FUNCTIONS
 C
 C     BLAS SAXPY,SSCAL,SSWAP
 C     FORTRAN ABS,MOD
 C