nag_ode_bvp_ps_lin_coeffs (d02uac) (PDF version)
d02 Chapter Contents
d02 Chapter Introduction
NAG C Library Manual

NAG Library Function Document

nag_ode_bvp_ps_lin_coeffs (d02uac)

+ Contents

    1  Purpose
    7  Accuracy
    9  Example

1  Purpose

nag_ode_bvp_ps_lin_coeffs (d02uac) obtains the Chebyshev coefficients of a function discretized on Chebyshev Gauss–Lobatto points. The set of discretization points on which the function is evaluated is usually obtained by a previous call to nag_ode_bvp_ps_lin_cgl_grid (d02ucc).

2  Specification

#include <nag.h>
#include <nagd02.h>
void  nag_ode_bvp_ps_lin_coeffs (Integer n, const double f[], double c[], NagError *fail)

3  Description

nag_ode_bvp_ps_lin_coeffs (d02uac) computes the coefficients cj, for j=1,2,,n+1, of the interpolating Chebyshev series
12 c1 T0 x- + c2 T1 x- + c3T2 x- ++ cn+1 Tn x- ,
which interpolates the the function fx evaluated at the Chebyshev Gauss–Lobatto points
x-r = - cos r-1 π/n ,   r=1,2,,n+1 .
Here Tjx- denotes the Chebyshev polynomial of the first kind of degree j with argument x- defined on -1,1. In terms of your original variable, x say, the input values at which the function values are to be provided are
xr = - 12 b - a cos πr-1 /n + 1 2 b + a ,   r=1,2,,n+1 , ​
where b and a are respectively the upper and lower ends of the range of x over which the function is required.

4  References

Canuto C (1988) Spectral Methods in Fluid Dynamics 502 Springer
Canuto C, Hussaini M Y, Quarteroni A and Zang T A (2006) Spectral Methods: Fundamentals in Single Domains Springer
Trefethen L N (2000) Spectral Methods in MATLAB SIAM

5  Arguments

1:     nIntegerInput
On entry: n, where the number of grid points is n+1. This is also the largest order of Chebyshev polynomial in the Chebyshev series to be computed.
Constraint: n>0 and n is even.
2:     f[n+1]const doubleInput
On entry: the function values fxr, for r=1,2,,n+1.
3:     c[n+1]doubleOutput
On exit: the Chebyshev coefficients, cj, for j=1,2,,n+1.
4:     failNagError *Input/Output
The NAG error argument (see Section 3.6 in the Essential Introduction).

6  Error Indicators and Warnings

NE_ALLOC_FAIL
Dynamic memory allocation failed.
NE_BAD_PARAM
On entry, argument value had an illegal value.
NE_INT
On entry, n=value.
Constraint: n>1.
On entry, n=value.
Constraint: n is even.
NE_INTERNAL_ERROR
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact NAG for assistance.

7  Accuracy

The Chebyshev coefficients computed should be accurate to within a small multiple of machine precision.

8  Further Comments

The number of operations is of the order nlogn and the memory requirements are On; thus the computation remains efficient and practical for very fine discretizations (very large values of n).

9  Example

See Section 9 in nag_ode_bvp_ps_lin_solve (d02uec).

nag_ode_bvp_ps_lin_coeffs (d02uac) (PDF version)
d02 Chapter Contents
d02 Chapter Introduction
NAG C Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2012