Previous: sgbsl Up: ../linpack.html Next: sgedi


SGECO

       SUBROUTINE SGECO(A,LDA,N,IPVT,RCOND,Z)
       INTEGER LDA,N,IPVT(1)
       REAL A(LDA,1),Z(1)
       REAL RCOND
 C
 C     SGECO FACTORS A REAL MATRIX BY GAUSSIAN ELIMINATION
 C     AND ESTIMATES THE CONDITION OF THE MATRIX.
 C
 C     IF  RCOND  IS NOT NEEDED, SGEFA IS SLIGHTLY FASTER.
 C     TO SOLVE  A*X = B , FOLLOW SGECO BY SGESL.
 C     TO COMPUTE  INVERSE(A)*C , FOLLOW SGECO BY SGESL.
 C     TO COMPUTE  DETERMINANT(A) , FOLLOW SGECO BY SGEDI.
 C     TO COMPUTE  INVERSE(A) , FOLLOW SGECO BY SGEDI.
 C
 C     ON ENTRY
 C
 C        A       REAL(LDA, N)
 C                THE MATRIX TO BE FACTORED.
 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       AN UPPER TRIANGULAR MATRIX AND THE MULTIPLIERS
 C                WHICH WERE USED TO OBTAIN IT.
 C                THE FACTORIZATION CAN BE WRITTEN  A = L*U  WHERE
 C                L  IS A PRODUCT OF PERMUTATION AND UNIT LOWER
 C                TRIANGULAR MATRICES AND  U  IS UPPER TRIANGULAR.
 C
 C        IPVT    INTEGER(N)
 C                AN INTEGER VECTOR OF PIVOT INDICES.
 C
 C        RCOND   REAL
 C                AN ESTIMATE OF THE RECIPROCAL CONDITION OF  A .
 C                FOR THE SYSTEM  A*X = B , RELATIVE PERTURBATIONS
 C                IN  A  AND  B  OF SIZE  EPSILON  MAY CAUSE
 C                RELATIVE PERTURBATIONS IN  X  OF SIZE  EPSILON/RCOND
 C                IF  RCOND  IS SO SMALL THAT THE LOGICAL EXPRESSION
 C                           1.0 + RCOND .EQ. 1.0
 C                IS TRUE, THEN  A  MAY BE SINGULAR TO WORKING
 C                PRECISION.  IN PARTICULAR,  RCOND  IS ZERO  IF
 C                EXACT SINGULARITY IS DETECTED OR THE ESTIMATE
 C                UNDERFLOWS.
 C
 C        Z       REAL(N)
 C                A WORK VECTOR WHOSE CONTENTS ARE USUALLY UNIMPORTANT
 C                IF  A  IS CLOSE TO A SINGULAR MATRIX, THEN  Z  IS
 C                AN APPROXIMATE NULL VECTOR IN THE SENSE THAT
 C                NORM(A*Z) = RCOND*NORM(A)*NORM(Z) .
 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     LINPACK SGEFA
 C     BLAS SAXPY,SDOT,SSCAL,SASUM
 C     FORTRAN ABS,AMAX1,SIGN
 C