heyoka 0.15.0 #199
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
-
This is one of the biggest releases of heyoka to date, featuring various new capabilities, a major change in the expression system and several fixes.
Reference semantics for
func
sA fundamental change debuting in heyoka 0.15.0 is that function nodes in the expression system now use reference semantics, instead of value semantics. In practice, this means that copying non-trivial expressions does not result any more in a deep copy of the original object, but rather in a new reference to the original object. Deep copies of expressions can be performed via the newly-introduced
copy()
function.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).
This is technically a breaking change, although if you just use expressions in the definition of ODEs it is likely that no changes are needed in your code.
New features in the expression system 🖋️
atan2()
has been added to the expression system.The VSOP2013 solution 🪐
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.
Improved support for PPC64 💻
Thanks to the generosity of OSU's Open Source Lab, who provided remote access to a PowerPC workstation, heyoka now features much better support for 64-bit PowerPC processors. In particular, heyoka is now able to take advantage of the hardware-accelerated quadruple-precision arithmetic capabilities of recent PowerPC processors.
Other changes ☑️
kepE()
function.Full changelog
As usual, the full changelog is available here:
https://bluescarni.github.io/heyoka/changelog.html
This discussion was created from the release heyoka 0.15.0.
Beta Was this translation helpful? Give feedback.
All reactions