astRate - Calculate the rate of change of a Mapping output

**Description:**- This function
evaluates the rate of change of a specified output of the supplied
Mapping with respect to a specified input, at a specified input
position.
The result is estimated by interpolating the function using a fourth order polynomial in the neighbourhood of the specified position. The size of the neighbourhood used is chosen to minimise the RMS residual per unit length between the interpolating polynomial and the supplied Mapping function. This method produces good accuracy but can involve evaluating the Mapping 100 or more times.

- This function
evaluates the rate of change of a specified output of the supplied
Mapping with respect to a specified input, at a specified input
position.
**Synopsis:**`double astRate( AstMapping this, double at, int ax1, int ax2 )`

**Parameters:****this**- Pointer to the Mapping to be applied.
**at**- The address of an array holding the axis values at the position at which the rate of change is to be evaluated. The number of elements in this array should equal the number of inputs to the Mapping.
**ax1**- The index of the Mapping output for which the rate of change is to be found (output numbering starts at 1 for the first output).
**ax2**- The index of the Mapping input which is to be varied in order to find the rate of change (input numbering starts at 1 for the first input).

**Returned Value:****astRate()**-
The rate of change of Mapping output
`"`ax1`"`with respect to input`"`ax2`"`, evaluated at`"`at`"`, or AST__BAD if the value cannot be calculated.

**Notes:**- A value of AST__BAD will be returned if this function is invoked with the global error status set, or if it should fail for any reason.

Starlink User Note 211

R.F. Warren-Smith & D.S. Berry

25th February 2013

E-mail:starlink@jiscmail.ac.uk

Copyright (C) 2014 Science \& Technology Facilities Council