Alexandria 2.31.0
SDC-CH common library for the Euclid project
|
Interface representing a differentiable function. More...
#include <Differentiable.h>
Public Member Functions | |
virtual | ~Differentiable ()=default |
Default destructor. | |
virtual std::shared_ptr< Function > | derivative () const =0 |
Returns a Function representing the derivative. | |
virtual std::shared_ptr< Function > | indefiniteIntegral () const =0 |
Returns a Function representing the indefiniteIntegral. | |
double | integrate (const double x1, const double x2) const final |
![]() | |
virtual | ~Integrable ()=default |
Default destructor. | |
![]() | |
virtual std::unique_ptr< NAryFunction > | clone () const =0 |
Interface representing a differentiable function.
A function is differentiable if its derivative and indefinite integrals can be calculated in a fast, analytical way. The implementations of this interface should implement the derivative() and indefiniteIntegral() functions accordingly. Note that the Differentiable class implements the Integrable interface by using the indefiniteIntegral().
Definition at line 49 of file Differentiable.h.
|
virtualdefault |
Default destructor.
|
pure virtual |
Returns a Function representing the derivative.
Implemented in Euclid::MathUtils::Polynomial.
|
pure virtual |
Returns a Function representing the indefiniteIntegral.
Implemented in Euclid::MathUtils::Polynomial.
References Euclid::MathUtils::integrate().
Referenced by integrate().
|
finalvirtual |
Calculates the integral in the range [x1,x2], by using the indefinite integral.
x1 | The lower bound of the integration |
x2 | The upper bound of the integration |
Implements Euclid::MathUtils::Integrable.
Definition at line 30 of file Differentiable.cpp.
References indefiniteIntegral().