## Gauss-Chebyshev Quadrature

Gauss-Chebyshev quadrature formulas are used to integrate functions*f(x) / sqrt( 1 - x² )*from

*-1*to

*1*.

With respect to the inner product

*< f,g >*=

*∫*, the Chebyshev polynomials

_{-1}^{1}(f(x) g(x) w(x))*T*for

_{ n}(x) = cos( n arccos( x ) )*n > 0*, and

*T*form an orthogonal family of polynomials with weight function

_{0}(x) = 1*w(x) = 1 / sqrt( 1 - x² )*on

*[-1,1]*.

The

*n*-point Gauss-Chebyshev quadrature formula,

*GC*for approximating the integral of

_{n}( f(x) ),*f(x) / sqrt( 1 - x² )*over

*[-1,1]*, is given by

*GC*=

_{n}( f(x) )*A*,

_{1}f(x_{1}) + ··· + A_{n}f(x_{n})*x*are the zeros of

_{i}, i = 1,...,n,*T*and

_{n}*A*,

_{i}= π / n*i = 1,...,n*.

The truncation error is

*∫*-

_{-1}^{1}( f(x) )*GC*=

_{n}( f(x) )*2 π f*,

^{ (2n)}( c ) / (2^{2n}2n! )*c*is some unknown number

*-1 < c < 1*.

### Function List

For*n = 2,3,4,5,6,7,8,9,10,12,14,16,20,24,28,32,40,48,56,64,82,96, and 100*

- double Gauss_Chebyshev_Integration_
*n*pts( double (*f)(double) )

Integrate (*f)(x) / sqrt( 1 - x² ) from*-1*to*1*where (*f)(x) is the user supplied function.

- void Gauss_Chebyshev_Zeros_
*n*pts( double nodes[ ])

Returns the zeros of the Chebyshev polynomial*T*in the user allocated array nodes of dimension n._{n}(x)

- void Gauss_Chebyshev_Coefs_
*n*pts( double wght[ ] )

Returns the weight of the Gauss-Chebyshev formula in the user allocated array wght of dimension 1.

*C* Source Code

- The file, gauss_chebyshev_2pts.c, contains the versions of Gauss_Chebyshev_Integration_2pts( ), Gauss_Chebyshev_Zeros_2pts and Gauss_Chebyshev_Coefs_2pts( ) written in
*C*.

- The file, gauss_chebyshev_3pts.c, contains the versions of Gauss_Chebyshev_Integration_3pts( ), Gauss_Chebyshev_Zeros_3pts and Gauss_Chebyshev_Coefs_3pts( ) written in
*C*.

- The file, gauss_chebyshev_4pts.c, contains the versions of Gauss_Chebyshev_Integration_4pts( ), Gauss_Chebyshev_Zeros_4pts and Gauss_Chebyshev_Coefs_4pts( ) written in
*C*.

- The file, gauss_chebyshev_5pts.c, contains the versions of Gauss_Chebyshev_Integration_5pts( ), Gauss_Chebyshev_Zeros_5pts and Gauss_Chebyshev_Coefs_5pts( ) written in
*C*.

- The file, gauss_chebyshev_6pts.c, contains the versions of Gauss_Chebyshev_Integration_6pts( ), Gauss_Chebyshev_Zeros_6pts and Gauss_Chebyshev_Coefs_6pts( ) written in
*C*.

- The file, gauss_chebyshev_7pts.c, contains the versions of Gauss_Chebyshev_Integration_7pts( ), Gauss_Chebyshev_Zeros_7pts and Gauss_Chebyshev_Coefs_7pts( ) written in
*C*.

- The file, gauss_chebyshev_8pts.c, contains the versions of Gauss_Chebyshev_Integration_8pts( ), Gauss_Chebyshev_Zeros_8pts and Gauss_Chebyshev_Coefs_8pts( ) written in
*C*.

- The file, gauss_chebyshev_9pts.c, contains the versions of Gauss_Chebyshev_Integration_9pts( ), Gauss_Chebyshev_Zeros_9pts and Gauss_Chebyshev_Coefs_9pts( ) written in
*C*.

- The file, gauss_chebyshev_10pts.c, contains the versions of Gauss_Chebyshev_Integration_10pts( ), Gauss_Chebyshev_Zeros_10pts and Gauss_Chebyshev_Coefs_10pts( ) written in
*C*.

- The file, gauss_chebyshev_12pts.c, contains the versions of Gauss_Chebyshev_Integration_12pts( ), Gauss_Chebyshev_Zeros_12pts and Gauss_Chebyshev_Coefs_12pts( ) written in
*C*.

- The file, gauss_chebyshev_14pts.c, contains the versions of Gauss_Chebyshev_Integration_14pts( ), Gauss_Chebyshev_Zeros_14pts and Gauss_Chebyshev_Coefs_14pts( ) written in
*C*.

- The file, gauss_chebyshev_16pts.c, contains the versions of Gauss_Chebyshev_Integration_16pts( ), Gauss_Chebyshev_Zeros_16pts and Gauss_Chebyshev_Coefs_16pts( ) written in
*C*.

- The file, gauss_chebyshev_20pts.c, contains the versions of Gauss_Chebyshev_Integration_20pts( ), Gauss_Chebyshev_Zeros_20pts and Gauss_Chebyshev_Coefs_20pts( ) written in
*C*.

- The file, gauss_chebyshev_24pts.c, contains the versions of Gauss_Chebyshev_Integration_24pts( ), Gauss_Chebyshev_Zeros_24pts and Gauss_Chebyshev_Coefs_24pts( ) written in
*C*.

- The file, gauss_chebyshev_28pts.c, contains the versions of Gauss_Chebyshev_Integration_28pts( ), Gauss_Chebyshev_Zeros_28pts and Gauss_Chebyshev_Coefs_28pts( ) written in
*C*.

- The file, gauss_chebyshev_32pts.c, contains the versions of Gauss_Chebyshev_Integration_32pts( ), Gauss_Chebyshev_Zeros_32pts and Gauss_Chebyshev_Coefs_32pts( ) written in
*C*.

- The file, gauss_chebyshev_40pts.c, contains the versions of Gauss_Chebyshev_Integration_40pts( ), Gauss_Chebyshev_Zeros_40pts and Gauss_Chebyshev_Coefs_40pts( ) written in
*C*.

- The file, gauss_chebyshev_48pts.c, contains the versions of Gauss_Chebyshev_Integration_48pts( ), Gauss_Chebyshev_Zeros_48pts and Gauss_Chebyshev_Coefs_48pts( ) written in
*C*.

- The file, gauss_chebyshev_56pts.c, contains the versions of Gauss_Chebyshev_Integration_56pts( ), Gauss_Chebyshev_Zeros_56pts and Gauss_Chebyshev_Coefs_56pts( ) written in
*C*.

- The file, gauss_chebyshev_64pts.c, contains the versions of Gauss_Chebyshev_Integration_64pts( ), Gauss_Chebyshev_Zeros_64pts and Gauss_Chebyshev_Coefs_64pts( ) written in
*C*.

- The file, gauss_chebyshev_82pts.c, contains the versions of Gauss_Chebyshev_Integration_82pts( ), Gauss_Chebyshev_Zeros_82pts and Gauss_Chebyshev_Coefs_82pts( ) written in
*C*.

- The file, gauss_chebyshev_96pts.c, contains the versions of Gauss_Chebyshev_Integration_96pts( ), Gauss_Chebyshev_Zeros_96pts and Gauss_Chebyshev_Coefs_96pts( ) written in
*C*.

- The file, gauss_chebyshev_100pts.c, contains the versions of Gauss_Chebyshev_Integration_100pts( ), Gauss_Chebyshev_Zeros_100pts and Gauss_Chebyshev_Coefs_100pts( ) written in
*C*.