You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm quite likely to use your library on a current project. However, I noticed that your implementation of the Hermite interpolation uses the typical approach found in literature. This approach causes ringing for orbit data, where the interpolation is visibly poor. A good test is to implement this test: https://github.com/nyx-space/anise/blob/master/anise/src/math/interpolation/hermite.rs#L218.
The solution is to use the exact same algorithm as in SPICE. Here is the re-implementation of that algorithm in Rust, as part of ANISE:
You could also simplify the Lagrange interpolation by using directly the relatively simple SPICE algorithm: https://github.com/nyx-space/anise/blob/master/anise/src/math/interpolation/lagrange.rs#L15 . I would expect this function to be faster than the numpy implementation, but I'm not sure since numpy is pretty well optimized. From my literature review a couple of years ago, I believe that the Lagrange interpolation commonly found matches the SPICE version, so I don't expect there to be any issue in the Lagrange interpolator. My OEMs use Lagrange so this ticket doesn't preclude me from using your library.
Cheers
The text was updated successfully, but these errors were encountered:
Hi there,
I'm quite likely to use your library on a current project. However, I noticed that your implementation of the Hermite interpolation uses the typical approach found in literature. This approach causes ringing for orbit data, where the interpolation is visibly poor. A good test is to implement this test: https://github.com/nyx-space/anise/blob/master/anise/src/math/interpolation/hermite.rs#L218.
The solution is to use the exact same algorithm as in SPICE. Here is the re-implementation of that algorithm in Rust, as part of ANISE:
oem/oem/interp.py
Line 23 in fd85a67
You could also simplify the Lagrange interpolation by using directly the relatively simple SPICE algorithm: https://github.com/nyx-space/anise/blob/master/anise/src/math/interpolation/lagrange.rs#L15 . I would expect this function to be faster than the numpy implementation, but I'm not sure since numpy is pretty well optimized. From my literature review a couple of years ago, I believe that the Lagrange interpolation commonly found matches the SPICE version, so I don't expect there to be any issue in the Lagrange interpolator. My OEMs use Lagrange so this ticket doesn't preclude me from using your library.
Cheers
The text was updated successfully, but these errors were encountered: