Map coordinates using Chebyshev polynomial functions ChebyMap
For a 1-dimensional ChebyMap, the forward transformation is defined as follows:
f(x) = c0.T0(x’
)
c1.T1(x’
)
c2.T2(x’
)
...
where:
Tn(x’
) is the nth Chebyshev polynomial of the first kind:
T0(x’
) = 1
T1(x’
) = x’
Tn1(x’
) =
2.x’
.Tn(x’
)
Tn-1(x’
)
x’
is the inpux axis value, x, offset and scaled to the range [-1, 1] as x ranges over a specified bounding
box, given when the ChebyMap is created. The input positions, x, supplied to the forward
transformation must fall within the bounding box - bad axis values (AST__BAD) are generated for
points outside the bounding box.
For an N-dimensional ChebyMap, the forward transformation is a generalisation of the above form.
Each output axis value is the sum of NCOEFF terms, where each term is the product of a single
coefficient value and N factors of the form Tn(x’
_i), where "
x’
_i"
is the normalised value of the i’
th
input axis value.
The forward and inverse transformations are defined independantly by separate sets of coefficients, supplied when the ChebyMap is created. If no coefficients are supplied to define the inverse transformation, the AST_POLYTRAN method of the parent PolyMap class can instead be used to create an inverse transformation. The inverse transformation so generated will be a Chebyshev polynomial with coefficients chosen to minimise the residuals left by a round trip (forward transformation followed by inverse transformation).
AST_CHEBYDOMAIN: Get the bounds of the domain of the ChebyMap