# PolyEv2D

Advanced Analysis Library Only

AnalysisLibErrType PolyEv2D (void *inputArray, int numberRows, int numberColumns, double coefArray[], int numCoefficients, void *outputArray);

## Purpose

Performs a polynomial evaluation on a 2D input array. PolyEv2D obtains the (i, j)th element of the output array using the following formula:

where i is the array row index, j is the array column index, k is numCoefficients, p is the coefficient index, and coef is coefArray.

The size of the coefficients array must be greater than or equal to the order of the polynomial + 1. PolyEv2D can perform the operation in place; that is, the input and output arrays can be the same.

### Example

/* Perform a polynomial evaluation of a 2D array, let the Ramp function generate the coefficients {1, 2, 3, 4, 5} and find the polynomial evaluation of the array. */
double x[5][10], y[5][10], a[5];
double first, last;
int n, m, k;
n = 5;
k = 5;
m = 10;
first = 1.0;
last = 5.0;
Ramp (k, first, last, a);
PolyEv2D (x, n, m, a, k, y);

## Parameters

Input
Name | Type | Description
inputArray | numeric array | Input array used as the basis for the polynomial evaluation. This matrix must be an array of doubles.
numberRows | integer | Number of rows used in the polynomial evaluation of the input array.
numberColumns | integer | Number of columns used in the polynomial evaluation of the input array.
coefArray | double-precision array | Coefficients array used in the polynomial evaluation of the input array. If there are k coefficients, the order of the polynomial is k – 1.
numCoefficients | integer | Number of coefficients used in the polynomial evaluation. This parameter does not specify the polynomial order. The polynomial order is numCoefficients – 1. Default Value: 1.
Output
Name | Type | Description
outputArray | numeric array | Polynomially evaluated array, as an array of doubles.

## Return Value

Name | Type | Description
status | AnalysisLibErrType | A value that specifies the type of error that occurred. Refer to analysis.h for definitions of these constants.