I encountered an interesting issue while using the CartesianOrbit class. My goal is to approximate a covariance in cartesian elements into a covariance in Keplerian elements.
To my knowledge this should be done as follows:
CartesianOrbit initialGuess = new CartesianOrbit(.....)
// Orbital covariance matrix initialization
final double[][] dYdC = new double[6][6];
initialGuess.getJacobianWrtParameters(getPositionAngle, dYdC);
final RealMatrix Jac = inv(MatrixUtils.createRealMatrix(dYdC));
final RealMatrix orbitalP = Jac.multiply(cartesianlP.multiply(Jac.transpose()));
However under the CartesianOrbit class getJacobianWrtParameters()
is only defined in the parent Orbit.java class, which essentially takes the inverse of the jacobian w.r.t cartesian elements (but in this case that’s always the identity matrix.
Am I missing a way to get the Jacobian with respect to Parameters for a cartesian orbit?