Previous: ssidi Up: ../linpack.html Next: ssisl


SSIFA

       SUBROUTINE SSIFA(A,LDA,N,KPVT,INFO)
       INTEGER LDA,N,KPVT(1),INFO
       REAL A(LDA,1)
 C
 C     SSIFA FACTORS A REAL SYMMETRIC MATRIX BY ELIMINATION
 C     WITH SYMMETRIC PIVOTING.
 C
 C     TO SOLVE  A*X = B , FOLLOW SSIFA BY SSISL.
 C     TO COMPUTE  INVERSE(A)*C , FOLLOW SSIFA BY SSISL.
 C     TO COMPUTE  DETERMINANT(A) , FOLLOW SSIFA BY SSIDI.
 C     TO COMPUTE  INERTIA(A) , FOLLOW SSIFA BY SSIDI.
 C     TO COMPUTE  INVERSE(A) , FOLLOW SSIFA BY SSIDI.
 C
 C     ON ENTRY
 C
 C        A       REAL(LDA,N)
 C                THE SYMMETRIC MATRIX TO BE FACTORED.
 C                ONLY THE DIAGONAL AND UPPER TRIANGLE ARE USED.
 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     ON RETURN
 C
 C        A       A BLOCK DIAGONAL MATRIX AND THE MULTIPLIERS WHICH
 C                WERE USED TO OBTAIN IT.
 C                THE FACTORIZATION CAN BE WRITTEN  A = U*D*TRANS(U)
 C                WHERE  U  IS A PRODUCT OF PERMUTATION AND UNIT
 C                UPPER TRIANGULAR MATRICES , TRANS(U) IS THE
 C                TRANSPOSE OF  U , AND  D  IS BLOCK DIAGONAL
 C                WITH 1 BY 1 AND 2 BY 2 BLOCKS.
 C
 C        KPVT    INTEGER(N)
 C                AN INTEGER VECTOR OF PIVOT INDICES.
 C
 C        INFO    INTEGER
 C                = 0  NORMAL VALUE.
 C                = K  IF THE K-TH PIVOT BLOCK IS SINGULAR. THIS IS
 C                     NOT AN ERROR CONDITION FOR THIS SUBROUTINE,
 C                     BUT IT DOES INDICATE THAT SSISL OR SSIDI MAY
 C                     DIVIDE BY ZERO IF CALLED.
 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,SSWAP,ISAMAX
 C     FORTRAN ABS,AMAX1,SQRT
 C