CGESL(3)

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

NAME
cgesl - Solve the complex system A*X=B or CTRANS(A)*X=B using the factors computed by CGECO or CGEFA.

LIBRARY
SLATEC (LINPACK)

CATEGORY
D2C1

TYPE
COMPLEX (SGESL-S, DGESL-D, CGESL-C)

KEYWORDS
LINEAR ALGEBRA, LINPACK, MATRIX, SOLVE

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

DESCRIPTION
CGESL solves the complex system A * X = B or CTRANS(A) * X = B using the factors computed by CGECO or CGEFA. On Entry A COMPLEX(LDA, N) the output from CGECO or CGEFA. LDA INTEGER the leading dimension of the array A . N INTEGER the order of the matrix A . IPVT INTEGER(N) the pivot vector from CGECO or CGEFA. B COMPLEX(N) the right hand side vector. JOB INTEGER = 0 to solve A*X = B , = nonzero to solve CTRANS(A)*X = B where CTRANS(A) is the conjugate 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 CGECO has set RCOND .GT. 0.0 or CGEFA has set INFO .EQ. 0 . To compute INVERSE(A) * C where C is a matrix with P columns CALL CGECO(A,LDA,N,IPVT,RCOND,Z) IF (RCOND is too small) GO TO ... DO 10 J = 1, P CALL CGESL(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
CAXPY, CDOTC

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)