public class JacobiansMapper extends Object implements Serializable
This class does not hold the states by itself. Instances of this class are guaranteed to be immutable.
PartialDerivativesEquations
,
NumericalPropagator
,
AbstractPropagator
,
Serialized FormConstructor and Description |
---|
JacobiansMapper(String nameIn,
List<Parameter> list,
OrbitType orbitTypeIn,
PositionAngle angleTypeIn,
Frame frame)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
int |
getAdditionalStateDimension()
Compute the length of the one-dimensional additional state array needed.
|
PositionAngle |
getAngleType()
Getter for the position angle type.
|
String |
getName()
Get the name of the partial Jacobians.
|
OrbitType |
getOrbitType()
Getter for the orbit type.
|
int |
getParameters()
Get the number of parameters.
|
double[] |
getParametersJacobian(Parameter parameter,
SpacecraftState state)
Get the Jacobian with respect to provided parameter
parameter . |
void |
getParametersJacobian(Parameter parameter,
SpacecraftState state,
double[] dYdP)
Get the Jacobian with respect to provided parameter
parameter . |
void |
getParametersJacobian(Parameter parameter,
SpacecraftState state,
double[] dYdP,
OrbitType orbitTypeIn,
PositionAngle angleTypeIn,
Frame frameIn)
Get the Jacobian with respect to provided parameter
parameter . |
double[] |
getParametersJacobian(Parameter parameter,
SpacecraftState state,
OrbitType orbitTypeIn,
PositionAngle angleTypeIn,
Frame frameIn)
Get the Jacobian with respect to provided parameter
parameter . |
double[][] |
getParametersJacobian(SpacecraftState state)
Get the Jacobian with respect to parameters.
|
void |
getParametersJacobian(SpacecraftState state,
double[][] dYdP)
Get the Jacobian with respect to parameters.
|
void |
getParametersJacobian(SpacecraftState state,
double[][] dYdP,
OrbitType orbitTypeIn,
PositionAngle angleTypeIn,
Frame frameIn)
Get the Jacobian with respect to parameters.
|
double[][] |
getParametersJacobian(SpacecraftState state,
OrbitType orbitTypeOut,
PositionAngle angleTypeOut,
Frame frameOut)
Get the Jacobian with respect to parameters.
|
List<Parameter> |
getParametersList()
Get parameters list.
|
Frame |
getPropagationFrame()
Getter for the propagation frame.
|
int |
getStateDimension()
Get the state vector dimension.
|
double[][] |
getStateJacobian(SpacecraftState state)
Get the Jacobian with respect to state.
|
void |
getStateJacobian(SpacecraftState state,
double[][] dYdY0)
Get the Jacobian with respect to state.
|
void |
getStateJacobian(SpacecraftState state,
double[][] dYdY0,
OrbitType orbitTypeIn,
PositionAngle angleTypeIn,
Frame frameIn)
Get the Jacobian with respect to state.
|
double[][] |
getStateJacobian(SpacecraftState state,
OrbitType orbitTypeOut,
PositionAngle angleTypeOut,
Frame frameOut)
Get the Jacobian with respect to state.
|
void |
setInitialJacobians(SpacecraftState state,
double[][] dY1dY0,
double[][] dY1dP,
double[] p)
Set the Jacobian with respect to state into a one-dimensional additional state array.
|
public JacobiansMapper(String nameIn, List<Parameter> list, OrbitType orbitTypeIn, PositionAngle angleTypeIn, Frame frame)
nameIn
- name of the Jacobians
being included or not)list
- parameters listorbitTypeIn
- orbit typeangleTypeIn
- position angle typeframe
- propagation framepublic String getName()
public int getAdditionalStateDimension()
public int getStateDimension()
public int getParameters()
public List<Parameter> getParametersList()
public OrbitType getOrbitType()
public PositionAngle getAngleType()
public Frame getPropagationFrame()
public void setInitialJacobians(SpacecraftState state, double[][] dY1dY0, double[][] dY1dP, double[] p) throws PatriusException
This method converts the Jacobians to cartesian parameters and put the converted data in the
one-dimensional p
array.
state
- spacecraft statedY1dY0
- Jacobian of current state at time t1
with respect to state at some previous time t0dY1dP
- Jacobian of current state at time t1
with respect to parameters (may be null if there are no parameters)p
- placeholder where to put the one-dimensional additional statePatriusException
- thrown if jacobian computation failedgetStateJacobian(SpacecraftState, double[][])
public void getStateJacobian(SpacecraftState state, double[][] dYdY0) throws PatriusException
This method extract the data from the state and put it in the dYdY0
array.
state
- spacecraft statedYdY0
- placeholder where to put the Jacobian with respect to statePatriusException
- thrown if partial derivatives are not included in stategetParametersJacobian(SpacecraftState, double[][])
,
getParametersJacobian(Parameter, SpacecraftState, double[])
public void getStateJacobian(SpacecraftState state, double[][] dYdY0, OrbitType orbitTypeIn, PositionAngle angleTypeIn, Frame frameIn) throws PatriusException
This method extract the data from the state and put it in the dYdY0
array.
The jacobian is converted into the specified orbit type, angle type and frame. To be more specific, if M is the conversion, the new jacobian is Jn = M * J (i.e. only the output part is converted)
state
- spacecraft statedYdY0
- placeholder where to put the Jacobian with respect to stateorbitTypeIn
- orbit typeangleTypeIn
- position angle typeframeIn
- propagation framePatriusException
- thrown if partial derivatives are not included in stategetParametersJacobian(SpacecraftState, double[][])
,
getParametersJacobian(Parameter, SpacecraftState, double[])
public double[][] getStateJacobian(SpacecraftState state) throws PatriusException
This method extract the data from the state.
state
- spacecraft statePatriusException
- thrown if partial derivatives are not included in stategetParametersJacobian(SpacecraftState)
,
getParametersJacobian(Parameter, SpacecraftState)
public double[][] getStateJacobian(SpacecraftState state, OrbitType orbitTypeOut, PositionAngle angleTypeOut, Frame frameOut) throws PatriusException
This method extract the data from the state.
The jacobian is converted into the specified orbit type, angle type and frame. To be more specific, if M is the conversion, the new jacobian is Jn = M * J (i.e. only the output part is converted)
state
- spacecraft stateorbitTypeOut
- orbit typeangleTypeOut
- position angle typeframeOut
- framePatriusException
- thrown if partial derivatives are not included in stategetParametersJacobian(SpacecraftState)
,
getParametersJacobian(Parameter, SpacecraftState)
public void getParametersJacobian(SpacecraftState state, double[][] dYdP) throws PatriusException
This method extract the data from the state and put it in the dYdP
array.
If no parameters have been set in the constructor, the method returns immediately and does
not reference dYdP
which can safely be null in this case.
state
- spacecraft statedYdP
- placeholder where to put the Jacobian with respect to parametersPatriusException
- thrown if partial derivatives are not included in stategetStateJacobian(SpacecraftState, double[][])
,
getParametersJacobian(Parameter, SpacecraftState, double[])
public void getParametersJacobian(SpacecraftState state, double[][] dYdP, OrbitType orbitTypeIn, PositionAngle angleTypeIn, Frame frameIn) throws PatriusException
This method extract the data from the state and put it in the dYdP
array.
If no parameters have been set in the constructor, the method returns immediately and does
not reference dYdP
which can safely be null in this case.
The jacobian is converted into the specified orbit type, angle type and frame. To be more specific, if M is the conversion, the new jacobian is Jn = M * J (i.e. only the output part is converted)
state
- spacecraft statedYdP
- placeholder where to put the Jacobian with respect to parametersorbitTypeIn
- orbit typeangleTypeIn
- position angle typeframeIn
- propagation framePatriusException
- thrown if partial derivatives are not included in stategetStateJacobian(SpacecraftState, double[][])
,
getParametersJacobian(Parameter, SpacecraftState, double[])
public final double[][] getParametersJacobian(SpacecraftState state) throws PatriusException
This method extract the data from the state.
state
- spacecraft statePatriusException
- thrown if partial derivatives are not included in stategetStateJacobian(SpacecraftState)
,
getParametersJacobian(Parameter, SpacecraftState)
public final double[][] getParametersJacobian(SpacecraftState state, OrbitType orbitTypeOut, PositionAngle angleTypeOut, Frame frameOut) throws PatriusException
This method extract the data from the state.
The jacobian is converted into the specified orbit type, angle type and frame. To be more specific, if M is the conversion, the new jacobian is Jn = M * J (i.e. only the output part is converted)
state
- spacecraft stateorbitTypeOut
- orbit typeangleTypeOut
- position angle typeframeOut
- framePatriusException
- thrown if partial derivatives are not included in stategetStateJacobian(SpacecraftState)
,
getParametersJacobian(Parameter, SpacecraftState)
public void getParametersJacobian(Parameter parameter, SpacecraftState state, double[] dYdP) throws PatriusException
parameter
.
This method extract the data from the state.
parameter
- parameterstate
- spacecraft statedYdP
- placeholder where to put the Jacobian with respect to provided parameterPatriusException
- thrown if partial derivatives are not included in stategetParametersJacobian(SpacecraftState, double[][])
public void getParametersJacobian(Parameter parameter, SpacecraftState state, double[] dYdP, OrbitType orbitTypeIn, PositionAngle angleTypeIn, Frame frameIn) throws PatriusException
parameter
.
This method extract the data from the state.
The jacobian is converted into the specified orbit type, angle type and frame. To be more specific, if M is the conversion, the new jacobian is Jn = M * J (i.e. only the output part is converted)
parameter
- parameterstate
- spacecraft statedYdP
- placeholder where to put the Jacobian with respect to provided parameterorbitTypeIn
- orbit typeangleTypeIn
- position angle typeframeIn
- propagation framePatriusException
- thrown if partial derivatives are not included in stategetParametersJacobian(SpacecraftState, double[][])
public double[] getParametersJacobian(Parameter parameter, SpacecraftState state) throws PatriusException
parameter
.
This method extract the data from the state and put it in the dYdP
array.
If the parameter is not present in the partial derivatives, the method returns immediately
and does not reference dYdP
which can safely be null in this case.
parameter
- parameterstate
- spacecraft statePatriusException
- thrown if partial derivatives are not included in stategetParametersJacobian(SpacecraftState)
public double[] getParametersJacobian(Parameter parameter, SpacecraftState state, OrbitType orbitTypeIn, PositionAngle angleTypeIn, Frame frameIn) throws PatriusException
parameter
.
This method extract the data from the state and put it in the dYdP
array.
If the parameter is not present in the partial derivatives, the method returns immediately
and does not reference dYdP
which can safely be null in this case.
The jacobian is converted into the specified orbit type, angle type and frame. To be more specific, if M is the conversion, the new jacobian is Jn = M * J (i.e. only the output part is converted)
parameter
- parameterstate
- spacecraft stateorbitTypeIn
- orbit typeangleTypeIn
- position angle typeframeIn
- propagation framePatriusException
- thrown if partial derivatives are not included in stategetParametersJacobian(SpacecraftState)
Copyright © 2023 CNES. All rights reserved.