# cc_project

cc_project, a MATLAB code which investigates the extension of a Clenshaw-Curtis-like quadrature scheme to semi-infinite and infinite intervals, and to integrands with a specified density function.

The Legendre integral for f(x) is:

```        I(f) = integral ( -1 <= x <= +1 ) f(x) dx
```
Quadrature rules for the Legendre integral include:
• Clenshaw-Curtis quadrature, a sequence of nested quadrature rules, which include the endpoints; the rule of order N has exactness N-1 (if N is even) or N (if N is odd);
• Fejer Type 2 quadrature, a sequence of nested quadrature rules, which include the endpoints; the rule of order N has exactness N-1 (if N is even) or N (if N is odd);

The Laguerre integral for f(x) is:

```        I(f) = integral ( 0 <= x <= +oo ) f(x) rho(x) dx
```
Depending on the value of the density function rho(x) we have:
• rho(x) = exp(-x): Laguerre 0 integral;
• rho(x) = 1: Laguerre 1 integral.
• CCFI_0 rules for integral ( 0 <= x <= +oo ) f(x) exp(-x) dx;
• CCFI_1 rules for integral ( 0 <= x <= +oo ) f(x) dx.

### Languages:

cc_project is available in a MATLAB version.

### Reference:

1. John Boyd,
Exponentially convergent Fourier-Chebyshev quadrature schemes on bounded and infinite intervals,
Journal of Scientific Computing,
Volume 2, Number 2, 1987, pages 99-109.

### Source Code:

• cardinal_cos.m, evaluates a cardinal cosine interpolation basis function.
• cardinal_sin.m, evaluates a cardinal sine interpolation basis function.
• ccff.m, defines points and weights for Boyd's quadrature rule for [-1,1] with density 1.
• ccff_asymptotic.m, examines asymptotic error for a given integrand, for Boyd's quadrature rule for [-1,+1] with density 1.
• ccfi_0.m, defines points and weights for Boyd's quadrature rule for [0,+oo) with density exp(-x).
• ccfi_1.m, defines points and weights for Boyd's quadrature rule for [0,+oo) with density 1.
• ccii_0.m, defines points and weights for Boyd's quadrature rule for (-oo,+oo) with density exp(-x^2).
• ccii_1.m, defines points and weights for Boyd's quadrature rule for (-oo,+oo) with density 1.
• chebyshev1_compute.m computes a Gauss-Chebyshev type 1 quadrature rule.
• chebyshev2_compute.m computes a Gauss-Chebyshev type 2 quadrature rule.
• chebyshev3_compute.m, computes a Gauss-Chebyshev type 3 quadrature rule.
• fejer1_compute.m, computes a Fejer type 1 quadrature rule.
• fejer2_compute.m, computes a Fejer type 2 quadrature rule.
• legendre_integral.m, returns the value of the Legendre integral of a monomial.
• legendre_monomial_quadrature.m, determines the error when a quadrature rule is applied to the Legendre integral of a monomial.
• legendre_test_integral.m, returns the exact value of the Legendre integral of the test integrand.
• legendre_test_integrand.m, evaluates a test integrand for the Legendre integral.
• r8_mop.m, evaluates an integer power of -1 as an R8.