heyoka

C++ library for ODE integration via Taylor's method and LLVM

MPL-2.0 License

Stars
190
Committers
2
heyoka - heyoka 0.12.0

Published by bluescarni over 3 years ago

The 0.12.0 release of heyoka features two important additions:

  • serialisation support,
  • support for 64-bit ARM and PowerPC CPUs.

Serialisation

Serialisation allows to save/load heyoka objects to/from file and to transmit them over the network. A tutorial showcasing this new feature is available here:

https://bluescarni.github.io/heyoka/tut_s11n.html

Please pay attention to the very important CAVEATS highlighted at the beginning of the tutorial!

Support for non-x86 CPUs

This is the first version of heyoka officially supporting 64-bit ARM and PowerPC processors. Builds on these architectures have been added to the continuous integration pipeline, courtesy of Travis and CircleCI.

Note that, on PowerPC, long double is not supported by heyoka at this time (though that might change in the future).

Bugfixes

An issue in the implementation of the move-assignment operator of the llvm_state class was fixed.

heyoka - heyoka 0.11.0

Published by bluescarni over 3 years ago

This is a minor new release which introduces performance optimisations for the creation of large ODE systems and implements symbolic differentiation for the time expression (which allows to compute the variational equations of non-autonomous systems).

As usual, the full changelog is available here:

https://bluescarni.github.io/heyoka/changelog.html

heyoka - heyoka 0.10.1

Published by bluescarni over 3 years ago

This is a bugfix release which solves an issue in the deduction of the number of parameters of an ODE system from the event equations.

No other changes are included. The full changelog, as usual, is available here:

https://bluescarni.github.io/heyoka/changelog.html

heyoka - heyoka 0.10.0

Published by bluescarni over 3 years ago

This is an incremental release that introduces a change in the API of the callbacks that can (optionally) be passed to the propagate_*() functions. 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:

https://bluescarni.github.io/heyoka/changelog.html

heyoka - heyoka 0.9.0

Published by bluescarni over 3 years ago

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:

https://bluescarni.github.io/heyoka/changelog.html

heyoka - heyoka 0.8.0

Published by bluescarni over 3 years ago

This new release of heyoka features a couple of breaking changes in the event detection API. The changes are explained in detail here:

https://bluescarni.github.io/heyoka/breaking_changes.html#bchanges-0-8-0

The release contains also a couple of new features for the propagate_*() functions and a bugfix in the event detection system. As usual, the full changelog is available here:

https://bluescarni.github.io/heyoka/changelog.html

heyoka - heyoka 0.7.0

Published by bluescarni over 3 years ago

This new release of heyoka comes with several feature additions, a couple of fixes and support for the recently-released LLVM 12.

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:

https://bluescarni.github.io/heyoka/changelog.html

heyoka - heyoka 0.6.1

Published by bluescarni over 3 years ago

This is a bugfix release that corrects a couple of issues in the event detection system.

The full changelog, as usual, is available here:

https://bluescarni.github.io/heyoka/changelog.html

heyoka - heyoka 0.6.0

Published by bluescarni over 3 years ago

This new version of heyoka comes with a big new feature, event detection. A tutorial chapter describing the new feature is available here:

https://bluescarni.github.io/heyoka/tut_events.html

Another important new feature is that propagate_grid() can now be used with the batch integrator.

The full changelog is available here:

https://bluescarni.github.io/heyoka/changelog.html

heyoka - heyoka 0.5.0

Published by bluescarni over 3 years ago

This is a minor release that features additions and improvements to the expression system.

The full changelog, as usual, is available here:

https://bluescarni.github.io/heyoka/changelog.html

heyoka - heyoka 0.4.0

Published by bluescarni over 3 years ago

This new release of heyoka comes with several new features:

  • support for outputting the Taylor coefficients that were used to perform a single time step,
  • support for dense (continuous) output,
  • efficient propagation over a time grid via dense output,
  • new automatic simplifications in the expression system,
  • a new function powi() for exponentiation with natural exponents.

There is also an important bugfix regarding a division by zero in certain corner cases when using pow() with small natural exponents.

As usual, the full changelog is available here:

https://bluescarni.github.io/heyoka/changelog.html

heyoka - heyoka 0.3.0

Published by bluescarni over 3 years ago

This new version of heyoka adds support for many new elementary functions, including:

  • inverse trigonometric functions,
  • (inverse) hyperbolic functions,
  • the standard logisitc function,
  • the error function.

Additionally, non-autonomous systems are now directly supported via a special time expression.

This release contains also various optimisations, build system improvements and documentation additions.

The full changelog, as usual, is available here:

https://bluescarni.github.io/heyoka/changelog.html

heyoka - heyoka 0.2.0

Published by bluescarni almost 4 years ago

This version adds two important new features:

  • support for runtime parameters (i.e., numerical constants whose values is not known when constructing an expression),
  • an extension of the API that allows to implement in heyoka a much wider variety of mathematical functions than previously possible. As a showcase for the new API, the tangent function has been implemented. Support for more mathematical functions is planned in the upcoming versions.

The full changelog is available here:

https://bluescarni.github.io/heyoka/changelog.html

heyoka - heyoka 0.1.0

Published by bluescarni almost 4 years ago

This is the first release of heyoka. Initial documentation is available here:

https://bluescarni.github.io/heyoka

Package Rankings
Top 28.08% on Conda-forge.org
Badges
Extracted from project README
Build Status Build Status Code Coverage Anaconda-Server Badge