class ROOT::Math::Chebyshev


Class describing a Chebyshev series which can be used to approximate a
function in a defined range [a,b] using Chebyshev polynomials.
It uses the algorithm from
<A HREF="http://www.gnu.org/software/gsl/manual/html_node/Chebyshev-Approximations.html">GSL</A>

This class does not support copying
@ingroup FuncApprox

Function Members (Methods)

public:
virtual~Chebyshev()
ROOT::Math::ChebyshevChebyshev(const ROOT::Math::IGenFunction& f, double a, double b, size_t n)
ROOT::Math::ChebyshevChebyshev(ROOT::Math::GSLFuncPointer f, void* p, double a, double b, size_t n)
ROOT::Math::Chebyshev*Deriv()
pair<double,double>EvalErr(double x) const
pair<double,double>EvalErr(double x, size_t n) const
ROOT::Math::Chebyshev*Integral()
doubleoperator()(double x) const
doubleoperator()(double x, size_t n) const
protected:
voidInitialize(ROOT::Math::GSLFuncPointer f, void* params, double a, double b)
private:
ROOT::Math::ChebyshevChebyshev(size_t n)
ROOT::Math::ChebyshevChebyshev(const ROOT::Math::Chebyshev&)
ROOT::Math::Chebyshev&operator=(const ROOT::Math::Chebyshev&)

Data Members

private:
ROOT::Math::GSLFunctionWrapper*fFunctionpointer to function
size_tfOrder
ROOT::Math::GSLChebSeries*fSeries

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

Chebyshev(const ROOT::Math::IGenFunction& f, double a, double b, size_t n)
Construct a Chebyshev series approximation to a Function f in range [a,b];
constructor based on functions of type IGenFunction

Chebyshev(ROOT::Math::GSLFuncPointer f, void* p, double a, double b, size_t n)
Construct a Chebyshev series approximation to a Function f in range [a,b];
constructor based on free functions with gsl_function type signature

virtual ~Chebyshev()
 destructor
Chebyshev(size_t n)
construct a Chebyshev series or order n
The series must be initialized from a function

Chebyshev(const Chebyshev &)
 usually copying is non trivial, so we make this unaccessible
double operator()(double x) const
Evaluate the series at a given point x

std::pair<double, double> EvalErr(double x) const
Evaluate the series at a given point x estimating both the series result and its absolute error.
The error estimate is made from the first neglected term in the series.
A pair containing result and error is returned

double operator()(double x, size_t n) const
Evaluate the series at a given point, to (at most) the given order n

std::pair<double, double> EvalErr(double x, size_t n) const
evaluate the series at a given point x to the given order n,
estimating both the series result and its absolute error.
The error estimate is made from the first neglected term in the series.
A pair containing result and error is returned

Chebyshev * Deriv()
Compute the derivative of the series and return a pointer to a new Chebyshev series with the
derivatives coefficients. The returned pointer must be managed by the user.

TO DO: implement copying to return by value
Chebyshev * Integral()
Compute the integral of the series and return a pointer to a new Chebyshev series with the
integral coefficients. The lower limit of the integration is the left range value a.
The returned pointer must be managed by the user

TO DO: implement copying to return by value
void Initialize(ROOT::Math::GSLFuncPointer f, void* params, double a, double b)
Initialize series passing function and range


Last update: root/mathmore:$Id: Chebyshev.h 21503 2007-12-19 17:34:54Z moneta $
Copyright (c) 2004 ROOT Foundation, CERN/PH-SFT *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.