NAG FL Interface
d02ucf (bvp_​ps_​lin_​cgl_​grid)

1 Purpose

d02ucf returns the Chebyshev Gauss–Lobatto grid points on a,b.

2 Specification

Fortran Interface
Subroutine d02ucf ( n, a, b, x, ifail)
Integer, Intent (In) :: n
Integer, Intent (Inout) :: ifail
Real (Kind=nag_wp), Intent (In) :: a, b
Real (Kind=nag_wp), Intent (Out) :: x(n+1)
C Header Interface
#include <nag.h>
void  d02ucf_ (const Integer *n, const double *a, const double *b, double x[], Integer *ifail)
The routine may be called by the names d02ucf or nagf_ode_bvp_ps_lin_cgl_grid.

3 Description

d02ucf returns the Chebyshev Gauss–Lobatto grid points on a,b. The Chebyshev Gauss–Lobatto points on -1,1 are computed as ti = - cos i-1π n , for i=1,2,,n+1. The Chebyshev Gauss–Lobatto points on an arbitrary domain a,b are:
xi = b-a 2 ti + a+b 2 ,   i=1,2,,n+1 .  

4 References

Trefethen L N (2000) Spectral Methods in MATLAB SIAM

5 Arguments

1: n Integer Input
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: a Real (Kind=nag_wp) Input
On entry: a, the lower bound of domain a,b.
Constraint: a<b.
3: b Real (Kind=nag_wp) Input
On entry: b, the upper bound of domain a,b.
Constraint: b>a.
4: xn+1 Real (Kind=nag_wp) array Output
On exit: the Chebyshev Gauss–Lobatto grid points, xi, for i=1,2,,n+1, on a,b.
5: ifail Integer Input/Output
On entry: ifail must be set to 0, -1 or 1. If you are unfamiliar with this argument you should refer to Section 4 in the Introduction to the NAG Library FL Interface for details.
For environments where it might be inappropriate to halt program execution when an error is detected, the value -1 or 1 is recommended. If the output of error messages is undesirable, then the value 1 is recommended. Otherwise, if you are not familiar with this argument, the recommended value is 0. When the value -1 or 1 is used it is essential to test the value of ifail on exit.
On exit: ifail=0 unless the routine detects an error or a warning has been flagged (see Section 6).

6 Error Indicators and Warnings

If on entry ifail=0 or -1, explanatory error messages are output on the current error message unit (as defined by x04aaf).
Errors or warnings detected by the routine:
ifail=1
On entry, n=value.
Constraint: n>0.
On entry, n=value.
Constraint: n is even.
ifail=2
On entry, a=value and b=value.
Constraint: a<b.
ifail=-99
An unexpected error has been triggered by this routine. Please contact NAG.
See Section 7 in the Introduction to the NAG Library FL Interface for further information.
ifail=-399
Your licence key may have expired or may not have been installed correctly.
See Section 8 in the Introduction to the NAG Library FL Interface for further information.
ifail=-999
Dynamic memory allocation failed.
See Section 9 in the Introduction to the NAG Library FL Interface for further information.

7 Accuracy

The Chebyshev Gauss–Lobatto grid points computed should be accurate to within a small multiple of machine precision.

8 Parallelism and Performance

d02ucf is not threaded in any implementation.

9 Further Comments

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

10 Example

See Section 10 in d02uef.