for any value of $\overline{x}$ satisfying $\mathrm{-1}\le \overline{x}\le 1$. Here ${T}_{j}\left(\overline{x}\right)$ denotes the Chebyshev polynomial of the first kind of degree $j$ with argument $\overline{x}$. The value of $n$ is prescribed by you.
In practice, the variable $\overline{x}$ will usually have been obtained from an original variable $x$, where ${x}_{\mathrm{min}}\le x\le {x}_{\mathrm{max}}$ and
since the former guarantees that the computed value of $\overline{x}$ differs from its true value by at most $4\epsilon $, where $\epsilon $ is the machine precision, whereas the latter has no such guarantee.
The method employed is based upon the three-term recurrence relation due to Clenshaw (1955), with modifications to give greater numerical stability due to Reinsch and Gentleman (see Gentleman (1969)).
On entry: ${\mathbf{a}}\left[\mathit{i}-1\right]$ must be set to the value of the $\mathit{i}$th coefficient in the series, for $\mathit{i}=1,2,\dots ,n+1$.
3: $\mathbf{xcap}$ – doubleInput
On entry: $\overline{x}$, the argument at which the polynomial is to be evaluated. It should lie in the range $\mathrm{-1}$ to $+1$, but a value just outside this range is permitted (see Section 9) to allow for possible rounding errors committed in the transformation from $x$ to $\overline{x}$ discussed in Section 3. Provided the recommended form of the transformation is used, a successful exit is thus assured whenever the value of $x$ lies in the range ${x}_{\mathrm{min}}$ to ${x}_{\mathrm{max}}$.
4: $\mathbf{p}$ – double *Output
On exit: the value of the polynomial.
5: $\mathbf{fail}$ – NagError *Input/Output
The NAG error argument (see Section 7 in the Introduction to the NAG Library CL Interface).
6Error Indicators and Warnings
NE_INT_ARG_LT
On entry, nplus1 must not be less than 1: ${\mathbf{nplus1}}=\u27e8\mathit{\text{value}}\u27e9$.
NE_INVALID_XCAP
On entry, $\mathrm{abs}\left({\mathbf{xcap}}\right)>1.0+4\epsilon $, where $\epsilon $ is the machine precision.
In this case the value of p is set arbitrarily to zero.
7Accuracy
The rounding errors committed are such that the computed value of the polynomial is exact for a slightly perturbed set of coefficients ${a}_{i}+\delta {a}_{i}$. The ratio of the sum of the absolute values of the $\delta {a}_{i}$ to the sum of the absolute values of the ${a}_{i}$ is less than a small multiple of $(n+1)\times $machine precision.
8Parallelism and Performance
e02aec is not threaded in any implementation.
9Further Comments
The time taken by e02aec is approximately proportional to $n+1$.
It is expected that a common use of e02aec will be the evaluation of the polynomial approximations produced by e02adc and e02afc.
10Example
Evaluate at 11 equally-spaced points in the interval $\mathrm{-1}\le \overline{x}\le 1$ the polynomial of degree 4 with Chebyshev coefficients, $2.0$, $0.5$, $0.25$, $0.125$, 0.0625.
The example program is written in a general form that will enable a polynomial of degree $n$ in its Chebyshev series form to be evaluated at $m$ equally-spaced points in the interval $\mathrm{-1}\le \overline{x}\le 1$. The program is self-starting in that any number of datasets can be supplied.