When propagating covariance, is the expectation that the initial covariance matrix is a symmetric 6x6 matrix? Our assumption was that a lower left matrix could be utilized when propagating covariance.
Using the CovariancePropagation
tutorial as guidance, we saw different results when propagating a lower left vs upper right vs symmetric matrix, from the same initial data. Included is the initial data from the tutorial, along with the same data, converted to lower left and upper right. We are using tag release-12.2.
Furthermore, in regards to the results returned, should these always be symmetric, or can it be a non-symmetric matrix that is returned?
Initial Data/Results:
Initial cartesian covariance matrix at 2016-02-13T16:00:00.000Z expressed in EME2000 frame
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
Propagated cartesian covariance matrix at 2016-02-14T16:00:00.000Z expressed in EME2000 frame
6.114999025e+02 2.341663221e+02 -5.366032162e+02 -2.665959975e-01 2.203486162e-01 -1.912713939e-01
2.341663221e+02 1.159491417e+02 -1.738834791e+02 -9.347995294e-02 7.688551920e-02 -7.616074853e-02
-5.366032162e+02 -1.738834791e+02 6.988180097e+02 2.631778780e-01 -2.487364074e-01 2.014412498e-01
-2.665959975e-01 -9.347995294e-02 2.631778780e-01 1.411254353e-04 -8.810548848e-05 1.063386019e-04
2.203486162e-01 7.688551920e-02 -2.487364074e-01 -8.810548848e-05 1.077325831e-04 -6.129903327e-05
-1.912713939e-01 -7.616074853e-02 2.014412498e-01 1.063386019e-04 -6.129903327e-05 8.781444381e-05
Lower left modification to covInitMatrix
// Covariance matrix content - line 131
final RealMatrix covInitMatrix = ccsdsCovariance.getCovarianceMatrix();
for (int row = 0; row < covInitMatrix.getRowDimension(); row++) {
for (int column = row + 1; column < covInitMatrix.getColumnDimension(); column++) {
covInitMatrix.setEntry(row, column, 0.0);
}
}
Lower left data/results:
Initial cartesian covariance matrix at 2016-02-13T16:00:00.000Z expressed in EME2000 frame
8.651816029e+01 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
5.689987127e+01 7.070624321e+01 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00
-2.763870764e+01 1.367120909e+01 1.811858898e+02 0.000000000e+00 0.000000000e+00 0.000000000e+00
-2.435617201e-02 -6.112622013e-03 3.143798992e-02 4.657077389e-05 0.000000000e+00 0.000000000e+00
2.058274137e-02 7.623626008e-03 -4.963106559e-02 1.469943634e-05 3.950715934e-05 0.000000000e+00
-5.872883051e-03 -1.239413190e-02 -7.420114385e-04 3.328475593e-05 2.516044258e-05 3.547466120e-05
Propagated cartesian covariance matrix at 2016-02-14T16:00:00.000Z expressed in EME2000 frame
7.273404868e+05 2.110512744e+05 -8.878129978e+05 -2.721565924e+02 4.632742749e+02 -1.506913831e+02
2.106413907e+05 6.117746122e+04 -2.571079473e+05 -7.878868841e+01 1.341558256e+02 -4.364732942e+01
-8.851786497e+05 -2.567869083e+05 1.080729024e+06 3.312427340e+02 -5.639057892e+02 1.834012336e+02
-2.756123483e+02 -7.997051284e+01 3.364366635e+02 1.031687983e-01 -1.755477795e-01 5.713590072e-02
4.576340686e+02 1.327663764e+02 -5.587071260e+02 -1.712379170e-01 2.915785023e-01 -9.479688979e-02
-1.541832920e+02 -4.476018999e+01 1.882289641e+02 5.771465189e-02 -9.819435008e-02 3.198071442e-02
Upper right modification to covInitMatrix
// Covariance matrix content - line 131
final RealMatrix covInitMatrix = ccsdsCovariance.getCovarianceMatrix();
for (int row = 1; row < covInitMatrix.getRowDimension(); row++) {
for (int column = 0 ; column < row; column++) {
covInitMatrix.setEntry(row, column, 0.0);
}
}
Upper right data/results:
Initial cartesian covariance matrix at 2016-02-13T16:00:00.000Z expressed in EME2000 frame
8.651816029e+01 5.689987127e+01 -2.763870764e+01 -2.435617201e-02 2.058274137e-02 -5.872883051e-03
0.000000000e+00 7.070624321e+01 1.367120909e+01 -6.112622013e-03 7.623626008e-03 -1.239413190e-02
0.000000000e+00 0.000000000e+00 1.811858898e+02 3.143798992e-02 -4.963106559e-02 -7.420114385e-04
0.000000000e+00 0.000000000e+00 0.000000000e+00 4.657077389e-05 1.469943634e-05 3.328475593e-05
0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 3.950715934e-05 2.516044258e-05
0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 0.000000000e+00 3.547466120e-05
Propagated cartesian covariance matrix at 2016-02-14T16:00:00.000Z expressed in EME2000 frame
7.273404868e+05 2.106413907e+05 -8.851786497e+05 -2.756123483e+02 4.576340686e+02 -1.541832920e+02
2.110512744e+05 6.117746122e+04 -2.567869083e+05 -7.997051284e+01 1.327663764e+02 -4.476018999e+01
-8.878129978e+05 -2.571079473e+05 1.080729024e+06 3.364366635e+02 -5.587071260e+02 1.882289641e+02
-2.721565924e+02 -7.878868841e+01 3.312427340e+02 1.031687983e-01 -1.712379170e-01 5.771465189e-02
4.632742749e+02 1.341558256e+02 -5.639057892e+02 -1.755477795e-01 2.915785023e-01 -9.819435008e-02
-1.506913831e+02 -4.364732942e+01 1.834012336e+02 5.713590072e-02 -9.479688979e-02 3.198071442e-02