SGESL(3)

SYNOPSIS
SUBROUTINE SGESL (A, LDA, N, IPVT, B, JOB)

NAME
sgesl - Solve the real system A*X=B or TRANS(A)*X=B using the factors of SGECO or SGEFA.

LIBRARY
SLATEC (LINPACK)

CATEGORY
D2A1

TYPE
SINGLE PRECISION (SGESL-S, DGESL-D, CGESL-C)

KEYWORDS
LINEAR ALGEBRA, LINPACK, MATRIX, SOLVE

AUTHOR
Moler, C. B., (U. of New Mexico)

DESCRIPTION
SGESL solves the real system A * X = B or TRANS(A) * X = B using the factors computed by SGECO or SGEFA. On Entry A REAL(LDA, N) the output from SGECO or SGEFA. LDA INTEGER the leading dimension of the array A . N INTEGER the order of the matrix A . IPVT INTEGER(N) the pivot vector from SGECO or SGEFA. B REAL(N) the right hand side vector. JOB INTEGER = 0 to solve A*X = B , = nonzero to solve TRANS(A)*X = B where TRANS(A) is the transpose. On Return B the solution vector X . Error Condition A division by zero will occur if the input factor contains a zero on the diagonal. Technically, this indicates singularity, but it is often caused by improper arguments or improper setting of LDA . It will not occur if the subroutines are called correctly and if SGECO has set RCOND .GT. 0.0 or SGEFA has set INFO .EQ. 0 . To compute INVERSE(A) * C where C is a matrix with P columns CALL SGECO(A,LDA,N,IPVT,RCOND,Z) IF (RCOND is too small) GO TO ... DO 10 J = 1, P CALL SGESL(A,LDA,N,IPVT,C(1,J),0) 10 CONTINUE

REFERENCES
J. J. Dongarra, J. R. Bunch, C. B. Moler, and G. W. Stewart, LINPACK Users' Guide, SIAM, 1979.

ROUTINES CALLED
SAXPY, SDOT

REVISION HISTORY (YYMMDD)
780814 DATE WRITTEN
890831 Modified array declarations. (WRB)
890831 REVISION DATE from Version 3.2
891214 Prologue converted to Version 4.0 format. (BAB)
900326 Removed duplicate information from DESCRIPTION section. (WRB)
920501 Reformatted the REFERENCES section. (WRB)