With Orekit 10.3.1 in Python, I retrieve a State Transition Matrix from a propagation with getMapper().getStateJacobian(sc: SpacecraftState, dydy0: Array2DRowRealMatrix) on the PDE object.
First, I assume that the PositionAngle implicitely used in Y and Y0 is the one used by the propagator, is that correct?
Now imagine I want to change the STM according to a particular PositionAngle. What’s the most elegant way of doing that? I was thinking of calling getJacobianWrtCartesian twice on the Orbit in the SpacecraftState and composing/inverting as required.
Let me now if my question is not clearly described.
You are right for both questions.
The angle type is the one used by the propagator, and converting the angle type can be done from the Jacobians (in fact as any other variable transforms).
One side note: the API for STM retrieval will change in 12.0. The new API has been introduced in 11.1 (the vote for releasing it is already ongoing), with the old API still available. The old API will be removed in 12.0. Instead of registering a
PartialDerivativesEquations to a propagator and retrieving a
JacobianMapper from it, you will get a
MatricesHarvester directly from the propagator.
PartialDerivativesEquations which was ill-designed and is difficult to use will be removed. The new API is also compatible with all propagators types, not only the numerical propagator.
Thank you Luc!
I’m interested in this new API. Definitely need to upgrade my version of Orekit.