Chebyshev approximation (GSL) More...
#include <cheb_approx.h>
Approximate a function on a finite interval using a Chebyshev series:
where
See also the Chebyshev approximation example .
Definition at line 49 of file cheb_approx.h.
Public Types | |
typedef boost::numeric::ublas::vector< fp_t > | ubvector |
Public Member Functions | |
cheb_approx_tl (const cheb_approx_tl &gc) | |
Copy constructor. | |
cheb_approx_tl & | operator= (const cheb_approx_tl &gc) |
Copy constructor. | |
Initialization methods | |
template<class func_t > | |
void | init (func_t &func, size_t ord, fp_t a1, fp_t b1) |
Initialize a Chebyshev approximation of the function func over the interval from a1 to b1 . More... | |
template<class vec_t > | |
void | init (fp_t a1, fp_t b1, size_t ord, vec_t &v) |
Create an approximation from a vector of coefficients. | |
template<class vec_t > | |
void | init_func_values (fp_t a1, fp_t b1, size_t ord, vec_t &fval) |
Create an approximation from a vector of function values. | |
Evaulation methods | |
fp_t | eval (fp_t x) const |
Evaluate the approximation. | |
fp_t | operator() (fp_t x) const |
Evaluate the approximation. | |
fp_t | eval_n (size_t n, fp_t x) const |
Evaluate the approximation to a specified order. | |
void | eval_err (fp_t x, fp_t &result, fp_t &abserr) |
Evaluate the approximation and give the uncertainty. | |
void | eval_n_err (size_t n, fp_t x, fp_t &result, fp_t &abserr) |
Evaluate the approximation to a specified order and give the uncertainty. | |
Maniupulating coefficients and endpoints | |
fp_t | get_coefficient (size_t ix) const |
Get a coefficient. More... | |
void | set_coefficient (size_t ix, fp_t co) |
Set a coefficient. More... | |
void | get_endpoints (fp_t &la, fp_t &lb) |
Return the endpoints of the approximation. | |
template<class vec_t > | |
void | get_coefficients (size_t n, vec_t &v) const |
Get the coefficients. | |
template<class vec_t > | |
void | set_coefficients (size_t n, const vec_t &v) |
Set the coefficients. | |
Derivatives and integrals | |
void | deriv (cheb_approx_tl &gc) const |
Make gc an approximation to the derivative. | |
void | integ (cheb_approx_tl &gc) const |
Make gc an approximation to the integral. | |
Protected Attributes | |
ubvector | c |
Coefficients. | |
size_t | order |
Order of the approximation. | |
fp_t | a |
Lower end of the interval. | |
fp_t | b |
Upper end of the interval. | |
size_t | order_sp |
Single precision order. | |
ubvector | f |
Function evaluated at Chebyshev points. | |
bool | init_called |
True if init has been called. | |
fp_t | pi |
Desc. | |
|
inline |
Legal values of the argument are 0 to order
(inclusive)
Definition at line 351 of file cheb_approx.h.
|
inline |
The interval must be specified so that , so a and b are swapped if this is not the case.
Definition at line 120 of file cheb_approx.h.
|
inline |
Legal values of the argument are 0 to order
(inclusive)
Definition at line 365 of file cheb_approx.h.
Documentation generated with Doxygen. Provided under the
GNU Free Documentation License (see License Information).