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
|