SLA_DMAT

Solve Simultaneous Equations

ACTION:
Matrix inversion and solution of simultaneous equations (double precision).
CALL:
CALL sla_DMAT (N, A, Y, D, JF, IW)
GIVEN:

N

I

number of unknowns

A

D(N,N)

matrix

Y

D(N)

vector


RETURNED:

A

D(N,N)

matrix inverse

Y

D(N)

solution

D

D

determinant

JF

I

singularity flag: 0=OK

IW

I(N)

workspace


NOTES:
(1)
For the set of n simultaneous linear equations in n unknowns:

Ay = x

where:
  • A is a non-singular n×n matrix,
  • y is the vector of n unknowns, and
  • x is the known vector,

sla_DMAT computes:

  • the inverse of matrix A,
  • the determinant of matrix A, and
  • the vector of n unknowns y.

Argument N is the order n, A (given) is the matrix A, Y (given) is the vector x and Y (returned) is the vector y. The argument A (returned) is the inverse matrix A1, and D is det(A).

(2)
JF is the singularity flag. If the matrix is non-singular, JF=0 is returned. If the matrix is singular, JF=1 and D=0D0 are returned. In the latter case, the contents of array A on return are undefined.
(3)
The algorithm is Gaussian elimination with partial pivoting. This method is very fast; some much slower algorithms can give better accuracy, but only by a small factor.
(4)
This routine replaces the obsolete sla_DMATRX.