Obtain a quadratic approximation to a 2D Mapping

#### Description:

This function returns the co-efficients of a quadratic fit to the supplied Mapping over the input area specified by " lbnd" and " ubnd" . The Mapping must have 2 inputs, but may have any number of outputs. The i’ th Mapping output is modelled as a quadratic function of the 2 inputs (x,y):

output_i = a_i_0 $+$ a_i_1$\ast$x $+$ a_i_2$\ast$y $+$ a_i_3$\ast$x$\ast$y $+$ a_i_4$\ast$x$\ast$x $+$ a_i_5$\ast$y$\ast$y

The " fit" array is returned holding the values of the co-efficients a_0_0, a_0_1, etc.

#### Synopsis

int QuadApprox( AstMapping $\ast$this, const double lbnd[2], const double ubnd[2], int nx, int ny, double $\ast$fit, double $\ast$rms )

#### Parameters:

##### this
Pointer to the Mapping.
##### lbnd
Pointer to an array of doubles containing the lower bounds of a box defined within the input coordinate system of the Mapping. The number of elements in this array should equal the value of the Mapping’ s Nin attribute. This box should specify the region over which the fit is to be performed.
##### ubnd
Pointer to an array of doubles containing the upper bounds of the box specifying the region over which the fit is to be performed.
##### nx
The number of points to place along the first Mapping input. The first point is at " lbnd[0]" and the last is at " ubnd[0]" . If a value less than three is supplied a value of three will be used.
##### ny
The number of points to place along the second Mapping input. The first point is at " lbnd[1]" and the last is at " ubnd[1]" . If a value less than three is supplied a value of three will be used.
##### fit
Pointer to an array of doubles in which to return the co-efficients of the quadratic approximation to the specified transformation. This array should have at least " 6$\ast$Nout" , elements. The first 6 elements hold the fit to the first Mapping output. The next 6 elements hold the fit to the second Mapping output, etc. So if the Mapping has 2 inputs and 2 outputs the quadratic approximation to the forward transformation is:

X_out = fit[0] $+$ fit[1]$\ast$X_in $+$ fit[2]$\ast$Y_in $+$ fit[3]$\ast$X_in$\ast$Y_in $+$ fit[4]$\ast$X_in$\ast$X_in $+$ fit[5]$\ast$Y_in$\ast$Y_in Y_out = fit[6] $+$ fit[7]$\ast$X_in $+$ fit[8]$\ast$Y_in $+$ fit[9]$\ast$X_in$\ast$Y_in $+$ fit[10]$\ast$X_in$\ast$X_in $+$ fit[11]$\ast$Y_in$\ast$Y_in

##### rms
Pointer to a double in which to return the RMS residual between the fit and the Mapping, summed over all Mapping outputs.

#### Returned Value

• This function fits the Mapping’ s forward transformation. To fit the inverse transformation, the Mapping should be inverted using astInvert before invoking this function.