heyoka.py 1.0.0 #133
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
-
Version 1.0.0 of heyoka.py is here, and it brings several new features and important changes.
Semantic versioning
Starting from this release, heyoka.py adopts the semantic versioning numbering scheme. In particular:
Note that, due to the lack of API docs at the present time, heyoka.py's public API is somewhat fuzzily defined by the C++ and Python tutorials.
Overhaul of the expression system
The biggest user-facing change in this release is a comprehensive internal overhaul of the expression system, including:
square()
,sqrt()
,sum_sq()
, etc.);Users are encouraged to read this tutorial in order to understand how to best take advantage of the revamped expression system.
New API to compute high-order derivatives
A new function called
diff_tensors()
is available to compute efficiently high-order derivative tensors. Please see this tutorial for an introduction to this new feature.Improvements to step callbacks
Step callbacks can now optionally implement a
pre_hook()
method that will be invoked once before the first step in a time-limited propagation is performed. This feature can be useful to implement an init/setup phase in the callback before the numerical integration starts. The tutorial has been updated to include this new feature.Additionally, in multi-threaded ensemble propagations the step callback is now copied for each iteration of the ensemble, rather than being shared among all the iterations. This behaviour should reduce the risk of data races.
New
model
submoduleA new
model
submodule has been introduced, which includes functions to generate the dynamics for several commonly-used dynamical models (e.g., pendulum, N-body, etc.). Themake_nbody_sys()
helper has been replaced by an equivalent function in themodel
submodule. More models are planned to be added in the near future.Miscellanea
As usual, the full changelog is available here:
https://bluescarni.github.io/heyoka.py/changelog.html
This discussion was created from the release heyoka.py 1.0.0.
Beta Was this translation helpful? Give feedback.
All reactions