I’ve tried what I described above and i’m still experiencing mahalanobis distances which is enormous. Here is the new calculation area:
NumericalPropagatorBuilder numPropBuild = getPropagatorEq(orb1.getOrbit());
double normalizedParameters = { 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 };
NumericalPropagator numProp = numPropBuild.buildPropagator(normalizedParameters);
PartialDerivativesEquations PDE = new PartialDerivativesEquations(“dYdY0”, numProp);
orb1 = PDE.setInitialJacobians(orb1);
numProp.setInitialState(orb1);SpacecraftState orbf = (numProp.propagate(dt2)); Array2DRowRealMatrix dYdY0 = new Array2DRowRealMatrix(6, 6); PDE.getMapper().getStateJacobian(orbf, dYdY0.getDataRef()); //PDE.getMapper().getParametersJacobian(orbf, dYdY0.getDataRef()); System.out.println("\n\n Final Jacobian: " + dYdY0); System.out.println("Please be equinoctial:"+orbf.getOrbit().getType()); double[][] deqdcart = new Array2DRowRealMatrix(6, 6).getData(); orbf.getOrbit().getJacobianWrtCartesian(PositionAngle.MEAN, deqdcart); RealMatrix deqdcartRM = new Array2DRowRealMatrix(deqdcart); RealMatrix idedc = MatrixUtils.inverse(deqdcartRM); RealMatrix stmf = deqdcartRM.multiply(dYdY0).multiply(idedc); RealMatrix stmi = MatrixUtils.inverse(stmf);
With this regime I get some NaN outputs and outrageously large kmn number.
My secondary hunch was that .getPhysicalCovariance is not giving me the correct number. When I use the optimum.getCovariance the output is much closer, but I’m not just going to change it because it fits expected behavior rather than fits mathematics.
Thanks again for all your help. If you know any additional info let me know!
Sincerely,
Paul