heyoka.py 5.1.0 #185
bluescarni
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
SGP4 propagation 🌍
heyoka.py 5.1.0 adds an implementation of SGP4, a widely-used analytical propagator for Earth-orbiting objects.
SGP4 uses two-line elements sets (TLEs) (available from websites such as CelesTrak and Space-Track) to predict the future or past states of Earth-orbiting objects via a simplified perturbation model. The positional accuracy of SGP4 is in the order of kilometres for propagations up to a few days from the TLE reference epoch.
heyoka.py's SGP4 implementation is fully differentiable up to arbitrary order, thus enabling applications such as state covariance propagation, state transition matrix computation, gradient-based optimisation, orbit determination, etc.
SGP4 is available either as a low-level function that that produces the analytical formulae of SGP4 in heyoka.py's expression system, or a as a fast high-level propagator class accelerated via multithreaded parallelisation and SIMD vectorisation, providing state-of-the-art propagation performance. For more details, see the tutorial:
https://bluescarni.github.io/heyoka.py/notebooks/sgp4_propagator.html
Logical and relational operators,
select()
📝Another new feature in this release is support for logical and relational operators, as well as the
select()
primitive, in the heyoka.py expression system.Relational operators allow to perform comparisons (such as "equal to", "less than", "greater than", etc.) during the evaluation of an expression (e.g., during a numerical integration), yielding a numerical value of
1
(true) or0
(false). Logical operators allow to combine comparisons via logical AND/OR.The
select()
primitive can be used to select one of two expressions based on the result of a comparison, thus providing a primitive form ofif/then/else
branching in the expression system. Note however thatselect()
will always evaluate both thetrue
andfalse
branches, and thus it is unsuitable for complicated flow control.The full changelog, as usual, is available here:
https://bluescarni.github.io/heyoka.py/changelog.html
This discussion was created from the release heyoka.py 5.1.0.
Beta Was this translation helpful? Give feedback.
All reactions