hide long namesshow long names
hide short namesshow short names
Integer type:  int32  int64  nag_int  show int32  show int32  show int64  show int64  show nag_int  show nag_int

PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

NAG Toolbox: nag_fit_1dcheb_eval2 (e02ak)

Purpose

nag_fit_1dcheb_eval2 (e02ak) evaluates a polynomial from its Chebyshev series representation, allowing an arbitrary index increment for accessing the array of coefficients.

Syntax

[result, ifail] = e02ak(n, xmin, xmax, a, ia1, x)
[result, ifail] = nag_fit_1dcheb_eval2(n, xmin, xmax, a, ia1, x)

Description

If supplied with the coefficients aiai, for i = 0,1,,ni=0,1,,n, of a polynomial p(x)p(x-) of degree nn, where
p(x) = (1/2)a0 + a1T1(x) + + anTn(x),
p(x-)=12a0+a1T1(x-)++anTn(x-),
nag_fit_1dcheb_eval2 (e02ak) returns the value of p(x)p(x-) at a user-specified value of the variable xx. Here Tj(x)Tj(x-) denotes the Chebyshev polynomial of the first kind of degree jj with argument xx-. It is assumed that the independent variable xx- in the interval [1, + 1][-1,+1] was obtained from your original variable xx in the interval [xmin,xmax][xmin,xmax] by the linear transformation
x = (2x(xmax + xmin))/(xmaxxmin).
x-=2x-(xmax+xmin) xmax-xmin .
The coefficients aiai may be supplied in the array a, with any increment between the indices of array elements which contain successive coefficients. This enables the function to be used in surface fitting and other applications, in which the array might have two or more dimensions.
The method employed is based on the three-term recurrence relation due to Clenshaw (see Clenshaw (1955)), with modifications due to Reinsch and Gentleman (see Gentleman (1969)). For further details of the algorithm and its use see Cox (1973) and Cox and Hayes (1973).

References

Clenshaw C W (1955) A note on the summation of Chebyshev series Math. Tables Aids Comput. 9 118–120
Cox M G (1973) A data-fitting package for the non-specialist user NPL Report NAC 40 National Physical Laboratory
Cox M G and Hayes J G (1973) Curve fitting: a guide and suite of algorithms for the non-specialist user NPL Report NAC26 National Physical Laboratory
Gentleman W M (1969) An error analysis of Goertzel's (Watt's) method for computing Fourier coefficients Comput. J. 12 160–165

Parameters

Compulsory Input Parameters

1:     n – int64int32nag_int scalar
nn, the degree of the given polynomial p(x)p(x-).
Constraint: n0n0.
2:     xmin – double scalar
3:     xmax – double scalar
The lower and upper end points respectively of the interval [xmin,xmax][xmin,xmax]. The Chebyshev series representation is in terms of the normalized variable xx-, where
x = (2x(xmax + xmin))/(xmaxxmin).
x-=2x-(xmax+xmin) xmax-xmin .
Constraint: xmin < xmaxxmin<xmax.
4:     a(la) – double array
la, the dimension of the array, must satisfy the constraint la(np11) × ia1 + 1la(np1-1) ×ia1+1.
The Chebyshev coefficients of the polynomial p(x)p(x-). Specifically, element i × ia1 + 1i×ia1+1 must contain the coefficient aiai, for i = 0,1,,ni=0,1,,n. Only these n + 1n+1 elements will be accessed.
5:     ia1 – int64int32nag_int scalar
The index increment of a. Most frequently, the Chebyshev coefficients are stored in adjacent elements of a, and ia1 must be set to 11. However, if, for example, they are stored in a(1),a(4),a(7),a1,a4,a7,, then the value of ia1 must be 33.
Constraint: ia11ia11.
6:     x – double scalar
The argument xx at which the polynomial is to be evaluated.
Constraint: xminxxmaxxminxxmax.

Optional Input Parameters

None.

Input Parameters Omitted from the MATLAB Interface

np1 la

Output Parameters

1:     result – double scalar
The value of the polynomial p(x)p(x-).
2:     ifail – int64int32nag_int scalar
ifail = 0ifail=0 unless the function detects an error (see [Error Indicators and Warnings]).

Error Indicators and Warnings

Errors or warnings detected by the function:
  ifail = 1ifail=1
On entry,np1 < 1np1<1,
oria1 < 1ia1<1,
orla(np11) × ia1la(np1-1)×ia1,
orxminxmaxxminxmax.
  ifail = 2ifail=2
x does not satisfy the restriction xminxxmaxxminxxmax.

Accuracy

The rounding errors are such that the computed value of the polynomial is exact for a slightly perturbed set of coefficients ai + δaiai+δai. The ratio of the sum of the absolute values of the δaiδai to the sum of the absolute values of the aiai is less than a small multiple of (n + 1) × machine precision(n+1)×machine precision.

Further Comments

The time taken is approximately proportional to n + 1n+1.

Example

function nag_fit_1dcheb_eval2_example
n = int64(6);
xmin = -0.5;
xmax = 2.5;
a = [2.53213;
     1.13032;
     0.2715;
     0.04434;
     0.00547;
     0.00054;
     4e-05];
ia1 = int64(1);
x = -0.5;
[result, ifail] = nag_fit_1dcheb_eval2(n, xmin, xmax, a, ia1, x)
 

result =

    0.3679


ifail =

                    0


function e02ak_example
n = int64(6);
xmin = -0.5;
xmax = 2.5;
a = [2.53213;
     1.13032;
     0.2715;
     0.04434;
     0.00547;
     0.00054;
     4e-05];
ia1 = int64(1);
x = -0.5;
[result, ifail] = e02ak(n, xmin, xmax, a, ia1, x)
 

result =

    0.3679


ifail =

                    0



PDF version (NAG web site, 64-bit version, 64-bit version)
Chapter Contents
Chapter Introduction
NAG Toolbox

© The Numerical Algorithms Group Ltd, Oxford, UK. 2009–2013