d02 Chapter Contents
d02 Chapter Introduction
NAG C Library Manual

# NAG Library Function Documentnag_ode_bvp_ps_lin_quad_weights (d02uyc)

## 1  Purpose

nag_ode_bvp_ps_lin_quad_weights (d02uyc) obtains the weights for Clenshaw–Curtis quadrature at Chebyshev points. This allows for fast approximations of integrals for functions specified on Chebyshev Gauss–Lobatto points on $\left[-1,1\right]$.

## 2  Specification

 #include #include
 void nag_ode_bvp_ps_lin_quad_weights (Integer n, double w[], NagError *fail)

## 3  Description

Given the (Clenshaw–Curtis) weights ${w}_{\mathit{i}}$, for $\mathit{i}=0,1,\dots ,n$, and function values ${f}_{\mathit{i}}=f\left({t}_{\mathit{i}}\right)$ (where ${t}_{\mathit{i}}=-\mathrm{cos}\left(\mathit{i}×\pi /n\right)$, for $\mathit{i}=0,1,\dots ,n$, are the Chebyshev Gauss–Lobatto points), then $\underset{-1}{\overset{1}{\int }}f\left(x\right)dx\approx \sum _{\mathit{i}=0}^{n}{w}_{i}{f}_{i}$.
For a function discretized on a Chebyshev Gauss–Lobatto grid on $\left[a,b\right]$ the resultant summation must be multiplied by the factor $\left(b-a\right)/2$.

## 4  References

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$.
Constraint: ${\mathbf{n}}>0$ and n is even.
2:     w[${\mathbf{n}}+1$]doubleOutput
On exit: the Clenshaw–Curtis quadrature weights, ${w}_{\mathit{i}}$, for $\mathit{i}=0,1,\dots ,n$.
3:     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.
On entry, argument $〈\mathit{\text{value}}〉$ had an illegal value.
NE_INT
On entry, ${\mathbf{n}}=〈\mathit{\text{value}}〉$.
Constraint: ${\mathbf{n}}>0$.
On entry, ${\mathbf{n}}=〈\mathit{\text{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 accuracy should be close to machine precision.

A real array of length $2n$ is internally allocated.

## 9  Example

This example approximates the integral $\underset{-1}{\overset{3}{\int }}3{x}^{2}dx$ using $65$ Clenshaw–Curtis weights and a $\mathrm{65}$-point Chebyshev Gauss–Lobatto grid on $\left[-1,3\right]$.

### 9.1  Program Text

Program Text (d02uyce.c)

### 9.2  Program Data

Program Data (d02uyce.d)

### 9.3  Program Results

Program Results (d02uyce.r)