Python library for ODE integration via Taylor's method and LLVM
This is a quick bugfix :bug: release that fixes an issue in the conversion of SymPy rationals to the heyoka.py expression system.
The full changelog is available here:
This is one of the biggest releases of heyoka.py to date, featuring various new capabilities, a major change in the expression system and several fixes.
func
sA fundamental change debuting in heyoka.py 0.15.0 is that function nodes in the expression system now use reference semantics, instead of value semantics. This change is motivated by various use cases involving large symbolic expressions with a high degree of internal repetition (including, e.g., artificial neural networks), which can now be handled by the expression system orders of magnitude more efficiently (from the point of view of both CPU and memory utilisation).
atan2()
has been added to the expression system.An implementation of the VSOP2013 analytical solution for the motion of the planets of the Solar System has been added to the expression system. This means that it is now possible to formulate differential equations containing the positions/velocities of the planets of the Solar System as functions of time.
A tutorial introducing this new feature is available here:
https://bluescarni.github.io/heyoka.py/notebooks/vsop2013.html
Thanks to the generosity of OSU's Open Source Lab, who provided remote access to a PowerPC workstation, heyoka.py now features much better support for 64-bit PowerPC processors. In particular, heyoka.py is now able to take advantage of the hardware-accelerated quadruple-precision arithmetic capabilities of recent PowerPC processors.
kepE()
function.As usual, the full changelog is available here:
This new release of heyoka.py implements an important improvement in the automatic deduction of the cooldown value for terminal events, which should now be more reliable than before.
The full changelog, as usual, is available here:
The 0.12.0 release of heyoka.py features two important additions:
Serialisation allows to save/load heyoka.py objects via Python's pickle
module. A tutorial showcasing this new feature is available here:
https://bluescarni.github.io/heyoka.py/notebooks/pickling.html
Please pay attention to the very important CAVEATS highlighted at the beginning of the tutorial!
This is the first version of heyoka.py officially supporting 64-bit ARM processors. ARM builds have been added to the continuous integration pipeline, courtesy of CircleCI.
This is a minor release to keep the release number of heyoka.py in sync with the release number of the heyoka C++ library. Apart from a new tutorial notebook and a few doc fixes, there are no functional changes with respect to version 0.10.0.
The full changelog, as usual, is available here:
The latest version of heyoka.py comes with an important new feature, the ability to convert heyoka.py expressions to/from SymPy expressions. A tutorial showcasing this new feature is available here.
Additionally, this release introduces a change in the API of the callbacks that can (optionally) be passed to the propagate_*()
methods. Also, this release features a new pairwise product primitive and various improvements to the automatic simplification capabilities of the expression system.
As usual, the detailed changelog is available here:
This release includes two new functions in the expression system: the inverse of Kepler's elliptic equation and time polynomials.
Additionally, this release features also performance improvements and various internal cleanups.
The full changelog, as usual, is available here:
This new release of heyoka.py features a couple of breaking changes in the event detection API. The changes are explained in detail here:
https://bluescarni.github.io/heyoka.py/breaking_changes.html#bchanges-0-8-0
The release contains also a couple of new features for the propagate_*()
functions. As usual, the full changelog is available here:
This new release of heyoka.py comes with several feature additions and a couple of fixes.
One important improvement is that the time coordinate in the adaptive integrators is now represented internally in double-length format, which greatly increases time accuracy.
As usual, the full changelog is available here:
This is a small incremental release that bumps up the minimum required version of the heyoka C++ library to 0.6.1.
The full changelog, as usual, is available here: