CLENSHAW_CURTIS_RULE is a C program which generates a Clenshaw Curtis quadrature rule based on user input.

The rule is written to three files for easy use as input to other programs.

The standard Clenshaw Curtis quadrature rule is used as follows:

```        Integral ( A <= x <= B ) f(x) dx
```
is to be approximated by
```        Sum ( 1 <= i <= order ) w(i) * f(x(i))
```

Usage:

clenshaw_curtis_rule order a b filename
where
• order is the number of points in the quadrature rule;
• a is the left endpoint;
• b is the right endpoint;
• filename specifies the output filenames: namefile_w.txt, filename_x.txt, and filename_r.txt, containing the weights, abscissas, and interval limits.

Languages:

CLENSHAW_CURTIS_RULE is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version.

Related Data and Programs:

CCN_RULE, a C program which defines one of a set of nested Clenshaw Curtis quadrature rules.

CHEBYSHEV1_RULE, a C++ program which can compute and print a Gauss-Chebyshev type 1 quadrature rule.

CHEBYSHEV2_RULE, a C++ program which can compute and print a Gauss-Chebyshev type 2 quadrature rule.

GEGENBAUER_RULE, a C++ program which can compute and print a Gauss-Gegenbauer quadrature rule.

HERMITE_RULE, a C program which can compute and print a Gauss-Hermite quadrature rule.

LAGUERRE_RULE, a C program which can compute and print a Gauss-Laguerre quadrature rule for estimating the integral of a function with density exp(-x) over the interval [0,+oo).

LEGENDRE_RULE, a C program which computes a 1D Gauss-Legendre quadrature rule.

LINE_FELIPPA_RULE, a C library which returns the points and weights of a Felippa quadrature rule over the interior of a line segment in 1D.

LINE_NCC_RULE, a C library which computes a Newton Cotes Closed (NCC) quadrature rule for the line, that is, for an interval of the form [A,B], using equally spaced points which include the endpoints.

LINE_NCO_RULE, a C library which computes a Newton Cotes Open (NCO) quadrature rule, using equally spaced points, over the interior of a line segment in 1D.

PATTERSON_RULE, a C program which returns the points and weights of a 1D Gauss-Patterson quadrature rule of order 1, 3, 7, 15, 31, 63, 127, 255 or 511.

POWER_RULE, a C program which constructs a power rule, that is, a product quadrature rule from identical 1D factor rules.

PRODUCT_RULE, a C program which constructs a product quadrature rule from distinct 1D factor rules.

QUADRATURE_RULES_CLENSHAW_CURTIS, a dataset directory which contains quadrature rules for integration on [-1,+1], using a Clenshaw Curtis rule.

TANH_SINH_RULE, a C++ program which computes and writes out a tanh-sinh quadrature rule of given order.

TEST_INT, a C library which defines test integrands for 1D quadrature rules.

Reference:

1. Milton Abramowitz, Irene Stegun,
Handbook of Mathematical Functions,
National Bureau of Standards, 1964,
ISBN: 0-486-61272-4,
LC: QA47.A34.
2. Philip Davis, Philip Rabinowitz,
Methods of Numerical Integration,
Second Edition,
Dover, 2007,
ISBN: 0486453391,
LC: QA299.3.D28.
3. Arthur Stroud, Don Secrest,
Prentice Hall, 1966,
LC: QA299.4G3S7.

Examples and Tests:

• cc_o5_r.txt, the region file created by the command
```
clenshaw_curtis_rule 5 cc_o5
```
• cc_o5_w.txt, the weight file created by the command
```
clenshaw_curtis_rule 5 cc_o5
```
• cc_o5_x.txt, the abscissa file created by the command
```
clenshaw_curtis_rule 5 cc_o5
```

List of Routines:

• MAIN is the main program for CLENSHAW_CURTIS_RULE.
• CLENSHAW_CURTIS_COMPUTE computes a Clenshaw Curtis quadrature rule.
• CLENSHAW_CURTIS_HANDLE computes a Clenshaw Curtis rule and outputs it.
• R8MAT_WRITE writes an R8MAT file with no header.
• RESCALE rescales a Legendre quadrature rule from [-1,+1] to [A,B].
• TIMESTAMP prints the current YMDHMS date as a time stamp.

You can go up one level to the C source codes.

Last revised on 01 October 2012.