commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Anxionnat Julien <>
Subject RE: [math] API proposal for differentiation
Date Mon, 23 Jul 2012 15:03:02 GMT
Hi Luc,
Hi all,

> [...]
> Last week, at work, someone asked me again about differentiation and I
> directed him to this issue and also to the Nabla project. He told me he
> was interested in having some support in [math] for this (I'm not sure
> he reads this list, but if he does, I hope he will join the
> discussion).

To precise your introduction, I'm working at the french space agency (Cnes) on satellite guidance
and attitude.
I have to deal with functions like that:

    public double[] value (double t) { ... }

(The best interface for my subjects would be: public Vector3D value (double t) { ... }, but
it's not the point now.)

> [...]
> I suggest we deprecate this interface and add a new one defining
> method:
>  RallNumber value(RallNumber x)
> This interface could extend UnivariateFunction in which case when we
> want to compute only the value we use the same object, or it could also
> define a getPrimitive method the would return a separate primitive
> object (this is how it is done in Nabla, with the interface
> UnivariateDerivative
> (<
> bla/core/UnivariateDerivative.html>),
> or it can even be completely separate from UnivariateFunction.
> Multivariate differentiable functions or vector valued functions would
> be done exactly the same way: replacing the parameter or return value
> types from double arrays to RallNumber arrays. This would be much more
> consistent than what we currently have (we have methods called
> partialDerivatives, gradients, jacobians and even several methods
> called
> derivative which do not have the same signatures).

I'm sorry, I don't understand how it's gonna be for my function :
    value(double t): double[]

I just tried to code the interfaces (UnivariateVectorDifferentiable, UnivariateVectorDerivative,
DifferentialPair, UnivariateVectorDifferentiator) and the TwoPointsScheme differentiator.

If I get your purpose, DifferentialPair has to contain:
    - "zero-order": x, f(x)
    - first order: f(x), f'(x)
    - second order: f'(x), f''(x)
    - etc.
=> What happens for the zero order (x is a double, not an array of double) ?


To unsubscribe, e-mail:
For additional commands, e-mail:
View raw message