
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:
where:
 A is a nonsingular $n\times 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
A${}^{1}$,
and D is det(A).

(2)
 JF is the singularity flag. If the matrix is nonsingular, 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.