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


SGESL

       SUBROUTINE SGESL(A,LDA,N,IPVT,B,JOB)
       INTEGER LDA,N,IPVT(1),JOB
       REAL A(LDA,1),B(1)
 C
 C     SGESL SOLVES THE REAL SYSTEM
 C     A * X = B  OR  TRANS(A) * X = B
 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        B       REAL(N)
 C                THE RIGHT HAND SIDE VECTOR.
 C
 C        JOB     INTEGER
 C                = 0         TO SOLVE  A*X = B ,
 C                = NONZERO   TO SOLVE  TRANS(A)*X = B  WHERE
 C                            TRANS(A)  IS THE TRANSPOSE.
 C
 C     ON RETURN
 C
 C        B       THE SOLUTION VECTOR  X .
 C
 C     ERROR CONDITION
 C
 C        A DIVISION BY ZERO WILL OCCUR IF THE INPUT FACTOR CONTAINS A
 C        ZERO ON THE DIAGONAL.  TECHNICALLY THIS INDICATES SINGULARIT
 C        BUT IT IS OFTEN CAUSED BY IMPROPER ARGUMENTS OR IMPROPER
 C        SETTING OF LDA .  IT WILL NOT OCCUR IF THE SUBROUTINES ARE
 C        CALLED CORRECTLY AND IF SGECO HAS SET RCOND .GT. 0.0
 C        OR SGEFA HAS SET INFO .EQ. 0 .
 C
 C     TO COMPUTE  INVERSE(A) * C  WHERE  C  IS A MATRIX
 C     WITH  P  COLUMNS
 C           CALL SGECO(A,LDA,N,IPVT,RCOND,Z)
 C           IF (RCOND IS TOO SMALL) GO TO ...
 C           DO 10 J = 1, P
 C              CALL SGESL(A,LDA,N,IPVT,C(1,J),0)
 C        10 CONTINUE
 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,SDOT
 C