What is the purpose for having the firstDerivative() and
secondDerivative() methods on a UnivariateRealFunction ?
It is a little troubling to me to have at this level (perhaps if needed
a subclass such as UnivariateDifferentiableRealFunction ). Most numerical
processes only require a
The CubicSplineFunction is the only place, that I'm aware of, that
truly implements these methods. Also, these method are never called
anywhere in the code, save the unit tests. This includes calls
through either the interface or the concrete classes.
As I see it we have three choices:
1) let
Not attached to this, a Differentiable Interface would be acceptable to
me too.
On another subject, maybe because of my naivety, why are these
interfaces called UnivariateRealFunction and not simply something more
generic like RealFunction? I say this strictly because of what I
consider an
I suggest that we remove the derivative methods from the interface. My
thought is that in general, a user would not need to calculate and program
the first and second derivatives.
I'd like to put a little more thought into the Differentiable
interface, there are two tracks of thought
Matt Cliff wrote:
What is the purpose for having the firstDerivative() and
secondDerivative() methods on a UnivariateRealFunction ?
The first derivative could be used in a Newton solver. The
second derivative could be used in yet another higher order
root finder, or for providing error estimates