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

Settings help

FL Name Style:


FL Specification Language:


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: x(n+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 to set behaviour on detection of an error; these values have no effect when no error is detected.
A value of 0 causes the printing of an error message and program execution will be halted; otherwise program execution continues. A value of −1 means that an error message is printed while a value of 1 means that it is not.
If halting is not appropriate, the value −1 or 1 is recommended. If message printing is undesirable, then the value 1 is recommended. Otherwise, the value 0 is recommended. 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 log(n) 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 d02uef.