Hi @bcazabonne, I exploit this post to add a small point.
I tried to replicate the test “testWithAnalyticalPropagator()” in src/test/java/org/orekit/propagation/StateCovarianceMatrixProviderTest.java · develop · Orekit / Orekit · GitLab. The code I wrote is the following:
// Initial state
AbsoluteDate initEpoch = new AbsoluteDate("2016-02-13T16:00:00.000", TimeScalesFactory.getUTC());
Orbit initialOrbit = new CartesianOrbit(new PVCoordinates(new Vector3D(7526993.581890527, -9646310.10026971, 1464110.4928112086),
new Vector3D(3033.79456099698, 1715.265069098717, -4447.658745923895)),
FramesFactory.getEME2000(),
initEpoch,
Constants.WGS84_EARTH_MU);
double[][] initCov = new double[][] {{8.651816029e+01, 5.689987127e+01, -2.763870764e+01, -2.435617201e-02, 2.058274137e-02, -5.872883051e-03},
{5.689987127e+01, 7.070624321e+01, 1.367120909e+01, -6.112622013e-03, 7.623626008e-03, -1.239413190e-02},
{-2.763870764e+01, 1.367120909e+01, 1.811858898e+02, 3.143798992e-02, -4.963106559e-02, -7.420114385e-04},
{-2.435617201e-02, -6.112622013e-03, 3.143798992e-02, 4.657077389e-05, 1.469943634e-05, 3.328475593e-05},
{2.058274137e-02, 7.623626008e-03, -4.963106559e-02, 1.469943634e-05, 3.950715934e-05, 2.516044258e-05},
{-5.872883051e-03, -1.239413190e-02, -7.420114385e-04, 3.328475593e-05, 2.516044258e-05, 3.547466120e-05}};
RealMatrix initCovReal = MatrixUtils.createRealMatrix(initCov);
// Propagator
EcksteinHechlerPropagator prop = new EcksteinHechlerPropagator(initialOrbit, GravityFieldFactory.getUnnormalizedProvider(6, 0));
MatricesHarvester harvester = prop.setupMatricesComputation("stmName", null, null);
// Propagate and compute covariance
SpacecraftState propagatedState = prop.propagate(initialOrbit.getDate().shiftedBy(Constants.JULIAN_DAY));
RealMatrix dYdY0 = harvester.getStateTransitionMatrix(propagatedState);
RealMatrix propCov = dYdY0.multiply(initCovReal.multiplyTransposed(dYdY0));
System.out.println(propCov.getEntry(0, 0));
Running it, I get that the first element of the propagated covariance matrix is 577.3144349040394, which is not within the threshold of 5.0e-4 to your reference 5.770543135e+02. Is this just a numerical error or did I make a mistake in my code?
Thank you.