Next Orekit version

I have added UnivariateDerivative1, UnivariateDerivative2, Gradient, FieldUnivariateDerivative1, FieldUnivariateDerivative2 and FieldGradient to Hipparchus, thus solving issue 93.

I hope this could improve Orekit performance in a number of places, mainly in the orbit determination. I cannot check this before I come back. Could someone give it a try? The idea would be to first do a simple search for calls to DSFactory and FDSFactory constructors to see when they are called with either order =1 or order = 2. In fact, I guess most of our uses in Orekit are with order = 1, so there are several places where this could be used. If I remember well, in real applications we spend a lot of time in the various DerivativeStructure methods, so I hope there will be a gain.

It is possible to convert back and forth between these new classes and regular DerivativeStructure, but I fear it could hinder performances, so if we switch in some places to the new classes, we should stick with them.

Let me know if you need more adjustments, and if someone gives the new classes a try, let me know if it improves things or not.

1 Like