aboutsummaryrefslogtreecommitdiff
path: root/math/slalib/doc/dmat.hlp
blob: 7d49634568c5ab6f30a68a5229a60369bfd05d24 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
.help dmat Jun99 "Slalib Package"
.nf

      SUBROUTINE slDMAT (N, A, Y, D, JF, IW)

     - - - - -
      D M A T
     - - - - -

  Matrix inversion & solution of simultaneous equations
  (double precision)

  For the set of n simultaneous equations in n unknowns:
     A.Y = X

  where:
     A is a non-singular N x N matrix
     Y is the vector of N unknowns
     X is the known vector

  DMATRX computes:
     the inverse of matrix A
     the determinant of matrix A
     the vector of N unknowns

  Arguments:

     symbol  type   dimension           before              after

       N      i                    no. of unknowns       unchanged
       A      d      (N,N)             matrix             inverse
       Y      d       (N)              vector            solution
       D      d                           -             determinant
     * JF     i                           -           singularity flag
       IW     i       (N)                 -              workspace

  *  JF is the singularity flag.  If the matrix is non-singular,
    JF=0 is returned.  If the matrix is singular, JF=-1 & D=0D0 are
    returned.  In the latter case, the contents of array A on return
    are undefined.

  Algorithm:
     Gaussian elimination with partial pivoting.

  Speed:
     Very fast.

  Accuracy:
     Fairly accurate - errors 1 to 4 times those of routines optimized
     for accuracy.

  P.T.Wallace   Starlink   7 February 1995

  Copyright (C) 1995 Rutherford Appleton Laboratory
  Copyright (C) 1995 Association of Universities for Research in Astronomy Inc.

.fi
.endhelp