aboutsummaryrefslogtreecommitdiff
path: root/math/slalib/doc/invf.hlp
blob: e1d8588ebe4d6176036579108a34384d3146fa70 (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
59
60
61
62
63
64
65
66
.help invf Jun99 "Slalib Package"
.nf

      SUBROUTINE slINVF (FWDS,BKWDS,J)

     - - - - -
      I N V F
     - - - - -

  Invert a linear model of the type produced by the
  slFTXY routine.

  Given:
     FWDS    d(6)      model coefficients

  Returned:
     BKWDS   d(6)      inverse model
     J        i        status:  0 = OK, -1 = no inverse

  The models relate two sets of [X,Y] coordinates as follows.
  Naming the elements of FWDS:

     FWDS(1) = A
     FWDS(2) = B
     FWDS(3) = C
     FWDS(4) = D
     FWDS(5) = E
     FWDS(6) = F

  where two sets of coordinates [X1,Y1] and [X2,Y1] are related
  thus:

     X2 = A + B*X1 + C*Y1
     Y2 = D + E*X1 + F*Y1

  the present routine generates a new set of coefficients:

     BKWDS(1) = P
     BKWDS(2) = Q
     BKWDS(3) = R
     BKWDS(4) = S
     BKWDS(5) = T
     BKWDS(6) = U

  such that:

     X1 = P + Q*X2 + R*Y2
     Y1 = S + T*X2 + U*Y2

  Two successive calls to slINVF will thus deliver a set
  of coefficients equal to the starting values.

  To comply with the ANSI Fortran standard, FWDS and BKWDS must
  not be the same array, even though the routine is coded to
  work on the VAX and most other computers even if this rule
  is violated.

  See also slFTXY, slPXY, slXYXY, slDCMF

  P.T.Wallace   Starlink   11 April 1990

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

.fi
.endhelp