diff --git a/_sources/benchmarks.rst b/_sources/benchmarks.rst
index 6f9541056..74bc9d777 100644
--- a/_sources/benchmarks.rst
+++ b/_sources/benchmarks.rst
@@ -220,7 +220,7 @@ heyoka uses the `MPFR library `__ for multiprecision floa
computations under the hood. DifferentialEquations.jl can also use MPFR (via the
`BigFloat `__
type) or, alternatively the `Arb `__ library (via the
-`ArbNumerics.jl `__ package).
+`ArbNumerics.jl `__ package).
Here are the results of a numerical integration of the simple pendulum with a 256-bit significand
and a tolerance of :math:`10^{-77}`:
diff --git a/_sources/changelog.rst b/_sources/changelog.rst
index 198c2c2b0..74b2d7672 100644
--- a/_sources/changelog.rst
+++ b/_sources/changelog.rst
@@ -7,8 +7,35 @@ Changelog
New
~~~
+- Add mutable ranges getters for the state and pars data of the adaptive
+ integrators (`#409 `__).
- Support LLVM 18 (`#408 `__).
+Changes
+~~~~~~~
+
+- Remove the (undocumented) ``taylor_add_jet()`` function and rework
+ the unit test code to use ``taylor_adaptive`` instead
+ (`#409 `__).
+
+Fix
+~~~
+
+- Fix test failures on OSX arm64
+ (`#409 `__).
+
+4.0.3 (2024-04-04)
+------------------
+
+Fix
+~~~
+
+- Workaround compilation failures in the unit tests
+ when using GCC 13
+ (`#409 `__).
+- Fix compilation on FreeBSD
+ (`#407 `__).
+
4.0.2 (2024-03-03)
------------------
diff --git a/_sources/known_issues.rst b/_sources/known_issues.rst
index 3f0e7a988..7e02c6b30 100644
--- a/_sources/known_issues.rst
+++ b/_sources/known_issues.rst
@@ -1,9 +1,42 @@
Known issues
============
+Unsolved
+========
+
+* Under very specific circumstances, C++ code executed right after
+ code that was JIT-compiled by heyoka might produce nonsensical results.
+ This happens only if **all** the following conditions are met:
+
+ * you are on an Intel x86 platform where ``long double`` corresponds
+ to the extended-precision 80-bit x86 floating-point type,
+ * heyoka was compiled with support for quadruple-precision computations
+ via :cpp:class:`mppp::real128`,
+ * JIT-compiled code using **both** 80-bit and quadruple-precision datatypes
+ was executed,
+ * the "fast math" flag was enabled during JIT compilation.
+
+ The root cause is most likely a code-generation/optimisation problem in LLVM.
+ This issue is currently under investigation.
+
+Solved
+======
+
+* In several LLVM versions, attempting to use :ref:`batch mode `
+ with the extended precision ``long double`` type on x86 processors will lead
+ to incorrect results. This is due to code generation issues in LLVM with
+ ``long double`` vector types. This problem seems to have been rectified in
+ LLVM 18. Note that, in practice, there is no reason to attempt to use batch
+ mode with ``long double`` as currently there are no CPUs implementing SIMD operations
+ on extended-precision datatypes.
* Due to an upstream bug, if you compile heyoka linking statically against LLVM 17
while enabling the ``HEYOKA_HIDE_LLVM_SYMBOLS`` option (see the
:ref:`installation instructions `), you may experience
runtime errors due to missing symbols. This problem should be fixed in LLVM 18.
A patch fixing the issue in LLVM 17
is available `here `__.
+* Due to an `upstream bug `__,
+ multiprecision :ref:`ensemble propagations `
+ crash on OSX arm64 when using heyoka's conda-forge package. This is due to the conda-forge
+ package for the MPFR library not being compiled in thread-safe mode. The solution is to update
+ to the latest version of the MPFR package, which includes a fix for this issue.
diff --git a/_sources/tut_cfunc.rst b/_sources/tut_cfunc.rst
index 00d398001..55b3cac8c 100644
--- a/_sources/tut_cfunc.rst
+++ b/_sources/tut_cfunc.rst
@@ -3,6 +3,8 @@
Compiled functions
==================
+.. versionadded:: 4.0.0
+
.. cpp:namespace-push:: heyoka
heyoka can compile just-in-time (JIT) multivariate vector functions defined
diff --git a/_static/documentation_options.js b/_static/documentation_options.js
index 8da7af906..835204ede 100644
--- a/_static/documentation_options.js
+++ b/_static/documentation_options.js
@@ -1,5 +1,5 @@
const DOCUMENTATION_OPTIONS = {
- VERSION: '4.0.2',
+ VERSION: '4.1.0',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',
diff --git a/acknowledgement.html b/acknowledgement.html
index b70b96359..79796e588 100644
--- a/acknowledgement.html
+++ b/acknowledgement.html
@@ -8,7 +8,7 @@
- Acknowledgement — heyoka 4.0.2 documentation
+ Acknowledgement — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/ad_notes.html b/ad_notes.html
index d6a7965e0..92638eb0c 100644
--- a/ad_notes.html
+++ b/ad_notes.html
@@ -8,7 +8,7 @@
- Notes on automatic differentiation — heyoka 4.0.2 documentation
+ Notes on automatic differentiation — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/advanced_tutorials.html b/advanced_tutorials.html
index bbaece32a..a39f4f15a 100644
--- a/advanced_tutorials.html
+++ b/advanced_tutorials.html
@@ -8,7 +8,7 @@
- Advanced tutorials — heyoka 4.0.2 documentation
+ Advanced tutorials — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/api_reference.html b/api_reference.html
index 82dec65bb..43db247e4 100644
--- a/api_reference.html
+++ b/api_reference.html
@@ -8,7 +8,7 @@
- API Reference — heyoka 4.0.2 documentation
+ API Reference — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/basic_tutorials.html b/basic_tutorials.html
index 3197030e7..a286607ef 100644
--- a/basic_tutorials.html
+++ b/basic_tutorials.html
@@ -8,7 +8,7 @@
- Basic tutorials — heyoka 4.0.2 documentation
+ Basic tutorials — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/benchmarks.html b/benchmarks.html
index 22cd37291..b8c074653 100644
--- a/benchmarks.html
+++ b/benchmarks.html
@@ -8,7 +8,7 @@
- Benchmarks — heyoka 4.0.2 documentation
+ Benchmarks — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
@@ -573,7 +575,7 @@ Extended and arbitrary precision
type) or, alternatively the Arb library (via the
-ArbNumerics.jl package).
+ArbNumerics.jl package).
Here are the results of a numerical integration of the simple pendulum with a 256-bit significand
and a tolerance of \(10^{-77}\) :
diff --git a/bibliography.html b/bibliography.html
index 12aa1927c..6549995fd 100644
--- a/bibliography.html
+++ b/bibliography.html
@@ -8,7 +8,7 @@
- Bibliography — heyoka 4.0.2 documentation
+ Bibliography — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -132,8 +132,8 @@
-
-
+
+
@@ -197,6 +197,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/breaking_changes.html b/breaking_changes.html
index 7699acdbf..1ac9abc55 100644
--- a/breaking_changes.html
+++ b/breaking_changes.html
@@ -8,7 +8,7 @@
- Breaking changes — heyoka 4.0.2 documentation
+ Breaking changes — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/cfunc.html b/cfunc.html
index d6ef897e7..603ae1204 100644
--- a/cfunc.html
+++ b/cfunc.html
@@ -8,7 +8,7 @@
- Compiled functions — heyoka 4.0.2 documentation
+ Compiled functions — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/changelog.html b/changelog.html
index be40295a2..88e425efe 100644
--- a/changelog.html
+++ b/changelog.html
@@ -8,7 +8,7 @@
- Changelog — heyoka 4.0.2 documentation
+ Changelog — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
@@ -398,172 +400,178 @@ Contents
4.1.0 (unreleased)
-4.0.2 (2024-03-03)
-Fix
+4.0.3 (2024-04-04)
-4.0.1 (2024-03-02)
-Fix
+4.0.2 (2024-03-03)
-4.0.0 (2024-03-02)
-New
-Changes
+4.0.1 (2024-03-02)
-3.2.0 (2023-11-29)
-New
-Changes
+4.0.0 (2024-03-02)
-3.1.0 (2023-11-13)
-New
-Changes
-Fix
+3.2.0 (2023-11-29)
-3.0.0 (2023-10-07)
-Fix
+3.1.0 (2023-11-13)
-2.0.0 (2023-09-22)
-New
-Changes
+3.0.0 (2023-10-07)
-1.0.0 (2023-08-10)
+2.0.0 (2023-09-22)
-0.21.0 (2023-02-16)
+1.0.0 (2023-08-10)
-0.20.1 (2023-01-05)
-Changes
+0.21.0 (2023-02-16)
-0.20.0 (2022-12-17)
-New
-Changes
-Fix
+0.20.1 (2023-01-05)
-0.19.0 (2022-09-18)
+0.20.0 (2022-12-17)
-0.18.0 (2022-05-11)
+0.19.0 (2022-09-18)
-0.17.1 (2022-02-13)
-Changes
-Fix
+0.18.0 (2022-05-11)
-0.17.0 (2022-01-20)
-New
+0.17.1 (2022-02-13)
-0.16.0 (2021-11-20)
+0.17.0 (2022-01-20)
-0.15.0 (2021-09-28)
+0.16.0 (2021-11-20)
-0.14.0 (2021-08-03)
+0.15.0 (2021-09-28)
-0.12.0 (2021-07-21)
+0.14.0 (2021-08-03)
-0.11.0 (2021-07-06)
-New
-Changes
+0.12.0 (2021-07-21)
-0.10.1 (2021-07-02)
-Fix
+0.11.0 (2021-07-06)
-0.10.0 (2021-06-09)
-New
-Changes
+0.10.1 (2021-07-02)
-0.9.0 (2021-05-25)
-New
-Changes
+0.10.0 (2021-06-09)
-0.8.0 (2021-04-28)
-New
-Changes
-Fix
+0.9.0 (2021-05-25)
-0.7.0 (2021-04-21)
+0.8.0 (2021-04-28)
-0.6.1 (2021-04-08)
-Changes
-Fix
+0.7.0 (2021-04-21)
-0.6.0 (2021-04-06)
-New
+0.6.1 (2021-04-08)
-0.5.0 (2021-02-25)
+0.6.0 (2021-04-06)
-0.4.0 (2021-02-20)
-
-Changes
+
+Changes
When the fast_math
mode is active, the SIMD-vectorised
mathematical functions now use low-precision implementations.
@@ -710,10 +748,10 @@
Changes<
-
-3.1.0 (2023-11-13)
-
-New
+
+3.1.0 (2023-11-13)
+
-
-Changes
+
-
-
-3.0.0 (2023-10-07)
-
-Fix
+
-
-2.0.0 (2023-09-22)
-
-New
+
+2.0.0 (2023-09-22)
+
-
-Changes
+
-
-
-1.0.0 (2023-08-10)
-
-New
+
+1.0.0 (2023-08-10)
+
-
-Changes
+
-
-
-0.21.0 (2023-02-16)
-
-New
+
-
-0.20.1 (2023-01-05)
-
-Changes
+
-
-0.20.0 (2022-12-17)
-
-New
+
+0.20.0 (2022-12-17)
+
+New
Add option in the build system to hide the exported LLVM symbols,
when linking statically
@@ -982,15 +1020,15 @@
New #274).
-
-
-
-Changes
+
-
-
-0.17.1 (2022-02-13)
-
-Changes
+
+0.17.1 (2022-02-13)
+
-
-
-0.17.0 (2022-01-20)
-
-New
+
+0.17.0 (2022-01-20)
+
-
-Changes
+
-
-
-0.16.0 (2021-11-20)
-
-New
+
+0.16.0 (2021-11-20)
+
-
-Changes
+
+Changes
If propagate_grid()
exits early in batch mode,
the missing values are now set to NaN instead of zero
@@ -1184,8 +1222,8 @@
-
-
-
-
-
-0.11.0 (2021-07-06)
-
-New
+
+0.11.0 (2021-07-06)
+
-
-
-0.10.1 (2021-07-02)
-
-Fix
+
-
-0.10.0 (2021-06-09)
-
-New
+
+0.10.0 (2021-06-09)
+
-
-
-
-
-0.8.0 (2021-04-28)
-
-New
+
+0.8.0 (2021-04-28)
+
-
-Changes
+
-
-
-0.7.0 (2021-04-21)
-
-New
+
+0.7.0 (2021-04-21)
+
+New
Support LLVM 12
(#128 ).
@@ -1451,8 +1489,8 @@ New #126).
-
-
-
-0.6.1 (2021-04-08)
-
-Changes
+
+0.6.1 (2021-04-08)
+
-
-
-
-Changes
+
-
-Fix
+
+Fix
In the batch integrator class, the outcomes in the result vectors
are now initialised to taylor_outcome::success
instead of
@@ -1535,10 +1573,10 @@
Fix
-
-0.5.0 (2021-02-25)
-
-New
+
-
-0.4.0 (2021-02-20)
-
-New
+
+0.4.0 (2021-02-20)
+
-
-
-
-Changes
+
-
-Fix
+
+Fix
Ensure that pow(x ,0)
always simplifies to 1,
rather than producing an expression with null exponent
@@ -1641,10 +1679,10 @@
Fix
-
-0.2.0 (2021-01-13)
-
-New
+
+0.2.0 (2021-01-13)
+
+New
Extend the Taylor decomposition machinery to work
on more general classes of functions, and add
@@ -1658,23 +1696,23 @@
New #63).
-
diff --git a/exceptions.html b/exceptions.html
index 2f6149ec0..97708b088 100644
--- a/exceptions.html
+++ b/exceptions.html
@@ -8,7 +8,7 @@
- Exceptions — heyoka 4.0.2 documentation
+ Exceptions — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/expression.html b/expression.html
index 00d93db8b..4e45223b7 100644
--- a/expression.html
+++ b/expression.html
@@ -8,7 +8,7 @@
- Expressions — heyoka 4.0.2 documentation
+ Expressions — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/expression_system.html b/expression_system.html
index 24e26a47b..9d3bbfed5 100644
--- a/expression_system.html
+++ b/expression_system.html
@@ -8,7 +8,7 @@
- Expression system — heyoka 4.0.2 documentation
+ Expression system — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/func.html b/func.html
index 3d1debc27..42f4c2e57 100644
--- a/func.html
+++ b/func.html
@@ -8,7 +8,7 @@
- N-ary functions — heyoka 4.0.2 documentation
+ N-ary functions — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/genindex.html b/genindex.html
index da040f9a0..755cf6b12 100644
--- a/genindex.html
+++ b/genindex.html
@@ -7,7 +7,7 @@
- Index — heyoka 4.0.2 documentation
+ Index — heyoka 4.1.0 documentation
@@ -35,7 +35,7 @@
-
+
@@ -132,8 +132,8 @@
-
-
+
+
@@ -197,6 +197,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/index.html b/index.html
index 8b50db7e0..8468a0477 100644
--- a/index.html
+++ b/index.html
@@ -8,7 +8,7 @@
- heyoka — heyoka 4.0.2 documentation
+ heyoka — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -135,8 +135,8 @@
-
-
+
+
@@ -200,6 +200,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
@@ -530,6 +532,8 @@
Breaking changes
Known issues
+Unsolved
+Solved
Acknowledgement
Bibliography
diff --git a/install.html b/install.html
index ba7789106..fbd6396b3 100644
--- a/install.html
+++ b/install.html
@@ -8,7 +8,7 @@
- Installation — heyoka 4.0.2 documentation
+ Installation — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/known_issues.html b/known_issues.html
index 6bf173d76..e0a46ef22 100644
--- a/known_issues.html
+++ b/known_issues.html
@@ -8,7 +8,7 @@
- Known issues — heyoka 4.0.2 documentation
+ Known issues — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
@@ -372,7 +374,9 @@
`);
-
+
@@ -388,6 +392,17 @@ Known issues
@@ -399,13 +414,48 @@ Known issues
+
+Unsolved
+
+Under very specific circumstances, C++ code executed right after
+code that was JIT-compiled by heyoka might produce nonsensical results.
+This happens only if all the following conditions are met:
+you are on an Intel x86 platform where long double
corresponds
+to the extended-precision 80-bit x86 floating-point type,
+heyoka was compiled with support for quadruple-precision computations
+via mppp::real128
,
+JIT-compiled code using both 80-bit and quadruple-precision datatypes
+was executed,
+the “fast math” flag was enabled during JIT compilation.
+
+The root cause is most likely a code-generation/optimisation problem in LLVM.
+This issue is currently under investigation.
+
+
+
+
+Solved
+
+In several LLVM versions, attempting to use batch mode
+with the extended precision long double
type on x86 processors will lead
+to incorrect results. This is due to code generation issues in LLVM with
+long double
vector types. This problem seems to have been rectified in
+LLVM 18. Note that, in practice, there is no reason to attempt to use batch
+mode with long double
as currently there are no CPUs implementing SIMD operations
+on extended-precision datatypes.
Due to an upstream bug, if you compile heyoka linking statically against LLVM 17
while enabling the HEYOKA_HIDE_LLVM_SYMBOLS
option (see the
installation instructions ), you may experience
runtime errors due to missing symbols. This problem should be fixed in LLVM 18.
A patch fixing the issue in LLVM 17
is available here .
+Due to an upstream bug ,
+multiprecision ensemble propagations
+crash on OSX arm64 when using heyoka’s conda-forge package. This is due to the conda-forge
+package for the MPFR library not being compiled in thread-safe mode. The solution is to update
+to the latest version of the MPFR package, which includes a fix for this issue.
@@ -445,7 +495,23 @@ Known issues
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/math.html b/math.html
index efa5520bf..152fa43bc 100644
--- a/math.html
+++ b/math.html
@@ -8,7 +8,7 @@
- Mathematical functions — heyoka 4.0.2 documentation
+ Mathematical functions — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/mdspan.html b/mdspan.html
index 52e3b781f..e8d388a50 100644
--- a/mdspan.html
+++ b/mdspan.html
@@ -8,7 +8,7 @@
- mdspan — heyoka 4.0.2 documentation
+ mdspan — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/namespaces.html b/namespaces.html
index 344231eb9..392e9c0bf 100644
--- a/namespaces.html
+++ b/namespaces.html
@@ -8,7 +8,7 @@
- Namespaces — heyoka 4.0.2 documentation
+ Namespaces — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/number.html b/number.html
index 4cc5fa963..a7d07b79c 100644
--- a/number.html
+++ b/number.html
@@ -8,7 +8,7 @@
- Numerical constants — heyoka 4.0.2 documentation
+ Numerical constants — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/param.html b/param.html
index c6f084f04..5e675be95 100644
--- a/param.html
+++ b/param.html
@@ -8,7 +8,7 @@
- Runtime parameters — heyoka 4.0.2 documentation
+ Runtime parameters — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/search.html b/search.html
index 421721cb8..db4c9d7f5 100644
--- a/search.html
+++ b/search.html
@@ -6,7 +6,7 @@
- Search - heyoka 4.0.2 documentation
+ Search - heyoka 4.1.0 documentation
@@ -34,7 +34,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/searchindex.js b/searchindex.js
index 3b2b2289a..2efa4ab17 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["acknowledgement", "ad_notes", "advanced_tutorials", "api_reference", "basic_tutorials", "benchmarks", "bibliography", "breaking_changes", "cfunc", "changelog", "definitions", "exceptions", "expression", "expression_system", "func", "index", "install", "known_issues", "kwargs", "math", "mdspan", "namespaces", "number", "param", "tut_adaptive", "tut_adaptive_custom", "tut_arbitrary_precision", "tut_batch_mode", "tut_cfunc", "tut_d_output", "tut_ensemble", "tut_events", "tut_expression_system", "tut_extended_precision", "tut_nonauto", "tut_parallel_mode", "tut_param", "tut_s11n", "tut_single_precision", "tut_taylor_method", "variable"], "filenames": ["acknowledgement.rst", "ad_notes.rst", "advanced_tutorials.rst", "api_reference.rst", "basic_tutorials.rst", "benchmarks.rst", "bibliography.rst", "breaking_changes.rst", "cfunc.rst", "changelog.rst", "definitions.rst", "exceptions.rst", "expression.rst", "expression_system.rst", "func.rst", "index.rst", "install.rst", "known_issues.rst", "kwargs.rst", "math.rst", "mdspan.rst", "namespaces.rst", "number.rst", "param.rst", "tut_adaptive.rst", "tut_adaptive_custom.rst", "tut_arbitrary_precision.rst", "tut_batch_mode.rst", "tut_cfunc.rst", "tut_d_output.rst", "tut_ensemble.rst", "tut_events.rst", "tut_expression_system.rst", "tut_extended_precision.rst", "tut_nonauto.rst", "tut_parallel_mode.rst", "tut_param.rst", "tut_s11n.rst", "tut_single_precision.rst", "tut_taylor_method.rst", "variable.rst"], "titles": ["Acknowledgement", "Notes on automatic differentiation", "Advanced tutorials", "API Reference", "Basic tutorials", "Benchmarks", "Bibliography", "Breaking changes", "Compiled functions", "Changelog", "Macros and definitions", "Exceptions", "Expressions", "Expression system", "N-ary functions", "heyoka", "Installation", "Known issues", "Keyword arguments", "Mathematical functions", "mdspan", "Namespaces", "Numerical constants", "Runtime parameters", "The adaptive integrator", "Customising the adaptive integrator", "Computations in arbitrary precision", "Batch mode", "Compiled functions", "Dense & continuous output", "Ensemble propagations", "Event detection", "The expression system", "Computations in extended precision", "Non-autonomous systems", "Parallel mode", "Runtime parameters", "Serialisation", "Computations in single precision", "Taylor\u2019s method", "Variables"], "terms": {"we": [0, 1, 2, 5, 12, 14, 15, 16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "would": [0, 7, 9, 15, 26, 27, 30, 31, 37], "like": [0, 5, 7, 9, 16, 24, 26, 27, 28, 29, 31, 35, 36], "thank": [0, 16, 30, 32], "osu": 0, "open": [0, 6, 36], "sourc": [0, 4, 5, 6, 9, 14, 36], "lab": 0, "provid": [0, 2, 4, 5, 9, 12, 14, 16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 39], "remot": 0, "access": [0, 9, 14, 26, 27, 29, 33, 37], "power": [0, 9, 15, 31], "server": 0, "Their": 0, "support": [0, 5, 7, 8, 9, 10, 12, 15, 20, 22, 26, 27, 28, 29, 30, 32, 33, 37, 38], "wa": [0, 7, 9, 10, 16, 22, 24, 26, 27, 28, 29, 30, 31, 33, 37], "crucial": 0, "ensur": [0, 9, 16, 25, 29, 30, 31, 32, 37], "heyoka": [0, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "work": [0, 2, 7, 9, 15, 31, 33, 37, 38], "correctli": [0, 9, 26, 27, 31, 37], "cpu": [0, 5, 9, 16, 27, 28], "definit": [1, 3, 9, 15, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38], "normalis": [1, 39], "deriv": [1, 7, 9, 28, 31, 32, 39], "x": [1, 5, 7, 9, 12, 14, 15, 16, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "left": [1, 5, 9, 12, 15, 24, 27, 28, 29, 31, 34, 36, 39], "n": [1, 3, 5, 9, 12, 13, 15, 22, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "right": [1, 5, 9, 12, 15, 24, 27, 28, 29, 31, 32, 34, 35, 39], "t": [1, 5, 8, 9, 14, 20, 22, 24, 25, 27, 28, 29, 30, 31, 34, 35, 39], "frac": [1, 5, 36, 39], "1": [1, 5, 6, 8, 10, 12, 15, 16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "gener": [1, 9, 14, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 39], "leibniz": 1, "rule": [1, 6, 25, 31, 39], "given": [1, 5, 39], "b": [1, 22, 23, 40], "c": [1, 2, 5, 7, 9, 15, 16, 20, 24, 27, 28, 32, 33, 37, 38, 39], "sum_": [1, 39], "j": 1, "0": [1, 5, 15, 16, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39], "pm": 1, "trivial": [1, 7, 9, 37], "i": [1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "directli": [1, 5, 9, 26, 27, 28, 29, 30, 36], "applic": [1, 5, 15, 27, 36, 38, 39], "2": [1, 5, 6, 8, 10, 12, 15, 24, 25, 26, 27, 28, 30, 31, 33, 34, 35, 36, 38, 39], "can": [1, 2, 4, 5, 7, 9, 12, 13, 14, 15, 16, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "write": [1, 9, 24, 27, 28, 29, 30, 37], "now": [1, 5, 7, 9, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38], "appli": [1, 6, 39], "order": [1, 5, 6, 8, 9, 15, 16, 20, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "both": [1, 5, 16, 24, 28, 29, 30, 31, 35], "side": [1, 9, 27, 31, 32, 35, 39], "us": [1, 2, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "re": [1, 9, 26, 31, 36], "arrang": 1, "obtain": 1, "comput": [1, 2, 5, 6, 9, 16, 24, 27, 28, 29, 31, 32, 35, 39], "case": [1, 5, 7, 9, 15, 16, 24, 25, 27, 28, 29, 31, 34, 36, 37], "which": [1, 2, 5, 7, 8, 9, 12, 15, 16, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "take": [1, 24, 25, 27, 28, 29, 30, 31, 34, 35, 37, 39], "advantag": [1, 5, 28], "summat": [1, 9, 25], "symmetri": 1, "halv": 1, "complex": [1, 12, 32, 34], "begin": [1, 5, 15, 24, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 40], "mbox": 1, "even": [1, 5, 25, 26, 28, 31, 37], "odd": 1, "end": [1, 5, 9, 15, 16, 24, 25, 26, 27, 29, 30, 31, 33, 34, 36, 37, 38], "sqrt": [1, 32, 35], "help": [1, 5, 25, 28, 29, 38], "6": [1, 5, 24, 25, 27, 29, 31, 35, 38], "isol": [1, 6], "2a": 1, "alpha": [1, 27, 31], "neq": 1, "have": [1, 7, 16, 23, 24, 25, 28, 30, 31, 34, 36, 37, 39, 40], "prime": [1, 5, 15, 24, 25, 26, 27, 29, 30, 31, 33, 34, 36, 37, 38], "By": [1, 5, 24, 25, 31], "multipli": 1, "align": 1, "e": [1, 5, 6, 7, 9, 10, 16, 21, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 39], "operatornam": 1, "sig": 1, "where": [1, 16, 25, 26, 31, 36, 39], "after": [1, 12, 24, 26, 27, 29, 31, 34, 36, 37], "introduct": 1, "auxiliari": 1, "becom": [1, 2, 36], "3": [1, 5, 10, 16, 24, 27, 28, 29, 30, 31, 34, 35, 36, 38, 39], "log": [1, 31], "equival": [1, 9, 12, 22, 26, 27, 31, 32], "tan": [1, 9], "arcsin": 1, "introduc": [1, 9, 34, 35], "so": [1, 27, 28, 29, 31, 35, 36, 37], "28": [1, 27], "rewritten": [1, 7, 39], "yield": 1, "via": [1, 2, 5, 7, 8, 9, 12, 14, 15, 20, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39], "hand": [1, 9, 25, 26, 27, 29, 31, 32, 35, 36, 39], "term": [1, 9, 25, 34, 35], "The": [1, 3, 4, 6, 7, 9, 13, 15, 16, 20, 21, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39], "ident": [1, 7, 9, 12, 22, 27], "apart": 1, "from": [1, 4, 5, 7, 9, 10, 11, 12, 14, 15, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 35, 37, 38, 39, 40], "sign": [1, 5, 6, 7, 26, 31], "chang": [1, 5, 12, 15, 24, 25, 26, 27, 31, 34, 35, 36], "arcco": 1, "final": [1, 5, 11, 25, 27, 28, 30, 31, 35], "result": [1, 5, 7, 9, 12, 22, 23, 25, 26, 27, 28, 29, 30, 31, 35, 37, 40], "defin": [1, 5, 8, 9, 10, 14, 15, 18, 21, 28, 30, 31, 32, 33, 34, 35, 37, 38, 39], "arctan": 1, "36": [1, 6, 25, 33], "With": [1, 31, 34, 35, 36, 37], "arctan2": 1, "d": [1, 39], "41": [1, 27], "nd": 1, "vphantom": 1, "sinh": 1, "cosh": 1, "45": 1, "process": [1, 5, 9, 16, 25, 27, 28, 29, 31, 39], "tanh": 1, "arsinh": 1, "arcosh": 1, "artanh": 1, "erf": 1, "pi": [1, 9], "exp": [1, 32], "1n": 1, "bivari": [1, 28], "m": [1, 25, 35, 36], "implicitli": 1, "trascendent": 1, "equat": [1, 5, 7, 9, 15, 24, 26, 27, 32, 33, 38, 39], "sin": [1, 9, 12, 15, 24, 25, 26, 27, 29, 30, 31, 33, 34, 36, 37, 38], "partial": 1, "ar": [1, 2, 4, 5, 7, 8, 9, 10, 12, 14, 15, 16, 18, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40], "co": [1, 9, 12, 26, 27, 32, 33, 34, 38], "expand": [1, 10], "67": 1, "trivari": 1, "f": [1, 9, 28, 38, 39], "h": [1, 6, 24, 27, 35, 39], "k": 1, "lambda": [1, 31, 37], "proce": [1, 26, 28, 31, 37], "same": [1, 5, 9, 16, 22, 23, 24, 25, 26, 27, 28, 30, 31, 33, 35, 37, 40], "wai": [1, 7, 9, 12, 24, 25, 26, 30, 31, 32, 35, 37], "explain": [1, 5, 26, 28, 31, 36, 37, 38], "p_n": 1, "a_i": 1, "its": [1, 2, 5, 7, 9, 15, 16, 22, 24, 27, 29, 30, 31, 32, 34, 37], "_j": 1, "fall": [1, 24, 29], "factori": 1, "elementari": [1, 12, 22, 32, 39], "relat": [1, 9], "involv": [1, 30, 32], "indic": [1, 7, 9, 24, 27, 36], "choos": [1, 5], "a_": 1, "more": [2, 4, 5, 9, 12, 24, 25, 29, 31, 35, 37, 39], "exampl": [2, 4, 15, 24, 25, 27, 29, 31, 34, 35, 36], "avail": [2, 4, 5, 8, 9, 13, 16, 17, 22, 23, 26, 27, 28, 29, 30, 31, 33, 35], "document": [2, 3, 4, 9, 16, 20], "": [2, 3, 4, 5, 6, 7, 9, 10, 12, 14, 15, 16, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40], "python": [2, 4, 15, 28], "bind": [2, 4, 7, 15, 28], "In": [2, 5, 6, 7, 9, 16, 20, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "thi": [2, 5, 7, 8, 9, 10, 11, 12, 14, 16, 17, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40], "section": [2, 5, 25, 29, 31, 32, 34, 36], "show": [2, 5, 25, 27, 31, 35, 37], "some": [2, 16, 27, 29, 30, 36, 37], "function": [2, 3, 5, 7, 9, 11, 13, 20, 21, 24, 25, 27, 30, 31, 32, 34, 35, 36, 37, 39], "includ": [2, 7, 8, 9, 10, 11, 12, 14, 15, 19, 20, 21, 22, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40], "multiprecis": [2, 5, 16, 26], "vectoris": [2, 9], "batch": [2, 7, 9, 15, 16, 38], "mode": [2, 9, 15, 16, 22, 24, 26, 28, 30, 31, 38], "becaus": [2, 5, 12, 24, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37], "index": [2, 7, 9, 20, 23, 24, 27, 29, 30, 31, 35, 36], "over": [2, 5, 8, 9, 15, 25, 26, 27, 28, 30, 31, 35], "state": [2, 5, 7, 8, 9, 15, 22, 25, 26, 27, 29, 30, 31, 33, 35, 36, 37, 38, 39], "vector": [2, 5, 8, 9, 14, 15, 16, 24, 25, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 38], "flat": [2, 27], "1d": [2, 8, 27], "arrai": [2, 7, 8, 9, 12, 20, 23, 27, 28, 29, 32, 36], "quickli": 2, "complic": [2, 6, 13, 31], "confus": [2, 34], "make": [2, 16, 18, 27, 31, 37], "extens": [2, 9, 18, 20, 29], "xtensor": [2, 16, 27, 35], "librari": [2, 5, 9, 10, 15, 16, 18, 21, 26, 31, 32, 33, 35, 37], "among": [2, 5, 9, 22, 30], "mani": [2, 9, 28, 31], "other": [2, 5, 12, 15, 16, 24, 25, 28, 29, 30, 31, 35, 36, 37, 39], "featur": [2, 5, 9, 11, 15, 16, 26, 27, 28, 29, 31, 32], "an": [2, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "api": [2, 9, 12, 14, 15, 21, 27, 29, 30, 32, 34, 35, 37, 38], "veri": [2, 9, 25, 26, 27, 29, 31, 32, 37], "similar": [2, 7, 9, 27, 29, 39], "numpi": [2, 27], "multidimension": [2, 20], "It": [2, 9, 12, 14, 22, 24, 27, 31, 32], "outsid": [2, 29], "scope": [2, 37], "give": [2, 29], "full": [2, 10, 14], "overview": [2, 26], "capabl": [2, 5, 9, 13, 24, 27, 29, 32, 37], "here": [2, 5, 15, 16, 17, 24, 25, 27, 30, 31, 33, 39], "howev": [2, 5, 16, 27, 31], "onli": [2, 5, 8, 9, 12, 14, 16, 22, 24, 26, 27, 28, 29, 31, 32, 33, 37, 38, 39], "most": [2, 5, 7, 16, 26, 27, 28, 33], "basic": [2, 9, 15, 32], "reader": [2, 26], "familiar": 2, "should": [2, 5, 7, 9, 17, 24, 26, 27, 29, 30, 31, 37], "hard": [2, 36], "follow": [2, 3, 15, 16, 24, 27, 30, 31, 33, 34], "extend": [2, 9, 15, 27, 28, 32, 35, 38], "precis": [2, 9, 12, 15, 24, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 39], "arbitrari": [2, 9, 12, 15, 28, 29, 31, 37, 38], "singl": [2, 7, 9, 12, 15, 16, 27, 28, 29, 31, 33, 35], "serialis": [2, 9, 29], "ensembl": [2, 7, 9, 15, 35], "propag": [2, 7, 9, 29, 31, 35, 39], "parallel": [2, 9, 27, 30], "compil": [2, 3, 4, 9, 15, 16, 17, 25, 26, 33, 34, 36, 38, 39], "subsect": 3, "contain": [3, 9, 10, 12, 16, 21, 24, 27, 28, 29, 31, 36, 37, 39], "detail": [3, 5, 9, 28, 34, 37], "all": [3, 4, 5, 9, 11, 12, 14, 16, 18, 21, 22, 24, 25, 26, 27, 28, 30, 31, 33, 34, 36, 37, 38, 39], "public": [3, 9, 11], "class": [3, 7, 9, 10, 11, 16, 20, 24, 25, 27, 28, 29, 30, 31, 34, 37], "macro": [3, 37], "namespac": [3, 4, 15, 18, 24, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38], "keyword": [3, 7, 9, 21, 24, 25, 26, 27, 29, 30, 31, 34, 36], "argument": [3, 7, 8, 9, 12, 14, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37], "except": [3, 12, 14, 16, 20, 22, 23, 26, 35, 37, 40], "not_implemented_error": [3, 11], "mdspan": [3, 8, 28], "extent": [3, 20], "dextent": [3, 8, 20], "express": [3, 4, 7, 8, 9, 14, 21, 22, 23, 24, 28, 31, 34, 35, 36, 39, 40], "system": [3, 4, 6, 7, 8, 9, 14, 15, 16, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 38, 39, 40], "variabl": [3, 5, 6, 8, 9, 12, 13, 15, 16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "numer": [3, 5, 6, 8, 9, 12, 13, 15, 23, 25, 26, 27, 30, 31, 32, 33, 36, 38, 39], "constant": [3, 5, 9, 12, 13, 14, 23, 24, 26, 27, 32, 33, 35, 36, 38], "runtim": [3, 4, 5, 9, 12, 13, 16, 17, 25, 26, 27, 28, 30, 31, 32, 37], "paramet": [3, 4, 9, 12, 13, 14, 22, 24, 26, 27, 29, 30, 31, 32, 33, 35, 38, 40], "ari": [3, 12, 13, 32], "mathemat": [3, 6, 9, 12, 13, 27, 32, 36], "cfunc": [3, 9, 28], "code": [4, 5, 7, 9, 14, 25, 26, 28, 30, 39], "snippet": [4, 26, 31], "assum": [4, 7, 33], "inclus": [4, 9], "global": [4, 9, 26, 30], "header": [4, 9, 16, 18], "hpp": [4, 8, 9, 10, 11, 12, 14, 15, 18, 19, 20, 22, 23, 24, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38, 40], "hy": [4, 27, 34], "import": [4, 12, 16, 24, 26, 27, 29, 30, 31, 32, 37], "name": [4, 9, 10, 12, 14, 16, 18, 34, 37, 40], "handi": 4, "shortcut": 4, "subdirectori": 4, "tree": [4, 12, 16, 32], "enabl": [4, 5, 9, 12, 16, 17, 24, 25, 26, 27, 29, 31, 35, 37], "heyoka_build_tutori": [4, 16], "option": [4, 7, 9, 16, 17, 24, 25, 26, 27, 29, 31, 36], "when": [4, 5, 7, 9, 16, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38], "taylor": [4, 5, 6, 9, 15, 24, 25, 26, 27, 29, 30, 31, 33, 35, 36, 38], "method": [4, 5, 6, 15, 29], "adapt": [4, 5, 7, 9, 26, 30, 31, 33, 35, 38, 39], "integr": [4, 5, 6, 7, 9, 10, 15, 16, 23, 26, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39], "customis": [4, 9, 31], "non": [4, 5, 7, 9, 12, 16, 22, 24, 25, 27, 37], "autonom": [4, 9], "dens": [4, 9, 15, 24, 31], "continu": [4, 7, 9, 16, 24, 26, 30, 31], "output": [4, 7, 8, 9, 15, 22, 23, 24, 26, 28, 30, 31, 33, 36, 37, 38, 40], "event": [4, 9, 15, 26, 30, 33, 38], "detect": [4, 9, 15, 16, 24], "few": [5, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 37, 38], "perform": [5, 6, 9, 16, 24, 25, 26, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 39], "comparison": [5, 22, 23, 35, 40], "between": [5, 7, 16, 31], "popular": [5, 39], "od": [5, 6, 9, 15, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "packag": [5, 6, 9], "specif": [5, 7, 16, 25, 27, 28, 30, 31, 33, 34, 37, 39], "compar": [5, 12, 29, 35], "differentialequ": 5, "jl": [5, 6], "julia": [5, 6], "implement": [5, 6, 9, 11, 14, 16, 18, 20, 22, 24, 26, 28, 32, 33, 37, 39], "sever": [5, 6, 7, 9, 12, 13, 16, 21, 22, 26, 32, 33, 38], "solver": [5, 9], "explicit": [5, 8, 9, 12, 14, 22, 23, 34, 39, 40], "rung": [5, 39], "kutta": [5, 39], "vern6": 5, "vern8": 5, "vern9": 5, "feagin14": 5, "dp8": 5, "etc": [5, 9, 16, 26, 27, 31, 32, 33, 38], "see": [5, 10, 14, 16, 17, 20, 22, 24, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37], "list": [5, 8, 9, 16, 28, 30], "boost": [5, 9, 16, 28, 35, 37], "odeint": 5, "variou": [5, 9], "algorithm": [5, 24, 29, 31], "solut": [5, 9, 24, 25, 29, 39], "fehlberg": 5, "78": [5, 9], "ias15": 5, "rebound": 5, "high": [5, 6, 9, 15, 24, 26, 27, 30, 32, 33, 35, 38, 39], "symplect": 5, "timestep": [5, 9, 15, 25, 26, 27, 29, 30, 33, 37, 38, 39], "conserv": [5, 26, 33, 38], "dynam": [5, 6, 8, 9, 16, 20, 26, 31, 33, 34, 38], "invari": 5, "billion": [5, 15], "timescal": 5, "note": [5, 12, 15, 16, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "default": [5, 8, 9, 12, 14, 16, 22, 23, 24, 25, 26, 31, 33, 34, 38, 40], "incur": 5, "heavi": 5, "cost": [5, 15, 25, 27, 29], "while": [5, 7, 9, 12, 17, 24, 25, 27, 28, 29, 31, 34, 35, 36], "also": [5, 9, 16, 24, 25, 26, 27, 28, 29, 31, 32, 33, 37, 38, 39], "opt": [5, 9, 25], "impact": 5, "much": [5, 24, 26, 27, 31, 32, 35], "limit": [5, 9, 26, 29, 30, 32, 35], "test": [5, 9, 16, 35], "without": [5, 9, 26, 28, 30, 31, 32, 35, 37], "were": [5, 24, 26, 27, 29], "run": [5, 16, 30, 35], "intel": [5, 16, 33], "xeon": 5, "platinum": 5, "8360y": 5, "paper": [5, 6, 15], "github": [5, 16], "repositori": [5, 15], "particl": [5, 24, 25], "sun": [5, 35], "jupit": 5, "saturn": 5, "repres": [5, 7, 8, 9, 12, 14, 20, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 36, 38, 39, 40], "point": [5, 7, 8, 9, 12, 15, 16, 21, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 37, 38], "mass": [5, 35], "attract": 5, "each": [5, 9, 12, 24, 26, 27, 28, 29, 30, 33, 35, 38], "accord": [5, 35], "newtonian": [5, 35], "graviti": [5, 24, 35, 36], "initi": [5, 9, 15, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39], "condit": [5, 15, 16, 24, 25, 26, 27, 29, 30, 33, 34, 36, 37, 38, 39], "taken": [5, 9, 24, 27, 29, 31, 35, 37], "total": [5, 9, 24, 27, 31, 35], "10": [5, 6, 15, 16, 25, 26, 27, 29, 30, 31, 33, 35, 38], "5": [5, 7, 24, 27, 29, 30, 31, 34, 37, 38], "year": [5, 15, 35], "For": [5, 15, 16, 25, 26, 28, 30, 31, 35, 37], "time": [5, 7, 8, 9, 12, 14, 15, 16, 23, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39], "equispac": 5, "grid": [5, 7, 9, 27, 29, 30, 31], "request": [5, 24, 27, 29, 30], "measur": 5, "accuraci": [5, 9, 15, 24, 26, 29, 30, 38, 39], "quadrupl": [5, 9, 16, 28, 32, 33, 35], "toler": [5, 9, 24, 26, 29, 30, 31, 33, 36, 38], "30": 5, "let": [5, 15, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38], "u": [5, 24, 26, 27, 28, 29, 30, 31, 33, 35, 37, 38], "first": [5, 7, 9, 12, 22, 23, 24, 25, 27, 28, 29, 30, 31, 36, 37, 40], "error": [5, 6, 9, 16, 17, 24, 26, 27, 29, 31, 32, 33, 38, 39], "15": 5, "how": [5, 15, 16, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 38], "least": [5, 12, 16, 25, 30, 31, 35], "faster": [5, 24, 25], "than": [5, 7, 9, 15, 22, 24, 25, 26, 27, 31, 35, 38], "ani": [5, 9, 12, 14, 22, 23, 26, 27, 28, 29, 30, 31, 32, 37, 40], "grai": 5, "bar": 5, "increas": [5, 9, 27, 28, 31, 36, 38], "sim": [5, 24, 25, 26, 33, 36, 38], "50": [5, 34], "wherea": [5, 7, 16, 27, 28, 31, 32], "hit": 5, "substanti": [5, 9, 28, 38], "larger": [5, 24, 25, 27, 31, 38], "wise": 5, "rkf78": 5, "doe": [5, 7, 9, 26, 27, 28, 29, 31, 37], "view": [5, 8, 20, 27, 28, 35], "ha": [5, 7, 9, 16, 24, 25, 26, 27, 29, 31, 37], "lowest": 5, "rel": [5, 9, 25, 26, 29, 31, 33, 38], "respect": [5, 9, 10, 16, 24, 25, 26, 27, 29, 31, 35, 36, 38], "set": [5, 9, 15, 16, 24, 25, 26, 27, 29, 30, 31, 35, 39], "9": [5, 7, 15, 16, 24, 25, 26, 27, 29, 30, 31, 33, 36, 37, 38], "expect": [5, 27, 28, 29, 30, 31], "accumul": 5, "known": [5, 15, 16, 24, 30, 36], "brouwer": [5, 6], "law": [5, 6], "still": [5, 14, 33, 35], "higher": [5, 26, 29, 34], "smaller": 5, "wors": 5, "replac": [5, 7, 9, 25, 27, 33], "suppos": 5, "effici": [5, 9, 22, 23, 24, 29, 35, 36, 40], "At": [5, 14, 26, 30, 31, 33, 38], "low": [5, 9, 25, 29, 38], "similarli": [5, 7, 24, 26, 27, 31, 33, 38], "retain": 5, "motion": [5, 9, 15, 24, 34], "million": 5, "consist": [5, 12, 22, 25, 28, 35], "uranu": 5, "neptun": 5, "pluto": 5, "consid": [5, 9, 12, 15, 22, 23, 27, 31, 40], "about": [5, 29, 31, 37], "A": [5, 6, 8, 13, 16, 17, 23, 31], "overhead": [5, 28, 35, 36], "studi": [5, 36], "h\u00e9non": 5, "heil": 5, "famou": 5, "experi": [5, 17, 31], "investig": 5, "exist": [5, 7], "addit": [5, 9, 24, 26, 27, 28, 30, 31, 32, 34, 38], "axisymmetr": 5, "potenti": [5, 9], "differenti": [5, 6, 9, 15, 24, 28, 31, 32, 39], "v_x": 5, "2xy": 5, "v_y": 5, "y": [5, 12, 15, 22, 28, 29, 32], "2525875586263492": 5, "2178423952983717": 5, "2587703282931232": 5, "our": [5, 15, 16, 25, 31, 37], "object": [5, 7, 9, 12, 14, 15, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38], "poincar\u00e9": [5, 31], "plane": 5, "accomplish": [5, 32, 37], "up": [5, 7, 9, 16, 24, 27, 28, 29, 30, 31, 34, 36], "cross": [5, 31], "origin": [5, 27, 31, 35, 37], "impos": 5, "constraint": 5, "direct": [5, 7, 29], "must": [5, 7, 9, 16, 24, 26, 27, 30, 31, 32, 33, 37, 38], "posit": [5, 7, 23, 31, 34, 35], "below": [5, 16, 24, 31, 37], "2000": 5, "unit": [5, 15, 24, 27, 31, 34], "lower": 5, "combin": [5, 12], "free": [5, 24], "art": 5, "polynomi": [5, 6, 9, 24, 25, 29, 31, 39], "root": [5, 6, 7, 31, 32, 37], "find": [5, 31], "techniqu": [5, 15, 25, 31], "methodologi": 5, "rigor": 5, "computation": [5, 28, 29, 35], "contrast": [5, 27, 31], "adopt": 5, "approach": [5, 6, 25, 35, 36], "check": [5, 9, 31, 34], "interpol": 5, "within": [5, 7, 9, 18, 21, 26, 29, 31], "discret": 5, "sens": [5, 25, 29], "two": [5, 7, 9, 12, 22, 23, 27, 29, 30, 31, 37, 40], "zero": [5, 7, 9, 12, 15, 23, 24, 27, 29, 30, 31, 34, 35, 36], "miss": [5, 9, 17, 31], "suffer": [5, 28], "issu": [5, 9, 15, 16, 24, 25, 31, 38], "forward": [5, 9, 24, 27, 29, 30], "t_0": [5, 39], "t_1": [5, 39], "invert": 5, "return": [5, 7, 9, 12, 14, 22, 23, 24, 26, 27, 29, 30, 31, 33, 35, 36, 37, 38, 40], "close": [5, 31, 35], "match": [5, 27, 29, 33, 38], "keep": [5, 29, 30], "thing": [5, 29, 34], "simpl": [5, 15, 24, 27, 29, 31, 32, 39], "pendulum": [5, 6, 15, 24, 26, 27, 29, 30, 31, 33, 34, 36, 37, 38], "si": 5, "mathrm": [5, 36], "1000": 5, "goal": [5, 31, 35], "quantifi": [5, 25], "magnitud": [5, 25, 31], "differ": [5, 7, 9, 12, 16, 22, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 37], "abl": [5, 16, 31, 32, 33, 38], "accur": [5, 15, 31], "superior": 5, "due": [5, 9, 17, 26, 27, 31, 35, 37], "larg": [5, 9, 14, 25, 26, 28, 35, 36, 38, 39], "part": [5, 7, 15, 16, 29], "fact": [5, 7, 9, 20, 26, 35], "intern": [5, 9, 12, 14, 16, 22, 26, 27, 29, 32, 35, 37, 40], "represent": [5, 9, 16, 26, 37, 39], "coordin": [5, 9, 24, 26, 27, 29, 31, 33, 36, 37, 38], "base": [5, 9, 14, 15, 16, 23, 30, 31, 33, 37], "doubl": [5, 9, 12, 15, 16, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40], "length": [5, 9, 16, 31, 36], "arithmet": [5, 9, 13, 16, 22, 35], "allow": [5, 8, 9, 26, 27, 29, 33, 38], "drastic": 5, "reduc": [5, 6, 9, 25, 27, 31, 38], "loss": 5, "occur": [5, 31], "updat": [5, 9, 16, 24, 25, 27], "grow": 5, "throughout": [5, 21, 26, 31, 33, 38], "step": [5, 9, 24, 26, 28, 30, 31, 33, 35, 37, 38, 39], "size": [5, 7, 8, 9, 24, 27, 28, 31, 37, 39], "remain": [5, 12, 37], "roughli": [5, 27, 31], "thu": [5, 7, 14, 16, 25, 26, 27, 28, 29, 30, 31, 34, 35, 37, 39], "gradual": 5, "roundoff": 5, "curb": 5, "phenomenon": [5, 31], "particularli": [5, 30, 37, 38], "visibl": [5, 9, 37], "long": [5, 9, 12, 16, 22, 25, 26, 29, 32, 33, 34], "well": 5, "suit": [5, 9, 16], "thei": [5, 7, 8, 14, 16, 22, 23, 24, 26, 27, 28, 31, 35, 40], "freeli": [5, 27], "optim": [5, 24, 25, 27, 28, 32, 35, 39], "fix": [5, 7, 17, 23, 27, 36], "achiev": [5, 6, 27, 30, 32, 35], "expens": [5, 28], "34": [5, 27], "epsilon": [5, 24, 25, 26, 33, 38], "math": [5, 9, 16, 19], "gcc": [5, 16], "under": [5, 15, 31], "hood": 5, "20": [5, 7, 16, 24, 25, 26, 27, 30, 33, 36, 38], "move": [5, 8, 9, 12, 14, 15, 22, 23, 24, 27, 31, 35, 36, 40], "mpfr": 5, "float": [5, 8, 9, 12, 15, 16, 21, 22, 24, 25, 26, 27, 28, 31, 32, 33, 35, 38], "bigfloat": 5, "type": [5, 8, 9, 12, 13, 15, 16, 22, 24, 25, 26, 27, 28, 31, 32, 33, 35, 36, 37, 38], "altern": [5, 9, 26, 27], "arb": 5, "arbnumer": 5, "256": 5, "bit": [5, 9, 15, 26, 32, 33], "significand": [5, 26], "77": [5, 9], "lead": [5, 9, 16, 25, 27, 28, 31, 34, 36, 37, 38], "discuss": 5, "earlier": [5, 25, 26, 27, 31], "stepper": [5, 39], "memori": [5, 9, 14, 25, 26, 27, 28, 29, 35, 38], "alloc": [5, 14, 27], "That": [5, 12, 16, 22, 25, 26, 28, 29, 30, 31, 33, 34, 39], "contrari": [5, 27], "storag": [5, 28], "number": [5, 9, 10, 12, 15, 16, 23, 24, 25, 26, 27, 29, 30, 31, 35, 37], "emploi": [5, 12, 14, 25, 26, 31], "pre": 5, "stack": 5, "rather": [5, 7, 9, 15, 26, 27, 30], "being": [5, 9, 26, 27, 31, 32, 37], "demand": 5, "everi": [5, 31, 34], "oper": [5, 7, 8, 9, 13, 14, 16, 20, 27, 28, 29, 30, 32, 33, 35, 37, 38, 39], "As": [5, 15, 16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36], "tutori": [5, 8, 9, 13, 15, 16, 20, 23, 26, 27, 28, 30, 31, 37, 38], "almost": 5, "form": [5, 12, 13, 27, 30, 31, 32, 39], "coeffici": [5, 9, 26, 27, 29, 31, 33, 38], "seri": [5, 6, 25, 29, 31, 39], "famili": [5, 31], "sometim": [5, 31], "instabl": 5, "especi": [5, 30, 36, 39], "keplerian": 5, "circular": [5, 9, 35], "orbit": [5, 9, 35], "12": [5, 16, 25, 27, 31, 37], "ask": [5, 27, 29], "interv": [5, 24, 27, 29, 30, 31, 35], "plot": 5, "against": [5, 9, 16, 17], "analyt": [5, 9, 15], "lazi": 5, "8th": 5, "noisi": 5, "often": [5, 31], "exce": 5, "nomin": 5, "peak": 5, "local": 5, "maximum": [5, 24, 27, 31, 35], "disappear": 5, "switch": [5, 31], "datatyp": [5, 16, 24, 27, 28], "strongli": 5, "suggest": [5, 9], "behaviour": [5, 16, 25, 30, 31, 34, 37], "caus": 5, "jitteri": 5, "problemat": 5, "try": [5, 16, 24, 25, 29, 31, 35, 36, 37], "solv": [5, 15, 39], "invers": [5, 9, 32], "setup": [5, 16, 26, 27, 35], "g": [5, 6, 7, 9, 10, 16, 21, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 39], "model": [5, 7, 9, 15, 16, 25, 35], "determin": [5, 9, 31, 32], "bound": [5, 29], "experienc": 5, "inde": [5, 26, 27, 29, 31, 33, 37, 38], "calcul": 5, "formula": [5, 9], "guarante": [5, 9, 22, 29], "abmbrodriguez15": 6, "alberto": 6, "abad": 6, "roberto": 6, "barrio": 6, "miguel": 6, "marco": 6, "buzunariz": 6, "rodr": 6, "\u00ed": 6, "guez": 6, "automat": [6, 9, 15, 24, 28, 31, 32, 33, 35, 39], "mathematica": 6, "sage": 6, "268": [6, 9], "227": 6, "245": 6, "2015": 6, "bar05": 6, "dae": 6, "163": [6, 9], "525": 6, "545": 6, "2005": 6, "bs19": 6, "lui": 6, "benet": 6, "david": 6, "p": [6, 23, 39], "sander": 6, "taylorseri": 6, "expans": [6, 31, 39], "one": [6, 12, 16, 25, 27, 28, 29, 30, 31, 32, 33, 37], "journal": [6, 15], "softwar": [6, 16, 32], "4": [6, 15, 24, 27, 28, 29, 30, 31, 35, 39], "1043": 6, "2019": 6, "url": [6, 15], "http": [6, 15], "joss": 6, "theoj": 6, "org": [6, 15], "21105": 6, "01043": 6, "doi": [6, 15], "ca76": [6, 31], "georg": 6, "collin": 6, "alkiviadi": 6, "akrita": 6, "real": [6, 10, 12, 16, 22, 26, 31], "descart": 6, "proceed": 6, "third": [6, 27], "acm": 6, "symposium": 6, "symbol": [6, 8, 9, 12, 13, 15, 16, 17, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40], "algebra": [6, 32, 39], "272": 6, "275": 6, "1976": 6, "har08": 6, "alex": 6, "haro": 6, "tool": 6, "univ": 6, "barcelona": 6, "preprint": [6, 15], "2008": 6, "hub99": [6, 34], "john": 6, "hubbard": 6, "forc": [6, 9, 16, 27, 34], "damp": [6, 27, 31, 34], "chao": 6, "control": [6, 25, 31], "american": 6, "monthli": [6, 15], "106": [6, 9, 16], "8": [6, 15, 24, 25, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37, 38], "741": 6, "758": 6, "1999": 6, "jz05": 6, "\u00e0": 6, "ngel": 6, "jorba": 6, "maorong": 6, "zou": 6, "mean": [6, 7, 9, 24, 25, 28, 29, 35], "experiment": [6, 20], "14": [6, 16], "99": [6, 9], "117": 6, "rodriguezb12": 6, "round": 6, "62": 6, "1014": 6, "1024": 6, "2012": 6, "backward": [7, 24, 27, 31], "incompat": 7, "pass": [7, 8, 9, 24, 26, 27, 28, 29, 31, 33, 34, 36, 38], "input": [7, 8, 9, 12, 22, 23, 24, 27, 28, 29, 30, 35, 37, 40], "auto": [7, 12, 15, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "need": [7, 14, 16, 24, 27, 28, 29, 31, 32, 33, 35, 37, 39], "second": [7, 12, 22, 23, 24, 27, 29, 30, 31, 40], "signatur": [7, 9, 24, 27, 30, 31, 37], "bool": [7, 8, 12, 22, 23, 24, 30, 31, 35, 40], "convention": 7, "call": [7, 8, 9, 16, 20, 24, 27, 28, 29, 30, 31, 34, 36, 37], "mr": [7, 9], "been": [7, 9, 16, 24, 25, 29, 31, 36, 37], "remov": [7, 9, 31], "flag": [7, 9, 16, 24, 27, 29, 31, 35], "meant": [7, 37], "signal": [7, 11, 16], "possibl": [7, 9, 12, 24, 27, 28, 30, 31, 32, 37], "multipl": [7, 9, 27, 28, 30, 32, 35], "cooldown": [7, 9], "period": [7, 27, 31, 34, 36], "never": [7, 9, 30, 34], "intend": 7, "drop": 7, "straightforward": [7, 30], "you": [7, 14, 15, 16, 17, 26, 28, 29, 31, 35, 36, 37], "just": [7, 8, 9, 15, 16, 25, 27, 28, 29, 31, 33, 39], "interact": [7, 9, 20, 35], "valu": [7, 9, 12, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "previous": 7, "refer": [7, 9, 12, 14, 15, 16, 20, 22, 23, 24, 26, 27, 29, 31, 36, 37, 40], "scalar": [7, 9, 27, 28, 38], "propagate_for": [7, 9, 15, 24, 27, 29, 34, 35], "propagate_until": [7, 24, 25, 27, 29, 30, 31, 36], "sixth": [7, 24], "element": [7, 9, 25, 27, 29, 30], "tupl": [7, 24, 27, 29, 30], "variant": [7, 12, 22, 32], "fifth": [7, 24, 29], "modifi": [7, 9, 30, 31, 32, 36], "analog": [7, 27], "new": [7, 12, 16, 24, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38], "matter": [7, 25], "structur": [7, 9, 12], "declar": [7, 9, 18], "account": [7, 9, 31], "adjust": 7, "fetch": [7, 9, 27, 29, 31], "requir": [7, 9, 12, 14, 16, 24, 26, 27, 29, 31, 35, 36, 38, 39], "equal": [7, 9, 12, 22, 23, 24, 25, 40], "current": [7, 9, 16, 24, 25, 29, 30, 31, 33, 35, 37], "If": [7, 9, 12, 15, 16, 22, 24, 26, 28, 29, 31, 36, 37], "want": [7, 24, 27, 31], "recov": [7, 37], "previou": [7, 25, 27, 29, 32, 36, 37, 38], "invok": [7, 9, 14, 24, 27, 28, 29, 30, 31, 37], "manual": [7, 31], "befor": [7, 9, 24, 26, 27, 29, 33, 35, 37, 38], "llvm": [7, 9, 15, 16, 17, 26, 37, 39], "13": [7, 16, 27], "project": 7, "fmt": [7, 9, 16, 28], "mp": [7, 9, 10, 16, 22, 26, 33, 35], "minimum": [7, 9, 14, 16, 24, 27], "version": [7, 9, 10, 16, 24, 26, 27, 29, 30, 31, 34, 35, 36, 37, 38], "bump": 7, "11": [7, 27], "make_nbody_si": [7, 9], "nbodi": [7, 25, 35], "semant": [7, 9, 12, 14], "pairwise_sum": [7, 9], "sum": [7, 9], "behav": [7, 26], "until": [7, 9, 24, 27, 29, 31], "r0": 7, "r1": 7, "r2": 7, "r3": 7, "ta": [7, 15, 24, 25, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37, 38], "r4": 7, "noth": [7, 29], "copi": [7, 8, 9, 12, 14, 16, 22, 23, 24, 26, 27, 30, 40], "shallow": [7, 9], "deep": [7, 9], "repercuss": 7, "user": [7, 14, 16, 21, 23, 24, 26, 27, 28, 29, 30, 31, 32, 39], "manipul": [7, 13], "mai": [7, 16, 17, 24, 30, 31], "whether": [7, 35], "void": [7, 22, 23, 24, 31, 37, 40], "specifi": [7, 24, 25, 26, 27, 29, 30, 31, 33, 34, 35, 38], "constructor": [7, 8, 11, 12, 14, 22, 23, 27, 28, 31, 33, 36, 40], "could": [7, 9, 15, 16, 27, 31, 34, 37], "unnam": 7, "int": [7, 15, 24, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38], "append": [7, 30, 31], "trigger": [7, 9, 27, 31], "neg": [7, 9, 31], "templat": [8, 9, 12, 14, 20, 22, 23, 24, 26, 27, 28, 30, 33, 35, 37, 38, 40], "typenam": [8, 12, 14, 20, 35, 37], "evalu": [8, 9, 25, 29, 39], "showcas": [8, 13], "in_1d": 8, "const": [8, 9, 12, 14, 22, 23, 24, 26, 27, 29, 31, 33, 35, 36, 37, 38, 40], "std": [8, 9, 11, 12, 14, 15, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40], "size_t": [8, 20, 22, 23, 30, 40], "out_1d": 8, "in_2d": [8, 28], "out_2d": [8, 28], "2d": [8, 27], "These": [8, 9, 10, 12, 24, 27, 34, 35], "conveni": [8, 28], "typedef": [8, 28], "noexcept": [8, 12, 14, 22, 23, 40], "init": [8, 28, 35, 36], "invalid": [8, 9], "construct": [8, 9, 12, 13, 14, 22, 23, 25, 26, 29, 30, 31, 32, 33, 35, 36, 38, 39, 40], "assign": [8, 9, 12, 14, 22, 23, 27, 31, 40], "destruct": [8, 12, 14, 22, 23, 40], "invoc": [8, 24, 29, 30, 37], "is_valid": 8, "kwarg": 8, "fn": 8, "var": 8, "kw_arg": 8, "main": [8, 9, 12, 15, 16, 24, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39], "creat": [8, 9, 12, 13, 15, 16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "multivari": [8, 9, 28], "dure": [8, 9, 23, 29, 31, 37], "nodiscard": [8, 12, 14, 22, 23, 40], "408": 9, "mingw": 9, "404": 9, "powerpc": [9, 16], "401": 9, "spack": 9, "manag": [9, 16, 24], "396": 9, "facilit": [9, 16, 29], "creation": [9, 12, 21, 23, 25, 26, 27, 30, 33, 38], "multithread": [9, 28, 35], "parallelis": [9, 15, 28, 30, 35], "tensor": 9, "spars": 9, "format": [9, 26, 33, 37, 38], "389": 9, "add": [9, 16, 31, 35, 37], "lagrangian": [9, 15], "hamiltonian": [9, 15], "mechan": [9, 15], "381": 9, "379": 9, "rang": [9, 29, 30], "callback": [9, 24, 27, 29, 30, 31], "propagate_": [9, 24, 27, 30, 31], "individu": [9, 35], "compos": 9, "376": 9, "angle_reduc": 9, "angular": [9, 31], "modul": 9, "readi": [9, 27, 28, 29, 30, 31, 37], "made": [9, 31], "speedup": [9, 28, 35], "sub": 9, "primit": [9, 22, 23, 40], "394": 9, "break": [9, 15], "make_var": [9, 12, 15, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38], "386": 9, "termin": [9, 27, 37], "simplifi": [9, 32], "385": 9, "propagate_grid": [9, 24, 27, 29, 31], "373": 9, "kw": [9, 18, 21, 25, 26, 27, 29, 31, 34, 35, 36, 37], "372": 9, "369": 9, "366": 9, "363": 9, "elp2000": 9, "lunar": 9, "theori": 9, "362": 9, "fast_math": 9, "activ": [9, 12, 15, 16, 22, 25, 26, 33, 38], "simd": [9, 15, 27, 28, 38], "367": 9, "initialis": [9, 12, 14, 22, 23, 26, 27, 36, 40], "callabl": [9, 24, 31], "empti": [9, 14, 24, 29, 37, 40], "null": 9, "pointer": [9, 24, 36, 37], "improv": [9, 16, 26], "product": 9, "leaki": 9, "relu": 9, "357": 9, "356": 9, "feed": 9, "neural": [9, 15, 38], "network": [9, 15], "355": 9, "eccentr": 9, "longitud": 9, "352": 9, "delta": 9, "anomali": 9, "yet": 9, "360": 9, "358": 9, "degre": [9, 30], "redund": 9, "354": 9, "unord": 9, "fashion": [9, 15], "compact": [9, 24, 26, 30, 35, 39], "logic": 9, "cach": 9, "359": 9, "warn": [9, 37], "build": [9, 16], "sleef": [9, 10, 16], "stabil": 9, "vsop2013": 9, "353": 9, "kepler": [9, 32], "prevent": [9, 25, 29, 31], "accident": 9, "leak": 9, "350": 9, "wrong": 9, "compat": [9, 16], "cmake": 9, "config": [9, 10, 16], "file": [9, 16, 28, 37], "around": [9, 15, 35, 39], "failur": [9, 14, 29], "arm": [9, 16, 33], "singular": 9, "348": 9, "346": 9, "restrict": 9, "three": [9, 30, 31], "bodi": [9, 25, 31, 35, 37], "problem": [9, 17, 25, 31], "345": 9, "342": 9, "slp": 9, "341": 9, "consider": 9, "jit": [9, 28], "llvm_state": 9, "avoid": [9, 16, 27, 31, 34, 36, 37], "optimis": [9, 16, 25, 36], "alreadi": [9, 34, 35], "program": [9, 25], "execut": [9, 16, 28, 30, 31, 35, 37], "340": 9, "get": [9, 24, 29, 30, 31], "bitcod": 9, "339": 9, "level": [9, 26, 27, 29, 31, 33, 35, 38], "clamp": [9, 24, 27], "instead": [9, 16, 23, 24, 25, 26, 27, 31, 33, 36, 38], "textual": 9, "ir": 9, "preserv": 9, "deserialis": [9, 37], "broken": 9, "link": [9, 16, 17], "doc": [9, 37], "pre_hook": [9, 24], "member": [9, 11, 24, 26, 27, 29, 30, 31, 36, 37], "334": 9, "clang": [9, 16], "tidi": 9, "315": 9, "overload": [9, 12, 22, 32], "repeatedli": [9, 24, 28], "312": 9, "immut": [9, 12], "309": 9, "read": [9, 24, 30, 31, 34], "properti": [9, 27], "305": 9, "302": 9, "295": 9, "substitut": 9, "subexpress": [9, 39], "301": 9, "screen": [9, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38], "truncat": [9, 25, 39], "299": 9, "share": [9, 16, 27, 30], "thread": [9, 28, 35], "aim": [9, 25, 31], "likelihood": 9, "data": [9, 24, 26, 27, 28, 32, 35, 36, 37], "race": 9, "comprehens": [9, 27], "overhaul": 9, "enhanc": 9, "simplif": [9, 32], "specialis": 9, "squar": [9, 32], "sum_sq": 9, "divis": 9, "subtract": 9, "special": [9, 32, 34, 37], "332": 9, "331": 9, "330": 9, "329": 9, "328": 9, "327": 9, "326": 9, "325": 9, "324": 9, "323": 9, "322": 9, "fold": 9, "321": 9, "319": 9, "reorganis": 9, "317": 9, "303": 9, "catch": 9, "get_n_nod": 9, "overflow": 9, "69": [9, 16], "300": 9, "hash": [9, 22, 23, 40], "repeat": [9, 26, 35, 37], "unstrid": 9, "forcibli": 9, "inlin": [9, 21], "codegen": 9, "better": [9, 26], "helper": [9, 26, 33, 38], "bug": [9, 17], "310": 9, "osx": [9, 16], "mix": [9, 22], "recent": 9, "libcxx": 9, "old": [9, 37], "308": 9, "do": [9, 14, 16, 25, 27, 28, 29, 31, 37], "instanti": [9, 33], "window": [9, 16, 26], "msvc": [9, 16], "cl": 9, "298": 9, "depend": [9, 16, 22, 30, 32, 33, 34, 37, 39], "294": 9, "abi": 9, "properli": 9, "tag": 9, "290": 9, "mark": 9, "coupl": [9, 24, 27, 29, 37], "had": [9, 36, 37], "hidden": 9, "mistak": 9, "286": 9, "hide": [9, 16], "export": [9, 16], "static": [9, 16, 17, 20], "283": 9, "avx": [9, 15, 27], "512": [9, 15], "regist": [9, 37], "280": 9, "278": 9, "276": 9, "274": 9, "indirect": 9, "libquadmath": 9, "279": 9, "crash": [9, 37], "hang": 9, "short": 9, "270": 9, "deduct": [9, 24, 31, 39], "267": 9, "261": 9, "deprec": 9, "266": 9, "releas": [9, 15, 16], "timekeep": 9, "benchmark": [9, 15, 16, 35], "254": 9, "251": 9, "247": 9, "237": [9, 26], "nan": [9, 22, 27], "max": [9, 24, 30], "iter": [9, 27, 30], "exceed": 9, "252": 9, "242": 9, "earli": [9, 27], "interrupt": [9, 24], "exit": [9, 27], "235": 9, "stop": [9, 24, 31], "shadow": [9, 31], "debug": 9, "257": 9, "246": 9, "certain": [9, 14, 30, 31], "corner": 9, "234": 9, "231": 9, "freebsd": 9, "built": [9, 10, 16, 22, 29], "225": 9, "221": 9, "accept": [9, 26, 27], "splat": 9, "appropri": 9, "220": 9, "unnecessari": 9, "222": 9, "226": 9, "aris": [9, 25, 27, 31], "destroi": 9, "216": 9, "214": 9, "209": 9, "204": 9, "201": 9, "215": 9, "refactor": 9, "213": 9, "fast": [9, 16, 28], "exclus": 9, "212": 9, "208": 9, "203": 9, "alias": 9, "217": 9, "incorrect": [9, 29], "count": [9, 25, 35], "196": 9, "195": 9, "top": [9, 37], "192": 9, "189": 9, "ppc64": 9, "188": 9, "planet": [9, 31, 35], "solar": [9, 35], "usabl": [9, 25, 39], "186": 9, "183": 9, "180": 9, "tangent": 9, "atan2": 9, "182": 9, "198": 9, "tbb": [9, 16, 35], "don": [9, 22], "187": 9, "kepe": 9, "decomposit": 9, "185": 9, "store": [9, 24, 26, 27, 28, 29, 31, 33, 36, 37, 38], "175": 9, "heurist": [9, 31], "178": 9, "platform": [9, 16, 26, 32, 33, 37], "agnost": 9, "determinist": 9, "across": [9, 27, 37], "176": 9, "64": [9, 16, 32, 33], "processor": [9, 16, 27, 33], "171": 9, "167": 9, "serial": [9, 16, 35, 37], "160": 9, "152": 9, "infer": [9, 26, 36], "154": 9, "149": 9, "pairwis": 9, "147": 9, "148": 9, "rais": [9, 12, 14, 22, 26, 37], "144": 9, "ellipt": [9, 31, 32], "138": 9, "136": 9, "loop": [9, 25, 31], "135": 9, "linear": [9, 34], "quadrat": 9, "145": 9, "142": 9, "cleanup": 9, "unus": 9, "undocu": [9, 14], "134": 9, "small": [9, 26, 27, 31, 33, 35, 36, 38, 39], "133": 9, "binary_oper": 9, "node": [9, 12, 32, 36], "binari": [9, 12, 22, 26, 37], "func": [9, 12], "132": 9, "affect": [9, 24], "131": 9, "stream": [9, 22, 23, 37, 40], "taylor_outcom": [9, 24, 27, 30, 31], "multiroot": 9, "true": [9, 12, 24, 25, 26, 27, 29, 31, 35], "128": [9, 15, 33], "max_delta_t": [9, 24], "127": 9, "greatli": [9, 25], "predict": 9, "126": 9, "update_d_output": [9, 27, 29, 31], "absolut": [9, 24, 25, 27, 29, 31], "129": 9, "cannot": [9, 12], "set_tim": [9, 24, 27, 29, 36], "124": [9, 30], "assert": 9, "misfir": 9, "123": 9, "119": 9, "start": [9, 25, 26, 27, 30, 33, 35, 36, 37, 38, 39], "track": 9, "coverag": 9, "115": 9, "107": 9, "chapter": 9, "util": [9, 25, 27, 35], "presenc": [9, 31, 36, 37], "105": 9, "abil": [9, 15, 39], "jet": 9, "104": 9, "speed": [9, 28, 35], "taylor_adapt": [9, 15, 24, 25, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37, 38], "102": 9, "monoton": [9, 24], "114": 9, "outcom": [9, 24, 27, 30, 31], "success": [9, 24, 26, 27, 28, 31], "meaningless": 9, "101": 9, "100": [9, 30], "extract": 9, "retriev": 9, "eras": [9, 37], "inner": 9, "dedic": [9, 28], "negat": [9, 22], "powi": 9, "exponenti": [9, 32], "natur": [9, 32], "expon": 9, "98": 9, "95": 9, "92": 9, "91": 9, "pow": 9, "89": 9, "standard": [9, 16, 20, 27, 28, 32, 37, 38], "logist": [9, 32], "87": [9, 27], "hyperbol": [9, 32], "counterpart": [9, 27, 32], "84": 9, "trigonometr": [9, 32], "81": 9, "logo": 9, "73": 9, "83": [9, 26], "common": [9, 14, 29, 34], "82": 9, "copyright": 9, "date": [9, 29, 31], "79": 9, "temporari": 9, "alwai": [9, 16, 27, 29, 30, 31, 36], "produc": [9, 24, 26, 29, 33, 37, 38, 39], "older": 9, "80": [9, 15, 32, 33], "88": [9, 27], "86": [9, 27], "85": [9, 27, 34], "76": 9, "74": 9, "machineri": 9, "71": [9, 26], "68": 9, "63": 9, "enum": [9, 31], "publicli": 9, "mangl": 9, "heyoka_version_str": 10, "string": [10, 12, 14, 37, 40], "liter": [10, 21, 22, 32], "heyoka_version_major": 10, "correspond": [10, 15, 25, 26, 27, 29, 31], "major": [10, 16, 24, 28, 29], "heyoka_version_minor": 10, "minor": 10, "heyoka_version_patch": 10, "patch": [10, 17], "heyoka_with_mppp": [10, 16], "instal": [10, 15, 17, 22, 26, 33], "instruct": [10, 15, 16, 17, 22, 26, 27, 28, 29, 33], "heyoka_with_real128": [10, 16], "heyoka_with_r": [10, 16], "real128": [10, 12, 16, 22, 33, 35], "heyoka_with_sleef": [10, 16], "runtime_error": 11, "inherit": 11, "union": [12, 13, 22], "essenti": [12, 29], "varieti": [12, 25], "place": [12, 35, 37], "swap": [12, 22, 23, 40], "value_typ": [12, 22], "param": [12, 36], "mppp": [12, 16, 22, 26, 33, 35], "thrown": [12, 14, 22, 23, 35, 40], "accessor": 12, "instanc": [12, 16, 24, 26, 30, 31, 33, 38], "arg0": 12, "arg": [12, 14], "str": 12, "suppli": [12, 23, 28, 32], "otherwis": [12, 16, 24, 26, 31, 33, 38], "convert": [12, 33], "z": [12, 32], "either": [12, 24, 25, 26, 29, 33], "anoth": [12, 24, 27, 28, 31, 32, 36], "e1": 12, "e2": 12, "underli": [12, 22, 27], "emphasis": [12, 27, 32, 37], "impli": 12, "opposit": [12, 15, 31], "operand": [12, 22, 35], "_flt": 12, "unsign": [12, 35, 37], "_dbl": 12, "_ldbl": 12, "char": 12, "_f128": 12, "arbitrarili": [13, 28], "interfac": [14, 24], "throw": [14, 22], "invalid_argu": [14, 22], "get_nam": 14, "getter": [14, 22, 23, 40], "polymorph": 14, "wrapper": 14, "satisfi": [14, 16, 26], "conceptu": [14, 31, 39], "udf": 14, "is_udf": 14, "shared_ptr": 14, "flux": 14, "pleas": [14, 16, 37], "understand": [14, 16, 31], "same_a": 14, "remove_cvref_t": 14, "valid": [14, 37], "default_initializ": 14, "movabl": 14, "copyabl": 14, "derived_from": 14, "enumer": 14, "hey\u00f3k\u021fa": 15, "kind": 15, "sacr": 15, "clown": 15, "cultur": 15, "sioux": 15, "lakota": 15, "dakota": 15, "peopl": 15, "great": 15, "plain": [15, 28], "north": 15, "america": 15, "contrarian": 15, "jester": 15, "satirist": 15, "who": 15, "speak": 15, "react": [15, 31], "them": [15, 27, 37], "ordinari": [15, 39], "aggress": 15, "notabl": [15, 16, 31], "reliabl": 15, "builtin": [15, 26], "bring": [15, 26], "your": [15, 26], "own": [15, 24, 30], "formul": [15, 27, 31], "machin": [15, 24, 25, 26, 28, 29, 31, 33, 37, 38], "learn": 15, "maintain": [15, 16, 25, 27], "ten": 15, "har": 15, "modern": [15, 16, 27, 28, 32], "avx2": 15, "neon": 15, "vsx": 15, "simul": [15, 30], "prefer": [15, 16, 26], "py": [15, 28], "research": 15, "teach": 15, "grate": 15, "star": [15, 35], "cite": 15, "citat": 15, "purpos": [15, 26, 31, 35, 37], "bibtex": 15, "entri": 15, "arxiv": 15, "articl": 15, "1093": 15, "mnra": 15, "stab1032": 15, "author": 15, "biscani": 15, "francesco": 15, "izzo": 15, "dario": 15, "titl": 15, "revisit": 15, "astrodynam": 15, "celesti": [15, 31], "notic": [15, 24, 35, 38], "royal": 15, "astronom": 15, "societi": 15, "volum": 15, "504": 15, "page": 15, "2614": 15, "2628": 15, "2021": 15, "month": 15, "04": [15, 27], "issn": 15, "0035": 15, "8711": 15, "eprint": 15, "academ": 15, "oup": 15, "com": 15, "pdf": 15, "37750349": 15, "novel": 15, "describ": [15, 24, 27, 28, 31], "stac1092": 15, "513": 15, "4833": 15, "4844": 15, "2022": [15, 16], "43796551": 15, "v": [15, 24, 25, 27, 29, 30, 31, 33, 34, 35, 36, 37, 38, 40], "05": [15, 24, 25, 27, 29, 30, 31, 36, 37], "025": [15, 24, 25, 29, 30, 31, 37], "iostream": [15, 24, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38], "print": [15, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38], "cout": [15, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "get_stat": [15, 24, 26, 27, 29, 33, 34, 37, 38], "0487397": [15, 29], "0429423": [15, 29], "mpl": 15, "licens": 15, "european": 15, "space": [15, 31], "agenc": 15, "advanc": [15, 16], "changelog": 15, "acknowledg": 15, "bibliographi": 15, "written": [16, 31, 37], "target": 16, "regularli": 16, "pipelin": 16, "linux": 16, "architectur": [16, 26], "x86": [16, 27, 32, 33], "mandatori": [16, 24, 27, 30, 31], "infrastructur": 16, "18": [16, 17, 35], "spdlog": 16, "addition": [16, 29, 31], "__float128": [16, 33], "bla": 16, "bundl": 16, "present": [16, 27, 30], "situat": [16, 31, 37], "advis": 16, "spdlog_fmt_extern": 16, "turn": [16, 26, 31], "ON": 16, "vari": [16, 32, 33, 34], "hardwar": [16, 32], "microsoft": 16, "visual": 16, "synonym": 16, "unless": [16, 31], "On": [16, 26, 35], "nonstandard": [16, 33], "ieee": [16, 33], "signific": 16, "mppp_with_mpfr": [16, 26], "forg": 16, "channel": 16, "immedi": [16, 31], "channel_prior": 16, "strict": 16, "unspecifi": 16, "meta": 16, "command": 16, "core": [16, 35], "develop": 16, "team": 16, "commun": 16, "port": 16, "pkg": 16, "download": 16, "onc": [16, 24, 30, 31], "configur": [16, 24, 28], "custom": [16, 31], "path": 16, "reli": [16, 39], "off": [16, 24, 26, 31], "heyoka_build_test": 16, "heyoka_build_benchmark": 16, "heyoka_build_static_librari": 16, "heyoka_enable_ipo": 16, "heyoka_force_static_llvm": 16, "heyoka_hide_llvm_symbol": [16, 17], "effect": [16, 27, 34, 35, 39], "conjunct": 16, "collis": [16, 31], "coexist": 16, "unpredict": 16, "segfault": 16, "attempt": [16, 26, 37], "might": [16, 29, 34], "directori": 16, "conform": 16, "ffast": 16, "ofast": 16, "sure": [16, 27, 37], "To": 16, "cmake_install_prefix": 16, "dll": 16, "fail": 16, "group": 16, "lib": 16, "lingo": 16, "load": [16, 23, 32, 37], "encapsul": [16, 26, 33, 38], "inform": [16, 29, 37], "necessari": [16, 29, 31, 39], "ad": [16, 30, 31, 37], "brought": 16, "chain": 16, "cmakelist": 16, "txt": 16, "look": [16, 24, 27, 31, 34], "cmake_minimum_requir": 16, "sample_project": 16, "find_packag": 16, "dir": 16, "transit": 16, "add_execut": 16, "cpp": 16, "target_link_librari": 16, "boolean": [16, 24, 27, 29, 35], "19": [16, 33], "17": [16, 17, 27, 30, 36], "heyoka_llvm_version_major": 16, "upstream": 17, "igor": 18, "23": [20, 27], "fulli": [20, 25, 37], "compliant": 20, "layoutpolici": 20, "layout_right": 20, "accessorpolici": 20, "default_accessor": 20, "indextyp": 20, "rank": 20, "ostream": [22, 23, 40], "o": [22, 23, 40], "wider": [22, 25], "airthmet": 22, "less": [22, 25, 28], "narrow": 22, "greater": [22, 25, 31], "struct": [22, 23, 37, 40], "whose": [23, 27, 29, 31, 36, 39], "unlik": [23, 39], "later": [23, 26, 27, 32, 33, 35, 38], "stage": [23, 25, 32], "uniqu": [23, 40], "identifi": [23, 29, 40], "illustr": [23, 29, 30, 31, 35, 36, 37], "uint32_t": [23, 27], "idx": [23, 30], "easi": [24, 35], "plu": [24, 27, 29], "hopefulli": 24, "sensibl": 24, "parametris": [24, 28, 31, 35], "carri": 24, "out": [24, 27, 28, 29, 31, 35, 37], "syntax": [24, 27, 32, 36], "220446049250313e": 24, "16": [24, 25, 27, 29, 30, 31, 36], "fals": [24, 26, 30, 31, 35], "dimens": [24, 25, 26, 27, 30, 36], "times10": 24, "deduc": [24, 31], "oc": [24, 27, 31], "again": [24, 27, 29, 31, 34, 37], "pair": 24, "statu": 24, "select": [24, 27, 28, 31], "desir": 24, "inspect": [24, 28, 30], "someth": 24, "216053": 24, "21605277478009474": 24, "04399644836992638": 24, "07844245547068798": 24, "step_backward": [24, 31], "tie": 24, "213123": 24, "01": [24, 27], "02": [24, 27], "time_limit": [24, 27, 30], "caveat": [24, 29, 35, 37], "exact": 24, "infin": [24, 31], "rectilinear": 24, "finit": [24, 25], "get_tim": [24, 29, 31, 37], "get_state_data": [24, 27, 29, 30, 35], "reset": [24, 25, 29, 31, 36, 37], "hold": [24, 27, 36], "nake": [24, 36], "mutat": 24, "amount": 24, "former": [24, 26], "latter": [24, 29], "epoch": [24, 27, 30], "usag": [24, 25, 27, 29, 35, 36, 38], "min_h": [24, 27], "max_h": [24, 27], "nstep": [24, 27], "_1": 24, "_2": 24, "min": [24, 30], "num": 24, "202133": 24, "218136": 24, "24": 24, "202122": 24, "218139": 24, "72": [24, 26, 36], "usual": [24, 26, 27, 30, 31, 33, 37, 38], "explan": [24, 31], "back": [24, 25, 29, 36], "202078": 24, "21819": 24, "97": 24, "050000000000000044": 24, "02499999999999999": 24, "err_nf_stat": 24, "7": [24, 27, 29, 31, 34, 35, 36, 38], "c_output": [24, 27, 29], "denser": 24, "typic": [24, 26, 30, 31], "regular": [24, 31, 35, 39], "contigu": [24, 27, 28], "row": [24, 27, 28, 29], "0232578": 24, "14078": 24, "There": [24, 37], "mention": [25, 26], "infinit": 25, "word": [25, 26, 29, 31, 37], "strive": 25, "remaind": 25, "tol": 25, "1e": [25, 31], "0000000000000001e": 25, "09": [25, 27], "0000000000000000": [25, 28, 36], "050000000000000003": [25, 36], "025000000000000001": 25, "forth": 25, "050000000001312848": 25, "024999999997558649": 25, "maximis": 25, "everyth": 25, "els": [25, 31], "practic": [25, 27, 31, 35], "timestepp": 25, "branch": 25, "unrol": 25, "highli": [25, 34], "tradit": [25, 37], "idiom": 25, "degrad": 25, "lesssim": 25, "render": 25, "thousand": 25, "concret": [25, 27, 29, 30, 31, 37], "sy": [25, 35], "next": [25, 27, 28, 29, 30, 31, 33, 38], "content": [25, 27], "per": 25, "sv": [25, 26, 33, 38], "chrono": [25, 35], "steady_clock": 25, "ta_default": 25, "duration_cast": [25, 35], "millisecond": [25, 35], "3807m": 25, "compact_mod": [25, 35], "ta_compact": 25, "269m": 25, "come": [25, 29], "gap": 25, "offer": [25, 28, 30], "minimis": 25, "slight": 25, "horner": 25, "compens": 25, "catastroph": 25, "cancel": 25, "ultim": 25, "high_accuraci": 25, "decid": 26, "principl": [26, 27, 31], "quick": 26, "suffici": [26, 29], "digit": [26, 33], "octupl": 26, "circa": 26, "decim": [26, 33], "mpfr_prec_t": 26, "prec": 26, "alia": 26, "upon": [26, 31], "get_prec": 26, "saw": [26, 32, 38], "abov": [26, 36, 37], "explicitli": [26, 34], "regardless": [26, 31], "055679078826712367509119290887791780682531198139138189582614889935501319e": 26, "000000000000000000000000000000000000000000000000000000000000000000000000": 26, "confirm": [26, 28, 31, 33, 36, 37, 38], "motiv": 26, "moreov": 26, "offload": 26, "monitor": [26, 33, 38], "evolut": [26, 33, 38], "energi": [26, 33, 38], "compute_energi": [26, 33, 38], "intial": [26, 33, 38], "orig_": [26, 33, 38], "ab": [26, 33, 38], "04049e": 26, "6081e": 26, "consol": [26, 33, 38], "besid": [26, 30, 33, 38], "quantiti": 27, "appear": [27, 34, 39], "formal": 27, "simultan": 27, "throughput": [27, 38], "factor": [27, 38], "fine": [27, 35], "grain": [27, 35], "although": 27, "chosen": 27, "width": [27, 38], "widespread": 27, "sold": 27, "sinc": [27, 35], "2011": 27, "recommend": 27, "recommended_simd_s": 27, "taylor_adaptive_batch": 27, "quit": [27, 35], "modif": 27, "air": [27, 31, 34], "friction": [27, 31], "undefin": [27, 30, 31, 37], "line": 27, "batch_siz": 27, "par": [27, 31, 36], "buffer": [27, 28, 29], "adaptor": 27, "eas": [27, 35], "s_arr": 27, "xt": [27, 35], "p_arr": 27, "column": [27, 29], "xarrai": 27, "03": 27, "x_0": [27, 31], "v_0": [27, 31], "verifi": [27, 33, 38], "extra": [27, 29, 31, 37], "mere": 27, "insid": [27, 29], "get_par": [27, 31, 36], "get_pars_data": [27, 31, 36], "didn": 27, "t_arr": 27, "get_time_data": 27, "One": [27, 29, 31], "costli": 27, "anyth": [27, 31], "0u": [27, 31, 35], "get_step_r": 27, "205801": 27, "20587": 27, "204791": 27, "203963": 27, "slightli": 27, "nstate": 27, "404885": 27, "416439": 27, "425714": 27, "435479": 27, "973176": 27, "976935": 27, "980292": 27, "983766": 27, "010": 27, "011": 27, "012": 27, "013": 27, "424636": 27, "438206": 27, "449501": 27, "461293": 27, "97695": 27, "980738": 27, "984087": 27, "987488": 27, "215801": 27, "21687": 27, "216791": 27, "216963": 27, "get_propagate_r": 27, "21": [27, 33], "22": 27, "197348": 27, "428668": 27, "191913": 27, "429224": 27, "38": 27, "188229": 27, "433903": 27, "184475": 27, "464741": 27, "44": 27, "612543": 27, "727621": 27, "123953": 27, "173771": 27, "246896": 27, "917584": 27, "783502": 27, "11716": 27, "204735": 27, "307217": 27, "40": 27, "211805": 27, "317214": 27, "224914": 27, "410416": 27, "35": 27, "213014": 27, "371655": 27, "801537": 27, "833631": 27, "399033": 27, "072237": 27, "36256": 27, "503107": 27, "06062": 27, "81854": 27, "reach": [27, 31], "fill": 27, "last": [27, 29, 30, 31, 37], "record": [27, 29], "tc_arr": 27, "get_tc": [27, 29], "get_ord": [27, 29], "801537e": 27, "00": 27, "833631e": 27, "399033e": 27, "072237e": 27, "362560e": 27, "031073e": 27, "062030e": 27, "185404e": 27, "508356e": 27, "530940e": 27, "690403e": 27, "149280e": 27, "852698e": 27, "292286e": 27, "466405e": 27, "695101e": 27, "383037e": 27, "782188e": 27, "169218e": 27, "331864e": 27, "257045e": 27, "540328e": 27, "247063e": 27, "436106e": 27, "741537e": 27, "561782e": 27, "558171e": 27, "247622e": 27, "787575e": 27, "040219e": 27, "346095e": 27, "888381e": 27, "631527e": 27, "131481e": 27, "576557e": 27, "288048e": 27, "334194e": 27, "543342e": 27, "001253e": 27, "06": [27, 31], "209411e": 27, "504048e": 27, "585946e": 27, "654560e": 27, "597949e": 27, "163014e": 27, "694202e": 27, "026559e": 27, "07": [27, 38], "801841e": 27, "225493e": 27, "188738e": 27, "551510e": 27, "366484e": 27, "707623e": 27, "686672e": 27, "08": [27, 38], "619774e": 27, "767741e": 27, "955589e": 27, "877763e": 27, "207529e": 27, "982967e": 27, "701333e": 27, "598994e": 27, "713127e": 27, "169540e": 27, "053724e": 27, "748795e": 27, "273869e": 27, "395324e": 27, "664674e": 27, "468361e": 27, "812755e": 27, "711640e": 27, "269841e": 27, "437010e": 27, "916397e": 27, "403129e": 27, "459461e": 27, "941421e": 27, "667302e": 27, "361741e": 27, "902250e": 27, "307133e": 27, "357923e": 27, "211871e": 27, "016711e": 27, "061880e": 27, "380806e": 27, "298560e": 27, "655809e": 27, "287686e": 27, "939922e": 27, "085302e": 27, "153215e": 27, "512875e": 27, "676871e": 27, "332746e": 27, "128522e": 27, "270164e": 27, "623531e": 27, "218053e": 27, "644922e": 27, "370692e": 27, "349029e": 27, "548573e": 27, "051302e": 27, "281531e": 27, "422663e": 27, "121867e": 27, "305222e": 27, "051852e": 27, "261245e": 27, "630438e": 27, "800774e": 27, "889008e": 27, "101127e": 27, "088470e": 27, "279316e": 27, "066362e": 27, "329215e": 27, "982025e": 27, "670591e": 27, "626486e": 27, "461812e": 27, "039781e": 27, "419910e": 27, "492673e": 27, "005706e": 27, "298064e": 27, "113782e": 27, "028868e": 27, "490541e": 27, "257615e": 27, "455200e": 27, "398491e": 27, "569691e": 27, "254310e": 27, "685958e": 27, "398072e": 27, "483819e": 27, "232518e": 27, "229946e": 27, "896214e": 27, "881684e": 27, "609788e": 27, "285714e": 27, "186618e": 27, "249515e": 27, "525632e": 27, "227298e": 27, "688699e": 27, "266787e": 27, "398731e": 27, "804500e": 27, "461427e": 27, "715846e": 27, "423741e": 27, "444138e": 27, "634318e": 27, "671414e": 27, "478574e": 27, "mouth": 27, "d_out_arr": 27, "ndens": 27, "934202": 27, "879367": 27, "389288": 27, "151962": 27, "289941": 27, "411166": 27, "134188": 27, "776195": 27, "nt_event_batch": 27, "t_event_batch": 27, "nt_event": [27, 31, 37], "t_event": [27, 31], "trail": 27, "bob": [27, 31, 34], "veloc": [27, 31, 34, 35], "angl": [27, 31, 36], "ev": [27, 31], "ta_": 27, "batch_idx": 27, "get_d_output": [27, 31], "25": [27, 34], "26": [27, 36], "27": 27, "501973": 27, "0798808": 27, "463715": 27, "0836782": 27, "429231": 27, "0885657": 27, "398675": 27, "0943745": 27, "4677": 27, "43327": 27, "40278": 27, "50592": 27, "50986": 27, "47168": 27, "43731": 27, "40688": 27, "51381": 27, "47567": 27, "44134": 27, "41099": 27, "51775": 27, "47965": 27, "44538": 27, "41509": 27, "oscil": 27, "cours": 27, "isochron": 27, "regim": 27, "ensemble_propagate_until_batch": 27, "ensemble_propagate_for_batch": 27, "ensemble_propagate_grid_batch": 27, "n_iter": [27, 30], "gen": [27, 30], "distinct": [27, 30, 31], "particular": [27, 31, 32, 38], "cstddef": 27, "xadapt": [27, 35], "xio": [27, 35], "xview": [27, 35], "explor": 28, "strong": 28, "pitfal": 28, "resort": 28, "nevertheless": 28, "host": [28, 37], "importantli": 28, "multifold": 28, "multicor": 28, "effort": 28, "downsid": 28, "absorb": 28, "sym_func": 28, "cf": 28, "enclos": 28, "curli": 28, "bracket": [28, 37], "compon": 28, "println": 28, "prepar": 28, "seen": [28, 36], "in_batch": 28, "out_batch": 28, "interpret": 28, "bidimension": 28, "onto": 28, "in_view": 28, "out_view": 28, "6300000000000003": 28, "enough": 28, "simplic": [28, 33], "peculiar": 29, "endpoint": 29, "interest": [29, 31], "skip": 29, "jump": 29, "go": [29, 31, 32, 36], "tc": 29, "1u": [29, 31, 35], "stress": 29, "pick": [29, 30], "halfwai": 29, "through": [29, 37], "d_out": 29, "0500303": 29, "024398": 29, "st": 29, "conclud": 29, "highlight": 29, "regard": 29, "respons": [29, 31], "rememb": 29, "awar": 29, "write_tc": 29, "uncondition": 29, "cover": 29, "continuous_output": 29, "action": [29, 30, 31, 35, 37], "c_out": 29, "wrap": 29, "48": 29, "tm": 29, "get_output": 29, "0088572": 29, "156048": 29, "0375906": 29, "106177": 29, "0193535": 29, "146456": 29, "0424699": 29, "0862923": 29, "somewhat": 29, "front": 29, "predetermin": 29, "scale": [29, 35], "linearli": [29, 35], "exhaust": 29, "mont": 30, "carlo": 30, "search": 30, "task": [30, 39], "mirror": 30, "ensemble_propagate_until": 30, "ensemble_propagate_for": 30, "ensemble_propagate_grid": 30, "focus": [30, 34], "futur": 30, "multiprocess": 30, "distribut": 30, "act": [30, 35], "inconsequenti": 30, "delta_t": 30, "finish": 30, "ensemble_": 30, "push_back": [30, 31, 35], "ta_copi": 30, "ret": 30, "concaten": 30, "ninth": 30, "2204460492503131e": [30, 36], "000000000000000": 30, "12257736827306077": 30, "24068377640981869": 30, "those": [30, 31], "static_cast": [30, 31, 35], "158147": 30, "167025": 30, "concern": 30, "mind": [30, 34], "concurr": 30, "separ": [30, 37], "synchronis": 30, "occurr": 31, "discontinu": 31, "spacecraft": 31, "enter": 31, "cone": 31, "thermostat": 31, "temperatur": 31, "suffic": 31, "boldsymbol": [31, 39], "independ": 31, "sphere": 31, "radiu": 31, "dimension": 31, "x_1": 31, "y_1": 31, "y_0": 31, "z_1": 31, "z_0": 31, "cartesian": 31, "centr": 31, "flexibl": 31, "framework": 31, "togeth": 31, "locat": 31, "fundament": [31, 35], "simpler": 31, "alter": 31, "encount": 31, "good": [31, 34, 37], "ol": 31, "friend": [31, 37], "amplitud": 31, "goe": 31, "zero_vel_tim": 31, "simpli": 31, "mutabl": 31, "kept": 31, "rest": 31, "observ": 31, "003701787940065": 31, "00740357588013": 31, "011105363820196": 31, "014807151760261": 31, "physic": 31, "know": 31, "half": [31, 38], "exactli": [31, 33], "0074035758801299": [31, 36], "ldot": [31, 39], "event_direct": 31, "redefin": 31, "clear": 31, "constrain": 31, "2t": 31, "chronolog": 31, "revers": 31, "demonstr": 31, "twice": [31, 38], "ev0": 31, "ev1": 31, "041666914753826e": 31, "003699746272244": 31, "003703829606799": 31, "007401534213656": 31, "00740561754654": 31, "011103322152711": 31, "011107405487484": 31, "014805110093445": 31, "014809193427102": 31, "successfulli": 31, "recogn": 31, "characterist": [31, 39], "elast": 31, "rigid": 31, "instantan": 31, "engin": 31, "govern": 31, "sort": 31, "discard": 31, "surviv": 31, "twist": 31, "drag": [31, 34], "whenev": 31, "t_ev": 31, "resum": 31, "intervent": 31, "int64_t": 31, "terminal_event_0": 31, "minu": 31, "10u": 31, "2u": 31, "nfinal": 31, "02976504606251412": 31, "02063006479837935": 31, "02970666582653454": 31, "02099345736431702": 31, "01761378049610636": 31, "01622382722426959": 31, "01757771112979705": 31, "01613903817360225": 31, "01037481471383597": 31, "01205316233867281": 31, "01035648925410416": 31, "01177669636844242": 31, "006080605964468329": 31, "008627473720971276": 31, "006074559637531474": 31, "008299135527482404": 31, "003544733998720797": 31, "006013682818278612": 31, "003546198899884463": 31, "005703010459398463": 31, "progress": 31, "slow": 31, "down": [31, 39], "restart": 31, "risk": 31, "endless": 31, "stick": 31, "literatur": 31, "ignor": 31, "best": 31, "assumpt": 31, "reason": 31, "reset_cooldown": 31, "timer": 31, "troublesom": 31, "translat": 31, "breakdown": 31, "worst": 31, "altogeth": 31, "tend": 31, "stationari": 31, "influenc": 31, "ever": 31, "inevit": 31, "abstract": 32, "ast": 32, "leaf": 32, "notat": 32, "_var": 32, "euclidean": 32, "distanc": 32, "1_dbl": 32, "1000000000000001": 32, "1_ldbl": 32, "10000000000000000002": 32, "1_f128": 32, "10000000000000000000000000000000008": 32, "logarithm": 32, "sigmoid": 32, "fledg": 32, "sensit": [32, 34], "heyoka_have_real128": [32, 35], "endif": [32, 33, 35], "2_dbl": 32, "hint": 33, "62658e": 33, "92532e": 33, "pattern": 33, "heyoka_arch_ppc": 33, "far": [34, 36], "belong": 34, "spice": 34, "littl": 34, "extern": 34, "rich": 34, "pictur": 34, "analysi": 34, "1v": 34, "vertic": 34, "placehold": 34, "dizzi": 34, "displai": 34, "invent": 34, "fairli": 34, "posix": 34, "idea": 34, "prepend": 34, "abbrevi": 34, "ambigu": 34, "sake": 34, "complet": [34, 39], "superflu": 34, "49038": 34, "93825": 34, "30491": 34, "12543": 34, "12362": 34, "979573": 34, "90328": 34, "127736": 34, "773195": 34, "8008": 34, "71244": 34, "00752": 34, "55152": 34, "60996": 34, "880721": 34, "970923": 34, "35702": 34, "0993313": 34, "95449": 34, "46416": 34, "243313": 34, "949": 34, "55939": 34, "21015": 34, "06244": 34, "excurs": 34, "seem": 34, "settl": 34, "stabl": 34, "exhibit": 34, "chaotic": 34, "qualit": 34, "serv": 35, "coars": 35, "slowdown": 35, "intens": 35, "bottleneck": [35, 36], "ram": 35, "wall": 35, "heavier": 35, "400": 35, "protoplanet": 35, "run_benchmark": 35, "easili": [35, 37], "clock": 35, "final_tim": 35, "parallel_mod": 35, "nplanet": 35, "au": 35, "01720209895": 35, "365": 35, "333000": 35, "gconst": 35, "init_st": 35, "6u": 35, "s_arrai": 35, "m_arrai": 35, "axi": 35, "high_resolution_clock": 35, "elaps": 35, "oneapi": 35, "global_control": 35, "gc": 35, "max_allowed_parallel": 35, "serial_time_dbl": 35, "parallel_time_dbl": 35, "21107m": 35, "5887m": 35, "suboptim": 35, "theoret": 35, "serial_time_f128": 35, "parallel_time_f128": 35, "210398m": 35, "29392m": 35, "cmath": [35, 38], "xmath": 35, "embed": 36, "further": 36, "opportun": 36, "parametr": 36, "gravit": 36, "l": 36, "undetermin": 36, "8000000000000007": 36, "earth": 36, "approxim": [36, 39], "5784060331002885e": 36, "went": 36, "mar": 36, "acceler": 36, "surfac": 36, "Then": 36, "weaker": 36, "2581889116828258": 36, "1864533707994132e": 36, "7200000000000002": 36, "archiv": 37, "portabl": 37, "exchang": 37, "malici": 37, "craft": 37, "blob": 37, "untrust": 37, "de": 37, "workflow": 37, "evolv": 37, "04348": 37, "0506049": 37, "00537327": 37, "stringstream": 37, "ss": 37, "binary_oarch": 37, "oa": 37, "lifetim": 37, "destructor": 37, "block": 37, "restor": 37, "binary_iarch": 37, "ia": 37, "sstream": 37, "attent": 37, "orient": 37, "hierarchi": 37, "assist": 37, "itself": 37, "my_callback": 37, "leav": 37, "privat": 37, "heyoka_s11n_callable_export": 37, "spell": 37, "qualifi": 37, "statement": 37, "get_nt_ev": 37, "benefit": 38, "allevi": 38, "correspondingli": 38, "what": 38, "suffix": 38, "48183e": 38, "29227e": 38, "08611e": 38, "79937e": 38, "74645e": 38, "24921e": 38, "4609e": 38, "1643e": 38, "40245e": 38, "54029e": 38, "84899e": 38, "83245e": 38, "56122e": 38, "22275e": 38, "61414e": 38, "11691e": 38, "88428e": 38, "93721e": 38, "82583e": 38, "dt": 39, "_0": 39, "eq": 39, "choic": 39, "tailor": 39, "done": 39, "extrem": 39, "cumbersom": 39, "ineffici": 39, "prone": 39, "synthesis": 39, "care": 39, "self": 39, "trim": 39, "bare": 39, "bone": 39, "decompos": 39, "sequenc": 39, "assembl": 39, "underscor": 40, "__": 40, "reserv": 40}, "objects": {"": [[10, 0, 1, "c.HEYOKA_VERSION_MAJOR", "HEYOKA_VERSION_MAJOR"], [10, 0, 1, "c.HEYOKA_VERSION_MINOR", "HEYOKA_VERSION_MINOR"], [10, 0, 1, "c.HEYOKA_VERSION_PATCH", "HEYOKA_VERSION_PATCH"], [10, 0, 1, "c.HEYOKA_VERSION_STRING", "HEYOKA_VERSION_STRING"], [10, 0, 1, "c.HEYOKA_WITH_MPPP", "HEYOKA_WITH_MPPP"], [10, 0, 1, "c.HEYOKA_WITH_REAL", "HEYOKA_WITH_REAL"], [10, 0, 1, "c.HEYOKA_WITH_REAL128", "HEYOKA_WITH_REAL128"], [10, 0, 1, "c.HEYOKA_WITH_SLEEF", "HEYOKA_WITH_SLEEF"], [8, 1, 1, "_CPPv4I0EN6heyoka5cfuncE", "heyoka::cfunc"], [8, 2, 1, "_CPPv4I0EN6heyoka5cfuncE", "heyoka::cfunc::T"], [8, 3, 1, "_CPPv4IDpEN6heyoka5cfunc5cfuncENSt6vectorI10expressionEENSt6vectorI10expressionEEDpRK6KwArgs", "heyoka::cfunc::cfunc"], [8, 3, 1, "_CPPv4N6heyoka5cfunc5cfuncEv", "heyoka::cfunc::cfunc"], [8, 2, 1, "_CPPv4IDpEN6heyoka5cfunc5cfuncENSt6vectorI10expressionEENSt6vectorI10expressionEEDpRK6KwArgs", "heyoka::cfunc::cfunc::KwArgs"], [8, 4, 1, "_CPPv4IDpEN6heyoka5cfunc5cfuncENSt6vectorI10expressionEENSt6vectorI10expressionEEDpRK6KwArgs", "heyoka::cfunc::cfunc::fn"], [8, 4, 1, "_CPPv4IDpEN6heyoka5cfunc5cfuncENSt6vectorI10expressionEENSt6vectorI10expressionEEDpRK6KwArgs", "heyoka::cfunc::cfunc::kw_args"], [8, 4, 1, "_CPPv4IDpEN6heyoka5cfunc5cfuncENSt6vectorI10expressionEENSt6vectorI10expressionEEDpRK6KwArgs", "heyoka::cfunc::cfunc::vars"], [8, 5, 1, "_CPPv4N6heyoka5cfunc5in_1dE", "heyoka::cfunc::in_1d"], [8, 5, 1, "_CPPv4N6heyoka5cfunc5in_2dE", "heyoka::cfunc::in_2d"], [8, 3, 1, "_CPPv4NK6heyoka5cfunc8is_validEv", "heyoka::cfunc::is_valid"], [8, 5, 1, "_CPPv4N6heyoka5cfunc6out_1dE", "heyoka::cfunc::out_1d"], [8, 5, 1, "_CPPv4N6heyoka5cfunc6out_2dE", "heyoka::cfunc::out_2d"], [20, 5, 1, "_CPPv4I0_NSt6size_tEEN6heyoka8dextentsE", "heyoka::dextents"], [20, 2, 1, "_CPPv4I0_NSt6size_tEEN6heyoka8dextentsE", "heyoka::dextents::IndexType"], [20, 2, 1, "_CPPv4I0_NSt6size_tEEN6heyoka8dextentsE", "heyoka::dextents::Rank"], [12, 1, 1, "_CPPv4N6heyoka10expressionE", "heyoka::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionE4func", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionE5param", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionE6number", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionE8variable", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionEN4mppp4realE", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionEN4mppp7real128E", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionENSt6stringE", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionERK10expression", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionERR10expression", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionEd", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionEe", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionEf", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionEv", "heyoka::expression::expression"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionENSt6stringE", "heyoka::expression::expression::s"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionE4func", "heyoka::expression::expression::x"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionE5param", "heyoka::expression::expression::x"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionE6number", "heyoka::expression::expression::x"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionE8variable", "heyoka::expression::expression::x"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionEN4mppp4realE", "heyoka::expression::expression::x"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionEN4mppp7real128E", "heyoka::expression::expression::x"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionEd", "heyoka::expression::expression::x"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionEe", "heyoka::expression::expression::x"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionEf", "heyoka::expression::expression::x"], [12, 3, 1, "_CPPv4N6heyoka10expressionaSERK10expression", "heyoka::expression::operator="], [12, 3, 1, "_CPPv4N6heyoka10expressionaSERR10expression", "heyoka::expression::operator="], [12, 3, 1, "_CPPv4NK6heyoka10expression5valueEv", "heyoka::expression::value"], [12, 5, 1, "_CPPv4N6heyoka10expression10value_typeE", "heyoka::expression::value_type"], [12, 3, 1, "_CPPv4N6heyoka10expressionD0Ev", "heyoka::expression::~expression"], [20, 5, 1, "_CPPv4I0_DpNSt6size_tEEN6heyoka7extentsE", "heyoka::extents"], [20, 2, 1, "_CPPv4I0_DpNSt6size_tEEN6heyoka7extentsE", "heyoka::extents::Extents"], [20, 2, 1, "_CPPv4I0_DpNSt6size_tEEN6heyoka7extentsE", "heyoka::extents::IndexType"], [14, 1, 1, "_CPPv4N6heyoka4funcE", "heyoka::func"], [14, 3, 1, "_CPPv4NK6heyoka4func4argsEv", "heyoka::func::args"], [14, 3, 1, "_CPPv4I0EIQaantNSt7same_asI4funcNSt14remove_cvref_tI1TEEEE6is_udfINSt14remove_cvref_tI1TEEEEN6heyoka4func4funcERR1T", "heyoka::func::func"], [14, 3, 1, "_CPPv4N6heyoka4func4funcERK4func", "heyoka::func::func"], [14, 3, 1, "_CPPv4N6heyoka4func4funcERR4func", "heyoka::func::func"], [14, 3, 1, "_CPPv4N6heyoka4func4funcEv", "heyoka::func::func"], [14, 2, 1, "_CPPv4I0EIQaantNSt7same_asI4funcNSt14remove_cvref_tI1TEEEE6is_udfINSt14remove_cvref_tI1TEEEEN6heyoka4func4funcERR1T", "heyoka::func::func::T"], [14, 4, 1, "_CPPv4I0EIQaantNSt7same_asI4funcNSt14remove_cvref_tI1TEEEE6is_udfINSt14remove_cvref_tI1TEEEEN6heyoka4func4funcERR1T", "heyoka::func::func::x"], [14, 3, 1, "_CPPv4NK6heyoka4func8get_nameEv", "heyoka::func::get_name"], [14, 3, 1, "_CPPv4N6heyoka4funcaSERK4func", "heyoka::func::operator="], [14, 3, 1, "_CPPv4N6heyoka4funcaSERR4func", "heyoka::func::operator="], [14, 3, 1, "_CPPv4N6heyoka4funcD0Ev", "heyoka::func::~func"], [14, 1, 1, "_CPPv4N6heyoka9func_baseE", "heyoka::func_base"], [14, 3, 1, "_CPPv4NK6heyoka9func_base4argsEv", "heyoka::func_base::args"], [14, 3, 1, "_CPPv4N6heyoka9func_base9func_baseENSt6stringENSt6vectorI10expressionEE", "heyoka::func_base::func_base"], [14, 3, 1, "_CPPv4N6heyoka9func_base9func_baseERK9func_base", "heyoka::func_base::func_base"], [14, 3, 1, "_CPPv4N6heyoka9func_base9func_baseERR9func_base", "heyoka::func_base::func_base"], [14, 4, 1, "_CPPv4N6heyoka9func_base9func_baseENSt6stringENSt6vectorI10expressionEE", "heyoka::func_base::func_base::args"], [14, 4, 1, "_CPPv4N6heyoka9func_base9func_baseENSt6stringENSt6vectorI10expressionEE", "heyoka::func_base::func_base::name"], [14, 3, 1, "_CPPv4NK6heyoka9func_base8get_nameEv", "heyoka::func_base::get_name"], [14, 3, 1, "_CPPv4N6heyoka9func_baseaSERK9func_base", "heyoka::func_base::operator="], [14, 3, 1, "_CPPv4N6heyoka9func_baseaSERR9func_base", "heyoka::func_base::operator="], [14, 3, 1, "_CPPv4N6heyoka9func_baseD0Ev", "heyoka::func_base::~func_base"], [14, 6, 1, "_CPPv4I0EN6heyoka6is_udfE", "heyoka::is_udf"], [14, 2, 1, "_CPPv4I0EN6heyoka6is_udfE", "heyoka::is_udf::T"], [12, 3, 1, "_CPPv4N6heyoka8literalsli4_dblEe", "heyoka::literals::operator""_dbl"], [12, 3, 1, "_CPPv4N6heyoka8literalsli4_dblEy", "heyoka::literals::operator""_dbl"], [12, 3, 1, "_CPPv4I_DpcEN6heyoka8literalsli5_f128E10expressionv", "heyoka::literals::operator""_f128"], [12, 2, 1, "_CPPv4I_DpcEN6heyoka8literalsli5_f128E10expressionv", "heyoka::literals::operator""_f128::Chars"], [12, 3, 1, "_CPPv4N6heyoka8literalsli4_fltEe", "heyoka::literals::operator""_flt"], [12, 3, 1, "_CPPv4N6heyoka8literalsli4_fltEy", "heyoka::literals::operator""_flt"], [12, 3, 1, "_CPPv4N6heyoka8literalsli5_ldblEe", "heyoka::literals::operator""_ldbl"], [12, 3, 1, "_CPPv4N6heyoka8literalsli5_ldblEy", "heyoka::literals::operator""_ldbl"], [12, 3, 1, "_CPPv4I0DpEN6heyoka9make_varsEDaRK4Arg0DpRK4Args", "heyoka::make_vars"], [12, 2, 1, "_CPPv4I0DpEN6heyoka9make_varsEDaRK4Arg0DpRK4Args", "heyoka::make_vars::Arg0"], [12, 2, 1, "_CPPv4I0DpEN6heyoka9make_varsEDaRK4Arg0DpRK4Args", "heyoka::make_vars::Args"], [12, 4, 1, "_CPPv4I0DpEN6heyoka9make_varsEDaRK4Arg0DpRK4Args", "heyoka::make_vars::str"], [12, 4, 1, "_CPPv4I0DpEN6heyoka9make_varsEDaRK4Arg0DpRK4Args", "heyoka::make_vars::strs"], [20, 5, 1, "_CPPv4I0000EN6heyoka6mdspanE", "heyoka::mdspan"], [20, 2, 1, "_CPPv4I0000EN6heyoka6mdspanE", "heyoka::mdspan::AccessorPolicy"], [20, 2, 1, "_CPPv4I0000EN6heyoka6mdspanE", "heyoka::mdspan::Extents"], [20, 2, 1, "_CPPv4I0000EN6heyoka6mdspanE", "heyoka::mdspan::LayoutPolicy"], [20, 2, 1, "_CPPv4I0000EN6heyoka6mdspanE", "heyoka::mdspan::T"], [11, 1, 1, "_CPPv4N6heyoka21not_implemented_errorE", "heyoka::not_implemented_error"], [22, 1, 1, "_CPPv4N6heyoka6numberE", "heyoka::number"], [22, 3, 1, "_CPPv4N6heyoka6number6numberEN4mppp4realE", "heyoka::number::number"], [22, 3, 1, "_CPPv4N6heyoka6number6numberEN4mppp7real128E", "heyoka::number::number"], [22, 3, 1, "_CPPv4N6heyoka6number6numberERK6number", "heyoka::number::number"], [22, 3, 1, "_CPPv4N6heyoka6number6numberERR6number", "heyoka::number::number"], [22, 3, 1, "_CPPv4N6heyoka6number6numberEd", "heyoka::number::number"], [22, 3, 1, "_CPPv4N6heyoka6number6numberEe", "heyoka::number::number"], [22, 3, 1, "_CPPv4N6heyoka6number6numberEf", "heyoka::number::number"], [22, 3, 1, "_CPPv4N6heyoka6number6numberEv", "heyoka::number::number"], [22, 4, 1, "_CPPv4N6heyoka6number6numberEN4mppp4realE", "heyoka::number::number::x"], [22, 4, 1, "_CPPv4N6heyoka6number6numberEN4mppp7real128E", "heyoka::number::number::x"], [22, 4, 1, "_CPPv4N6heyoka6number6numberEd", "heyoka::number::number::x"], [22, 4, 1, "_CPPv4N6heyoka6number6numberEe", "heyoka::number::number::x"], [22, 4, 1, "_CPPv4N6heyoka6number6numberEf", "heyoka::number::number::x"], [22, 3, 1, "_CPPv4N6heyoka6numberaSERK6number", "heyoka::number::operator="], [22, 3, 1, "_CPPv4N6heyoka6numberaSERR6number", "heyoka::number::operator="], [22, 3, 1, "_CPPv4NK6heyoka6number5valueEv", "heyoka::number::value"], [22, 5, 1, "_CPPv4N6heyoka6number10value_typeE", "heyoka::number::value_type"], [22, 3, 1, "_CPPv4N6heyoka6numberD0Ev", "heyoka::number::~number"], [12, 3, 1, "_CPPv4N6heyokaneERK10expressionRK10expression", "heyoka::operator!="], [22, 3, 1, "_CPPv4N6heyokaneERK6numberRK6number", "heyoka::operator!="], [23, 3, 1, "_CPPv4N6heyokaneERK5paramRK5param", "heyoka::operator!="], [40, 3, 1, "_CPPv4N6heyokaneERK8variableRK8variable", "heyoka::operator!="], [23, 4, 1, "_CPPv4N6heyokaneERK5paramRK5param", "heyoka::operator!=::a"], [40, 4, 1, "_CPPv4N6heyokaneERK8variableRK8variable", "heyoka::operator!=::a"], [23, 4, 1, "_CPPv4N6heyokaneERK5paramRK5param", "heyoka::operator!=::b"], [40, 4, 1, "_CPPv4N6heyokaneERK8variableRK8variable", "heyoka::operator!=::b"], [12, 4, 1, "_CPPv4N6heyokaneERK10expressionRK10expression", "heyoka::operator!=::e1"], [12, 4, 1, "_CPPv4N6heyokaneERK10expressionRK10expression", "heyoka::operator!=::e2"], [22, 4, 1, "_CPPv4N6heyokaneERK6numberRK6number", "heyoka::operator!=::x"], [22, 4, 1, "_CPPv4N6heyokaneERK6numberRK6number", "heyoka::operator!=::y"], [22, 3, 1, "_CPPv4N6heyokamlERK6numberRK6number", "heyoka::operator*"], [22, 4, 1, "_CPPv4N6heyokamlERK6numberRK6number", "heyoka::operator*::x"], [22, 4, 1, "_CPPv4N6heyokamlERK6numberRK6number", "heyoka::operator*::y"], [22, 3, 1, "_CPPv4N6heyokaplE6number", "heyoka::operator+"], [22, 3, 1, "_CPPv4N6heyokaplERK6numberRK6number", "heyoka::operator+"], [22, 4, 1, "_CPPv4N6heyokaplE6number", "heyoka::operator+::n"], [22, 4, 1, "_CPPv4N6heyokaplERK6numberRK6number", "heyoka::operator+::x"], [22, 4, 1, "_CPPv4N6heyokaplERK6numberRK6number", "heyoka::operator+::y"], [22, 3, 1, "_CPPv4N6heyokamiERK6number", "heyoka::operator-"], [22, 3, 1, "_CPPv4N6heyokamiERK6numberRK6number", "heyoka::operator-"], [22, 4, 1, "_CPPv4N6heyokamiERK6number", "heyoka::operator-::n"], [22, 4, 1, "_CPPv4N6heyokamiERK6numberRK6number", "heyoka::operator-::x"], [22, 4, 1, "_CPPv4N6heyokamiERK6numberRK6number", "heyoka::operator-::y"], [22, 3, 1, "_CPPv4N6heyokadvERK6numberRK6number", "heyoka::operator/"], [22, 4, 1, "_CPPv4N6heyokadvERK6numberRK6number", "heyoka::operator/::x"], [22, 4, 1, "_CPPv4N6heyokadvERK6numberRK6number", "heyoka::operator/::y"], [22, 3, 1, "_CPPv4N6heyokaltERK6numberRK6number", "heyoka::operator<"], [22, 4, 1, "_CPPv4N6heyokaltERK6numberRK6number", "heyoka::operator<::x"], [22, 4, 1, "_CPPv4N6heyokaltERK6numberRK6number", "heyoka::operator<::y"], [22, 3, 1, "_CPPv4N6heyokalsERNSt7ostreamERK6number", "heyoka::operator<<"], [23, 3, 1, "_CPPv4N6heyokalsERNSt7ostreamERK5param", "heyoka::operator<<"], [40, 3, 1, "_CPPv4N6heyokalsERNSt7ostreamERK8variable", "heyoka::operator<<"], [22, 4, 1, "_CPPv4N6heyokalsERNSt7ostreamERK6number", "heyoka::operator<<::n"], [22, 4, 1, "_CPPv4N6heyokalsERNSt7ostreamERK6number", "heyoka::operator<<::os"], [23, 4, 1, "_CPPv4N6heyokalsERNSt7ostreamERK5param", "heyoka::operator<<::os"], [40, 4, 1, "_CPPv4N6heyokalsERNSt7ostreamERK8variable", "heyoka::operator<<::os"], [23, 4, 1, "_CPPv4N6heyokalsERNSt7ostreamERK5param", "heyoka::operator<<::p"], [40, 4, 1, "_CPPv4N6heyokalsERNSt7ostreamERK8variable", "heyoka::operator<<::v"], [12, 3, 1, "_CPPv4N6heyokaeqERK10expressionRK10expression", "heyoka::operator=="], [22, 3, 1, "_CPPv4N6heyokaeqERK6numberRK6number", "heyoka::operator=="], [23, 3, 1, "_CPPv4N6heyokaeqERK5paramRK5param", "heyoka::operator=="], [40, 3, 1, "_CPPv4N6heyokaeqERK8variableRK8variable", "heyoka::operator=="], [23, 4, 1, "_CPPv4N6heyokaeqERK5paramRK5param", "heyoka::operator==::a"], [40, 4, 1, "_CPPv4N6heyokaeqERK8variableRK8variable", "heyoka::operator==::a"], [23, 4, 1, "_CPPv4N6heyokaeqERK5paramRK5param", "heyoka::operator==::b"], [40, 4, 1, "_CPPv4N6heyokaeqERK8variableRK8variable", "heyoka::operator==::b"], [12, 4, 1, "_CPPv4N6heyokaeqERK10expressionRK10expression", "heyoka::operator==::e1"], [12, 4, 1, "_CPPv4N6heyokaeqERK10expressionRK10expression", "heyoka::operator==::e2"], [22, 4, 1, "_CPPv4N6heyokaeqERK6numberRK6number", "heyoka::operator==::x"], [22, 4, 1, "_CPPv4N6heyokaeqERK6numberRK6number", "heyoka::operator==::y"], [23, 1, 1, "_CPPv4N6heyoka5paramE", "heyoka::param"], [23, 3, 1, "_CPPv4NK6heyoka5param3idxEv", "heyoka::param::idx"], [23, 3, 1, "_CPPv4N6heyoka5paramaSERK5param", "heyoka::param::operator="], [23, 3, 1, "_CPPv4N6heyoka5paramaSERR5param", "heyoka::param::operator="], [23, 3, 1, "_CPPv4N6heyoka5param5paramENSt8uint32_tE", "heyoka::param::param"], [23, 3, 1, "_CPPv4N6heyoka5param5paramERK5param", "heyoka::param::param"], [23, 3, 1, "_CPPv4N6heyoka5param5paramERR5param", "heyoka::param::param"], [23, 3, 1, "_CPPv4N6heyoka5param5paramEv", "heyoka::param::param"], [23, 4, 1, "_CPPv4N6heyoka5param5paramENSt8uint32_tE", "heyoka::param::param::idx"], [23, 3, 1, "_CPPv4N6heyoka5paramD0Ev", "heyoka::param::~param"], [22, 3, 1, "_CPPv4N6heyoka4swapER6numberR6number", "heyoka::swap"], [23, 3, 1, "_CPPv4N6heyoka4swapER5paramR5param", "heyoka::swap"], [40, 3, 1, "_CPPv4N6heyoka4swapER8variableR8variable", "heyoka::swap"], [22, 4, 1, "_CPPv4N6heyoka4swapER6numberR6number", "heyoka::swap::a"], [23, 4, 1, "_CPPv4N6heyoka4swapER5paramR5param", "heyoka::swap::a"], [40, 4, 1, "_CPPv4N6heyoka4swapER8variableR8variable", "heyoka::swap::a"], [22, 4, 1, "_CPPv4N6heyoka4swapER6numberR6number", "heyoka::swap::b"], [23, 4, 1, "_CPPv4N6heyoka4swapER5paramR5param", "heyoka::swap::b"], [40, 4, 1, "_CPPv4N6heyoka4swapER8variableR8variable", "heyoka::swap::b"], [40, 1, 1, "_CPPv4N6heyoka8variableE", "heyoka::variable"], [40, 3, 1, "_CPPv4NK6heyoka8variable4nameEv", "heyoka::variable::name"], [40, 3, 1, "_CPPv4N6heyoka8variableaSERK8variable", "heyoka::variable::operator="], [40, 3, 1, "_CPPv4N6heyoka8variableaSERR8variable", "heyoka::variable::operator="], [40, 3, 1, "_CPPv4N6heyoka8variable8variableENSt6stringE", "heyoka::variable::variable"], [40, 3, 1, "_CPPv4N6heyoka8variable8variableERK8variable", "heyoka::variable::variable"], [40, 3, 1, "_CPPv4N6heyoka8variable8variableERR8variable", "heyoka::variable::variable"], [40, 3, 1, "_CPPv4N6heyoka8variable8variableEv", "heyoka::variable::variable"], [40, 4, 1, "_CPPv4N6heyoka8variable8variableENSt6stringE", "heyoka::variable::variable::name"], [40, 3, 1, "_CPPv4N6heyoka8variableD0Ev", "heyoka::variable::~variable"], [22, 1, 1, "_CPPv4IENSt4hashIN6heyoka6numberEEE", "std::hash<heyoka::number>"], [22, 3, 1, "_CPPv4NKSt4hashIN6heyoka6numberEEclERKN6heyoka6numberE", "std::hash<heyoka::number>::operator()"], [22, 4, 1, "_CPPv4NKSt4hashIN6heyoka6numberEEclERKN6heyoka6numberE", "std::hash<heyoka::number>::operator()::n"], [23, 1, 1, "_CPPv4IENSt4hashIN6heyoka5paramEEE", "std::hash<heyoka::param>"], [23, 3, 1, "_CPPv4NKSt4hashIN6heyoka5paramEEclERKN6heyoka5paramE", "std::hash<heyoka::param>::operator()"], [23, 4, 1, "_CPPv4NKSt4hashIN6heyoka5paramEEclERKN6heyoka5paramE", "std::hash<heyoka::param>::operator()::p"], [40, 1, 1, "_CPPv4IENSt4hashIN6heyoka8variableEEE", "std::hash<heyoka::variable>"], [40, 3, 1, "_CPPv4NKSt4hashIN6heyoka8variableEEclERKN6heyoka8variableE", "std::hash<heyoka::variable>::operator()"], [40, 4, 1, "_CPPv4NKSt4hashIN6heyoka8variableEEclERKN6heyoka8variableE", "std::hash<heyoka::variable>::operator()::v"]]}, "objtypes": {"0": "c:macro", "1": "cpp:class", "2": "cpp:templateParam", "3": "cpp:function", "4": "cpp:functionParam", "5": "cpp:type", "6": "cpp:concept"}, "objnames": {"0": ["c", "macro", "C macro"], "1": ["cpp", "class", "C++ class"], "2": ["cpp", "templateParam", "C++ template parameter"], "3": ["cpp", "function", "C++ function"], "4": ["cpp", "functionParam", "C++ function parameter"], "5": ["cpp", "type", "C++ type"], "6": ["cpp", "concept", "C++ concept"]}, "titleterms": {"acknowledg": 0, "note": 1, "automat": 1, "differenti": 1, "preliminari": 1, "basic": [1, 4], "arithmet": [1, 12], "addit": 1, "subtract": 1, "multipl": [1, 31], "divis": 1, "squar": 1, "root": 1, "exponenti": 1, "natur": 1, "standard": [1, 22, 23, 40], "logist": 1, "function": [1, 8, 12, 14, 19, 22, 23, 26, 28, 29, 33, 38, 40], "logarithm": 1, "trigonometr": 1, "tangent": 1, "invers": 1, "sine": 1, "cosin": 1, "two": 1, "argument": [1, 18], "hyperbol": 1, "special": 1, "error": [1, 25], "celesti": 1, "mechan": 1, "kepler": 1, "": [1, 39], "eccentr": 1, "anomali": 1, "longitud": 1, "time": [1, 24, 27], "polynomi": 1, "advanc": 2, "tutori": [2, 4], "api": [3, 7], "refer": 3, "benchmark": 5, "The": [5, 8, 12, 14, 22, 23, 24, 27, 32, 40], "planetari": [5, 35], "three": 5, "bodi": 5, "problem": 5, "outer": 5, "solar": 5, "system": [5, 13, 32, 34], "event": [5, 7, 27, 31, 37], "detect": [5, 27, 31], "back": 5, "forth": 5, "extend": [5, 16, 26, 33], "arbitrari": [5, 16, 26], "precis": [5, 16, 26, 33, 38], "dens": [5, 27, 29], "output": [5, 27, 29], "fidel": 5, "stabil": 5, "bibliographi": 6, "break": 7, "chang": [7, 9], "4": [7, 9], "0": [7, 9], "behaviour": 7, "make_var": 7, "termin": [7, 31], "callback": [7, 37], "step": [7, 27, 29], "propagate_": [7, 29], "propagate_grid": 7, "gener": 7, "2": [7, 9], "1": [7, 9], "16": [7, 9], "15": [7, 9], "10": [7, 9], "8": [7, 9], "compil": [8, 28], "cfunc": 8, "class": [8, 12, 14, 22, 23, 26, 33, 38, 40], "changelog": 9, "unreleas": 9, "new": 9, "2024": 9, "03": 9, "fix": 9, "02": 9, "3": 9, "2023": 9, "11": 9, "29": 9, "13": 9, "07": 9, "09": 9, "22": 9, "08": 9, "21": 9, "20": 9, "01": 9, "05": 9, "2022": 9, "12": 9, "17": 9, "19": 9, "18": 9, "2021": 9, "28": 9, "14": 9, "06": 9, "9": 9, "25": 9, "04": 9, "7": 9, "6": 9, "5": 9, "2020": 9, "macro": 10, "definit": 10, "except": 11, "express": [12, 13, 32], "exampl": [12, 26, 28, 30, 33, 37, 38], "oper": [12, 22, 23, 40], "comparison": 12, "user": 12, "defin": 12, "liter": 12, "n": 14, "ari": 14, "func_bas": 14, "func": 14, "concept": 14, "heyoka": [15, 16], "instal": 16, "introduct": 16, "support": 16, "80": 16, "bit": 16, "128": 16, "packag": 16, "conda": 16, "freebsd": 16, "spack": 16, "from": 16, "sourc": 16, "includ": 16, "your": 16, "project": 16, "via": 16, "cmake": 16, "known": 17, "issu": 17, "keyword": 18, "mathemat": 19, "mdspan": 20, "namespac": 21, "numer": 22, "constant": 22, "number": 22, "librari": [22, 23, 40], "specialis": [22, 23, 40], "runtim": [23, 36], "paramet": [23, 36], "param": 23, "adapt": [24, 25, 27], "integr": [24, 25, 27], "construct": 24, "singl": [24, 38], "timestep": [24, 31], "access": 24, "state": 24, "limit": [24, 27, 31], "propag": [24, 27, 30], "over": 24, "grid": 24, "full": [24, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38], "code": [24, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38], "list": [24, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38], "customis": 25, "toler": 25, "compact": 25, "mode": [25, 27, 35], "high": 25, "accuraci": 25, "comput": [26, 33, 38], "A": [26, 28, 30, 33, 37, 38], "simpl": [26, 28, 30, 33, 37, 38], "other": [26, 33, 38], "v": 26, "batch": [27, 28], "continu": [27, 29], "ensembl": [27, 30], "evalu": 28, "thread": 30, "safeti": 30, "consider": 30, "non": [31, 34], "direct": 31, "cooldown": 31, "caveat": 31, "badli": 31, "condit": 31, "equat": 31, "autonom": 34, "parallel": 35, "embryo": 35, "serialis": 37, "taylor": 39, "method": 39, "variabl": 40}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinxcontrib.bibtex": 9, "sphinx.ext.intersphinx": 1, "sphinx": 60}, "alltitles": {"Acknowledgement": [[0, "acknowledgement"]], "Notes on automatic differentiation": [[1, "notes-on-automatic-differentiation"]], "Preliminaries": [[1, "preliminaries"]], "Basic arithmetic": [[1, "basic-arithmetic"]], "Addition and subtraction": [[1, "addition-and-subtraction"]], "Multiplication": [[1, "multiplication"]], "Division": [[1, "division"]], "Squaring": [[1, "squaring"]], "Square root": [[1, "square-root"]], "Exponentiation": [[1, "exponentiation"]], "Exponentials": [[1, "exponentials"]], "Natural exponential": [[1, "natural-exponential"]], "Standard logistic function": [[1, "standard-logistic-function"]], "Logarithms": [[1, "logarithms"]], "Natural logarithm": [[1, "natural-logarithm"]], "Trigonometric functions": [[1, "trigonometric-functions"]], "Tangent": [[1, "tangent"]], "Inverse trigonometric functions": [[1, "inverse-trigonometric-functions"]], "Inverse sine": [[1, "inverse-sine"]], "Inverse cosine": [[1, "inverse-cosine"]], "Inverse tangent": [[1, "inverse-tangent"]], "Two-argument inverse tangent": [[1, "two-argument-inverse-tangent"]], "Hyperbolic functions": [[1, "hyperbolic-functions"]], "Hyperbolic sine": [[1, "hyperbolic-sine"]], "Hyperbolic cosine": [[1, "hyperbolic-cosine"]], "Hyperbolic tangent": [[1, "hyperbolic-tangent"]], "Inverse hyperbolic functions": [[1, "inverse-hyperbolic-functions"]], "Inverse hyperbolic sine": [[1, "inverse-hyperbolic-sine"]], "Inverse hyperbolic cosine": [[1, "inverse-hyperbolic-cosine"]], "Inverse hyperbolic tangent": [[1, "inverse-hyperbolic-tangent"]], "Special functions": [[1, "special-functions"]], "Error function": [[1, "error-function"]], "Celestial mechanics": [[1, "celestial-mechanics"]], "Kepler\u2019s eccentric anomaly": [[1, "kepler-s-eccentric-anomaly"]], "Eccentric longitude": [[1, "eccentric-longitude"]], "Time functions": [[1, "time-functions"]], "Time polynomials": [[1, "time-polynomials"]], "Advanced tutorials": [[2, "advanced-tutorials"]], "API Reference": [[3, "api-reference"]], "Basic tutorials": [[4, "basic-tutorials"]], "Benchmarks": [[5, "benchmarks"]], "The planetary three-body problem": [[5, "the-planetary-three-body-problem"]], "The outer Solar System": [[5, "the-outer-solar-system"]], "Event detection": [[5, "event-detection"], [27, "event-detection"], [31, "event-detection"]], "Back & forth": [[5, "back-forth"]], "Extended and arbitrary precision": [[5, "extended-and-arbitrary-precision"]], "Dense output fidelity and stability": [[5, "dense-output-fidelity-and-stability"]], "Bibliography": [[6, "bibliography"]], "Breaking changes": [[7, "breaking-changes"]], "4.0.0": [[7, "bchanges-4-0-0"]], "API/behaviour changes": [[7, "api-behaviour-changes"]], "Changes to make_vars()": [[7, "changes-to-make-vars"]], "Terminal events callbacks": [[7, "terminal-events-callbacks"]], "Step callbacks and propagate_*()": [[7, "step-callbacks-and-propagate"]], "Changes to propagate_grid()": [[7, "changes-to-propagate-grid"]], "General": [[7, "general"]], "2.0.0": [[7, "bchanges-2-0-0"]], "1.0.0": [[7, "bchanges-1-0-0"]], "0.16.0": [[7, "bchanges-0-16-0"]], "0.15.0": [[7, "bchanges-0-15-0"]], "0.10.0": [[7, "bchanges-0-10-0"]], "0.8.0": [[7, "bchanges-0-8-0"]], "Compiled functions": [[8, "compiled-functions"], [28, "compiled-functions"]], "The cfunc class": [[8, "the-cfunc-class"]], "Changelog": [[9, "changelog"]], "4.1.0 (unreleased)": [[9, "unreleased"]], "New": [[9, "new"], [9, "id5"], [9, "id7"], [9, "id10"], [9, "id16"], [9, "id20"], [9, "id24"], [9, "id28"], [9, "id32"], [9, "id36"], [9, "id43"], [9, "id47"], [9, "id51"], [9, "id55"], [9, "id59"], [9, "id62"], [9, "id67"], [9, "id70"], [9, "id73"], [9, "id77"], [9, "id84"], [9, "id88"], [9, "id90"], [9, "id93"], [9, "id97"]], "4.0.2 (2024-03-03)": [[9, "id1"]], "Fix": [[9, "fix"], [9, "id3"], [9, "id12"], [9, "id14"], [9, "id18"], [9, "id22"], [9, "id30"], [9, "id34"], [9, "id38"], [9, "id41"], [9, "id45"], [9, "id49"], [9, "id53"], [9, "id57"], [9, "id60"], [9, "id65"], [9, "id75"], [9, "id79"], [9, "id82"], [9, "id86"], [9, "id91"], [9, "id95"], [9, "id99"]], "4.0.1 (2024-03-02)": [[9, "id2"]], "4.0.0 (2024-03-02)": [[9, "id4"]], "Changes": [[9, "changes"], [9, "id8"], [9, "id11"], [9, "id17"], [9, "id21"], [9, "id26"], [9, "id29"], [9, "id33"], [9, "id37"], [9, "id40"], [9, "id44"], [9, "id48"], [9, "id52"], [9, "id56"], [9, "id63"], [9, "id68"], [9, "id71"], [9, "id74"], [9, "id78"], [9, "id81"], [9, "id85"], [9, "id94"], [9, "id98"]], "3.2.0 (2023-11-29)": [[9, "id6"]], "3.1.0 (2023-11-13)": [[9, "id9"]], "3.0.0 (2023-10-07)": [[9, "id13"]], "2.0.0 (2023-09-22)": [[9, "id15"]], "1.0.0 (2023-08-10)": [[9, "id19"]], "0.21.0 (2023-02-16)": [[9, "id23"]], "0.20.1 (2023-01-05)": [[9, "id25"]], "0.20.0 (2022-12-17)": [[9, "id27"]], "0.19.0 (2022-09-18)": [[9, "id31"]], "0.18.0 (2022-05-11)": [[9, "id35"]], "0.17.1 (2022-02-13)": [[9, "id39"]], "0.17.0 (2022-01-20)": [[9, "id42"]], "0.16.0 (2021-11-20)": [[9, "id46"]], "0.15.0 (2021-09-28)": [[9, "id50"]], "0.14.0 (2021-08-03)": [[9, "id54"]], "0.12.0 (2021-07-21)": [[9, "id58"]], "0.11.0 (2021-07-06)": [[9, "id61"]], "0.10.1 (2021-07-02)": [[9, "id64"]], "0.10.0 (2021-06-09)": [[9, "id66"]], "0.9.0 (2021-05-25)": [[9, "id69"]], "0.8.0 (2021-04-28)": [[9, "id72"]], "0.7.0 (2021-04-21)": [[9, "id76"]], "0.6.1 (2021-04-08)": [[9, "id80"]], "0.6.0 (2021-04-06)": [[9, "id83"]], "0.5.0 (2021-02-25)": [[9, "id87"]], "0.4.0 (2021-02-20)": [[9, "id89"]], "0.3.0 (2021-02-11)": [[9, "id92"]], "0.2.0 (2021-01-13)": [[9, "id96"]], "0.1.0 (2020-12-18)": [[9, "id100"]], "Macros and definitions": [[10, "macros-and-definitions"]], "Exceptions": [[11, "exceptions"]], "Expressions": [[12, "expressions"]], "The expression class": [[12, "the-expression-class"]], "Functions": [[12, "functions"], [22, "functions"], [23, "functions"], [40, "functions"]], "Example": [[12, "example"]], "Operators": [[12, "operators"], [22, "operators"], [23, "operators"], [40, "operators"]], "Arithmetic operators": [[12, "arithmetic-operators"]], "Comparison operators": [[12, "comparison-operators"]], "User-defined literals": [[12, "user-defined-literals"]], "Expression system": [[13, "expression-system"]], "N-ary functions": [[14, "n-ary-functions"]], "The func_base class": [[14, "the-func-base-class"]], "The func class": [[14, "the-func-class"]], "Concepts": [[14, "concepts"]], "heyoka": [[15, "heyoka"]], "Installation": [[16, "installation"]], "Introduction": [[16, "introduction"]], "Support for extended precision": [[16, "support-for-extended-precision"]], "80-bit precision": [[16, "bit-precision"]], "128-bit precision": [[16, "id2"]], "Arbitrary-precision": [[16, "arbitrary-precision"]], "Packages": [[16, "packages"]], "Conda": [[16, "conda"]], "FreeBSD": [[16, "freebsd"]], "spack": [[16, "spack"]], "Installation from source": [[16, "installation-from-source"]], "Including heyoka in your project via CMake": [[16, "including-heyoka-in-your-project-via-cmake"]], "Known issues": [[17, "known-issues"]], "Keyword arguments": [[18, "keyword-arguments"]], "Mathematical functions": [[19, "mathematical-functions"]], "mdspan": [[20, "mdspan"]], "Namespaces": [[21, "namespaces"]], "Numerical constants": [[22, "numerical-constants"]], "The number class": [[22, "the-number-class"]], "Standard library specialisations": [[22, "standard-library-specialisations"], [23, "standard-library-specialisations"], [40, "standard-library-specialisations"]], "Runtime parameters": [[23, "runtime-parameters"], [36, "runtime-parameters"]], "The param class": [[23, "the-param-class"]], "The adaptive integrator": [[24, "the-adaptive-integrator"]], "Construction": [[24, "construction"]], "Single timestep": [[24, "single-timestep"]], "Accessing state and time": [[24, "accessing-state-and-time"]], "Time-limited propagation": [[24, "time-limited-propagation"], [27, "time-limited-propagation"]], "Propagation over a time grid": [[24, "propagation-over-a-time-grid"]], "Full code listing": [[24, "full-code-listing"], [27, "full-code-listing"], [29, "full-code-listing"], [31, "full-code-listing"], [32, "full-code-listing"], [33, "full-code-listing"], [34, "full-code-listing"], [35, "full-code-listing"], [36, "full-code-listing"], [37, "full-code-listing"], [37, "id1"], [38, "full-code-listing"]], "Customising the adaptive integrator": [[25, "customising-the-adaptive-integrator"]], "Error tolerance": [[25, "error-tolerance"]], "Compact mode": [[25, "compact-mode"]], "High-accuracy mode": [[25, "high-accuracy-mode"]], "Computations in arbitrary precision": [[26, "computations-in-arbitrary-precision"]], "A simple example": [[26, "a-simple-example"], [28, "a-simple-example"], [30, "a-simple-example"], [33, "a-simple-example"], [37, "a-simple-example"], [38, "a-simple-example"]], "Other classes and functions": [[26, "other-classes-and-functions"], [33, "other-classes-and-functions"], [38, "other-classes-and-functions"]], "Extended vs arbitrary precision": [[26, "extended-vs-arbitrary-precision"]], "Batch mode": [[27, "batch-mode"]], "The adaptive batch integrator": [[27, "the-adaptive-batch-integrator"]], "Step-by-step integration": [[27, "step-by-step-integration"]], "Dense & continuous output": [[27, "dense-continuous-output"], [29, "dense-continuous-output"]], "Ensemble propagations": [[27, "ensemble-propagations"], [30, "ensemble-propagations"]], "Batch evaluation": [[28, "batch-evaluation"]], "Dense output for the step() functions": [[29, "dense-output-for-the-step-functions"]], "Dense output for the propagate_*() functions": [[29, "dense-output-for-the-propagate-functions"]], "Continuous output": [[29, "continuous-output"]], "Thread safety considerations": [[30, "thread-safety-considerations"]], "Non-terminal events": [[31, "non-terminal-events"]], "Event direction": [[31, "event-direction"]], "Multiple events": [[31, "multiple-events"]], "Terminal events": [[31, "terminal-events"]], "Cooldown": [[31, "cooldown"]], "Limitations and caveats": [[31, "limitations-and-caveats"]], "Badly-conditioned event equations": [[31, "badly-conditioned-event-equations"]], "Event equations and timestepping": [[31, "event-equations-and-timestepping"]], "The expression system": [[32, "the-expression-system"]], "Computations in extended precision": [[33, "computations-in-extended-precision"]], "Non-autonomous systems": [[34, "non-autonomous-systems"]], "Parallel mode": [[35, "parallel-mode"]], "Parallel planetary embryos": [[35, "parallel-planetary-embryos"]], "Serialisation": [[37, "serialisation"]], "Serialising event callbacks": [[37, "serialising-event-callbacks"]], "Computations in single precision": [[38, "computations-in-single-precision"]], "Taylor\u2019s method": [[39, "taylor-s-method"]], "Variables": [[40, "variables"]], "The variable class": [[40, "the-variable-class"]]}, "indexentries": {"heyoka::cfunc (c++ class)": [[8, "_CPPv4I0EN6heyoka5cfuncE"]], "heyoka::cfunc::cfunc (c++ function)": [[8, "_CPPv4IDpEN6heyoka5cfunc5cfuncENSt6vectorI10expressionEENSt6vectorI10expressionEEDpRK6KwArgs"], [8, "_CPPv4N6heyoka5cfunc5cfuncEv"]], "heyoka::cfunc::in_1d (c++ type)": [[8, "_CPPv4N6heyoka5cfunc5in_1dE"]], "heyoka::cfunc::in_2d (c++ type)": [[8, "_CPPv4N6heyoka5cfunc5in_2dE"]], "heyoka::cfunc::is_valid (c++ function)": [[8, "_CPPv4NK6heyoka5cfunc8is_validEv"]], "heyoka::cfunc::out_1d (c++ type)": [[8, "_CPPv4N6heyoka5cfunc6out_1dE"]], "heyoka::cfunc::out_2d (c++ type)": [[8, "_CPPv4N6heyoka5cfunc6out_2dE"]], "heyoka_version_major (c macro)": [[10, "c.HEYOKA_VERSION_MAJOR"]], "heyoka_version_minor (c macro)": [[10, "c.HEYOKA_VERSION_MINOR"]], "heyoka_version_patch (c macro)": [[10, "c.HEYOKA_VERSION_PATCH"]], "heyoka_version_string (c macro)": [[10, "c.HEYOKA_VERSION_STRING"]], "heyoka_with_mppp (c macro)": [[10, "c.HEYOKA_WITH_MPPP"]], "heyoka_with_real (c macro)": [[10, "c.HEYOKA_WITH_REAL"]], "heyoka_with_real128 (c macro)": [[10, "c.HEYOKA_WITH_REAL128"]], "heyoka_with_sleef (c macro)": [[10, "c.HEYOKA_WITH_SLEEF"]], "heyoka::not_implemented_error (c++ class)": [[11, "_CPPv4N6heyoka21not_implemented_errorE"]], "heyoka::expression (c++ class)": [[12, "_CPPv4N6heyoka10expressionE"]], "heyoka::expression::expression (c++ function)": [[12, "_CPPv4N6heyoka10expression10expressionE4func"], [12, "_CPPv4N6heyoka10expression10expressionE5param"], [12, "_CPPv4N6heyoka10expression10expressionE6number"], [12, "_CPPv4N6heyoka10expression10expressionE8variable"], [12, "_CPPv4N6heyoka10expression10expressionEN4mppp4realE"], [12, "_CPPv4N6heyoka10expression10expressionEN4mppp7real128E"], [12, "_CPPv4N6heyoka10expression10expressionENSt6stringE"], [12, "_CPPv4N6heyoka10expression10expressionERK10expression"], [12, "_CPPv4N6heyoka10expression10expressionERR10expression"], [12, "_CPPv4N6heyoka10expression10expressionEd"], [12, "_CPPv4N6heyoka10expression10expressionEe"], [12, "_CPPv4N6heyoka10expression10expressionEf"], [12, "_CPPv4N6heyoka10expression10expressionEv"]], "heyoka::expression::operator= (c++ function)": [[12, "_CPPv4N6heyoka10expressionaSERK10expression"], [12, "_CPPv4N6heyoka10expressionaSERR10expression"]], "heyoka::expression::value (c++ function)": [[12, "_CPPv4NK6heyoka10expression5valueEv"]], "heyoka::expression::value_type (c++ type)": [[12, "_CPPv4N6heyoka10expression10value_typeE"]], "heyoka::expression::~expression (c++ function)": [[12, "_CPPv4N6heyoka10expressionD0Ev"]], "heyoka::literals::operator\"\"_dbl (c++ function)": [[12, "_CPPv4N6heyoka8literalsli4_dblEe"], [12, "_CPPv4N6heyoka8literalsli4_dblEy"]], "heyoka::literals::operator\"\"_f128 (c++ function)": [[12, "_CPPv4I_DpcEN6heyoka8literalsli5_f128E10expressionv"]], "heyoka::literals::operator\"\"_flt (c++ function)": [[12, "_CPPv4N6heyoka8literalsli4_fltEe"], [12, "_CPPv4N6heyoka8literalsli4_fltEy"]], "heyoka::literals::operator\"\"_ldbl (c++ function)": [[12, "_CPPv4N6heyoka8literalsli5_ldblEe"], [12, "_CPPv4N6heyoka8literalsli5_ldblEy"]], "heyoka::make_vars (c++ function)": [[12, "_CPPv4I0DpEN6heyoka9make_varsEDaRK4Arg0DpRK4Args"]], "heyoka::operator!= (c++ function)": [[12, "_CPPv4N6heyokaneERK10expressionRK10expression"], [22, "_CPPv4N6heyokaneERK6numberRK6number"], [23, "_CPPv4N6heyokaneERK5paramRK5param"], [40, "_CPPv4N6heyokaneERK8variableRK8variable"]], "heyoka::operator== (c++ function)": [[12, "_CPPv4N6heyokaeqERK10expressionRK10expression"], [22, "_CPPv4N6heyokaeqERK6numberRK6number"], [23, "_CPPv4N6heyokaeqERK5paramRK5param"], [40, "_CPPv4N6heyokaeqERK8variableRK8variable"]], "heyoka::func (c++ class)": [[14, "_CPPv4N6heyoka4funcE"]], "heyoka::func::args (c++ function)": [[14, "_CPPv4NK6heyoka4func4argsEv"]], "heyoka::func::func (c++ function)": [[14, "_CPPv4I0EIQaantNSt7same_asI4funcNSt14remove_cvref_tI1TEEEE6is_udfINSt14remove_cvref_tI1TEEEEN6heyoka4func4funcERR1T"], [14, "_CPPv4N6heyoka4func4funcERK4func"], [14, "_CPPv4N6heyoka4func4funcERR4func"], [14, "_CPPv4N6heyoka4func4funcEv"]], "heyoka::func::get_name (c++ function)": [[14, "_CPPv4NK6heyoka4func8get_nameEv"]], "heyoka::func::operator= (c++ function)": [[14, "_CPPv4N6heyoka4funcaSERK4func"], [14, "_CPPv4N6heyoka4funcaSERR4func"]], "heyoka::func::~func (c++ function)": [[14, "_CPPv4N6heyoka4funcD0Ev"]], "heyoka::func_base (c++ class)": [[14, "_CPPv4N6heyoka9func_baseE"]], "heyoka::func_base::args (c++ function)": [[14, "_CPPv4NK6heyoka9func_base4argsEv"]], "heyoka::func_base::func_base (c++ function)": [[14, "_CPPv4N6heyoka9func_base9func_baseENSt6stringENSt6vectorI10expressionEE"], [14, "_CPPv4N6heyoka9func_base9func_baseERK9func_base"], [14, "_CPPv4N6heyoka9func_base9func_baseERR9func_base"]], "heyoka::func_base::get_name (c++ function)": [[14, "_CPPv4NK6heyoka9func_base8get_nameEv"]], "heyoka::func_base::operator= (c++ function)": [[14, "_CPPv4N6heyoka9func_baseaSERK9func_base"], [14, "_CPPv4N6heyoka9func_baseaSERR9func_base"]], "heyoka::func_base::~func_base (c++ function)": [[14, "_CPPv4N6heyoka9func_baseD0Ev"]], "heyoka::is_udf (c++ concept)": [[14, "_CPPv4I0EN6heyoka6is_udfE"]], "heyoka::dextents (c++ type)": [[20, "_CPPv4I0_NSt6size_tEEN6heyoka8dextentsE"]], "heyoka::extents (c++ type)": [[20, "_CPPv4I0_DpNSt6size_tEEN6heyoka7extentsE"]], "heyoka::mdspan (c++ type)": [[20, "_CPPv4I0000EN6heyoka6mdspanE"]], "heyoka::number (c++ class)": [[22, "_CPPv4N6heyoka6numberE"]], "heyoka::number::number (c++ function)": [[22, "_CPPv4N6heyoka6number6numberEN4mppp4realE"], [22, "_CPPv4N6heyoka6number6numberEN4mppp7real128E"], [22, "_CPPv4N6heyoka6number6numberERK6number"], [22, "_CPPv4N6heyoka6number6numberERR6number"], [22, "_CPPv4N6heyoka6number6numberEd"], [22, "_CPPv4N6heyoka6number6numberEe"], [22, "_CPPv4N6heyoka6number6numberEf"], [22, "_CPPv4N6heyoka6number6numberEv"]], "heyoka::number::operator= (c++ function)": [[22, "_CPPv4N6heyoka6numberaSERK6number"], [22, "_CPPv4N6heyoka6numberaSERR6number"]], "heyoka::number::value (c++ function)": [[22, "_CPPv4NK6heyoka6number5valueEv"]], "heyoka::number::value_type (c++ type)": [[22, "_CPPv4N6heyoka6number10value_typeE"]], "heyoka::number::~number (c++ function)": [[22, "_CPPv4N6heyoka6numberD0Ev"]], "heyoka::operator* (c++ function)": [[22, "_CPPv4N6heyokamlERK6numberRK6number"]], "heyoka::operator+ (c++ function)": [[22, "_CPPv4N6heyokaplE6number"], [22, "_CPPv4N6heyokaplERK6numberRK6number"]], "heyoka::operator- (c++ function)": [[22, "_CPPv4N6heyokamiERK6number"], [22, "_CPPv4N6heyokamiERK6numberRK6number"]], "heyoka::operator/ (c++ function)": [[22, "_CPPv4N6heyokadvERK6numberRK6number"]], "heyoka::operator< (c++ function)": [[22, "_CPPv4N6heyokaltERK6numberRK6number"]], "heyoka::operator<< (c++ function)": [[22, "_CPPv4N6heyokalsERNSt7ostreamERK6number"], [23, "_CPPv4N6heyokalsERNSt7ostreamERK5param"], [40, "_CPPv4N6heyokalsERNSt7ostreamERK8variable"]], "heyoka::swap (c++ function)": [[22, "_CPPv4N6heyoka4swapER6numberR6number"], [23, "_CPPv4N6heyoka4swapER5paramR5param"], [40, "_CPPv4N6heyoka4swapER8variableR8variable"]], "std::hash (c++ struct)": [[22, "_CPPv4IENSt4hashIN6heyoka6numberEEE"]], "std::hash::operator() (c++ function)": [[22, "_CPPv4NKSt4hashIN6heyoka6numberEEclERKN6heyoka6numberE"]], "heyoka::param (c++ class)": [[23, "_CPPv4N6heyoka5paramE"]], "heyoka::param::idx (c++ function)": [[23, "_CPPv4NK6heyoka5param3idxEv"]], "heyoka::param::operator= (c++ function)": [[23, "_CPPv4N6heyoka5paramaSERK5param"], [23, "_CPPv4N6heyoka5paramaSERR5param"]], "heyoka::param::param (c++ function)": [[23, "_CPPv4N6heyoka5param5paramENSt8uint32_tE"], [23, "_CPPv4N6heyoka5param5paramERK5param"], [23, "_CPPv4N6heyoka5param5paramERR5param"], [23, "_CPPv4N6heyoka5param5paramEv"]], "heyoka::param::~param (c++ function)": [[23, "_CPPv4N6heyoka5paramD0Ev"]], "std::hash (c++ struct)": [[23, "_CPPv4IENSt4hashIN6heyoka5paramEEE"]], "std::hash::operator() (c++ function)": [[23, "_CPPv4NKSt4hashIN6heyoka5paramEEclERKN6heyoka5paramE"]], "heyoka::variable (c++ class)": [[40, "_CPPv4N6heyoka8variableE"]], "heyoka::variable::name (c++ function)": [[40, "_CPPv4NK6heyoka8variable4nameEv"]], "heyoka::variable::operator= (c++ function)": [[40, "_CPPv4N6heyoka8variableaSERK8variable"], [40, "_CPPv4N6heyoka8variableaSERR8variable"]], "heyoka::variable::variable (c++ function)": [[40, "_CPPv4N6heyoka8variable8variableENSt6stringE"], [40, "_CPPv4N6heyoka8variable8variableERK8variable"], [40, "_CPPv4N6heyoka8variable8variableERR8variable"], [40, "_CPPv4N6heyoka8variable8variableEv"]], "heyoka::variable::~variable (c++ function)": [[40, "_CPPv4N6heyoka8variableD0Ev"]], "std::hash (c++ struct)": [[40, "_CPPv4IENSt4hashIN6heyoka8variableEEE"]], "std::hash::operator() (c++ function)": [[40, "_CPPv4NKSt4hashIN6heyoka8variableEEclERKN6heyoka8variableE"]]}})
\ No newline at end of file
+Search.setIndex({"docnames": ["acknowledgement", "ad_notes", "advanced_tutorials", "api_reference", "basic_tutorials", "benchmarks", "bibliography", "breaking_changes", "cfunc", "changelog", "definitions", "exceptions", "expression", "expression_system", "func", "index", "install", "known_issues", "kwargs", "math", "mdspan", "namespaces", "number", "param", "tut_adaptive", "tut_adaptive_custom", "tut_arbitrary_precision", "tut_batch_mode", "tut_cfunc", "tut_d_output", "tut_ensemble", "tut_events", "tut_expression_system", "tut_extended_precision", "tut_nonauto", "tut_parallel_mode", "tut_param", "tut_s11n", "tut_single_precision", "tut_taylor_method", "variable"], "filenames": ["acknowledgement.rst", "ad_notes.rst", "advanced_tutorials.rst", "api_reference.rst", "basic_tutorials.rst", "benchmarks.rst", "bibliography.rst", "breaking_changes.rst", "cfunc.rst", "changelog.rst", "definitions.rst", "exceptions.rst", "expression.rst", "expression_system.rst", "func.rst", "index.rst", "install.rst", "known_issues.rst", "kwargs.rst", "math.rst", "mdspan.rst", "namespaces.rst", "number.rst", "param.rst", "tut_adaptive.rst", "tut_adaptive_custom.rst", "tut_arbitrary_precision.rst", "tut_batch_mode.rst", "tut_cfunc.rst", "tut_d_output.rst", "tut_ensemble.rst", "tut_events.rst", "tut_expression_system.rst", "tut_extended_precision.rst", "tut_nonauto.rst", "tut_parallel_mode.rst", "tut_param.rst", "tut_s11n.rst", "tut_single_precision.rst", "tut_taylor_method.rst", "variable.rst"], "titles": ["Acknowledgement", "Notes on automatic differentiation", "Advanced tutorials", "API Reference", "Basic tutorials", "Benchmarks", "Bibliography", "Breaking changes", "Compiled functions", "Changelog", "Macros and definitions", "Exceptions", "Expressions", "Expression system", "N-ary functions", "heyoka", "Installation", "Known issues", "Keyword arguments", "Mathematical functions", "mdspan", "Namespaces", "Numerical constants", "Runtime parameters", "The adaptive integrator", "Customising the adaptive integrator", "Computations in arbitrary precision", "Batch mode", "Compiled functions", "Dense & continuous output", "Ensemble propagations", "Event detection", "The expression system", "Computations in extended precision", "Non-autonomous systems", "Parallel mode", "Runtime parameters", "Serialisation", "Computations in single precision", "Taylor\u2019s method", "Variables"], "terms": {"we": [0, 1, 2, 5, 12, 14, 15, 16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "would": [0, 7, 9, 15, 26, 27, 30, 31, 37], "like": [0, 5, 7, 9, 16, 17, 24, 26, 27, 28, 29, 31, 35, 36], "thank": [0, 16, 30, 32], "osu": 0, "open": [0, 6, 36], "sourc": [0, 4, 5, 6, 9, 14, 36], "lab": 0, "provid": [0, 2, 4, 5, 9, 12, 14, 16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 39], "remot": 0, "access": [0, 9, 14, 26, 27, 29, 33, 37], "power": [0, 9, 15, 31], "server": 0, "Their": 0, "support": [0, 5, 7, 8, 9, 10, 12, 15, 17, 20, 22, 26, 27, 28, 29, 30, 32, 33, 37, 38], "wa": [0, 7, 9, 10, 16, 17, 22, 24, 26, 27, 28, 29, 30, 31, 33, 37], "crucial": 0, "ensur": [0, 9, 16, 25, 29, 30, 31, 32, 37], "heyoka": [0, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "work": [0, 2, 7, 9, 15, 31, 33, 37, 38], "correctli": [0, 9, 26, 27, 31, 37], "cpu": [0, 5, 9, 16, 17, 27, 28], "definit": [1, 3, 9, 15, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 36, 37, 38], "normalis": [1, 39], "deriv": [1, 7, 9, 28, 31, 32, 39], "x": [1, 5, 7, 9, 12, 14, 15, 16, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "left": [1, 5, 9, 12, 15, 24, 27, 28, 29, 31, 34, 36, 39], "n": [1, 3, 5, 9, 12, 13, 15, 22, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "right": [1, 5, 9, 12, 15, 17, 24, 27, 28, 29, 31, 32, 34, 35, 39], "t": [1, 5, 8, 9, 14, 20, 22, 24, 25, 27, 28, 29, 30, 31, 34, 35, 39], "frac": [1, 5, 36, 39], "1": [1, 5, 6, 8, 10, 12, 15, 16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "gener": [1, 9, 14, 17, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 39], "leibniz": 1, "rule": [1, 6, 25, 31, 39], "given": [1, 5, 39], "b": [1, 22, 23, 40], "c": [1, 2, 5, 7, 9, 15, 16, 17, 20, 24, 27, 28, 32, 33, 37, 38, 39], "sum_": [1, 39], "j": 1, "0": [1, 5, 15, 16, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39], "pm": 1, "trivial": [1, 7, 9, 37], "i": [1, 2, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "directli": [1, 5, 9, 26, 27, 28, 29, 30, 36], "applic": [1, 5, 15, 27, 36, 38, 39], "2": [1, 5, 6, 8, 10, 12, 15, 24, 25, 26, 27, 28, 30, 31, 33, 34, 35, 36, 38, 39], "can": [1, 2, 4, 5, 7, 9, 12, 13, 14, 15, 16, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "write": [1, 9, 24, 27, 28, 29, 30, 37], "now": [1, 5, 7, 9, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38], "appli": [1, 6, 39], "order": [1, 5, 6, 8, 9, 15, 16, 20, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "both": [1, 5, 16, 17, 24, 28, 29, 30, 31, 35], "side": [1, 9, 27, 31, 32, 35, 39], "us": [1, 2, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "re": [1, 9, 26, 31, 36], "arrang": 1, "obtain": 1, "comput": [1, 2, 5, 6, 9, 16, 17, 24, 27, 28, 29, 31, 32, 35, 39], "case": [1, 5, 7, 9, 15, 16, 24, 25, 27, 28, 29, 31, 34, 36, 37], "which": [1, 2, 5, 7, 8, 9, 12, 15, 16, 17, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "take": [1, 24, 25, 27, 28, 29, 30, 31, 34, 35, 37, 39], "advantag": [1, 5, 28], "summat": [1, 9, 25], "symmetri": 1, "halv": 1, "complex": [1, 12, 32, 34], "begin": [1, 5, 15, 24, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 40], "mbox": 1, "even": [1, 5, 25, 26, 28, 31, 37], "odd": 1, "end": [1, 5, 9, 15, 16, 24, 25, 26, 27, 29, 30, 31, 33, 34, 36, 37, 38], "sqrt": [1, 32, 35], "help": [1, 5, 25, 28, 29, 38], "6": [1, 5, 24, 25, 27, 29, 31, 35, 38], "isol": [1, 6], "2a": 1, "alpha": [1, 27, 31], "neq": 1, "have": [1, 7, 16, 17, 23, 24, 25, 28, 30, 31, 34, 36, 37, 39, 40], "prime": [1, 5, 15, 24, 25, 26, 27, 29, 30, 31, 33, 34, 36, 37, 38], "By": [1, 5, 24, 25, 31], "multipli": 1, "align": 1, "e": [1, 5, 6, 7, 9, 10, 16, 21, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 39], "operatornam": 1, "sig": 1, "where": [1, 16, 17, 25, 26, 31, 36, 39], "after": [1, 12, 17, 24, 26, 27, 29, 31, 34, 36, 37], "introduct": 1, "auxiliari": 1, "becom": [1, 2, 36], "3": [1, 5, 10, 16, 24, 27, 28, 29, 30, 31, 34, 35, 36, 38, 39], "log": [1, 31], "equival": [1, 9, 12, 22, 26, 27, 31, 32], "tan": [1, 9], "arcsin": 1, "introduc": [1, 9, 34, 35], "so": [1, 27, 28, 29, 31, 35, 36, 37], "28": [1, 27], "rewritten": [1, 7, 39], "yield": 1, "via": [1, 2, 5, 7, 8, 9, 12, 14, 15, 17, 20, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39], "hand": [1, 9, 25, 26, 27, 29, 31, 32, 35, 36, 39], "term": [1, 9, 25, 34, 35], "The": [1, 3, 4, 6, 7, 9, 13, 15, 16, 17, 20, 21, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39], "ident": [1, 7, 9, 12, 22, 27], "apart": 1, "from": [1, 4, 5, 7, 9, 10, 11, 12, 14, 15, 20, 21, 22, 23, 24, 25, 26, 28, 29, 30, 31, 32, 33, 35, 37, 38, 39, 40], "sign": [1, 5, 6, 7, 26, 31], "chang": [1, 5, 12, 15, 24, 25, 26, 27, 31, 34, 35, 36], "arcco": 1, "final": [1, 5, 11, 25, 27, 28, 30, 31, 35], "result": [1, 5, 7, 9, 12, 17, 22, 23, 25, 26, 27, 28, 29, 30, 31, 35, 37, 40], "defin": [1, 5, 8, 9, 10, 14, 15, 18, 21, 28, 30, 31, 32, 33, 34, 35, 37, 38, 39], "arctan": 1, "36": [1, 6, 25, 33], "With": [1, 31, 34, 35, 36, 37], "arctan2": 1, "d": [1, 39], "41": [1, 27], "nd": 1, "vphantom": 1, "sinh": 1, "cosh": 1, "45": 1, "process": [1, 5, 9, 16, 25, 27, 28, 29, 31, 39], "tanh": 1, "arsinh": 1, "arcosh": 1, "artanh": 1, "erf": 1, "pi": [1, 9], "exp": [1, 32], "1n": 1, "bivari": [1, 28], "m": [1, 25, 35, 36], "implicitli": 1, "trascendent": 1, "equat": [1, 5, 7, 9, 15, 24, 26, 27, 32, 33, 38, 39], "sin": [1, 9, 12, 15, 24, 25, 26, 27, 29, 30, 31, 33, 34, 36, 37, 38], "partial": 1, "ar": [1, 2, 4, 5, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 36, 37, 38, 39, 40], "co": [1, 9, 12, 26, 27, 32, 33, 34, 38], "expand": [1, 10], "67": 1, "trivari": 1, "f": [1, 9, 28, 38, 39], "h": [1, 6, 24, 27, 35, 39], "k": 1, "lambda": [1, 31, 37], "proce": [1, 26, 28, 31, 37], "same": [1, 5, 9, 16, 22, 23, 24, 25, 26, 27, 28, 30, 31, 33, 35, 37, 40], "wai": [1, 7, 9, 12, 24, 25, 26, 30, 31, 32, 35, 37], "explain": [1, 5, 26, 28, 31, 36, 37, 38], "p_n": 1, "a_i": 1, "its": [1, 2, 5, 7, 9, 15, 16, 22, 24, 27, 29, 30, 31, 32, 34, 37], "_j": 1, "fall": [1, 24, 29], "factori": 1, "elementari": [1, 12, 22, 32, 39], "relat": [1, 9], "involv": [1, 30, 32], "indic": [1, 7, 9, 24, 27, 36], "choos": [1, 5], "a_": 1, "more": [2, 4, 5, 9, 12, 24, 25, 29, 31, 35, 37, 39], "exampl": [2, 4, 15, 24, 25, 27, 29, 31, 34, 35, 36], "avail": [2, 4, 5, 8, 9, 13, 16, 17, 22, 23, 26, 27, 28, 29, 30, 31, 33, 35], "document": [2, 3, 4, 9, 16, 20], "": [2, 3, 4, 5, 6, 7, 9, 10, 12, 14, 15, 16, 17, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 40], "python": [2, 4, 15, 28], "bind": [2, 4, 7, 15, 28], "In": [2, 5, 6, 7, 9, 16, 17, 20, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "thi": [2, 5, 7, 8, 9, 10, 11, 12, 14, 16, 17, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 40], "section": [2, 5, 25, 29, 31, 32, 34, 36], "show": [2, 5, 25, 27, 31, 35, 37], "some": [2, 16, 27, 29, 30, 36, 37], "function": [2, 3, 5, 7, 9, 11, 13, 20, 21, 24, 25, 27, 30, 31, 32, 34, 35, 36, 37, 39], "includ": [2, 7, 8, 9, 10, 11, 12, 14, 15, 17, 19, 20, 21, 22, 23, 24, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40], "multiprecis": [2, 5, 16, 17, 26], "vectoris": [2, 9], "batch": [2, 7, 9, 15, 16, 17, 38], "mode": [2, 9, 15, 16, 17, 22, 24, 26, 28, 30, 31, 38], "becaus": [2, 5, 12, 24, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37], "index": [2, 7, 9, 20, 23, 24, 27, 29, 30, 31, 35, 36], "over": [2, 5, 8, 9, 15, 25, 26, 27, 28, 30, 31, 35], "state": [2, 5, 7, 8, 9, 15, 22, 25, 26, 27, 29, 30, 31, 33, 35, 36, 37, 38, 39], "vector": [2, 5, 8, 9, 14, 15, 16, 17, 24, 25, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 38], "flat": [2, 27], "1d": [2, 8, 27], "arrai": [2, 7, 8, 9, 12, 20, 23, 27, 28, 29, 32, 36], "quickli": 2, "complic": [2, 6, 13, 31], "confus": [2, 34], "make": [2, 16, 18, 27, 31, 37], "extens": [2, 9, 18, 20, 29], "xtensor": [2, 16, 27, 35], "librari": [2, 5, 9, 10, 15, 16, 17, 18, 21, 26, 31, 32, 33, 35, 37], "among": [2, 5, 9, 22, 30], "mani": [2, 9, 28, 31], "other": [2, 5, 12, 15, 16, 24, 25, 28, 29, 30, 31, 35, 36, 37, 39], "featur": [2, 5, 9, 11, 15, 16, 26, 27, 28, 29, 31, 32], "an": [2, 5, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "api": [2, 9, 12, 14, 15, 21, 27, 29, 30, 32, 34, 35, 37, 38], "veri": [2, 9, 17, 25, 26, 27, 29, 31, 32, 37], "similar": [2, 7, 9, 27, 29, 39], "numpi": [2, 27], "multidimension": [2, 20], "It": [2, 9, 12, 14, 22, 24, 27, 31, 32], "outsid": [2, 29], "scope": [2, 37], "give": [2, 29], "full": [2, 10, 14], "overview": [2, 26], "capabl": [2, 5, 9, 13, 24, 27, 29, 32, 37], "here": [2, 5, 15, 16, 17, 24, 25, 27, 30, 31, 33, 39], "howev": [2, 5, 16, 27, 31], "onli": [2, 5, 8, 9, 12, 14, 16, 17, 22, 24, 26, 27, 28, 29, 31, 32, 33, 37, 38, 39], "most": [2, 5, 7, 16, 17, 26, 27, 28, 33], "basic": [2, 9, 15, 32], "reader": [2, 26], "familiar": 2, "should": [2, 5, 7, 9, 17, 24, 26, 27, 29, 30, 31, 37], "hard": [2, 36], "follow": [2, 3, 15, 16, 17, 24, 27, 30, 31, 33, 34], "extend": [2, 9, 15, 17, 27, 28, 32, 35, 38], "precis": [2, 9, 12, 15, 17, 24, 25, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 39], "arbitrari": [2, 9, 12, 15, 28, 29, 31, 37, 38], "singl": [2, 7, 9, 12, 15, 16, 27, 28, 29, 31, 33, 35], "serialis": [2, 9, 29], "ensembl": [2, 7, 9, 15, 17, 35], "propag": [2, 7, 9, 17, 29, 31, 35, 39], "parallel": [2, 9, 27, 30], "compil": [2, 3, 4, 9, 15, 16, 17, 25, 26, 33, 34, 36, 38, 39], "subsect": 3, "contain": [3, 9, 10, 12, 16, 21, 24, 27, 28, 29, 31, 36, 37, 39], "detail": [3, 5, 9, 28, 34, 37], "all": [3, 4, 5, 9, 11, 12, 14, 16, 17, 18, 21, 22, 24, 25, 26, 27, 28, 30, 31, 33, 34, 36, 37, 38, 39], "public": [3, 9, 11], "class": [3, 7, 9, 10, 11, 16, 20, 24, 25, 27, 28, 29, 30, 31, 34, 37], "macro": [3, 37], "namespac": [3, 4, 15, 18, 24, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38], "keyword": [3, 7, 9, 21, 24, 25, 26, 27, 29, 30, 31, 34, 36], "argument": [3, 7, 8, 9, 12, 14, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37], "except": [3, 12, 14, 16, 20, 22, 23, 26, 35, 37, 40], "not_implemented_error": [3, 11], "mdspan": [3, 8, 28], "extent": [3, 20], "dextent": [3, 8, 20], "express": [3, 4, 7, 8, 9, 14, 21, 22, 23, 24, 28, 31, 34, 35, 36, 39, 40], "system": [3, 4, 6, 7, 8, 9, 14, 15, 16, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 35, 36, 37, 38, 39, 40], "variabl": [3, 5, 6, 8, 9, 12, 13, 15, 16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "numer": [3, 5, 6, 8, 9, 12, 13, 15, 23, 25, 26, 27, 30, 31, 32, 33, 36, 38, 39], "constant": [3, 5, 9, 12, 13, 14, 23, 24, 26, 27, 32, 33, 35, 36, 38], "runtim": [3, 4, 5, 9, 12, 13, 16, 17, 25, 26, 27, 28, 30, 31, 32, 37], "paramet": [3, 4, 9, 12, 13, 14, 22, 24, 26, 27, 29, 30, 31, 32, 33, 35, 38, 40], "ari": [3, 12, 13, 32], "mathemat": [3, 6, 9, 12, 13, 27, 32, 36], "cfunc": [3, 9, 28], "code": [4, 5, 7, 9, 14, 17, 25, 26, 28, 30, 39], "snippet": [4, 26, 31], "assum": [4, 7, 33], "inclus": [4, 9], "global": [4, 9, 26, 30], "header": [4, 9, 16, 18], "hpp": [4, 8, 9, 10, 11, 12, 14, 15, 18, 19, 20, 22, 23, 24, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38, 40], "hy": [4, 27, 34], "import": [4, 12, 16, 24, 26, 27, 29, 30, 31, 32, 37], "name": [4, 9, 10, 12, 14, 16, 18, 34, 37, 40], "handi": 4, "shortcut": 4, "subdirectori": 4, "tree": [4, 12, 16, 32], "enabl": [4, 5, 9, 12, 16, 17, 24, 25, 26, 27, 29, 31, 35, 37], "heyoka_build_tutori": [4, 16], "option": [4, 7, 9, 16, 17, 24, 25, 26, 27, 29, 31, 36], "when": [4, 5, 7, 9, 16, 17, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38], "taylor": [4, 5, 6, 9, 15, 24, 25, 26, 27, 29, 30, 31, 33, 35, 36, 38], "method": [4, 5, 6, 15, 29], "adapt": [4, 5, 7, 9, 26, 30, 31, 33, 35, 38, 39], "integr": [4, 5, 6, 7, 9, 10, 15, 16, 23, 26, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39], "customis": [4, 9, 31], "non": [4, 5, 7, 9, 12, 16, 22, 24, 25, 27, 37], "autonom": [4, 9], "dens": [4, 9, 15, 24, 31], "continu": [4, 7, 9, 16, 24, 26, 30, 31], "output": [4, 7, 8, 9, 15, 22, 23, 24, 26, 28, 30, 31, 33, 36, 37, 38, 40], "event": [4, 9, 15, 26, 30, 33, 38], "detect": [4, 9, 15, 16, 24], "few": [5, 24, 25, 26, 27, 28, 29, 31, 32, 33, 34, 37, 38], "perform": [5, 6, 9, 16, 24, 25, 26, 27, 28, 30, 31, 32, 33, 35, 36, 37, 38, 39], "comparison": [5, 22, 23, 35, 40], "between": [5, 7, 16, 31], "popular": [5, 39], "od": [5, 6, 9, 15, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39], "packag": [5, 6, 9, 17], "specif": [5, 7, 16, 17, 25, 27, 28, 30, 31, 33, 34, 37, 39], "compar": [5, 12, 29, 35], "differentialequ": 5, "jl": [5, 6], "julia": [5, 6], "implement": [5, 6, 9, 11, 14, 16, 17, 18, 20, 22, 24, 26, 28, 32, 33, 37, 39], "sever": [5, 6, 7, 9, 12, 13, 16, 17, 21, 22, 26, 32, 33, 38], "solver": [5, 9], "explicit": [5, 8, 9, 12, 14, 22, 23, 34, 39, 40], "rung": [5, 39], "kutta": [5, 39], "vern6": 5, "vern8": 5, "vern9": 5, "feagin14": 5, "dp8": 5, "etc": [5, 9, 16, 26, 27, 31, 32, 33, 38], "see": [5, 10, 14, 16, 17, 20, 22, 24, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37], "list": [5, 8, 9, 16, 28, 30], "boost": [5, 9, 16, 28, 35, 37], "odeint": 5, "variou": [5, 9], "algorithm": [5, 24, 29, 31], "solut": [5, 9, 17, 24, 25, 29, 39], "fehlberg": 5, "78": [5, 9], "ias15": 5, "rebound": 5, "high": [5, 6, 9, 15, 24, 26, 27, 30, 32, 33, 35, 38, 39], "symplect": 5, "timestep": [5, 9, 15, 25, 26, 27, 29, 30, 33, 37, 38, 39], "conserv": [5, 26, 33, 38], "dynam": [5, 6, 8, 9, 16, 20, 26, 31, 33, 34, 38], "invari": 5, "billion": [5, 15], "timescal": 5, "note": [5, 12, 15, 16, 17, 24, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "default": [5, 8, 9, 12, 14, 16, 22, 23, 24, 25, 26, 31, 33, 34, 38, 40], "incur": 5, "heavi": 5, "cost": [5, 15, 25, 27, 29], "while": [5, 7, 9, 12, 17, 24, 25, 27, 28, 29, 31, 34, 35, 36], "also": [5, 9, 16, 24, 25, 26, 27, 28, 29, 31, 32, 33, 37, 38, 39], "opt": [5, 9, 25], "impact": 5, "much": [5, 24, 26, 27, 31, 32, 35], "limit": [5, 9, 26, 29, 30, 32, 35], "test": [5, 9, 16, 35], "without": [5, 9, 26, 28, 30, 31, 32, 35, 37], "were": [5, 24, 26, 27, 29], "run": [5, 16, 30, 35], "intel": [5, 16, 17, 33], "xeon": 5, "platinum": 5, "8360y": 5, "paper": [5, 6, 15], "github": [5, 16], "repositori": [5, 15], "particl": [5, 24, 25], "sun": [5, 35], "jupit": 5, "saturn": 5, "repres": [5, 7, 8, 9, 12, 14, 20, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 36, 38, 39, 40], "point": [5, 7, 8, 9, 12, 15, 16, 17, 21, 22, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 37, 38], "mass": [5, 35], "attract": 5, "each": [5, 9, 12, 24, 26, 27, 28, 29, 30, 33, 35, 38], "accord": [5, 35], "newtonian": [5, 35], "graviti": [5, 24, 35, 36], "initi": [5, 9, 15, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39], "condit": [5, 15, 16, 17, 24, 25, 26, 27, 29, 30, 33, 34, 36, 37, 38, 39], "taken": [5, 9, 24, 27, 29, 31, 35, 37], "total": [5, 9, 24, 27, 31, 35], "10": [5, 6, 15, 16, 25, 26, 27, 29, 30, 31, 33, 35, 38], "5": [5, 7, 24, 27, 29, 30, 31, 34, 37, 38], "year": [5, 15, 35], "For": [5, 15, 16, 25, 26, 28, 30, 31, 35, 37], "time": [5, 7, 8, 9, 12, 14, 15, 16, 23, 25, 26, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39], "equispac": 5, "grid": [5, 7, 9, 27, 29, 30, 31], "request": [5, 24, 27, 29, 30], "measur": 5, "accuraci": [5, 9, 15, 24, 26, 29, 30, 38, 39], "quadrupl": [5, 9, 16, 17, 28, 32, 33, 35], "toler": [5, 9, 24, 26, 29, 30, 31, 33, 36, 38], "30": 5, "let": [5, 15, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38], "u": [5, 24, 26, 27, 28, 29, 30, 31, 33, 35, 37, 38], "first": [5, 7, 9, 12, 22, 23, 24, 25, 27, 28, 29, 30, 31, 36, 37, 40], "error": [5, 6, 9, 16, 17, 24, 26, 27, 29, 31, 32, 33, 38, 39], "15": 5, "how": [5, 15, 16, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 37, 38], "least": [5, 12, 16, 25, 30, 31, 35], "faster": [5, 24, 25], "than": [5, 7, 9, 15, 22, 24, 25, 26, 27, 31, 35, 38], "ani": [5, 9, 12, 14, 22, 23, 26, 27, 28, 29, 30, 31, 32, 37, 40], "grai": 5, "bar": 5, "increas": [5, 9, 27, 28, 31, 36, 38], "sim": [5, 24, 25, 26, 33, 36, 38], "50": [5, 34], "wherea": [5, 7, 16, 27, 28, 31, 32], "hit": 5, "substanti": [5, 9, 28, 38], "larger": [5, 24, 25, 27, 31, 38], "wise": 5, "rkf78": 5, "doe": [5, 7, 9, 26, 27, 28, 29, 31, 37], "view": [5, 8, 20, 27, 28, 35], "ha": [5, 7, 9, 16, 24, 25, 26, 27, 29, 31, 37], "lowest": 5, "rel": [5, 9, 25, 26, 29, 31, 33, 38], "respect": [5, 9, 10, 16, 24, 25, 26, 27, 29, 31, 35, 36, 38], "set": [5, 9, 15, 16, 24, 25, 26, 27, 29, 30, 31, 35, 39], "9": [5, 7, 15, 16, 24, 25, 26, 27, 29, 30, 31, 33, 36, 37, 38], "expect": [5, 27, 28, 29, 30, 31], "accumul": 5, "known": [5, 15, 16, 24, 30, 36], "brouwer": [5, 6], "law": [5, 6], "still": [5, 14, 33, 35], "higher": [5, 26, 29, 34], "smaller": 5, "wors": 5, "replac": [5, 7, 9, 25, 27, 33], "suppos": 5, "effici": [5, 9, 22, 23, 24, 29, 35, 36, 40], "At": [5, 14, 26, 30, 31, 33, 38], "low": [5, 9, 25, 29, 38], "similarli": [5, 7, 24, 26, 27, 31, 33, 38], "retain": 5, "motion": [5, 9, 15, 24, 34], "million": 5, "consist": [5, 12, 22, 25, 28, 35], "uranu": 5, "neptun": 5, "pluto": 5, "consid": [5, 9, 12, 15, 22, 23, 27, 31, 40], "about": [5, 29, 31, 37], "A": [5, 6, 8, 13, 16, 17, 23, 31], "overhead": [5, 28, 35, 36], "studi": [5, 36], "h\u00e9non": 5, "heil": 5, "famou": 5, "experi": [5, 17, 31], "investig": [5, 17], "exist": [5, 7], "addit": [5, 9, 24, 26, 27, 28, 30, 31, 32, 34, 38], "axisymmetr": 5, "potenti": [5, 9], "differenti": [5, 6, 9, 15, 24, 28, 31, 32, 39], "v_x": 5, "2xy": 5, "v_y": 5, "y": [5, 12, 15, 22, 28, 29, 32], "2525875586263492": 5, "2178423952983717": 5, "2587703282931232": 5, "our": [5, 15, 16, 25, 31, 37], "object": [5, 7, 9, 12, 14, 15, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38], "poincar\u00e9": [5, 31], "plane": 5, "accomplish": [5, 32, 37], "up": [5, 7, 9, 16, 24, 27, 28, 29, 30, 31, 34, 36], "cross": [5, 31], "origin": [5, 27, 31, 35, 37], "impos": 5, "constraint": 5, "direct": [5, 7, 29], "must": [5, 7, 9, 16, 24, 26, 27, 30, 31, 32, 33, 37, 38], "posit": [5, 7, 23, 31, 34, 35], "below": [5, 16, 24, 31, 37], "2000": 5, "unit": [5, 9, 15, 24, 27, 31, 34], "lower": 5, "combin": [5, 12], "free": [5, 24], "art": 5, "polynomi": [5, 6, 9, 24, 25, 29, 31, 39], "root": [5, 6, 7, 17, 31, 32, 37], "find": [5, 31], "techniqu": [5, 15, 25, 31], "methodologi": 5, "rigor": 5, "computation": [5, 28, 29, 35], "contrast": [5, 27, 31], "adopt": 5, "approach": [5, 6, 25, 35, 36], "check": [5, 9, 31, 34], "interpol": 5, "within": [5, 7, 9, 18, 21, 26, 29, 31], "discret": 5, "sens": [5, 25, 29], "two": [5, 7, 9, 12, 22, 23, 27, 29, 30, 31, 37, 40], "zero": [5, 7, 9, 12, 15, 23, 24, 27, 29, 30, 31, 34, 35, 36], "miss": [5, 9, 17, 31], "suffer": [5, 28], "issu": [5, 9, 15, 16, 24, 25, 31, 38], "forward": [5, 9, 24, 27, 29, 30], "t_0": [5, 39], "t_1": [5, 39], "invert": 5, "return": [5, 7, 9, 12, 14, 22, 23, 24, 26, 27, 29, 30, 31, 33, 35, 36, 37, 38, 40], "close": [5, 31, 35], "match": [5, 27, 29, 33, 38], "keep": [5, 29, 30], "thing": [5, 29, 34], "simpl": [5, 15, 24, 27, 29, 31, 32, 39], "pendulum": [5, 6, 15, 24, 26, 27, 29, 30, 31, 33, 34, 36, 37, 38], "si": 5, "mathrm": [5, 36], "1000": 5, "goal": [5, 31, 35], "quantifi": [5, 25], "magnitud": [5, 25, 31], "differ": [5, 7, 9, 12, 16, 22, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 37], "abl": [5, 16, 31, 32, 33, 38], "accur": [5, 15, 31], "superior": 5, "due": [5, 9, 17, 26, 27, 31, 35, 37], "larg": [5, 9, 14, 25, 26, 28, 35, 36, 38, 39], "part": [5, 7, 15, 16, 29], "fact": [5, 7, 9, 20, 26, 35], "intern": [5, 9, 12, 14, 16, 22, 26, 27, 29, 32, 35, 37, 40], "represent": [5, 9, 16, 26, 37, 39], "coordin": [5, 9, 24, 26, 27, 29, 31, 33, 36, 37, 38], "base": [5, 9, 14, 15, 16, 23, 30, 31, 33, 37], "doubl": [5, 9, 12, 15, 16, 17, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40], "length": [5, 9, 16, 31, 36], "arithmet": [5, 9, 13, 16, 22, 35], "allow": [5, 8, 9, 26, 27, 29, 33, 38], "drastic": 5, "reduc": [5, 6, 9, 25, 27, 31, 38], "loss": 5, "occur": [5, 31], "updat": [5, 9, 16, 17, 24, 25, 27], "grow": 5, "throughout": [5, 21, 26, 31, 33, 38], "step": [5, 9, 24, 26, 28, 30, 31, 33, 35, 37, 38, 39], "size": [5, 7, 8, 9, 24, 27, 28, 31, 37, 39], "remain": [5, 12, 37], "roughli": [5, 27, 31], "thu": [5, 7, 14, 16, 25, 26, 27, 28, 29, 30, 31, 34, 35, 37, 39], "gradual": 5, "roundoff": 5, "curb": 5, "phenomenon": [5, 31], "particularli": [5, 30, 37, 38], "visibl": [5, 9, 37], "long": [5, 9, 12, 16, 17, 22, 25, 26, 29, 32, 33, 34], "well": 5, "suit": [5, 9, 16], "thei": [5, 7, 8, 14, 16, 22, 23, 24, 26, 27, 28, 31, 35, 40], "freeli": [5, 27], "optim": [5, 24, 25, 27, 28, 32, 35, 39], "fix": [5, 7, 17, 23, 27, 36], "achiev": [5, 6, 27, 30, 32, 35], "expens": [5, 28], "34": [5, 27], "epsilon": [5, 24, 25, 26, 33, 38], "math": [5, 9, 16, 17, 19], "gcc": [5, 9, 16], "under": [5, 15, 17, 31], "hood": 5, "20": [5, 7, 16, 24, 25, 26, 27, 30, 33, 36, 38], "move": [5, 8, 9, 12, 14, 15, 22, 23, 24, 27, 31, 35, 36, 40], "mpfr": [5, 17], "float": [5, 8, 9, 12, 15, 16, 17, 21, 22, 24, 25, 26, 27, 28, 31, 32, 33, 35, 38], "bigfloat": 5, "type": [5, 8, 9, 12, 13, 15, 16, 17, 22, 24, 25, 26, 27, 28, 31, 32, 33, 35, 36, 37, 38], "altern": [5, 9, 26, 27], "arb": 5, "arbnumer": 5, "256": 5, "bit": [5, 9, 15, 17, 26, 32, 33], "significand": [5, 26], "77": [5, 9], "lead": [5, 9, 16, 17, 25, 27, 28, 31, 34, 36, 37, 38], "discuss": 5, "earlier": [5, 25, 26, 27, 31], "stepper": [5, 39], "memori": [5, 9, 14, 25, 26, 27, 28, 29, 35, 38], "alloc": [5, 14, 27], "That": [5, 12, 16, 22, 25, 26, 28, 29, 30, 31, 33, 34, 39], "contrari": [5, 27], "storag": [5, 28], "number": [5, 9, 10, 12, 15, 16, 23, 24, 25, 26, 27, 29, 30, 31, 35, 37], "emploi": [5, 12, 14, 25, 26, 31], "pre": 5, "stack": 5, "rather": [5, 7, 9, 15, 26, 27, 30], "being": [5, 9, 17, 26, 27, 31, 32, 37], "demand": 5, "everi": [5, 31, 34], "oper": [5, 7, 8, 9, 13, 14, 16, 17, 20, 27, 28, 29, 30, 32, 33, 35, 37, 38, 39], "As": [5, 15, 16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36], "tutori": [5, 8, 9, 13, 15, 16, 20, 23, 26, 27, 28, 30, 31, 37, 38], "almost": 5, "form": [5, 12, 13, 27, 30, 31, 32, 39], "coeffici": [5, 9, 26, 27, 29, 31, 33, 38], "seri": [5, 6, 25, 29, 31, 39], "famili": [5, 31], "sometim": [5, 31], "instabl": 5, "especi": [5, 30, 36, 39], "keplerian": 5, "circular": [5, 9, 35], "orbit": [5, 9, 35], "12": [5, 16, 25, 27, 31, 37], "ask": [5, 27, 29], "interv": [5, 24, 27, 29, 30, 31, 35], "plot": 5, "against": [5, 9, 16, 17], "analyt": [5, 9, 15], "lazi": 5, "8th": 5, "noisi": 5, "often": [5, 31], "exce": 5, "nomin": 5, "peak": 5, "local": 5, "maximum": [5, 24, 27, 31, 35], "disappear": 5, "switch": [5, 31], "datatyp": [5, 16, 17, 24, 27, 28], "strongli": 5, "suggest": [5, 9], "behaviour": [5, 16, 25, 30, 31, 34, 37], "caus": [5, 17], "jitteri": 5, "problemat": 5, "try": [5, 16, 24, 25, 29, 31, 35, 36, 37], "solv": [5, 15, 39], "invers": [5, 9, 32], "setup": [5, 16, 26, 27, 35], "g": [5, 6, 7, 9, 10, 16, 21, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 39], "model": [5, 7, 9, 15, 16, 25, 35], "determin": [5, 9, 31, 32], "bound": [5, 29], "experienc": 5, "inde": [5, 26, 27, 29, 31, 33, 37, 38], "calcul": 5, "formula": [5, 9], "guarante": [5, 9, 22, 29], "abmbrodriguez15": 6, "alberto": 6, "abad": 6, "roberto": 6, "barrio": 6, "miguel": 6, "marco": 6, "buzunariz": 6, "rodr": 6, "\u00ed": 6, "guez": 6, "automat": [6, 9, 15, 24, 28, 31, 32, 33, 35, 39], "mathematica": 6, "sage": 6, "268": [6, 9], "227": 6, "245": 6, "2015": 6, "bar05": 6, "dae": 6, "163": [6, 9], "525": 6, "545": 6, "2005": 6, "bs19": 6, "lui": 6, "benet": 6, "david": 6, "p": [6, 23, 39], "sander": 6, "taylorseri": 6, "expans": [6, 31, 39], "one": [6, 12, 16, 25, 27, 28, 29, 30, 31, 32, 33, 37], "journal": [6, 15], "softwar": [6, 16, 32], "4": [6, 15, 24, 27, 28, 29, 30, 31, 35, 39], "1043": 6, "2019": 6, "url": [6, 15], "http": [6, 15], "joss": 6, "theoj": 6, "org": [6, 15], "21105": 6, "01043": 6, "doi": [6, 15], "ca76": [6, 31], "georg": 6, "collin": 6, "alkiviadi": 6, "akrita": 6, "real": [6, 10, 12, 16, 22, 26, 31], "descart": 6, "proceed": 6, "third": [6, 27], "acm": 6, "symposium": 6, "symbol": [6, 8, 9, 12, 13, 15, 16, 17, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40], "algebra": [6, 32, 39], "272": 6, "275": 6, "1976": 6, "har08": 6, "alex": 6, "haro": 6, "tool": 6, "univ": 6, "barcelona": 6, "preprint": [6, 15], "2008": 6, "hub99": [6, 34], "john": 6, "hubbard": 6, "forc": [6, 9, 16, 27, 34], "damp": [6, 27, 31, 34], "chao": 6, "control": [6, 25, 31], "american": 6, "monthli": [6, 15], "106": [6, 9, 16], "8": [6, 15, 24, 25, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37, 38], "741": 6, "758": 6, "1999": 6, "jz05": 6, "\u00e0": 6, "ngel": 6, "jorba": 6, "maorong": 6, "zou": 6, "mean": [6, 7, 9, 24, 25, 28, 29, 35], "experiment": [6, 20], "14": [6, 16], "99": [6, 9], "117": 6, "rodriguezb12": 6, "round": 6, "62": 6, "1014": 6, "1024": 6, "2012": 6, "backward": [7, 24, 27, 31], "incompat": 7, "pass": [7, 8, 9, 24, 26, 27, 28, 29, 31, 33, 34, 36, 38], "input": [7, 8, 9, 12, 22, 23, 24, 27, 28, 29, 30, 35, 37, 40], "auto": [7, 12, 15, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "need": [7, 14, 16, 24, 27, 28, 29, 31, 32, 33, 35, 37, 39], "second": [7, 12, 22, 23, 24, 27, 29, 30, 31, 40], "signatur": [7, 9, 24, 27, 30, 31, 37], "bool": [7, 8, 12, 22, 23, 24, 30, 31, 35, 40], "convention": 7, "call": [7, 8, 9, 16, 20, 24, 27, 28, 29, 30, 31, 34, 36, 37], "mr": [7, 9], "been": [7, 9, 16, 17, 24, 25, 29, 31, 36, 37], "remov": [7, 9, 31], "flag": [7, 9, 16, 17, 24, 27, 29, 31, 35], "meant": [7, 37], "signal": [7, 11, 16], "possibl": [7, 9, 12, 24, 27, 28, 30, 31, 32, 37], "multipl": [7, 9, 27, 28, 30, 32, 35], "cooldown": [7, 9], "period": [7, 27, 31, 34, 36], "never": [7, 9, 30, 34], "intend": 7, "drop": 7, "straightforward": [7, 30], "you": [7, 14, 15, 16, 17, 26, 28, 29, 31, 35, 36, 37], "just": [7, 8, 9, 15, 16, 25, 27, 28, 29, 31, 33, 39], "interact": [7, 9, 20, 35], "valu": [7, 9, 12, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40], "previous": 7, "refer": [7, 9, 12, 14, 15, 16, 20, 22, 23, 24, 26, 27, 29, 31, 36, 37, 40], "scalar": [7, 9, 27, 28, 38], "propagate_for": [7, 9, 15, 24, 27, 29, 34, 35], "propagate_until": [7, 24, 25, 27, 29, 30, 31, 36], "sixth": [7, 24], "element": [7, 9, 25, 27, 29, 30], "tupl": [7, 24, 27, 29, 30], "variant": [7, 12, 22, 32], "fifth": [7, 24, 29], "modifi": [7, 9, 30, 31, 32, 36], "analog": [7, 27], "new": [7, 12, 16, 24, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38], "matter": [7, 25], "structur": [7, 9, 12], "declar": [7, 9, 18], "account": [7, 9, 31], "adjust": 7, "fetch": [7, 9, 27, 29, 31], "requir": [7, 9, 12, 14, 16, 24, 26, 27, 29, 31, 35, 36, 38, 39], "equal": [7, 9, 12, 22, 23, 24, 25, 40], "current": [7, 9, 16, 17, 24, 25, 29, 30, 31, 33, 35, 37], "If": [7, 9, 12, 15, 16, 22, 24, 26, 28, 29, 31, 36, 37], "want": [7, 24, 27, 31], "recov": [7, 37], "previou": [7, 25, 27, 29, 32, 36, 37, 38], "invok": [7, 9, 14, 24, 27, 28, 29, 30, 31, 37], "manual": [7, 31], "befor": [7, 9, 24, 26, 27, 29, 33, 35, 37, 38], "llvm": [7, 9, 15, 16, 17, 26, 37, 39], "13": [7, 16, 27], "project": 7, "fmt": [7, 9, 16, 28], "mp": [7, 9, 10, 16, 22, 26, 33, 35], "minimum": [7, 9, 14, 16, 24, 27], "version": [7, 9, 10, 16, 17, 24, 26, 27, 28, 29, 30, 31, 34, 35, 36, 37, 38], "bump": 7, "11": [7, 27], "make_nbody_si": [7, 9], "nbodi": [7, 25, 35], "semant": [7, 9, 12, 14], "pairwise_sum": [7, 9], "sum": [7, 9], "behav": [7, 26], "until": [7, 9, 24, 27, 29, 31], "r0": 7, "r1": 7, "r2": 7, "r3": 7, "ta": [7, 15, 24, 25, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37, 38], "r4": 7, "noth": [7, 29], "copi": [7, 8, 9, 12, 14, 16, 22, 23, 24, 26, 27, 30, 40], "shallow": [7, 9], "deep": [7, 9], "repercuss": 7, "user": [7, 14, 16, 21, 23, 24, 26, 27, 28, 29, 30, 31, 32, 39], "manipul": [7, 13], "mai": [7, 16, 17, 24, 30, 31], "whether": [7, 35], "void": [7, 22, 23, 24, 31, 37, 40], "specifi": [7, 24, 25, 26, 27, 29, 30, 31, 33, 34, 35, 38], "constructor": [7, 8, 11, 12, 14, 22, 23, 27, 28, 31, 33, 36, 40], "could": [7, 9, 15, 16, 27, 31, 34, 37], "unnam": 7, "int": [7, 15, 24, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38], "append": [7, 30, 31], "trigger": [7, 9, 27, 31], "neg": [7, 9, 31], "templat": [8, 9, 12, 14, 20, 22, 23, 24, 26, 27, 28, 30, 33, 35, 37, 38, 40], "typenam": [8, 12, 14, 20, 35, 37], "evalu": [8, 9, 25, 29, 39], "showcas": [8, 13], "in_1d": 8, "const": [8, 9, 12, 14, 22, 23, 24, 26, 27, 29, 31, 33, 35, 36, 37, 38, 40], "std": [8, 9, 11, 12, 14, 15, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40], "size_t": [8, 20, 22, 23, 30, 40], "out_1d": 8, "in_2d": [8, 28], "out_2d": [8, 28], "2d": [8, 27], "These": [8, 9, 10, 12, 24, 27, 34, 35], "conveni": [8, 28], "typedef": [8, 28], "noexcept": [8, 12, 14, 22, 23, 40], "init": [8, 28, 35, 36], "invalid": [8, 9], "construct": [8, 9, 12, 13, 14, 22, 23, 25, 26, 29, 30, 31, 32, 33, 35, 36, 38, 39, 40], "assign": [8, 9, 12, 14, 22, 23, 27, 31, 40], "destruct": [8, 12, 14, 22, 23, 40], "invoc": [8, 24, 29, 30, 37], "is_valid": 8, "kwarg": 8, "fn": 8, "var": 8, "kw_arg": 8, "main": [8, 9, 12, 15, 16, 24, 26, 27, 28, 29, 31, 32, 33, 34, 35, 36, 37, 38, 39], "creat": [8, 9, 12, 13, 15, 16, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "multivari": [8, 9, 28], "dure": [8, 9, 17, 23, 29, 31, 37], "nodiscard": [8, 12, 14, 22, 23, 40], "add": [9, 16, 31, 35, 37], "mutabl": [9, 31], "rang": [9, 29, 30], "getter": [9, 14, 22, 23, 40], "par": [9, 27, 31, 36], "data": [9, 24, 26, 27, 28, 32, 35, 36, 37], "409": 9, "408": 9, "undocu": [9, 14], "taylor_add_jet": 9, "rework": 9, "taylor_adapt": [9, 15, 24, 25, 26, 27, 29, 30, 31, 33, 34, 35, 36, 37, 38], "instead": [9, 16, 23, 24, 25, 26, 27, 31, 33, 36, 38], "failur": [9, 14, 29], "osx": [9, 16, 17], "arm64": [9, 17], "workaround": 9, "freebsd": 9, "407": 9, "mingw": 9, "404": 9, "powerpc": [9, 16], "401": 9, "spack": 9, "manag": [9, 16, 24], "396": 9, "facilit": [9, 16, 29], "creation": [9, 12, 21, 23, 25, 26, 27, 30, 33, 38], "multithread": [9, 28, 35], "parallelis": [9, 15, 28, 30, 35], "tensor": 9, "spars": 9, "format": [9, 26, 33, 37, 38], "389": 9, "lagrangian": [9, 15], "hamiltonian": [9, 15], "mechan": [9, 15], "381": 9, "379": 9, "callback": [9, 24, 27, 29, 30, 31], "propagate_": [9, 24, 27, 30, 31], "individu": [9, 35], "compos": 9, "376": 9, "angle_reduc": 9, "angular": [9, 31], "modul": 9, "readi": [9, 27, 28, 29, 30, 31, 37], "made": [9, 31], "speedup": [9, 28, 35], "sub": 9, "primit": [9, 22, 23, 40], "394": 9, "break": [9, 15], "make_var": [9, 12, 15, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38], "386": 9, "termin": [9, 27, 37], "simplifi": [9, 32], "385": 9, "propagate_grid": [9, 24, 27, 29, 31], "373": 9, "kw": [9, 18, 21, 25, 26, 27, 29, 31, 34, 35, 36, 37], "372": 9, "369": 9, "366": 9, "363": 9, "elp2000": 9, "lunar": 9, "theori": 9, "362": 9, "fast_math": 9, "activ": [9, 12, 15, 16, 22, 25, 26, 33, 38], "simd": [9, 15, 17, 27, 28, 38], "367": 9, "initialis": [9, 12, 14, 22, 23, 26, 27, 36, 40], "callabl": [9, 24, 31], "empti": [9, 14, 24, 29, 37, 40], "null": 9, "pointer": [9, 24, 36, 37], "improv": [9, 16, 26], "product": 9, "leaki": 9, "relu": 9, "357": 9, "356": 9, "feed": 9, "neural": [9, 15, 38], "network": [9, 15], "355": 9, "eccentr": 9, "longitud": 9, "352": 9, "delta": 9, "anomali": 9, "yet": 9, "360": 9, "358": 9, "degre": [9, 30], "redund": 9, "354": 9, "unord": 9, "fashion": [9, 15], "compact": [9, 24, 26, 30, 35, 39], "logic": 9, "cach": 9, "359": 9, "warn": [9, 37], "build": [9, 16], "sleef": [9, 10, 16], "stabil": 9, "vsop2013": 9, "353": 9, "kepler": [9, 32], "prevent": [9, 25, 29, 31], "accident": 9, "leak": 9, "350": 9, "wrong": 9, "compat": [9, 16], "cmake": 9, "config": [9, 10, 16], "file": [9, 16, 28, 37], "around": [9, 15, 35, 39], "arm": [9, 16, 33], "singular": 9, "348": 9, "346": 9, "restrict": 9, "three": [9, 30, 31], "bodi": [9, 25, 31, 35, 37], "problem": [9, 17, 25, 31], "345": 9, "342": 9, "slp": 9, "341": 9, "consider": 9, "jit": [9, 17, 28], "llvm_state": 9, "avoid": [9, 16, 27, 31, 34, 36, 37], "optimis": [9, 16, 17, 25, 36], "alreadi": [9, 34, 35], "program": [9, 25], "execut": [9, 16, 17, 28, 30, 31, 35, 37], "340": 9, "get": [9, 24, 29, 30, 31], "bitcod": 9, "339": 9, "level": [9, 26, 27, 29, 31, 33, 35, 38], "clamp": [9, 24, 27], "textual": 9, "ir": 9, "preserv": 9, "deserialis": [9, 37], "broken": 9, "link": [9, 16, 17], "doc": [9, 37], "pre_hook": [9, 24], "member": [9, 11, 24, 26, 27, 29, 30, 31, 36, 37], "334": 9, "clang": [9, 16], "tidi": 9, "315": 9, "overload": [9, 12, 22, 32], "repeatedli": [9, 24, 28], "312": 9, "immut": [9, 12], "309": 9, "read": [9, 24, 30, 31, 34], "properti": [9, 27], "305": 9, "302": 9, "295": 9, "substitut": 9, "subexpress": [9, 39], "301": 9, "screen": [9, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38], "truncat": [9, 25, 39], "299": 9, "share": [9, 16, 27, 30], "thread": [9, 17, 28, 35], "aim": [9, 25, 31], "likelihood": 9, "race": 9, "comprehens": [9, 27], "overhaul": 9, "enhanc": 9, "simplif": [9, 32], "specialis": 9, "squar": [9, 32], "sum_sq": 9, "divis": 9, "subtract": 9, "special": [9, 32, 34, 37], "332": 9, "331": 9, "330": 9, "329": 9, "328": 9, "327": 9, "326": 9, "325": 9, "324": 9, "323": 9, "322": 9, "fold": 9, "321": 9, "319": 9, "reorganis": 9, "317": 9, "303": 9, "catch": 9, "get_n_nod": 9, "overflow": 9, "69": [9, 16], "300": 9, "hash": [9, 22, 23, 40], "repeat": [9, 26, 35, 37], "unstrid": 9, "forcibli": 9, "inlin": [9, 21], "codegen": 9, "better": [9, 26], "helper": [9, 26, 33, 38], "bug": [9, 17], "310": 9, "mix": [9, 22], "recent": 9, "libcxx": 9, "old": [9, 37], "308": 9, "do": [9, 14, 16, 25, 27, 28, 29, 31, 37], "instanti": [9, 33], "window": [9, 16, 26], "msvc": [9, 16], "cl": 9, "298": 9, "depend": [9, 16, 22, 30, 32, 33, 34, 37, 39], "294": 9, "abi": 9, "properli": 9, "tag": 9, "290": 9, "mark": 9, "coupl": [9, 24, 27, 29, 37], "had": [9, 36, 37], "hidden": 9, "mistak": 9, "286": 9, "hide": [9, 16], "export": [9, 16], "static": [9, 16, 17, 20], "283": 9, "avx": [9, 15, 27], "512": [9, 15], "regist": [9, 37], "280": 9, "278": 9, "276": 9, "274": 9, "indirect": 9, "libquadmath": 9, "279": 9, "crash": [9, 17, 37], "hang": 9, "short": 9, "270": 9, "deduct": [9, 24, 31, 39], "267": 9, "261": 9, "deprec": 9, "266": 9, "releas": [9, 15, 16], "timekeep": 9, "benchmark": [9, 15, 16, 35], "254": 9, "251": 9, "247": 9, "237": [9, 26], "nan": [9, 22, 27], "max": [9, 24, 30], "iter": [9, 27, 30], "exceed": 9, "252": 9, "242": 9, "earli": [9, 27], "interrupt": [9, 24], "exit": [9, 27], "235": 9, "stop": [9, 24, 31], "shadow": [9, 31], "debug": 9, "257": 9, "246": 9, "certain": [9, 14, 30, 31], "corner": 9, "234": 9, "231": 9, "built": [9, 10, 16, 22, 29], "225": 9, "221": 9, "accept": [9, 26, 27], "splat": 9, "appropri": 9, "220": 9, "unnecessari": 9, "222": 9, "226": 9, "aris": [9, 25, 27, 31], "destroi": 9, "216": 9, "214": 9, "209": 9, "204": 9, "201": 9, "215": 9, "refactor": 9, "213": 9, "fast": [9, 16, 17, 28], "exclus": 9, "212": 9, "208": 9, "203": 9, "alias": 9, "217": 9, "incorrect": [9, 17, 29], "count": [9, 25, 35], "196": 9, "195": 9, "top": [9, 37], "192": 9, "189": 9, "ppc64": 9, "188": 9, "planet": [9, 31, 35], "solar": [9, 35], "usabl": [9, 25, 39], "186": 9, "183": 9, "180": 9, "tangent": 9, "atan2": 9, "182": 9, "198": 9, "tbb": [9, 16, 35], "don": [9, 22], "187": 9, "kepe": 9, "decomposit": 9, "185": 9, "store": [9, 24, 26, 27, 28, 29, 31, 33, 36, 37, 38], "175": 9, "heurist": [9, 31], "178": 9, "platform": [9, 16, 17, 26, 32, 33, 37], "agnost": 9, "determinist": 9, "across": [9, 27, 37], "176": 9, "64": [9, 16, 32, 33], "processor": [9, 16, 17, 27, 33], "171": 9, "167": 9, "serial": [9, 16, 35, 37], "160": 9, "152": 9, "infer": [9, 26, 36], "154": 9, "149": 9, "pairwis": 9, "147": 9, "148": 9, "rais": [9, 12, 14, 22, 26, 37], "144": 9, "ellipt": [9, 31, 32], "138": 9, "136": 9, "loop": [9, 25, 31], "135": 9, "linear": [9, 34], "quadrat": 9, "145": 9, "142": 9, "cleanup": 9, "unus": 9, "134": 9, "small": [9, 26, 27, 31, 33, 35, 36, 38, 39], "133": 9, "binary_oper": 9, "node": [9, 12, 32, 36], "binari": [9, 12, 22, 26, 37], "func": [9, 12], "132": 9, "affect": [9, 24], "131": 9, "stream": [9, 22, 23, 37, 40], "taylor_outcom": [9, 24, 27, 30, 31], "multiroot": 9, "true": [9, 12, 24, 25, 26, 27, 29, 31, 35], "128": [9, 15, 33], "max_delta_t": [9, 24], "127": 9, "greatli": [9, 25], "predict": 9, "126": 9, "update_d_output": [9, 27, 29, 31], "absolut": [9, 24, 25, 27, 29, 31], "129": 9, "cannot": [9, 12], "set_tim": [9, 24, 27, 29, 36], "124": [9, 30], "assert": 9, "misfir": 9, "123": 9, "119": 9, "start": [9, 25, 26, 27, 30, 33, 35, 36, 37, 38, 39], "track": 9, "coverag": 9, "115": 9, "107": 9, "chapter": 9, "util": [9, 25, 27, 35], "presenc": [9, 31, 36, 37], "105": 9, "abil": [9, 15, 39], "jet": 9, "104": 9, "speed": [9, 28, 35], "102": 9, "monoton": [9, 24], "114": 9, "outcom": [9, 24, 27, 30, 31], "success": [9, 24, 26, 27, 28, 31], "meaningless": 9, "101": 9, "100": [9, 30], "extract": 9, "retriev": 9, "eras": [9, 37], "inner": 9, "dedic": [9, 28], "negat": [9, 22], "powi": 9, "exponenti": [9, 32], "natur": [9, 32], "expon": 9, "98": 9, "95": 9, "92": 9, "91": 9, "pow": 9, "89": 9, "standard": [9, 16, 20, 27, 28, 32, 37, 38], "logist": [9, 32], "87": [9, 27], "hyperbol": [9, 32], "counterpart": [9, 27, 32], "84": 9, "trigonometr": [9, 32], "81": 9, "logo": 9, "73": 9, "83": [9, 26], "common": [9, 14, 29, 34], "82": 9, "copyright": 9, "date": [9, 29, 31], "79": 9, "temporari": 9, "alwai": [9, 16, 27, 29, 30, 31, 36], "produc": [9, 17, 24, 26, 29, 33, 37, 38, 39], "older": 9, "80": [9, 15, 17, 32, 33], "88": [9, 27], "86": [9, 27], "85": [9, 27, 34], "76": 9, "74": 9, "machineri": 9, "71": [9, 26], "68": 9, "63": 9, "enum": [9, 31], "publicli": 9, "mangl": 9, "heyoka_version_str": 10, "string": [10, 12, 14, 37, 40], "liter": [10, 21, 22, 32], "heyoka_version_major": 10, "correspond": [10, 15, 17, 25, 26, 27, 29, 31], "major": [10, 16, 24, 28, 29], "heyoka_version_minor": 10, "minor": 10, "heyoka_version_patch": 10, "patch": [10, 17], "heyoka_with_mppp": [10, 16], "instal": [10, 15, 17, 22, 26, 33], "instruct": [10, 15, 16, 17, 22, 26, 27, 28, 29, 33], "heyoka_with_real128": [10, 16], "heyoka_with_r": [10, 16], "real128": [10, 12, 16, 17, 22, 33, 35], "heyoka_with_sleef": [10, 16], "runtime_error": 11, "inherit": 11, "union": [12, 13, 22], "essenti": [12, 29], "varieti": [12, 25], "place": [12, 35, 37], "swap": [12, 22, 23, 40], "value_typ": [12, 22], "param": [12, 36], "mppp": [12, 16, 17, 22, 26, 33, 35], "thrown": [12, 14, 22, 23, 35, 40], "accessor": 12, "instanc": [12, 16, 24, 26, 30, 31, 33, 38], "arg0": 12, "arg": [12, 14], "str": 12, "suppli": [12, 23, 28, 32], "otherwis": [12, 16, 24, 26, 31, 33, 38], "convert": [12, 33], "z": [12, 32], "either": [12, 24, 25, 26, 29, 33], "anoth": [12, 24, 27, 28, 31, 32, 36], "e1": 12, "e2": 12, "underli": [12, 22, 27], "emphasis": [12, 27, 32, 37], "impli": 12, "opposit": [12, 15, 31], "operand": [12, 22, 35], "_flt": 12, "unsign": [12, 35, 37], "_dbl": 12, "_ldbl": 12, "char": 12, "_f128": 12, "arbitrarili": [13, 28], "interfac": [14, 24], "throw": [14, 22], "invalid_argu": [14, 22], "get_nam": 14, "polymorph": 14, "wrapper": 14, "satisfi": [14, 16, 26], "conceptu": [14, 31, 39], "udf": 14, "is_udf": 14, "shared_ptr": 14, "flux": 14, "pleas": [14, 16, 37], "understand": [14, 16, 31], "same_a": 14, "remove_cvref_t": 14, "valid": [14, 37], "default_initializ": 14, "movabl": 14, "copyabl": 14, "derived_from": 14, "enumer": 14, "hey\u00f3k\u021fa": 15, "kind": 15, "sacr": 15, "clown": 15, "cultur": 15, "sioux": 15, "lakota": 15, "dakota": 15, "peopl": 15, "great": 15, "plain": [15, 28], "north": 15, "america": 15, "contrarian": 15, "jester": 15, "satirist": 15, "who": 15, "speak": 15, "react": [15, 31], "them": [15, 27, 37], "ordinari": [15, 39], "aggress": 15, "notabl": [15, 16, 31], "reliabl": 15, "builtin": [15, 26], "bring": [15, 26], "your": [15, 26], "own": [15, 24, 30], "formul": [15, 27, 31], "machin": [15, 24, 25, 26, 28, 29, 31, 33, 37, 38], "learn": 15, "maintain": [15, 16, 25, 27], "ten": 15, "har": 15, "modern": [15, 16, 27, 28, 32], "avx2": 15, "neon": 15, "vsx": 15, "simul": [15, 30], "prefer": [15, 16, 26], "py": [15, 28], "research": 15, "teach": 15, "grate": 15, "star": [15, 35], "cite": 15, "citat": 15, "purpos": [15, 26, 31, 35, 37], "bibtex": 15, "entri": 15, "arxiv": 15, "articl": 15, "1093": 15, "mnra": 15, "stab1032": 15, "author": 15, "biscani": 15, "francesco": 15, "izzo": 15, "dario": 15, "titl": 15, "revisit": 15, "astrodynam": 15, "celesti": [15, 31], "notic": [15, 24, 35, 38], "royal": 15, "astronom": 15, "societi": 15, "volum": 15, "504": 15, "page": 15, "2614": 15, "2628": 15, "2021": 15, "month": 15, "04": [15, 27], "issn": 15, "0035": 15, "8711": 15, "eprint": 15, "academ": 15, "oup": 15, "com": 15, "pdf": 15, "37750349": 15, "novel": 15, "describ": [15, 24, 27, 28, 31], "stac1092": 15, "513": 15, "4833": 15, "4844": 15, "2022": [15, 16], "43796551": 15, "v": [15, 24, 25, 27, 29, 30, 31, 33, 34, 35, 36, 37, 38, 40], "05": [15, 24, 25, 27, 29, 30, 31, 36, 37], "025": [15, 24, 25, 29, 30, 31, 37], "iostream": [15, 24, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38], "print": [15, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38], "cout": [15, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38], "get_stat": [15, 24, 26, 27, 29, 33, 34, 37, 38], "0487397": [15, 29], "0429423": [15, 29], "mpl": 15, "licens": 15, "european": 15, "space": [15, 31], "agenc": 15, "advanc": [15, 16], "changelog": 15, "unsolv": 15, "acknowledg": 15, "bibliographi": 15, "written": [16, 31, 37], "target": 16, "regularli": 16, "pipelin": 16, "linux": 16, "architectur": [16, 26], "x86": [16, 17, 27, 32, 33], "mandatori": [16, 24, 27, 30, 31], "infrastructur": 16, "18": [16, 17, 35], "spdlog": 16, "addition": [16, 29, 31], "__float128": [16, 33], "bla": 16, "bundl": 16, "present": [16, 27, 30], "situat": [16, 31, 37], "advis": 16, "spdlog_fmt_extern": 16, "turn": [16, 26, 31], "ON": 16, "vari": [16, 32, 33, 34], "hardwar": [16, 32], "microsoft": 16, "visual": 16, "synonym": 16, "unless": [16, 31], "On": [16, 26, 35], "nonstandard": [16, 33], "ieee": [16, 33], "signific": 16, "mppp_with_mpfr": [16, 26], "forg": [16, 17], "channel": 16, "immedi": [16, 31], "channel_prior": 16, "strict": 16, "unspecifi": 16, "meta": 16, "command": 16, "core": [16, 35], "develop": 16, "team": 16, "commun": 16, "port": 16, "pkg": 16, "download": 16, "onc": [16, 24, 30, 31], "configur": [16, 24, 28], "custom": [16, 31], "path": 16, "reli": [16, 39], "off": [16, 24, 26, 31], "heyoka_build_test": 16, "heyoka_build_benchmark": 16, "heyoka_build_static_librari": 16, "heyoka_enable_ipo": 16, "heyoka_force_static_llvm": 16, "heyoka_hide_llvm_symbol": [16, 17], "effect": [16, 27, 34, 35, 39], "conjunct": 16, "collis": [16, 31], "coexist": 16, "unpredict": 16, "segfault": 16, "attempt": [16, 17, 26, 37], "might": [16, 17, 29, 34], "directori": 16, "conform": 16, "ffast": 16, "ofast": 16, "sure": [16, 27, 37], "To": 16, "cmake_install_prefix": 16, "dll": 16, "fail": 16, "group": 16, "lib": 16, "lingo": 16, "load": [16, 23, 32, 37], "encapsul": [16, 26, 33, 38], "inform": [16, 29, 37], "necessari": [16, 29, 31, 39], "ad": [16, 30, 31, 37], "brought": 16, "chain": 16, "cmakelist": 16, "txt": 16, "look": [16, 24, 27, 31, 34], "cmake_minimum_requir": 16, "sample_project": 16, "find_packag": 16, "dir": 16, "transit": 16, "add_execut": 16, "cpp": 16, "target_link_librari": 16, "boolean": [16, 24, 27, 29, 35], "19": [16, 33], "17": [16, 17, 27, 30, 36], "heyoka_llvm_version_major": 16, "circumst": 17, "nonsens": 17, "happen": 17, "met": 17, "seem": [17, 34], "rectifi": 17, "practic": [17, 25, 27, 31, 35], "reason": [17, 31], "upstream": 17, "conda": 17, "safe": 17, "latest": 17, "igor": 18, "23": [20, 27], "fulli": [20, 25, 37], "compliant": 20, "layoutpolici": 20, "layout_right": 20, "accessorpolici": 20, "default_accessor": 20, "indextyp": 20, "rank": 20, "ostream": [22, 23, 40], "o": [22, 23, 40], "wider": [22, 25], "airthmet": 22, "less": [22, 25, 28], "narrow": 22, "greater": [22, 25, 31], "struct": [22, 23, 37, 40], "whose": [23, 27, 29, 31, 36, 39], "unlik": [23, 39], "later": [23, 26, 27, 32, 33, 35, 38], "stage": [23, 25, 32], "uniqu": [23, 40], "identifi": [23, 29, 40], "illustr": [23, 29, 30, 31, 35, 36, 37], "uint32_t": [23, 27], "idx": [23, 30], "easi": [24, 35], "plu": [24, 27, 29], "hopefulli": 24, "sensibl": 24, "parametris": [24, 28, 31, 35], "carri": 24, "out": [24, 27, 28, 29, 31, 35, 37], "syntax": [24, 27, 32, 36], "220446049250313e": 24, "16": [24, 25, 27, 29, 30, 31, 36], "fals": [24, 26, 30, 31, 35], "dimens": [24, 25, 26, 27, 30, 36], "times10": 24, "deduc": [24, 31], "oc": [24, 27, 31], "again": [24, 27, 29, 31, 34, 37], "pair": 24, "statu": 24, "select": [24, 27, 28, 31], "desir": 24, "inspect": [24, 28, 30], "someth": 24, "216053": 24, "21605277478009474": 24, "04399644836992638": 24, "07844245547068798": 24, "step_backward": [24, 31], "tie": 24, "213123": 24, "01": [24, 27], "02": [24, 27], "time_limit": [24, 27, 30], "caveat": [24, 29, 35, 37], "exact": 24, "infin": [24, 31], "rectilinear": 24, "finit": [24, 25], "get_tim": [24, 29, 31, 37], "get_state_data": [24, 27, 29, 30, 35], "reset": [24, 25, 29, 31, 36, 37], "hold": [24, 27, 36], "nake": [24, 36], "mutat": 24, "amount": 24, "former": [24, 26], "latter": [24, 29], "epoch": [24, 27, 30], "usag": [24, 25, 27, 29, 35, 36, 38], "min_h": [24, 27], "max_h": [24, 27], "nstep": [24, 27], "_1": 24, "_2": 24, "min": [24, 30], "num": 24, "202133": 24, "218136": 24, "24": 24, "202122": 24, "218139": 24, "72": [24, 26, 36], "usual": [24, 26, 27, 30, 31, 33, 37, 38], "explan": [24, 31], "back": [24, 25, 29, 36], "202078": 24, "21819": 24, "97": 24, "050000000000000044": 24, "02499999999999999": 24, "err_nf_stat": 24, "7": [24, 27, 29, 31, 34, 35, 36, 38], "c_output": [24, 27, 29], "denser": 24, "typic": [24, 26, 30, 31], "regular": [24, 31, 35, 39], "contigu": [24, 27, 28], "row": [24, 27, 28, 29], "0232578": 24, "14078": 24, "There": [24, 37], "mention": [25, 26], "infinit": 25, "word": [25, 26, 29, 31, 37], "strive": 25, "remaind": 25, "tol": 25, "1e": [25, 31], "0000000000000001e": 25, "09": [25, 27], "0000000000000000": [25, 28, 36], "050000000000000003": [25, 36], "025000000000000001": 25, "forth": 25, "050000000001312848": 25, "024999999997558649": 25, "maximis": 25, "everyth": 25, "els": [25, 31], "timestepp": 25, "branch": 25, "unrol": 25, "highli": [25, 34], "tradit": [25, 37], "idiom": 25, "degrad": 25, "lesssim": 25, "render": 25, "thousand": 25, "concret": [25, 27, 29, 30, 31, 37], "sy": [25, 35], "next": [25, 27, 28, 29, 30, 31, 33, 38], "content": [25, 27], "per": 25, "sv": [25, 26, 33, 38], "chrono": [25, 35], "steady_clock": 25, "ta_default": 25, "duration_cast": [25, 35], "millisecond": [25, 35], "3807m": 25, "compact_mod": [25, 35], "ta_compact": 25, "269m": 25, "come": [25, 29], "gap": 25, "offer": [25, 28, 30], "minimis": 25, "slight": 25, "horner": 25, "compens": 25, "catastroph": 25, "cancel": 25, "ultim": 25, "high_accuraci": 25, "decid": 26, "principl": [26, 27, 31], "quick": 26, "suffici": [26, 29], "digit": [26, 33], "octupl": 26, "circa": 26, "decim": [26, 33], "mpfr_prec_t": 26, "prec": 26, "alia": 26, "upon": [26, 31], "get_prec": 26, "saw": [26, 32, 38], "abov": [26, 36, 37], "explicitli": [26, 34], "regardless": [26, 31], "055679078826712367509119290887791780682531198139138189582614889935501319e": 26, "000000000000000000000000000000000000000000000000000000000000000000000000": 26, "confirm": [26, 28, 31, 33, 36, 37, 38], "motiv": 26, "moreov": 26, "offload": 26, "monitor": [26, 33, 38], "evolut": [26, 33, 38], "energi": [26, 33, 38], "compute_energi": [26, 33, 38], "intial": [26, 33, 38], "orig_": [26, 33, 38], "ab": [26, 33, 38], "04049e": 26, "6081e": 26, "consol": [26, 33, 38], "besid": [26, 30, 33, 38], "quantiti": 27, "appear": [27, 34, 39], "formal": 27, "simultan": 27, "throughput": [27, 38], "factor": [27, 38], "fine": [27, 35], "grain": [27, 35], "although": 27, "chosen": 27, "width": [27, 38], "widespread": 27, "sold": 27, "sinc": [27, 35], "2011": 27, "recommend": 27, "recommended_simd_s": 27, "taylor_adaptive_batch": 27, "quit": [27, 35], "modif": 27, "air": [27, 31, 34], "friction": [27, 31], "undefin": [27, 30, 31, 37], "line": 27, "batch_siz": 27, "buffer": [27, 28, 29], "adaptor": 27, "eas": [27, 35], "s_arr": 27, "xt": [27, 35], "p_arr": 27, "column": [27, 29], "xarrai": 27, "03": 27, "x_0": [27, 31], "v_0": [27, 31], "verifi": [27, 33, 38], "extra": [27, 29, 31, 37], "mere": 27, "insid": [27, 29], "get_par": [27, 31, 36], "get_pars_data": [27, 31, 36], "didn": 27, "t_arr": 27, "get_time_data": 27, "One": [27, 29, 31], "costli": 27, "anyth": [27, 31], "0u": [27, 31, 35], "get_step_r": 27, "205801": 27, "20587": 27, "204791": 27, "203963": 27, "slightli": 27, "nstate": 27, "404885": 27, "416439": 27, "425714": 27, "435479": 27, "973176": 27, "976935": 27, "980292": 27, "983766": 27, "010": 27, "011": 27, "012": 27, "013": 27, "424636": 27, "438206": 27, "449501": 27, "461293": 27, "97695": 27, "980738": 27, "984087": 27, "987488": 27, "215801": 27, "21687": 27, "216791": 27, "216963": 27, "get_propagate_r": 27, "21": [27, 33], "22": 27, "197348": 27, "428668": 27, "191913": 27, "429224": 27, "38": 27, "188229": 27, "433903": 27, "184475": 27, "464741": 27, "44": 27, "612543": 27, "727621": 27, "123953": 27, "173771": 27, "246896": 27, "917584": 27, "783502": 27, "11716": 27, "204735": 27, "307217": 27, "40": 27, "211805": 27, "317214": 27, "224914": 27, "410416": 27, "35": 27, "213014": 27, "371655": 27, "801537": 27, "833631": 27, "399033": 27, "072237": 27, "36256": 27, "503107": 27, "06062": 27, "81854": 27, "reach": [27, 31], "fill": 27, "last": [27, 29, 30, 31, 37], "record": [27, 29], "tc_arr": 27, "get_tc": [27, 29], "get_ord": [27, 29], "801537e": 27, "00": 27, "833631e": 27, "399033e": 27, "072237e": 27, "362560e": 27, "031073e": 27, "062030e": 27, "185404e": 27, "508356e": 27, "530940e": 27, "690403e": 27, "149280e": 27, "852698e": 27, "292286e": 27, "466405e": 27, "695101e": 27, "383037e": 27, "782188e": 27, "169218e": 27, "331864e": 27, "257045e": 27, "540328e": 27, "247063e": 27, "436106e": 27, "741537e": 27, "561782e": 27, "558171e": 27, "247622e": 27, "787575e": 27, "040219e": 27, "346095e": 27, "888381e": 27, "631527e": 27, "131481e": 27, "576557e": 27, "288048e": 27, "334194e": 27, "543342e": 27, "001253e": 27, "06": [27, 31], "209411e": 27, "504048e": 27, "585946e": 27, "654560e": 27, "597949e": 27, "163014e": 27, "694202e": 27, "026559e": 27, "07": [27, 38], "801841e": 27, "225493e": 27, "188738e": 27, "551510e": 27, "366484e": 27, "707623e": 27, "686672e": 27, "08": [27, 38], "619774e": 27, "767741e": 27, "955589e": 27, "877763e": 27, "207529e": 27, "982967e": 27, "701333e": 27, "598994e": 27, "713127e": 27, "169540e": 27, "053724e": 27, "748795e": 27, "273869e": 27, "395324e": 27, "664674e": 27, "468361e": 27, "812755e": 27, "711640e": 27, "269841e": 27, "437010e": 27, "916397e": 27, "403129e": 27, "459461e": 27, "941421e": 27, "667302e": 27, "361741e": 27, "902250e": 27, "307133e": 27, "357923e": 27, "211871e": 27, "016711e": 27, "061880e": 27, "380806e": 27, "298560e": 27, "655809e": 27, "287686e": 27, "939922e": 27, "085302e": 27, "153215e": 27, "512875e": 27, "676871e": 27, "332746e": 27, "128522e": 27, "270164e": 27, "623531e": 27, "218053e": 27, "644922e": 27, "370692e": 27, "349029e": 27, "548573e": 27, "051302e": 27, "281531e": 27, "422663e": 27, "121867e": 27, "305222e": 27, "051852e": 27, "261245e": 27, "630438e": 27, "800774e": 27, "889008e": 27, "101127e": 27, "088470e": 27, "279316e": 27, "066362e": 27, "329215e": 27, "982025e": 27, "670591e": 27, "626486e": 27, "461812e": 27, "039781e": 27, "419910e": 27, "492673e": 27, "005706e": 27, "298064e": 27, "113782e": 27, "028868e": 27, "490541e": 27, "257615e": 27, "455200e": 27, "398491e": 27, "569691e": 27, "254310e": 27, "685958e": 27, "398072e": 27, "483819e": 27, "232518e": 27, "229946e": 27, "896214e": 27, "881684e": 27, "609788e": 27, "285714e": 27, "186618e": 27, "249515e": 27, "525632e": 27, "227298e": 27, "688699e": 27, "266787e": 27, "398731e": 27, "804500e": 27, "461427e": 27, "715846e": 27, "423741e": 27, "444138e": 27, "634318e": 27, "671414e": 27, "478574e": 27, "mouth": 27, "d_out_arr": 27, "ndens": 27, "934202": 27, "879367": 27, "389288": 27, "151962": 27, "289941": 27, "411166": 27, "134188": 27, "776195": 27, "nt_event_batch": 27, "t_event_batch": 27, "nt_event": [27, 31, 37], "t_event": [27, 31], "trail": 27, "bob": [27, 31, 34], "veloc": [27, 31, 34, 35], "angl": [27, 31, 36], "ev": [27, 31], "ta_": 27, "batch_idx": 27, "get_d_output": [27, 31], "25": [27, 34], "26": [27, 36], "27": 27, "501973": 27, "0798808": 27, "463715": 27, "0836782": 27, "429231": 27, "0885657": 27, "398675": 27, "0943745": 27, "4677": 27, "43327": 27, "40278": 27, "50592": 27, "50986": 27, "47168": 27, "43731": 27, "40688": 27, "51381": 27, "47567": 27, "44134": 27, "41099": 27, "51775": 27, "47965": 27, "44538": 27, "41509": 27, "oscil": 27, "cours": 27, "isochron": 27, "regim": 27, "ensemble_propagate_until_batch": 27, "ensemble_propagate_for_batch": 27, "ensemble_propagate_grid_batch": 27, "n_iter": [27, 30], "gen": [27, 30], "distinct": [27, 30, 31], "particular": [27, 31, 32, 38], "cstddef": 27, "xadapt": [27, 35], "xio": [27, 35], "xview": [27, 35], "explor": 28, "strong": 28, "pitfal": 28, "resort": 28, "nevertheless": 28, "host": [28, 37], "importantli": 28, "multifold": 28, "multicor": 28, "effort": 28, "downsid": 28, "absorb": 28, "sym_func": 28, "cf": 28, "enclos": 28, "curli": 28, "bracket": [28, 37], "compon": 28, "println": 28, "prepar": 28, "seen": [28, 36], "in_batch": 28, "out_batch": 28, "interpret": 28, "bidimension": 28, "onto": 28, "in_view": 28, "out_view": 28, "6300000000000003": 28, "enough": 28, "simplic": [28, 33], "peculiar": 29, "endpoint": 29, "interest": [29, 31], "skip": 29, "jump": 29, "go": [29, 31, 32, 36], "tc": 29, "1u": [29, 31, 35], "stress": 29, "pick": [29, 30], "halfwai": 29, "through": [29, 37], "d_out": 29, "0500303": 29, "024398": 29, "st": 29, "conclud": 29, "highlight": 29, "regard": 29, "respons": [29, 31], "rememb": 29, "awar": 29, "write_tc": 29, "uncondition": 29, "cover": 29, "continuous_output": 29, "action": [29, 30, 31, 35, 37], "c_out": 29, "wrap": 29, "48": 29, "tm": 29, "get_output": 29, "0088572": 29, "156048": 29, "0375906": 29, "106177": 29, "0193535": 29, "146456": 29, "0424699": 29, "0862923": 29, "somewhat": 29, "front": 29, "predetermin": 29, "scale": [29, 35], "linearli": [29, 35], "exhaust": 29, "mont": 30, "carlo": 30, "search": 30, "task": [30, 39], "mirror": 30, "ensemble_propagate_until": 30, "ensemble_propagate_for": 30, "ensemble_propagate_grid": 30, "focus": [30, 34], "futur": 30, "multiprocess": 30, "distribut": 30, "act": [30, 35], "inconsequenti": 30, "delta_t": 30, "finish": 30, "ensemble_": 30, "push_back": [30, 31, 35], "ta_copi": 30, "ret": 30, "concaten": 30, "ninth": 30, "2204460492503131e": [30, 36], "000000000000000": 30, "12257736827306077": 30, "24068377640981869": 30, "those": [30, 31], "static_cast": [30, 31, 35], "158147": 30, "167025": 30, "concern": 30, "mind": [30, 34], "concurr": 30, "separ": [30, 37], "synchronis": 30, "occurr": 31, "discontinu": 31, "spacecraft": 31, "enter": 31, "cone": 31, "thermostat": 31, "temperatur": 31, "suffic": 31, "boldsymbol": [31, 39], "independ": 31, "sphere": 31, "radiu": 31, "dimension": 31, "x_1": 31, "y_1": 31, "y_0": 31, "z_1": 31, "z_0": 31, "cartesian": 31, "centr": 31, "flexibl": 31, "framework": 31, "togeth": 31, "locat": 31, "fundament": [31, 35], "simpler": 31, "alter": 31, "encount": 31, "good": [31, 34, 37], "ol": 31, "friend": [31, 37], "amplitud": 31, "goe": 31, "zero_vel_tim": 31, "simpli": 31, "kept": 31, "rest": 31, "observ": 31, "003701787940065": 31, "00740357588013": 31, "011105363820196": 31, "014807151760261": 31, "physic": 31, "know": 31, "half": [31, 38], "exactli": [31, 33], "0074035758801299": [31, 36], "ldot": [31, 39], "event_direct": 31, "redefin": 31, "clear": 31, "constrain": 31, "2t": 31, "chronolog": 31, "revers": 31, "demonstr": 31, "twice": [31, 38], "ev0": 31, "ev1": 31, "041666914753826e": 31, "003699746272244": 31, "003703829606799": 31, "007401534213656": 31, "00740561754654": 31, "011103322152711": 31, "011107405487484": 31, "014805110093445": 31, "014809193427102": 31, "successfulli": 31, "recogn": 31, "characterist": [31, 39], "elast": 31, "rigid": 31, "instantan": 31, "engin": 31, "govern": 31, "sort": 31, "discard": 31, "surviv": 31, "twist": 31, "drag": [31, 34], "whenev": 31, "t_ev": 31, "resum": 31, "intervent": 31, "int64_t": 31, "terminal_event_0": 31, "minu": 31, "10u": 31, "2u": 31, "nfinal": 31, "02976504606251412": 31, "02063006479837935": 31, "02970666582653454": 31, "02099345736431702": 31, "01761378049610636": 31, "01622382722426959": 31, "01757771112979705": 31, "01613903817360225": 31, "01037481471383597": 31, "01205316233867281": 31, "01035648925410416": 31, "01177669636844242": 31, "006080605964468329": 31, "008627473720971276": 31, "006074559637531474": 31, "008299135527482404": 31, "003544733998720797": 31, "006013682818278612": 31, "003546198899884463": 31, "005703010459398463": 31, "progress": 31, "slow": 31, "down": [31, 39], "restart": 31, "risk": 31, "endless": 31, "stick": 31, "literatur": 31, "ignor": 31, "best": 31, "assumpt": 31, "reset_cooldown": 31, "timer": 31, "troublesom": 31, "translat": 31, "breakdown": 31, "worst": 31, "altogeth": 31, "tend": 31, "stationari": 31, "influenc": 31, "ever": 31, "inevit": 31, "abstract": 32, "ast": 32, "leaf": 32, "notat": 32, "_var": 32, "euclidean": 32, "distanc": 32, "1_dbl": 32, "1000000000000001": 32, "1_ldbl": 32, "10000000000000000002": 32, "1_f128": 32, "10000000000000000000000000000000008": 32, "logarithm": 32, "sigmoid": 32, "fledg": 32, "sensit": [32, 34], "heyoka_have_real128": [32, 35], "endif": [32, 33, 35], "2_dbl": 32, "hint": 33, "62658e": 33, "92532e": 33, "pattern": 33, "heyoka_arch_ppc": 33, "far": [34, 36], "belong": 34, "spice": 34, "littl": 34, "extern": 34, "rich": 34, "pictur": 34, "analysi": 34, "1v": 34, "vertic": 34, "placehold": 34, "dizzi": 34, "displai": 34, "invent": 34, "fairli": 34, "posix": 34, "idea": 34, "prepend": 34, "abbrevi": 34, "ambigu": 34, "sake": 34, "complet": [34, 39], "superflu": 34, "49038": 34, "93825": 34, "30491": 34, "12543": 34, "12362": 34, "979573": 34, "90328": 34, "127736": 34, "773195": 34, "8008": 34, "71244": 34, "00752": 34, "55152": 34, "60996": 34, "880721": 34, "970923": 34, "35702": 34, "0993313": 34, "95449": 34, "46416": 34, "243313": 34, "949": 34, "55939": 34, "21015": 34, "06244": 34, "excurs": 34, "settl": 34, "stabl": 34, "exhibit": 34, "chaotic": 34, "qualit": 34, "serv": 35, "coars": 35, "slowdown": 35, "intens": 35, "bottleneck": [35, 36], "ram": 35, "wall": 35, "heavier": 35, "400": 35, "protoplanet": 35, "run_benchmark": 35, "easili": [35, 37], "clock": 35, "final_tim": 35, "parallel_mod": 35, "nplanet": 35, "au": 35, "01720209895": 35, "365": 35, "333000": 35, "gconst": 35, "init_st": 35, "6u": 35, "s_arrai": 35, "m_arrai": 35, "axi": 35, "high_resolution_clock": 35, "elaps": 35, "oneapi": 35, "global_control": 35, "gc": 35, "max_allowed_parallel": 35, "serial_time_dbl": 35, "parallel_time_dbl": 35, "21107m": 35, "5887m": 35, "suboptim": 35, "theoret": 35, "serial_time_f128": 35, "parallel_time_f128": 35, "210398m": 35, "29392m": 35, "cmath": [35, 38], "xmath": 35, "embed": 36, "further": 36, "opportun": 36, "parametr": 36, "gravit": 36, "l": 36, "undetermin": 36, "8000000000000007": 36, "earth": 36, "approxim": [36, 39], "5784060331002885e": 36, "went": 36, "mar": 36, "acceler": 36, "surfac": 36, "Then": 36, "weaker": 36, "2581889116828258": 36, "1864533707994132e": 36, "7200000000000002": 36, "archiv": 37, "portabl": 37, "exchang": 37, "malici": 37, "craft": 37, "blob": 37, "untrust": 37, "de": 37, "workflow": 37, "evolv": 37, "04348": 37, "0506049": 37, "00537327": 37, "stringstream": 37, "ss": 37, "binary_oarch": 37, "oa": 37, "lifetim": 37, "destructor": 37, "block": 37, "restor": 37, "binary_iarch": 37, "ia": 37, "sstream": 37, "attent": 37, "orient": 37, "hierarchi": 37, "assist": 37, "itself": 37, "my_callback": 37, "leav": 37, "privat": 37, "heyoka_s11n_callable_export": 37, "spell": 37, "qualifi": 37, "statement": 37, "get_nt_ev": 37, "benefit": 38, "allevi": 38, "correspondingli": 38, "what": 38, "suffix": 38, "48183e": 38, "29227e": 38, "08611e": 38, "79937e": 38, "74645e": 38, "24921e": 38, "4609e": 38, "1643e": 38, "40245e": 38, "54029e": 38, "84899e": 38, "83245e": 38, "56122e": 38, "22275e": 38, "61414e": 38, "11691e": 38, "88428e": 38, "93721e": 38, "82583e": 38, "dt": 39, "_0": 39, "eq": 39, "choic": 39, "tailor": 39, "done": 39, "extrem": 39, "cumbersom": 39, "ineffici": 39, "prone": 39, "synthesis": 39, "care": 39, "self": 39, "trim": 39, "bare": 39, "bone": 39, "decompos": 39, "sequenc": 39, "assembl": 39, "underscor": 40, "__": 40, "reserv": 40}, "objects": {"": [[10, 0, 1, "c.HEYOKA_VERSION_MAJOR", "HEYOKA_VERSION_MAJOR"], [10, 0, 1, "c.HEYOKA_VERSION_MINOR", "HEYOKA_VERSION_MINOR"], [10, 0, 1, "c.HEYOKA_VERSION_PATCH", "HEYOKA_VERSION_PATCH"], [10, 0, 1, "c.HEYOKA_VERSION_STRING", "HEYOKA_VERSION_STRING"], [10, 0, 1, "c.HEYOKA_WITH_MPPP", "HEYOKA_WITH_MPPP"], [10, 0, 1, "c.HEYOKA_WITH_REAL", "HEYOKA_WITH_REAL"], [10, 0, 1, "c.HEYOKA_WITH_REAL128", "HEYOKA_WITH_REAL128"], [10, 0, 1, "c.HEYOKA_WITH_SLEEF", "HEYOKA_WITH_SLEEF"], [8, 1, 1, "_CPPv4I0EN6heyoka5cfuncE", "heyoka::cfunc"], [8, 2, 1, "_CPPv4I0EN6heyoka5cfuncE", "heyoka::cfunc::T"], [8, 3, 1, "_CPPv4IDpEN6heyoka5cfunc5cfuncENSt6vectorI10expressionEENSt6vectorI10expressionEEDpRK6KwArgs", "heyoka::cfunc::cfunc"], [8, 3, 1, "_CPPv4N6heyoka5cfunc5cfuncEv", "heyoka::cfunc::cfunc"], [8, 2, 1, "_CPPv4IDpEN6heyoka5cfunc5cfuncENSt6vectorI10expressionEENSt6vectorI10expressionEEDpRK6KwArgs", "heyoka::cfunc::cfunc::KwArgs"], [8, 4, 1, "_CPPv4IDpEN6heyoka5cfunc5cfuncENSt6vectorI10expressionEENSt6vectorI10expressionEEDpRK6KwArgs", "heyoka::cfunc::cfunc::fn"], [8, 4, 1, "_CPPv4IDpEN6heyoka5cfunc5cfuncENSt6vectorI10expressionEENSt6vectorI10expressionEEDpRK6KwArgs", "heyoka::cfunc::cfunc::kw_args"], [8, 4, 1, "_CPPv4IDpEN6heyoka5cfunc5cfuncENSt6vectorI10expressionEENSt6vectorI10expressionEEDpRK6KwArgs", "heyoka::cfunc::cfunc::vars"], [8, 5, 1, "_CPPv4N6heyoka5cfunc5in_1dE", "heyoka::cfunc::in_1d"], [8, 5, 1, "_CPPv4N6heyoka5cfunc5in_2dE", "heyoka::cfunc::in_2d"], [8, 3, 1, "_CPPv4NK6heyoka5cfunc8is_validEv", "heyoka::cfunc::is_valid"], [8, 5, 1, "_CPPv4N6heyoka5cfunc6out_1dE", "heyoka::cfunc::out_1d"], [8, 5, 1, "_CPPv4N6heyoka5cfunc6out_2dE", "heyoka::cfunc::out_2d"], [20, 5, 1, "_CPPv4I0_NSt6size_tEEN6heyoka8dextentsE", "heyoka::dextents"], [20, 2, 1, "_CPPv4I0_NSt6size_tEEN6heyoka8dextentsE", "heyoka::dextents::IndexType"], [20, 2, 1, "_CPPv4I0_NSt6size_tEEN6heyoka8dextentsE", "heyoka::dextents::Rank"], [12, 1, 1, "_CPPv4N6heyoka10expressionE", "heyoka::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionE4func", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionE5param", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionE6number", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionE8variable", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionEN4mppp4realE", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionEN4mppp7real128E", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionENSt6stringE", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionERK10expression", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionERR10expression", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionEd", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionEe", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionEf", "heyoka::expression::expression"], [12, 3, 1, "_CPPv4N6heyoka10expression10expressionEv", "heyoka::expression::expression"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionENSt6stringE", "heyoka::expression::expression::s"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionE4func", "heyoka::expression::expression::x"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionE5param", "heyoka::expression::expression::x"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionE6number", "heyoka::expression::expression::x"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionE8variable", "heyoka::expression::expression::x"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionEN4mppp4realE", "heyoka::expression::expression::x"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionEN4mppp7real128E", "heyoka::expression::expression::x"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionEd", "heyoka::expression::expression::x"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionEe", "heyoka::expression::expression::x"], [12, 4, 1, "_CPPv4N6heyoka10expression10expressionEf", "heyoka::expression::expression::x"], [12, 3, 1, "_CPPv4N6heyoka10expressionaSERK10expression", "heyoka::expression::operator="], [12, 3, 1, "_CPPv4N6heyoka10expressionaSERR10expression", "heyoka::expression::operator="], [12, 3, 1, "_CPPv4NK6heyoka10expression5valueEv", "heyoka::expression::value"], [12, 5, 1, "_CPPv4N6heyoka10expression10value_typeE", "heyoka::expression::value_type"], [12, 3, 1, "_CPPv4N6heyoka10expressionD0Ev", "heyoka::expression::~expression"], [20, 5, 1, "_CPPv4I0_DpNSt6size_tEEN6heyoka7extentsE", "heyoka::extents"], [20, 2, 1, "_CPPv4I0_DpNSt6size_tEEN6heyoka7extentsE", "heyoka::extents::Extents"], [20, 2, 1, "_CPPv4I0_DpNSt6size_tEEN6heyoka7extentsE", "heyoka::extents::IndexType"], [14, 1, 1, "_CPPv4N6heyoka4funcE", "heyoka::func"], [14, 3, 1, "_CPPv4NK6heyoka4func4argsEv", "heyoka::func::args"], [14, 3, 1, "_CPPv4I0EIQaantNSt7same_asI4funcNSt14remove_cvref_tI1TEEEE6is_udfINSt14remove_cvref_tI1TEEEEN6heyoka4func4funcERR1T", "heyoka::func::func"], [14, 3, 1, "_CPPv4N6heyoka4func4funcERK4func", "heyoka::func::func"], [14, 3, 1, "_CPPv4N6heyoka4func4funcERR4func", "heyoka::func::func"], [14, 3, 1, "_CPPv4N6heyoka4func4funcEv", "heyoka::func::func"], [14, 2, 1, "_CPPv4I0EIQaantNSt7same_asI4funcNSt14remove_cvref_tI1TEEEE6is_udfINSt14remove_cvref_tI1TEEEEN6heyoka4func4funcERR1T", "heyoka::func::func::T"], [14, 4, 1, "_CPPv4I0EIQaantNSt7same_asI4funcNSt14remove_cvref_tI1TEEEE6is_udfINSt14remove_cvref_tI1TEEEEN6heyoka4func4funcERR1T", "heyoka::func::func::x"], [14, 3, 1, "_CPPv4NK6heyoka4func8get_nameEv", "heyoka::func::get_name"], [14, 3, 1, "_CPPv4N6heyoka4funcaSERK4func", "heyoka::func::operator="], [14, 3, 1, "_CPPv4N6heyoka4funcaSERR4func", "heyoka::func::operator="], [14, 3, 1, "_CPPv4N6heyoka4funcD0Ev", "heyoka::func::~func"], [14, 1, 1, "_CPPv4N6heyoka9func_baseE", "heyoka::func_base"], [14, 3, 1, "_CPPv4NK6heyoka9func_base4argsEv", "heyoka::func_base::args"], [14, 3, 1, "_CPPv4N6heyoka9func_base9func_baseENSt6stringENSt6vectorI10expressionEE", "heyoka::func_base::func_base"], [14, 3, 1, "_CPPv4N6heyoka9func_base9func_baseERK9func_base", "heyoka::func_base::func_base"], [14, 3, 1, "_CPPv4N6heyoka9func_base9func_baseERR9func_base", "heyoka::func_base::func_base"], [14, 4, 1, "_CPPv4N6heyoka9func_base9func_baseENSt6stringENSt6vectorI10expressionEE", "heyoka::func_base::func_base::args"], [14, 4, 1, "_CPPv4N6heyoka9func_base9func_baseENSt6stringENSt6vectorI10expressionEE", "heyoka::func_base::func_base::name"], [14, 3, 1, "_CPPv4NK6heyoka9func_base8get_nameEv", "heyoka::func_base::get_name"], [14, 3, 1, "_CPPv4N6heyoka9func_baseaSERK9func_base", "heyoka::func_base::operator="], [14, 3, 1, "_CPPv4N6heyoka9func_baseaSERR9func_base", "heyoka::func_base::operator="], [14, 3, 1, "_CPPv4N6heyoka9func_baseD0Ev", "heyoka::func_base::~func_base"], [14, 6, 1, "_CPPv4I0EN6heyoka6is_udfE", "heyoka::is_udf"], [14, 2, 1, "_CPPv4I0EN6heyoka6is_udfE", "heyoka::is_udf::T"], [12, 3, 1, "_CPPv4N6heyoka8literalsli4_dblEe", "heyoka::literals::operator""_dbl"], [12, 3, 1, "_CPPv4N6heyoka8literalsli4_dblEy", "heyoka::literals::operator""_dbl"], [12, 3, 1, "_CPPv4I_DpcEN6heyoka8literalsli5_f128E10expressionv", "heyoka::literals::operator""_f128"], [12, 2, 1, "_CPPv4I_DpcEN6heyoka8literalsli5_f128E10expressionv", "heyoka::literals::operator""_f128::Chars"], [12, 3, 1, "_CPPv4N6heyoka8literalsli4_fltEe", "heyoka::literals::operator""_flt"], [12, 3, 1, "_CPPv4N6heyoka8literalsli4_fltEy", "heyoka::literals::operator""_flt"], [12, 3, 1, "_CPPv4N6heyoka8literalsli5_ldblEe", "heyoka::literals::operator""_ldbl"], [12, 3, 1, "_CPPv4N6heyoka8literalsli5_ldblEy", "heyoka::literals::operator""_ldbl"], [12, 3, 1, "_CPPv4I0DpEN6heyoka9make_varsEDaRK4Arg0DpRK4Args", "heyoka::make_vars"], [12, 2, 1, "_CPPv4I0DpEN6heyoka9make_varsEDaRK4Arg0DpRK4Args", "heyoka::make_vars::Arg0"], [12, 2, 1, "_CPPv4I0DpEN6heyoka9make_varsEDaRK4Arg0DpRK4Args", "heyoka::make_vars::Args"], [12, 4, 1, "_CPPv4I0DpEN6heyoka9make_varsEDaRK4Arg0DpRK4Args", "heyoka::make_vars::str"], [12, 4, 1, "_CPPv4I0DpEN6heyoka9make_varsEDaRK4Arg0DpRK4Args", "heyoka::make_vars::strs"], [20, 5, 1, "_CPPv4I0000EN6heyoka6mdspanE", "heyoka::mdspan"], [20, 2, 1, "_CPPv4I0000EN6heyoka6mdspanE", "heyoka::mdspan::AccessorPolicy"], [20, 2, 1, "_CPPv4I0000EN6heyoka6mdspanE", "heyoka::mdspan::Extents"], [20, 2, 1, "_CPPv4I0000EN6heyoka6mdspanE", "heyoka::mdspan::LayoutPolicy"], [20, 2, 1, "_CPPv4I0000EN6heyoka6mdspanE", "heyoka::mdspan::T"], [11, 1, 1, "_CPPv4N6heyoka21not_implemented_errorE", "heyoka::not_implemented_error"], [22, 1, 1, "_CPPv4N6heyoka6numberE", "heyoka::number"], [22, 3, 1, "_CPPv4N6heyoka6number6numberEN4mppp4realE", "heyoka::number::number"], [22, 3, 1, "_CPPv4N6heyoka6number6numberEN4mppp7real128E", "heyoka::number::number"], [22, 3, 1, "_CPPv4N6heyoka6number6numberERK6number", "heyoka::number::number"], [22, 3, 1, "_CPPv4N6heyoka6number6numberERR6number", "heyoka::number::number"], [22, 3, 1, "_CPPv4N6heyoka6number6numberEd", "heyoka::number::number"], [22, 3, 1, "_CPPv4N6heyoka6number6numberEe", "heyoka::number::number"], [22, 3, 1, "_CPPv4N6heyoka6number6numberEf", "heyoka::number::number"], [22, 3, 1, "_CPPv4N6heyoka6number6numberEv", "heyoka::number::number"], [22, 4, 1, "_CPPv4N6heyoka6number6numberEN4mppp4realE", "heyoka::number::number::x"], [22, 4, 1, "_CPPv4N6heyoka6number6numberEN4mppp7real128E", "heyoka::number::number::x"], [22, 4, 1, "_CPPv4N6heyoka6number6numberEd", "heyoka::number::number::x"], [22, 4, 1, "_CPPv4N6heyoka6number6numberEe", "heyoka::number::number::x"], [22, 4, 1, "_CPPv4N6heyoka6number6numberEf", "heyoka::number::number::x"], [22, 3, 1, "_CPPv4N6heyoka6numberaSERK6number", "heyoka::number::operator="], [22, 3, 1, "_CPPv4N6heyoka6numberaSERR6number", "heyoka::number::operator="], [22, 3, 1, "_CPPv4NK6heyoka6number5valueEv", "heyoka::number::value"], [22, 5, 1, "_CPPv4N6heyoka6number10value_typeE", "heyoka::number::value_type"], [22, 3, 1, "_CPPv4N6heyoka6numberD0Ev", "heyoka::number::~number"], [12, 3, 1, "_CPPv4N6heyokaneERK10expressionRK10expression", "heyoka::operator!="], [22, 3, 1, "_CPPv4N6heyokaneERK6numberRK6number", "heyoka::operator!="], [23, 3, 1, "_CPPv4N6heyokaneERK5paramRK5param", "heyoka::operator!="], [40, 3, 1, "_CPPv4N6heyokaneERK8variableRK8variable", "heyoka::operator!="], [23, 4, 1, "_CPPv4N6heyokaneERK5paramRK5param", "heyoka::operator!=::a"], [40, 4, 1, "_CPPv4N6heyokaneERK8variableRK8variable", "heyoka::operator!=::a"], [23, 4, 1, "_CPPv4N6heyokaneERK5paramRK5param", "heyoka::operator!=::b"], [40, 4, 1, "_CPPv4N6heyokaneERK8variableRK8variable", "heyoka::operator!=::b"], [12, 4, 1, "_CPPv4N6heyokaneERK10expressionRK10expression", "heyoka::operator!=::e1"], [12, 4, 1, "_CPPv4N6heyokaneERK10expressionRK10expression", "heyoka::operator!=::e2"], [22, 4, 1, "_CPPv4N6heyokaneERK6numberRK6number", "heyoka::operator!=::x"], [22, 4, 1, "_CPPv4N6heyokaneERK6numberRK6number", "heyoka::operator!=::y"], [22, 3, 1, "_CPPv4N6heyokamlERK6numberRK6number", "heyoka::operator*"], [22, 4, 1, "_CPPv4N6heyokamlERK6numberRK6number", "heyoka::operator*::x"], [22, 4, 1, "_CPPv4N6heyokamlERK6numberRK6number", "heyoka::operator*::y"], [22, 3, 1, "_CPPv4N6heyokaplE6number", "heyoka::operator+"], [22, 3, 1, "_CPPv4N6heyokaplERK6numberRK6number", "heyoka::operator+"], [22, 4, 1, "_CPPv4N6heyokaplE6number", "heyoka::operator+::n"], [22, 4, 1, "_CPPv4N6heyokaplERK6numberRK6number", "heyoka::operator+::x"], [22, 4, 1, "_CPPv4N6heyokaplERK6numberRK6number", "heyoka::operator+::y"], [22, 3, 1, "_CPPv4N6heyokamiERK6number", "heyoka::operator-"], [22, 3, 1, "_CPPv4N6heyokamiERK6numberRK6number", "heyoka::operator-"], [22, 4, 1, "_CPPv4N6heyokamiERK6number", "heyoka::operator-::n"], [22, 4, 1, "_CPPv4N6heyokamiERK6numberRK6number", "heyoka::operator-::x"], [22, 4, 1, "_CPPv4N6heyokamiERK6numberRK6number", "heyoka::operator-::y"], [22, 3, 1, "_CPPv4N6heyokadvERK6numberRK6number", "heyoka::operator/"], [22, 4, 1, "_CPPv4N6heyokadvERK6numberRK6number", "heyoka::operator/::x"], [22, 4, 1, "_CPPv4N6heyokadvERK6numberRK6number", "heyoka::operator/::y"], [22, 3, 1, "_CPPv4N6heyokaltERK6numberRK6number", "heyoka::operator<"], [22, 4, 1, "_CPPv4N6heyokaltERK6numberRK6number", "heyoka::operator<::x"], [22, 4, 1, "_CPPv4N6heyokaltERK6numberRK6number", "heyoka::operator<::y"], [22, 3, 1, "_CPPv4N6heyokalsERNSt7ostreamERK6number", "heyoka::operator<<"], [23, 3, 1, "_CPPv4N6heyokalsERNSt7ostreamERK5param", "heyoka::operator<<"], [40, 3, 1, "_CPPv4N6heyokalsERNSt7ostreamERK8variable", "heyoka::operator<<"], [22, 4, 1, "_CPPv4N6heyokalsERNSt7ostreamERK6number", "heyoka::operator<<::n"], [22, 4, 1, "_CPPv4N6heyokalsERNSt7ostreamERK6number", "heyoka::operator<<::os"], [23, 4, 1, "_CPPv4N6heyokalsERNSt7ostreamERK5param", "heyoka::operator<<::os"], [40, 4, 1, "_CPPv4N6heyokalsERNSt7ostreamERK8variable", "heyoka::operator<<::os"], [23, 4, 1, "_CPPv4N6heyokalsERNSt7ostreamERK5param", "heyoka::operator<<::p"], [40, 4, 1, "_CPPv4N6heyokalsERNSt7ostreamERK8variable", "heyoka::operator<<::v"], [12, 3, 1, "_CPPv4N6heyokaeqERK10expressionRK10expression", "heyoka::operator=="], [22, 3, 1, "_CPPv4N6heyokaeqERK6numberRK6number", "heyoka::operator=="], [23, 3, 1, "_CPPv4N6heyokaeqERK5paramRK5param", "heyoka::operator=="], [40, 3, 1, "_CPPv4N6heyokaeqERK8variableRK8variable", "heyoka::operator=="], [23, 4, 1, "_CPPv4N6heyokaeqERK5paramRK5param", "heyoka::operator==::a"], [40, 4, 1, "_CPPv4N6heyokaeqERK8variableRK8variable", "heyoka::operator==::a"], [23, 4, 1, "_CPPv4N6heyokaeqERK5paramRK5param", "heyoka::operator==::b"], [40, 4, 1, "_CPPv4N6heyokaeqERK8variableRK8variable", "heyoka::operator==::b"], [12, 4, 1, "_CPPv4N6heyokaeqERK10expressionRK10expression", "heyoka::operator==::e1"], [12, 4, 1, "_CPPv4N6heyokaeqERK10expressionRK10expression", "heyoka::operator==::e2"], [22, 4, 1, "_CPPv4N6heyokaeqERK6numberRK6number", "heyoka::operator==::x"], [22, 4, 1, "_CPPv4N6heyokaeqERK6numberRK6number", "heyoka::operator==::y"], [23, 1, 1, "_CPPv4N6heyoka5paramE", "heyoka::param"], [23, 3, 1, "_CPPv4NK6heyoka5param3idxEv", "heyoka::param::idx"], [23, 3, 1, "_CPPv4N6heyoka5paramaSERK5param", "heyoka::param::operator="], [23, 3, 1, "_CPPv4N6heyoka5paramaSERR5param", "heyoka::param::operator="], [23, 3, 1, "_CPPv4N6heyoka5param5paramENSt8uint32_tE", "heyoka::param::param"], [23, 3, 1, "_CPPv4N6heyoka5param5paramERK5param", "heyoka::param::param"], [23, 3, 1, "_CPPv4N6heyoka5param5paramERR5param", "heyoka::param::param"], [23, 3, 1, "_CPPv4N6heyoka5param5paramEv", "heyoka::param::param"], [23, 4, 1, "_CPPv4N6heyoka5param5paramENSt8uint32_tE", "heyoka::param::param::idx"], [23, 3, 1, "_CPPv4N6heyoka5paramD0Ev", "heyoka::param::~param"], [22, 3, 1, "_CPPv4N6heyoka4swapER6numberR6number", "heyoka::swap"], [23, 3, 1, "_CPPv4N6heyoka4swapER5paramR5param", "heyoka::swap"], [40, 3, 1, "_CPPv4N6heyoka4swapER8variableR8variable", "heyoka::swap"], [22, 4, 1, "_CPPv4N6heyoka4swapER6numberR6number", "heyoka::swap::a"], [23, 4, 1, "_CPPv4N6heyoka4swapER5paramR5param", "heyoka::swap::a"], [40, 4, 1, "_CPPv4N6heyoka4swapER8variableR8variable", "heyoka::swap::a"], [22, 4, 1, "_CPPv4N6heyoka4swapER6numberR6number", "heyoka::swap::b"], [23, 4, 1, "_CPPv4N6heyoka4swapER5paramR5param", "heyoka::swap::b"], [40, 4, 1, "_CPPv4N6heyoka4swapER8variableR8variable", "heyoka::swap::b"], [40, 1, 1, "_CPPv4N6heyoka8variableE", "heyoka::variable"], [40, 3, 1, "_CPPv4NK6heyoka8variable4nameEv", "heyoka::variable::name"], [40, 3, 1, "_CPPv4N6heyoka8variableaSERK8variable", "heyoka::variable::operator="], [40, 3, 1, "_CPPv4N6heyoka8variableaSERR8variable", "heyoka::variable::operator="], [40, 3, 1, "_CPPv4N6heyoka8variable8variableENSt6stringE", "heyoka::variable::variable"], [40, 3, 1, "_CPPv4N6heyoka8variable8variableERK8variable", "heyoka::variable::variable"], [40, 3, 1, "_CPPv4N6heyoka8variable8variableERR8variable", "heyoka::variable::variable"], [40, 3, 1, "_CPPv4N6heyoka8variable8variableEv", "heyoka::variable::variable"], [40, 4, 1, "_CPPv4N6heyoka8variable8variableENSt6stringE", "heyoka::variable::variable::name"], [40, 3, 1, "_CPPv4N6heyoka8variableD0Ev", "heyoka::variable::~variable"], [22, 1, 1, "_CPPv4IENSt4hashIN6heyoka6numberEEE", "std::hash<heyoka::number>"], [22, 3, 1, "_CPPv4NKSt4hashIN6heyoka6numberEEclERKN6heyoka6numberE", "std::hash<heyoka::number>::operator()"], [22, 4, 1, "_CPPv4NKSt4hashIN6heyoka6numberEEclERKN6heyoka6numberE", "std::hash<heyoka::number>::operator()::n"], [23, 1, 1, "_CPPv4IENSt4hashIN6heyoka5paramEEE", "std::hash<heyoka::param>"], [23, 3, 1, "_CPPv4NKSt4hashIN6heyoka5paramEEclERKN6heyoka5paramE", "std::hash<heyoka::param>::operator()"], [23, 4, 1, "_CPPv4NKSt4hashIN6heyoka5paramEEclERKN6heyoka5paramE", "std::hash<heyoka::param>::operator()::p"], [40, 1, 1, "_CPPv4IENSt4hashIN6heyoka8variableEEE", "std::hash<heyoka::variable>"], [40, 3, 1, "_CPPv4NKSt4hashIN6heyoka8variableEEclERKN6heyoka8variableE", "std::hash<heyoka::variable>::operator()"], [40, 4, 1, "_CPPv4NKSt4hashIN6heyoka8variableEEclERKN6heyoka8variableE", "std::hash<heyoka::variable>::operator()::v"]]}, "objtypes": {"0": "c:macro", "1": "cpp:class", "2": "cpp:templateParam", "3": "cpp:function", "4": "cpp:functionParam", "5": "cpp:type", "6": "cpp:concept"}, "objnames": {"0": ["c", "macro", "C macro"], "1": ["cpp", "class", "C++ class"], "2": ["cpp", "templateParam", "C++ template parameter"], "3": ["cpp", "function", "C++ function"], "4": ["cpp", "functionParam", "C++ function parameter"], "5": ["cpp", "type", "C++ type"], "6": ["cpp", "concept", "C++ concept"]}, "titleterms": {"acknowledg": 0, "note": 1, "automat": 1, "differenti": 1, "preliminari": 1, "basic": [1, 4], "arithmet": [1, 12], "addit": 1, "subtract": 1, "multipl": [1, 31], "divis": 1, "squar": 1, "root": 1, "exponenti": 1, "natur": 1, "standard": [1, 22, 23, 40], "logist": 1, "function": [1, 8, 12, 14, 19, 22, 23, 26, 28, 29, 33, 38, 40], "logarithm": 1, "trigonometr": 1, "tangent": 1, "invers": 1, "sine": 1, "cosin": 1, "two": 1, "argument": [1, 18], "hyperbol": 1, "special": 1, "error": [1, 25], "celesti": 1, "mechan": 1, "kepler": 1, "": [1, 39], "eccentr": 1, "anomali": 1, "longitud": 1, "time": [1, 24, 27], "polynomi": 1, "advanc": 2, "tutori": [2, 4], "api": [3, 7], "refer": 3, "benchmark": 5, "The": [5, 8, 12, 14, 22, 23, 24, 27, 32, 40], "planetari": [5, 35], "three": 5, "bodi": 5, "problem": 5, "outer": 5, "solar": 5, "system": [5, 13, 32, 34], "event": [5, 7, 27, 31, 37], "detect": [5, 27, 31], "back": 5, "forth": 5, "extend": [5, 16, 26, 33], "arbitrari": [5, 16, 26], "precis": [5, 16, 26, 33, 38], "dens": [5, 27, 29], "output": [5, 27, 29], "fidel": 5, "stabil": 5, "bibliographi": 6, "break": 7, "chang": [7, 9], "4": [7, 9], "0": [7, 9], "behaviour": 7, "make_var": 7, "termin": [7, 31], "callback": [7, 37], "step": [7, 27, 29], "propagate_": [7, 29], "propagate_grid": 7, "gener": 7, "2": [7, 9], "1": [7, 9], "16": [7, 9], "15": [7, 9], "10": [7, 9], "8": [7, 9], "compil": [8, 28], "cfunc": 8, "class": [8, 12, 14, 22, 23, 26, 33, 38, 40], "changelog": 9, "unreleas": 9, "new": 9, "fix": 9, "3": 9, "2024": 9, "04": 9, "03": 9, "02": 9, "2023": 9, "11": 9, "29": 9, "13": 9, "07": 9, "09": 9, "22": 9, "08": 9, "21": 9, "20": 9, "01": 9, "05": 9, "2022": 9, "12": 9, "17": 9, "19": 9, "18": 9, "2021": 9, "28": 9, "14": 9, "06": 9, "9": 9, "25": 9, "7": 9, "6": 9, "5": 9, "2020": 9, "macro": 10, "definit": 10, "except": 11, "express": [12, 13, 32], "exampl": [12, 26, 28, 30, 33, 37, 38], "oper": [12, 22, 23, 40], "comparison": 12, "user": 12, "defin": 12, "liter": 12, "n": 14, "ari": 14, "func_bas": 14, "func": 14, "concept": 14, "heyoka": [15, 16], "instal": 16, "introduct": 16, "support": 16, "80": 16, "bit": 16, "128": 16, "packag": 16, "conda": 16, "freebsd": 16, "spack": 16, "from": 16, "sourc": 16, "includ": 16, "your": 16, "project": 16, "via": 16, "cmake": 16, "known": 17, "issu": 17, "unsolv": 17, "solv": 17, "keyword": 18, "mathemat": 19, "mdspan": 20, "namespac": 21, "numer": 22, "constant": 22, "number": 22, "librari": [22, 23, 40], "specialis": [22, 23, 40], "runtim": [23, 36], "paramet": [23, 36], "param": 23, "adapt": [24, 25, 27], "integr": [24, 25, 27], "construct": 24, "singl": [24, 38], "timestep": [24, 31], "access": 24, "state": 24, "limit": [24, 27, 31], "propag": [24, 27, 30], "over": 24, "grid": 24, "full": [24, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38], "code": [24, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38], "list": [24, 27, 29, 31, 32, 33, 34, 35, 36, 37, 38], "customis": 25, "toler": 25, "compact": 25, "mode": [25, 27, 35], "high": 25, "accuraci": 25, "comput": [26, 33, 38], "A": [26, 28, 30, 33, 37, 38], "simpl": [26, 28, 30, 33, 37, 38], "other": [26, 33, 38], "v": 26, "batch": [27, 28], "continu": [27, 29], "ensembl": [27, 30], "evalu": 28, "thread": 30, "safeti": 30, "consider": 30, "non": [31, 34], "direct": 31, "cooldown": 31, "caveat": 31, "badli": 31, "condit": 31, "equat": 31, "autonom": 34, "parallel": 35, "embryo": 35, "serialis": 37, "taylor": 39, "method": 39, "variabl": 40}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinxcontrib.bibtex": 9, "sphinx.ext.intersphinx": 1, "sphinx": 60}, "alltitles": {"Acknowledgement": [[0, "acknowledgement"]], "Notes on automatic differentiation": [[1, "notes-on-automatic-differentiation"]], "Preliminaries": [[1, "preliminaries"]], "Basic arithmetic": [[1, "basic-arithmetic"]], "Addition and subtraction": [[1, "addition-and-subtraction"]], "Multiplication": [[1, "multiplication"]], "Division": [[1, "division"]], "Squaring": [[1, "squaring"]], "Square root": [[1, "square-root"]], "Exponentiation": [[1, "exponentiation"]], "Exponentials": [[1, "exponentials"]], "Natural exponential": [[1, "natural-exponential"]], "Standard logistic function": [[1, "standard-logistic-function"]], "Logarithms": [[1, "logarithms"]], "Natural logarithm": [[1, "natural-logarithm"]], "Trigonometric functions": [[1, "trigonometric-functions"]], "Tangent": [[1, "tangent"]], "Inverse trigonometric functions": [[1, "inverse-trigonometric-functions"]], "Inverse sine": [[1, "inverse-sine"]], "Inverse cosine": [[1, "inverse-cosine"]], "Inverse tangent": [[1, "inverse-tangent"]], "Two-argument inverse tangent": [[1, "two-argument-inverse-tangent"]], "Hyperbolic functions": [[1, "hyperbolic-functions"]], "Hyperbolic sine": [[1, "hyperbolic-sine"]], "Hyperbolic cosine": [[1, "hyperbolic-cosine"]], "Hyperbolic tangent": [[1, "hyperbolic-tangent"]], "Inverse hyperbolic functions": [[1, "inverse-hyperbolic-functions"]], "Inverse hyperbolic sine": [[1, "inverse-hyperbolic-sine"]], "Inverse hyperbolic cosine": [[1, "inverse-hyperbolic-cosine"]], "Inverse hyperbolic tangent": [[1, "inverse-hyperbolic-tangent"]], "Special functions": [[1, "special-functions"]], "Error function": [[1, "error-function"]], "Celestial mechanics": [[1, "celestial-mechanics"]], "Kepler\u2019s eccentric anomaly": [[1, "kepler-s-eccentric-anomaly"]], "Eccentric longitude": [[1, "eccentric-longitude"]], "Time functions": [[1, "time-functions"]], "Time polynomials": [[1, "time-polynomials"]], "Advanced tutorials": [[2, "advanced-tutorials"]], "API Reference": [[3, "api-reference"]], "Basic tutorials": [[4, "basic-tutorials"]], "Benchmarks": [[5, "benchmarks"]], "The planetary three-body problem": [[5, "the-planetary-three-body-problem"]], "The outer Solar System": [[5, "the-outer-solar-system"]], "Event detection": [[5, "event-detection"], [27, "event-detection"], [31, "event-detection"]], "Back & forth": [[5, "back-forth"]], "Extended and arbitrary precision": [[5, "extended-and-arbitrary-precision"]], "Dense output fidelity and stability": [[5, "dense-output-fidelity-and-stability"]], "Bibliography": [[6, "bibliography"]], "Breaking changes": [[7, "breaking-changes"]], "4.0.0": [[7, "bchanges-4-0-0"]], "API/behaviour changes": [[7, "api-behaviour-changes"]], "Changes to make_vars()": [[7, "changes-to-make-vars"]], "Terminal events callbacks": [[7, "terminal-events-callbacks"]], "Step callbacks and propagate_*()": [[7, "step-callbacks-and-propagate"]], "Changes to propagate_grid()": [[7, "changes-to-propagate-grid"]], "General": [[7, "general"]], "2.0.0": [[7, "bchanges-2-0-0"]], "1.0.0": [[7, "bchanges-1-0-0"]], "0.16.0": [[7, "bchanges-0-16-0"]], "0.15.0": [[7, "bchanges-0-15-0"]], "0.10.0": [[7, "bchanges-0-10-0"]], "0.8.0": [[7, "bchanges-0-8-0"]], "Compiled functions": [[8, "compiled-functions"], [28, "compiled-functions"]], "The cfunc class": [[8, "the-cfunc-class"]], "Changelog": [[9, "changelog"]], "4.1.0 (unreleased)": [[9, "unreleased"]], "New": [[9, "new"], [9, "id8"], [9, "id11"], [9, "id14"], [9, "id20"], [9, "id24"], [9, "id28"], [9, "id32"], [9, "id36"], [9, "id40"], [9, "id47"], [9, "id51"], [9, "id55"], [9, "id59"], [9, "id63"], [9, "id66"], [9, "id71"], [9, "id74"], [9, "id77"], [9, "id81"], [9, "id88"], [9, "id92"], [9, "id94"], [9, "id97"], [9, "id101"]], "Changes": [[9, "changes"], [9, "id9"], [9, "id12"], [9, "id15"], [9, "id21"], [9, "id25"], [9, "id30"], [9, "id33"], [9, "id37"], [9, "id41"], [9, "id44"], [9, "id48"], [9, "id52"], [9, "id56"], [9, "id60"], [9, "id67"], [9, "id72"], [9, "id75"], [9, "id78"], [9, "id82"], [9, "id85"], [9, "id89"], [9, "id98"], [9, "id102"]], "Fix": [[9, "fix"], [9, "id2"], [9, "id4"], [9, "id6"], [9, "id16"], [9, "id18"], [9, "id22"], [9, "id26"], [9, "id34"], [9, "id38"], [9, "id42"], [9, "id45"], [9, "id49"], [9, "id53"], [9, "id57"], [9, "id61"], [9, "id64"], [9, "id69"], [9, "id79"], [9, "id83"], [9, "id86"], [9, "id90"], [9, "id95"], [9, "id99"], [9, "id103"]], "4.0.3 (2024-04-04)": [[9, "id1"]], "4.0.2 (2024-03-03)": [[9, "id3"]], "4.0.1 (2024-03-02)": [[9, "id5"]], "4.0.0 (2024-03-02)": [[9, "id7"]], "3.2.0 (2023-11-29)": [[9, "id10"]], "3.1.0 (2023-11-13)": [[9, "id13"]], "3.0.0 (2023-10-07)": [[9, "id17"]], "2.0.0 (2023-09-22)": [[9, "id19"]], "1.0.0 (2023-08-10)": [[9, "id23"]], "0.21.0 (2023-02-16)": [[9, "id27"]], "0.20.1 (2023-01-05)": [[9, "id29"]], "0.20.0 (2022-12-17)": [[9, "id31"]], "0.19.0 (2022-09-18)": [[9, "id35"]], "0.18.0 (2022-05-11)": [[9, "id39"]], "0.17.1 (2022-02-13)": [[9, "id43"]], "0.17.0 (2022-01-20)": [[9, "id46"]], "0.16.0 (2021-11-20)": [[9, "id50"]], "0.15.0 (2021-09-28)": [[9, "id54"]], "0.14.0 (2021-08-03)": [[9, "id58"]], "0.12.0 (2021-07-21)": [[9, "id62"]], "0.11.0 (2021-07-06)": [[9, "id65"]], "0.10.1 (2021-07-02)": [[9, "id68"]], "0.10.0 (2021-06-09)": [[9, "id70"]], "0.9.0 (2021-05-25)": [[9, "id73"]], "0.8.0 (2021-04-28)": [[9, "id76"]], "0.7.0 (2021-04-21)": [[9, "id80"]], "0.6.1 (2021-04-08)": [[9, "id84"]], "0.6.0 (2021-04-06)": [[9, "id87"]], "0.5.0 (2021-02-25)": [[9, "id91"]], "0.4.0 (2021-02-20)": [[9, "id93"]], "0.3.0 (2021-02-11)": [[9, "id96"]], "0.2.0 (2021-01-13)": [[9, "id100"]], "0.1.0 (2020-12-18)": [[9, "id104"]], "Macros and definitions": [[10, "macros-and-definitions"]], "Exceptions": [[11, "exceptions"]], "Expressions": [[12, "expressions"]], "The expression class": [[12, "the-expression-class"]], "Functions": [[12, "functions"], [22, "functions"], [23, "functions"], [40, "functions"]], "Example": [[12, "example"]], "Operators": [[12, "operators"], [22, "operators"], [23, "operators"], [40, "operators"]], "Arithmetic operators": [[12, "arithmetic-operators"]], "Comparison operators": [[12, "comparison-operators"]], "User-defined literals": [[12, "user-defined-literals"]], "Expression system": [[13, "expression-system"]], "N-ary functions": [[14, "n-ary-functions"]], "The func_base class": [[14, "the-func-base-class"]], "The func class": [[14, "the-func-class"]], "Concepts": [[14, "concepts"]], "heyoka": [[15, "heyoka"]], "Installation": [[16, "installation"]], "Introduction": [[16, "introduction"]], "Support for extended precision": [[16, "support-for-extended-precision"]], "80-bit precision": [[16, "bit-precision"]], "128-bit precision": [[16, "id2"]], "Arbitrary-precision": [[16, "arbitrary-precision"]], "Packages": [[16, "packages"]], "Conda": [[16, "conda"]], "FreeBSD": [[16, "freebsd"]], "spack": [[16, "spack"]], "Installation from source": [[16, "installation-from-source"]], "Including heyoka in your project via CMake": [[16, "including-heyoka-in-your-project-via-cmake"]], "Known issues": [[17, "known-issues"]], "Unsolved": [[17, "unsolved"]], "Solved": [[17, "solved"]], "Keyword arguments": [[18, "keyword-arguments"]], "Mathematical functions": [[19, "mathematical-functions"]], "mdspan": [[20, "mdspan"]], "Namespaces": [[21, "namespaces"]], "Numerical constants": [[22, "numerical-constants"]], "The number class": [[22, "the-number-class"]], "Standard library specialisations": [[22, "standard-library-specialisations"], [23, "standard-library-specialisations"], [40, "standard-library-specialisations"]], "Runtime parameters": [[23, "runtime-parameters"], [36, "runtime-parameters"]], "The param class": [[23, "the-param-class"]], "The adaptive integrator": [[24, "the-adaptive-integrator"]], "Construction": [[24, "construction"]], "Single timestep": [[24, "single-timestep"]], "Accessing state and time": [[24, "accessing-state-and-time"]], "Time-limited propagation": [[24, "time-limited-propagation"], [27, "time-limited-propagation"]], "Propagation over a time grid": [[24, "propagation-over-a-time-grid"]], "Full code listing": [[24, "full-code-listing"], [27, "full-code-listing"], [29, "full-code-listing"], [31, "full-code-listing"], [32, "full-code-listing"], [33, "full-code-listing"], [34, "full-code-listing"], [35, "full-code-listing"], [36, "full-code-listing"], [37, "full-code-listing"], [37, "id1"], [38, "full-code-listing"]], "Customising the adaptive integrator": [[25, "customising-the-adaptive-integrator"]], "Error tolerance": [[25, "error-tolerance"]], "Compact mode": [[25, "compact-mode"]], "High-accuracy mode": [[25, "high-accuracy-mode"]], "Computations in arbitrary precision": [[26, "computations-in-arbitrary-precision"]], "A simple example": [[26, "a-simple-example"], [28, "a-simple-example"], [30, "a-simple-example"], [33, "a-simple-example"], [37, "a-simple-example"], [38, "a-simple-example"]], "Other classes and functions": [[26, "other-classes-and-functions"], [33, "other-classes-and-functions"], [38, "other-classes-and-functions"]], "Extended vs arbitrary precision": [[26, "extended-vs-arbitrary-precision"]], "Batch mode": [[27, "batch-mode"]], "The adaptive batch integrator": [[27, "the-adaptive-batch-integrator"]], "Step-by-step integration": [[27, "step-by-step-integration"]], "Dense & continuous output": [[27, "dense-continuous-output"], [29, "dense-continuous-output"]], "Ensemble propagations": [[27, "ensemble-propagations"], [30, "ensemble-propagations"]], "Batch evaluation": [[28, "batch-evaluation"]], "Dense output for the step() functions": [[29, "dense-output-for-the-step-functions"]], "Dense output for the propagate_*() functions": [[29, "dense-output-for-the-propagate-functions"]], "Continuous output": [[29, "continuous-output"]], "Thread safety considerations": [[30, "thread-safety-considerations"]], "Non-terminal events": [[31, "non-terminal-events"]], "Event direction": [[31, "event-direction"]], "Multiple events": [[31, "multiple-events"]], "Terminal events": [[31, "terminal-events"]], "Cooldown": [[31, "cooldown"]], "Limitations and caveats": [[31, "limitations-and-caveats"]], "Badly-conditioned event equations": [[31, "badly-conditioned-event-equations"]], "Event equations and timestepping": [[31, "event-equations-and-timestepping"]], "The expression system": [[32, "the-expression-system"]], "Computations in extended precision": [[33, "computations-in-extended-precision"]], "Non-autonomous systems": [[34, "non-autonomous-systems"]], "Parallel mode": [[35, "parallel-mode"]], "Parallel planetary embryos": [[35, "parallel-planetary-embryos"]], "Serialisation": [[37, "serialisation"]], "Serialising event callbacks": [[37, "serialising-event-callbacks"]], "Computations in single precision": [[38, "computations-in-single-precision"]], "Taylor\u2019s method": [[39, "taylor-s-method"]], "Variables": [[40, "variables"]], "The variable class": [[40, "the-variable-class"]]}, "indexentries": {"heyoka::cfunc (c++ class)": [[8, "_CPPv4I0EN6heyoka5cfuncE"]], "heyoka::cfunc::cfunc (c++ function)": [[8, "_CPPv4IDpEN6heyoka5cfunc5cfuncENSt6vectorI10expressionEENSt6vectorI10expressionEEDpRK6KwArgs"], [8, "_CPPv4N6heyoka5cfunc5cfuncEv"]], "heyoka::cfunc::in_1d (c++ type)": [[8, "_CPPv4N6heyoka5cfunc5in_1dE"]], "heyoka::cfunc::in_2d (c++ type)": [[8, "_CPPv4N6heyoka5cfunc5in_2dE"]], "heyoka::cfunc::is_valid (c++ function)": [[8, "_CPPv4NK6heyoka5cfunc8is_validEv"]], "heyoka::cfunc::out_1d (c++ type)": [[8, "_CPPv4N6heyoka5cfunc6out_1dE"]], "heyoka::cfunc::out_2d (c++ type)": [[8, "_CPPv4N6heyoka5cfunc6out_2dE"]], "heyoka_version_major (c macro)": [[10, "c.HEYOKA_VERSION_MAJOR"]], "heyoka_version_minor (c macro)": [[10, "c.HEYOKA_VERSION_MINOR"]], "heyoka_version_patch (c macro)": [[10, "c.HEYOKA_VERSION_PATCH"]], "heyoka_version_string (c macro)": [[10, "c.HEYOKA_VERSION_STRING"]], "heyoka_with_mppp (c macro)": [[10, "c.HEYOKA_WITH_MPPP"]], "heyoka_with_real (c macro)": [[10, "c.HEYOKA_WITH_REAL"]], "heyoka_with_real128 (c macro)": [[10, "c.HEYOKA_WITH_REAL128"]], "heyoka_with_sleef (c macro)": [[10, "c.HEYOKA_WITH_SLEEF"]], "heyoka::not_implemented_error (c++ class)": [[11, "_CPPv4N6heyoka21not_implemented_errorE"]], "heyoka::expression (c++ class)": [[12, "_CPPv4N6heyoka10expressionE"]], "heyoka::expression::expression (c++ function)": [[12, "_CPPv4N6heyoka10expression10expressionE4func"], [12, "_CPPv4N6heyoka10expression10expressionE5param"], [12, "_CPPv4N6heyoka10expression10expressionE6number"], [12, "_CPPv4N6heyoka10expression10expressionE8variable"], [12, "_CPPv4N6heyoka10expression10expressionEN4mppp4realE"], [12, "_CPPv4N6heyoka10expression10expressionEN4mppp7real128E"], [12, "_CPPv4N6heyoka10expression10expressionENSt6stringE"], [12, "_CPPv4N6heyoka10expression10expressionERK10expression"], [12, "_CPPv4N6heyoka10expression10expressionERR10expression"], [12, "_CPPv4N6heyoka10expression10expressionEd"], [12, "_CPPv4N6heyoka10expression10expressionEe"], [12, "_CPPv4N6heyoka10expression10expressionEf"], [12, "_CPPv4N6heyoka10expression10expressionEv"]], "heyoka::expression::operator= (c++ function)": [[12, "_CPPv4N6heyoka10expressionaSERK10expression"], [12, "_CPPv4N6heyoka10expressionaSERR10expression"]], "heyoka::expression::value (c++ function)": [[12, "_CPPv4NK6heyoka10expression5valueEv"]], "heyoka::expression::value_type (c++ type)": [[12, "_CPPv4N6heyoka10expression10value_typeE"]], "heyoka::expression::~expression (c++ function)": [[12, "_CPPv4N6heyoka10expressionD0Ev"]], "heyoka::literals::operator\"\"_dbl (c++ function)": [[12, "_CPPv4N6heyoka8literalsli4_dblEe"], [12, "_CPPv4N6heyoka8literalsli4_dblEy"]], "heyoka::literals::operator\"\"_f128 (c++ function)": [[12, "_CPPv4I_DpcEN6heyoka8literalsli5_f128E10expressionv"]], "heyoka::literals::operator\"\"_flt (c++ function)": [[12, "_CPPv4N6heyoka8literalsli4_fltEe"], [12, "_CPPv4N6heyoka8literalsli4_fltEy"]], "heyoka::literals::operator\"\"_ldbl (c++ function)": [[12, "_CPPv4N6heyoka8literalsli5_ldblEe"], [12, "_CPPv4N6heyoka8literalsli5_ldblEy"]], "heyoka::make_vars (c++ function)": [[12, "_CPPv4I0DpEN6heyoka9make_varsEDaRK4Arg0DpRK4Args"]], "heyoka::operator!= (c++ function)": [[12, "_CPPv4N6heyokaneERK10expressionRK10expression"], [22, "_CPPv4N6heyokaneERK6numberRK6number"], [23, "_CPPv4N6heyokaneERK5paramRK5param"], [40, "_CPPv4N6heyokaneERK8variableRK8variable"]], "heyoka::operator== (c++ function)": [[12, "_CPPv4N6heyokaeqERK10expressionRK10expression"], [22, "_CPPv4N6heyokaeqERK6numberRK6number"], [23, "_CPPv4N6heyokaeqERK5paramRK5param"], [40, "_CPPv4N6heyokaeqERK8variableRK8variable"]], "heyoka::func (c++ class)": [[14, "_CPPv4N6heyoka4funcE"]], "heyoka::func::args (c++ function)": [[14, "_CPPv4NK6heyoka4func4argsEv"]], "heyoka::func::func (c++ function)": [[14, "_CPPv4I0EIQaantNSt7same_asI4funcNSt14remove_cvref_tI1TEEEE6is_udfINSt14remove_cvref_tI1TEEEEN6heyoka4func4funcERR1T"], [14, "_CPPv4N6heyoka4func4funcERK4func"], [14, "_CPPv4N6heyoka4func4funcERR4func"], [14, "_CPPv4N6heyoka4func4funcEv"]], "heyoka::func::get_name (c++ function)": [[14, "_CPPv4NK6heyoka4func8get_nameEv"]], "heyoka::func::operator= (c++ function)": [[14, "_CPPv4N6heyoka4funcaSERK4func"], [14, "_CPPv4N6heyoka4funcaSERR4func"]], "heyoka::func::~func (c++ function)": [[14, "_CPPv4N6heyoka4funcD0Ev"]], "heyoka::func_base (c++ class)": [[14, "_CPPv4N6heyoka9func_baseE"]], "heyoka::func_base::args (c++ function)": [[14, "_CPPv4NK6heyoka9func_base4argsEv"]], "heyoka::func_base::func_base (c++ function)": [[14, "_CPPv4N6heyoka9func_base9func_baseENSt6stringENSt6vectorI10expressionEE"], [14, "_CPPv4N6heyoka9func_base9func_baseERK9func_base"], [14, "_CPPv4N6heyoka9func_base9func_baseERR9func_base"]], "heyoka::func_base::get_name (c++ function)": [[14, "_CPPv4NK6heyoka9func_base8get_nameEv"]], "heyoka::func_base::operator= (c++ function)": [[14, "_CPPv4N6heyoka9func_baseaSERK9func_base"], [14, "_CPPv4N6heyoka9func_baseaSERR9func_base"]], "heyoka::func_base::~func_base (c++ function)": [[14, "_CPPv4N6heyoka9func_baseD0Ev"]], "heyoka::is_udf (c++ concept)": [[14, "_CPPv4I0EN6heyoka6is_udfE"]], "heyoka::dextents (c++ type)": [[20, "_CPPv4I0_NSt6size_tEEN6heyoka8dextentsE"]], "heyoka::extents (c++ type)": [[20, "_CPPv4I0_DpNSt6size_tEEN6heyoka7extentsE"]], "heyoka::mdspan (c++ type)": [[20, "_CPPv4I0000EN6heyoka6mdspanE"]], "heyoka::number (c++ class)": [[22, "_CPPv4N6heyoka6numberE"]], "heyoka::number::number (c++ function)": [[22, "_CPPv4N6heyoka6number6numberEN4mppp4realE"], [22, "_CPPv4N6heyoka6number6numberEN4mppp7real128E"], [22, "_CPPv4N6heyoka6number6numberERK6number"], [22, "_CPPv4N6heyoka6number6numberERR6number"], [22, "_CPPv4N6heyoka6number6numberEd"], [22, "_CPPv4N6heyoka6number6numberEe"], [22, "_CPPv4N6heyoka6number6numberEf"], [22, "_CPPv4N6heyoka6number6numberEv"]], "heyoka::number::operator= (c++ function)": [[22, "_CPPv4N6heyoka6numberaSERK6number"], [22, "_CPPv4N6heyoka6numberaSERR6number"]], "heyoka::number::value (c++ function)": [[22, "_CPPv4NK6heyoka6number5valueEv"]], "heyoka::number::value_type (c++ type)": [[22, "_CPPv4N6heyoka6number10value_typeE"]], "heyoka::number::~number (c++ function)": [[22, "_CPPv4N6heyoka6numberD0Ev"]], "heyoka::operator* (c++ function)": [[22, "_CPPv4N6heyokamlERK6numberRK6number"]], "heyoka::operator+ (c++ function)": [[22, "_CPPv4N6heyokaplE6number"], [22, "_CPPv4N6heyokaplERK6numberRK6number"]], "heyoka::operator- (c++ function)": [[22, "_CPPv4N6heyokamiERK6number"], [22, "_CPPv4N6heyokamiERK6numberRK6number"]], "heyoka::operator/ (c++ function)": [[22, "_CPPv4N6heyokadvERK6numberRK6number"]], "heyoka::operator< (c++ function)": [[22, "_CPPv4N6heyokaltERK6numberRK6number"]], "heyoka::operator<< (c++ function)": [[22, "_CPPv4N6heyokalsERNSt7ostreamERK6number"], [23, "_CPPv4N6heyokalsERNSt7ostreamERK5param"], [40, "_CPPv4N6heyokalsERNSt7ostreamERK8variable"]], "heyoka::swap (c++ function)": [[22, "_CPPv4N6heyoka4swapER6numberR6number"], [23, "_CPPv4N6heyoka4swapER5paramR5param"], [40, "_CPPv4N6heyoka4swapER8variableR8variable"]], "std::hash (c++ struct)": [[22, "_CPPv4IENSt4hashIN6heyoka6numberEEE"]], "std::hash::operator() (c++ function)": [[22, "_CPPv4NKSt4hashIN6heyoka6numberEEclERKN6heyoka6numberE"]], "heyoka::param (c++ class)": [[23, "_CPPv4N6heyoka5paramE"]], "heyoka::param::idx (c++ function)": [[23, "_CPPv4NK6heyoka5param3idxEv"]], "heyoka::param::operator= (c++ function)": [[23, "_CPPv4N6heyoka5paramaSERK5param"], [23, "_CPPv4N6heyoka5paramaSERR5param"]], "heyoka::param::param (c++ function)": [[23, "_CPPv4N6heyoka5param5paramENSt8uint32_tE"], [23, "_CPPv4N6heyoka5param5paramERK5param"], [23, "_CPPv4N6heyoka5param5paramERR5param"], [23, "_CPPv4N6heyoka5param5paramEv"]], "heyoka::param::~param (c++ function)": [[23, "_CPPv4N6heyoka5paramD0Ev"]], "std::hash (c++ struct)": [[23, "_CPPv4IENSt4hashIN6heyoka5paramEEE"]], "std::hash::operator() (c++ function)": [[23, "_CPPv4NKSt4hashIN6heyoka5paramEEclERKN6heyoka5paramE"]], "heyoka::variable (c++ class)": [[40, "_CPPv4N6heyoka8variableE"]], "heyoka::variable::name (c++ function)": [[40, "_CPPv4NK6heyoka8variable4nameEv"]], "heyoka::variable::operator= (c++ function)": [[40, "_CPPv4N6heyoka8variableaSERK8variable"], [40, "_CPPv4N6heyoka8variableaSERR8variable"]], "heyoka::variable::variable (c++ function)": [[40, "_CPPv4N6heyoka8variable8variableENSt6stringE"], [40, "_CPPv4N6heyoka8variable8variableERK8variable"], [40, "_CPPv4N6heyoka8variable8variableERR8variable"], [40, "_CPPv4N6heyoka8variable8variableEv"]], "heyoka::variable::~variable (c++ function)": [[40, "_CPPv4N6heyoka8variableD0Ev"]], "std::hash (c++ struct)": [[40, "_CPPv4IENSt4hashIN6heyoka8variableEEE"]], "std::hash::operator() (c++ function)": [[40, "_CPPv4NKSt4hashIN6heyoka8variableEEclERKN6heyoka8variableE"]]}})
\ No newline at end of file
diff --git a/tut_adaptive.html b/tut_adaptive.html
index 9be87c744..65b21c642 100644
--- a/tut_adaptive.html
+++ b/tut_adaptive.html
@@ -8,7 +8,7 @@
- The adaptive integrator — heyoka 4.0.2 documentation
+ The adaptive integrator — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/tut_adaptive_custom.html b/tut_adaptive_custom.html
index f53af0126..ddf64e5cc 100644
--- a/tut_adaptive_custom.html
+++ b/tut_adaptive_custom.html
@@ -8,7 +8,7 @@
- Customising the adaptive integrator — heyoka 4.0.2 documentation
+ Customising the adaptive integrator — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/tut_arbitrary_precision.html b/tut_arbitrary_precision.html
index ff4f26e08..54448b69b 100644
--- a/tut_arbitrary_precision.html
+++ b/tut_arbitrary_precision.html
@@ -8,7 +8,7 @@
- Computations in arbitrary precision — heyoka 4.0.2 documentation
+ Computations in arbitrary precision — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/tut_batch_mode.html b/tut_batch_mode.html
index 0124fc839..3435fcb78 100644
--- a/tut_batch_mode.html
+++ b/tut_batch_mode.html
@@ -8,7 +8,7 @@
- Batch mode — heyoka 4.0.2 documentation
+ Batch mode — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/tut_cfunc.html b/tut_cfunc.html
index 8408920c6..4c9b1d52c 100644
--- a/tut_cfunc.html
+++ b/tut_cfunc.html
@@ -8,7 +8,7 @@
- Compiled functions — heyoka 4.0.2 documentation
+ Compiled functions — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
@@ -411,6 +413,9 @@ Contents
Compiled functions
+
heyoka can compile just-in-time (JIT) multivariate vector functions defined
via the expression system . This feature
is described and explored in detail in a
diff --git a/tut_d_output.html b/tut_d_output.html
index 5ab1586e2..b8d6849b8 100644
--- a/tut_d_output.html
+++ b/tut_d_output.html
@@ -8,7 +8,7 @@
-
Dense & continuous output — heyoka 4.0.2 documentation
+ Dense & continuous output — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/tut_ensemble.html b/tut_ensemble.html
index d7c415ae9..ebcb2d53b 100644
--- a/tut_ensemble.html
+++ b/tut_ensemble.html
@@ -8,7 +8,7 @@
- Ensemble propagations — heyoka 4.0.2 documentation
+ Ensemble propagations — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/tut_events.html b/tut_events.html
index aceeeb6e4..e852e640a 100644
--- a/tut_events.html
+++ b/tut_events.html
@@ -8,7 +8,7 @@
- Event detection — heyoka 4.0.2 documentation
+ Event detection — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/tut_expression_system.html b/tut_expression_system.html
index e0242e6a4..a93f41368 100644
--- a/tut_expression_system.html
+++ b/tut_expression_system.html
@@ -8,7 +8,7 @@
- The expression system — heyoka 4.0.2 documentation
+ The expression system — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/tut_extended_precision.html b/tut_extended_precision.html
index f6065d42b..40c0b8c09 100644
--- a/tut_extended_precision.html
+++ b/tut_extended_precision.html
@@ -8,7 +8,7 @@
- Computations in extended precision — heyoka 4.0.2 documentation
+ Computations in extended precision — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/tut_nonauto.html b/tut_nonauto.html
index 6fb4ee644..07fe7dbe4 100644
--- a/tut_nonauto.html
+++ b/tut_nonauto.html
@@ -8,7 +8,7 @@
- Non-autonomous systems — heyoka 4.0.2 documentation
+ Non-autonomous systems — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/tut_parallel_mode.html b/tut_parallel_mode.html
index 09cac0e3c..b553d11e2 100644
--- a/tut_parallel_mode.html
+++ b/tut_parallel_mode.html
@@ -8,7 +8,7 @@
- Parallel mode — heyoka 4.0.2 documentation
+ Parallel mode — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/tut_param.html b/tut_param.html
index 911b969b0..ceec6b52b 100644
--- a/tut_param.html
+++ b/tut_param.html
@@ -8,7 +8,7 @@
- Runtime parameters — heyoka 4.0.2 documentation
+ Runtime parameters — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/tut_s11n.html b/tut_s11n.html
index 8ac73984f..3c972debc 100644
--- a/tut_s11n.html
+++ b/tut_s11n.html
@@ -8,7 +8,7 @@
- Serialisation — heyoka 4.0.2 documentation
+ Serialisation — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/tut_single_precision.html b/tut_single_precision.html
index e6222bf70..7522e6461 100644
--- a/tut_single_precision.html
+++ b/tut_single_precision.html
@@ -8,7 +8,7 @@
- Computations in single precision — heyoka 4.0.2 documentation
+ Computations in single precision — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/tut_taylor_method.html b/tut_taylor_method.html
index 4a0f69acb..cf7e8364a 100644
--- a/tut_taylor_method.html
+++ b/tut_taylor_method.html
@@ -8,7 +8,7 @@
- Taylor’s method — heyoka 4.0.2 documentation
+ Taylor’s method — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -134,8 +134,8 @@
-
-
+
+
@@ -199,6 +199,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography
diff --git a/variable.html b/variable.html
index 0f152dc13..afa44feb0 100644
--- a/variable.html
+++ b/variable.html
@@ -8,7 +8,7 @@
- Variables — heyoka 4.0.2 documentation
+ Variables — heyoka 4.1.0 documentation
@@ -36,7 +36,7 @@
-
+
@@ -133,8 +133,8 @@
-
-
+
+
@@ -198,6 +198,8 @@
Changelog
Breaking changes
Known issues
+
+
Acknowledgement
Bibliography