Class inte_cheb_gsl (o2scl)¶
-
template<class func_t>
class inte_cheb_gsl : public o2scl::inte_transform_gsl<func_t>¶ Chebyshev integration base class (GSL)
This class provides the basic Chebyshev integration functions for use in the GSL-based integration classes which require them.
See GSL-based integration details in the User’s guide for general information about the GSL integration classes.
Subclassed by o2scl::inte_qawc_gsl< func_t >, o2scl::inte_qawo_gsl_sin< func_t >, o2scl::inte_qaws_gsl< func_t >
Protected Functions
-
inline void compute_moments(double cc, double *moment)¶
Compute the Chebyshev moments.
-
template<class func2_t>
inline void inte_cheb_series(func2_t &f, double a, double b, double *cheb12, double *cheb24)¶ Compute Chebyshev series expansion using a FFT method.
The Chebyshev coefficients for the truncated expansions,
and using an FFT algorithm.The FFT algorithm, from [Tolstov62], is adapted so that the both sets of coefficients are computed simultaneously.
Given the function specified in
f
, this function computes the 13 Chebyshev coefficients, of degree 12 and 25 Chebyshev coefficients of degree 24, , for the interval using a FFT method.These coefficients are constructed to approximate the original function with
is the Chebyshev polynomial of degree evaluated at the point .It is assumed that memory for
cheb12
andcheb24
has been allocated beforehand.Originally written in QUADPACK by R. Piessens and E. de Doncker, translated into C for GSL by Brian Gough, and then rewritten for .
-
inline void compute_moments(double cc, double *moment)¶