cgesl(3P)
NAME
cgesl - solve the linear system Ax = b for a general matrix A, which has been LU- factored by xGECO or xGEFA, and vectors b and x.
SYNOPSIS
CALL DGESL (DA, LDA, N, IPIVOT, DB, JOB)
void cgesl(complex ∗ca, long int lda, long int n, long int ∗ipivot,
complex ∗cb, long int job)
CALL SGESL (SA, LDA, N, IPIVOT, SB, JOB)
CALL ZGESL (ZA, LDA, N, IPIVOT, ZB, JOB)
CALL CGESL (CA, LDA, N, IPIVOT, CB, JOB)
void dgesl(double ∗da, long int lda, long int n, long int ∗ipivot,
double ∗db, long int job)
void sgesl(float ∗sa, long int lda, long int n, long int ∗ipivot, float ∗b, long int
job)
void zgesl(doublecomplex ∗za, long int lda, long int n,
long int ∗ipivot, doublecomplex ∗zb, long int job)
void cgesl(complex ∗ca, long int lda, long int n, long int ∗ipivot,
complex ∗cb, long int job)
ARGUMENTS
xALU factorization of the matrix A, as computed by xGECO or xGEFA.
LDALeading dimension of the array A as specified in a dimension
or type statement. LDA >= max(1,N).
NOrder of the matrix A. N >= 0.
IPIVOTPivot vector as computed by xGECO or xGEFA.
xBOn entry, the right-hand side vector b.
On exit, the solution vector x.
JOBDetermines which operation the subroutine will perform:
0 Solve the system Ax = b.
not 0 Solve the linear system AHx = b. Note that ATx = AHx for real matrices.
SAMPLE PROGRAM
PROGRAM TEST
IMPLICIT NONE
C
INTEGER IAXEQB, LDA, LDB, N
PARAMETER (IAXEQB = 0)
PARAMETER (N = 3)
PARAMETER (LDA = N)
PARAMETER (LDB = LDA)
C
DOUBLE PRECISION A(LDA,N), B(LDB)
INTEGER ICOL, INFO, IPIVOT(N), IROW, JOB
C
EXTERNAL DGEFA, DGESL
C
C Initialize the array A to store the matrix A shown below.
C Initialize the array B to store the vector b shown below.
C
C 1 2 2 15
C A = 2 1 2 b = 15
C 2 2 1 15
C
DATA A / 1.0D0, 3∗2.0D0, 1.0D0, 3∗2.0D0, 1.0D0 /
DATA B / 3∗1.5D1 /
C
PRINT 1000
PRINT 1010, ((A(IROW,ICOL), ICOL = 1, N), IROW = 1, N)
PRINT 1020
PRINT 1030, B
CALL DGEFA (A, LDA, N, IPIVOT, INFO)
IF (INFO .EQ. 0) THEN
JOB = IAXEQB
CALL DGESL (A, LDA, N, IPIVOT, B, JOB)
PRINT 1040
PRINT 1030, B
ELSE
PRINT 1050, INFO
END IF
C
1000 FORMAT (1X, ’A:’)
1010 FORMAT (3(3X, F4.1))
1020 FORMAT (/1X, ’b:’)
1030 FORMAT (1X, 2X, F4.1)
1040 FORMAT (/1X, ’A∗∗(-1)∗b’)
1050 FORMAT (1X, ’A appears singular at ’, I2)
C
END
SAMPLE OUTPUT
A:
1.0 2.0 2.0
2.0 1.0 2.0
2.0 2.0 1.0
b:
15.0
15.0
15.0
A∗∗(-1)∗b
3.0
3.0
3.0
Sun, Inc. — Last change: 20 Sep 1996