https://github.com/bluescarni/heyoka.py
Python library for ODE integration via Taylor's method and LLVM
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 8 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.5%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Python library for ODE integration via Taylor's method and LLVM
Basic Info
Statistics
- Stars: 78
- Watchers: 6
- Forks: 14
- Open Issues: 2
- Releases: 53
Topics
Metadata Files
README.md
heyoka.py
Modern Taylor's method via just-in-time compilation
Explore the docs
Report bug
<a href="https://github.com/bluescarni/heyoka.py/issues/new/choose">Request feature</a>
<a href="https://github.com/bluescarni/heyoka.py/discussions">Discuss</a>
heyoka.py is a Python library for the integration of ordinary differential equations (ODEs) via Taylor's method, based on automatic differentiation techniques and aggressive just-in-time compilation via LLVM. Notable features include:
- support for single-precision, double-precision, extended-precision (80-bit and 128-bit), and arbitrary-precision floating-point types,
- high-precision zero-cost dense output,
- accurate and reliable event detection,
- builtin support for analytical mechanics - bring your own Lagrangians/Hamiltonians and let heyoka.py formulate and solve the equations of motion,
- builtin support for operational Earth-orbiting spacecraft analysis, including frame transformations, high-fidelity geopotential models, Earth Orientation Parameters (EOP), atmospheric models, space weather effects, ephemeris-based third-body perturbations,
- builtin support for high-order variational equations - compute not only the solution, but also its partial derivatives,
- builtin support for machine learning applications via neural network models,
- the ability to maintain machine precision accuracy over tens of billions of timesteps,
- batch mode integration to harness the power of modern SIMD instruction sets (including AVX/AVX2/AVX-512/Neon/VSX),
- ensemble simulations and automatic parallelisation,
- interoperability with SymPy.
heyoka.py is based on the heyoka C++ library.
If you are using heyoka.py as part of your research, teaching, or other activities, we would be grateful if you could star the repository and/or cite our work. For citation purposes, you can use the following BibTex entry, which refers to the heyoka.py paper (arXiv preprint):
bibtex
@article{10.1093/mnras/stab1032,
author = {Biscani, Francesco and Izzo, Dario},
title = "{Revisiting high-order Taylor methods for astrodynamics and celestial mechanics}",
journal = {Monthly Notices of the Royal Astronomical Society},
volume = {504},
number = {2},
pages = {2614-2628},
year = {2021},
month = {04},
issn = {0035-8711},
doi = {10.1093/mnras/stab1032},
url = {https://doi.org/10.1093/mnras/stab1032},
eprint = {https://academic.oup.com/mnras/article-pdf/504/2/2614/37750349/stab1032.pdf}
}
heyoka.py's novel event detection system is described in the following paper (arXiv preprint):
bibtex
@article{10.1093/mnras/stac1092,
author = {Biscani, Francesco and Izzo, Dario},
title = "{Reliable event detection for Taylor methods in astrodynamics}",
journal = {Monthly Notices of the Royal Astronomical Society},
volume = {513},
number = {4},
pages = {4833-4844},
year = {2022},
month = {04},
issn = {0035-8711},
doi = {10.1093/mnras/stac1092},
url = {https://doi.org/10.1093/mnras/stac1092},
eprint = {https://academic.oup.com/mnras/article-pdf/513/4/4833/43796551/stac1092.pdf}
}
Installation
Via pip:
console
$ pip install heyoka
Via conda + conda-forge:
console
$ conda install heyoka.py
Documentation
The full documentation can be found here.
Authors
- Francesco Biscani (European Space Agency)
- Dario Izzo (European Space Agency)
License
heyoka.py is released under the MPL-2.0 license.
Owner
- Name: Francesco Biscani
- Login: bluescarni
- Kind: user
- Location: Germany
- Company: European Space Agency
- Repositories: 103
- Profile: https://github.com/bluescarni
GitHub Events
Total
- Create event: 34
- Release event: 8
- Issues event: 3
- Watch event: 10
- Delete event: 20
- Issue comment event: 31
- Push event: 101
- Pull request event: 50
- Fork event: 4
Last Year
- Create event: 34
- Release event: 8
- Issues event: 3
- Watch event: 10
- Delete event: 20
- Issue comment event: 31
- Push event: 101
- Pull request event: 50
- Fork event: 4
Committers
Last synced: 11 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Francesco Biscani | b****i@g****m | 1,424 |
| Dario Izzo | d****o@g****m | 81 |
| Francesco Biscani | F****i@e****t | 13 |
| Sceki | g****i@g****m | 7 |
| seba0018 | s****t@h****r | 3 |
| Théo Verhelst | t****t@e****t | 1 |
| Alex Seaton | a****n@g****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 10
- Total pull requests: 198
- Average time to close issues: 24 days
- Average time to close pull requests: 7 days
- Total issue authors: 9
- Total pull request authors: 7
- Average comments per issue: 5.3
- Average comments per pull request: 0.25
- Merged pull requests: 183
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 2
- Pull requests: 53
- Average time to close issues: 28 days
- Average time to close pull requests: 1 day
- Issue authors: 2
- Pull request authors: 5
- Average comments per issue: 9.0
- Average comments per pull request: 0.47
- Merged pull requests: 47
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- yurivict (2)
- bluescarni (1)
- alangfor (1)
- AlexandreFoley (1)
- hfsf (1)
- agseaton (1)
- wenheping (1)
- viivgit (1)
- mtitze (1)
- TheoVerhelst (1)
Pull Request Authors
- bluescarni (210)
- darioizzo (17)
- seba0018 (3)
- TheoVerhelst (2)
- agseaton (2)
- AlexandreFoley (1)
- Sceki (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 1,251 last-month
-
Total dependent packages: 1
(may contain duplicates) -
Total dependent repositories: 2
(may contain duplicates) - Total versions: 43
- Total maintainers: 1
pypi.org: heyoka
Python library for ODE integration via Taylor's method and LLVM
- Documentation: https://bluescarni.github.io/heyoka.py/index.html
- License: MPL-2.0
-
Latest release: 7.5.1
published 6 months ago
Rankings
Maintainers (1)
conda-forge.org: heyoka.py
- Homepage: https://bluescarni.github.io/heyoka.py/
- License: MPL-2.0
-
Latest release: 0.19.0
published over 3 years ago
Rankings
Dependencies
- actions/checkout v2 composite
- conda-incubator/setup-miniconda v2 composite
- jupyterhub/repo2docker-action master composite
- microsoft/setup-msbuild v1.0.2 composite
- actions/checkout v4 composite
- actions/configure-pages v4 composite
- actions/deploy-pages v4 composite
- actions/upload-pages-artifact v3 composite