DGESL(3F)

DGESL - DGESL solves the double precision system A * X = B or TRANS(A) * X = B using the factors computed by DGECO or DGEFA.

As shipped in IRIX 6.5.7. Unchanged since IRIX 6.5.

NAME
     DGESL   - DGESL solves the double precision system A * X = B  or
     TRANS(A) * X = B using the factors computed by DGECO or DGEFA.


SYNOPSYS
      SUBROUTINE DGESL(A,LDA,N,IPVT,B,JOB)

DESCRIPTION
     On Entry

     A DOUBLE PRECISION(LDA, N)
        the output from DGECO or DGEFA.

     LDA INTEGER
        the leading dimension of the array  A .

     N INTEGER
        the order of the matrix  A .

     IPVT INTEGER(N)
        the pivot vector from DGECO or DGEFA.

     B DOUBLE PRECISION(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 DGECO has set RCOND .GT. 0.0
     or DGEFA has set INFO .EQ. 0 .  To compute  INVERSE(A) * C  where  C  is
     a matrix with  P  columns
        CALL DGECO(A,LDA,N,IPVT,RCOND,Z)
        IF (RCOND is too small) GO TO ...
        DO 10 J = 1, P
        CALL DGESL(A,LDA,N,IPVT,C(1,J),0) 10 CONTINUE LINPACK.  This version
     dated 08/14/78 .  Cleve Moler, University of New Mexico, Argonne National
     Lab.  Subroutines and Functions BLAS DAXPY,DDOT