From ec3103097ae540e699dee8a5cfec43834d810f1a Mon Sep 17 00:00:00 2001 From: Nathanael Bosch Date: Mon, 23 Sep 2024 19:20:19 +0200 Subject: [PATCH 1/3] README: more explanation for related-package trade-offs --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c28f3aa45..401d09eda 100644 --- a/README.md +++ b/README.md @@ -77,5 +77,5 @@ This includes not just bugs and feature requests but also general questions abou ## Related packages -- [probdiffeq](https://pnkraemer.github.io/probdiffeq/): Fast and feature-rich filtering-based probabilistic ODE solvers in JAX. -- [ProbNum](https://probnum.readthedocs.io/en/latest/): Probabilistic numerics in Python. It has not only probabilistic ODE solvers, but also probabilistic linear solvers, Bayesian quadrature, and many filtering and smoothing implementations. +- [ProbDiffEq](https://pnkraemer.github.io/probdiffeq/) is similar in scope to ProbNumDiffEq.jl and it provides fast and feature-rich probabilistic ODE solvers but is implemented in Python and built on JAX. +- [ProbNum](https://probnum.readthedocs.io/en/latest/) implements a wide range of probabilistic numerical methods, not only for ODEs but also for linear algebra, quadrature, and filtering/smoothing. It is implemented in Python and NumPy, and it focuses more on breadth and didactic purposes than on performance. From ad3faa651633b89280fd59a846db81d214c91c7b Mon Sep 17 00:00:00 2001 From: Nathanael Bosch Date: Mon, 23 Sep 2024 20:03:43 +0200 Subject: [PATCH 2/3] Update and correct second-order-ODE docs --- docs/src/tutorials/dynamical_odes.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/tutorials/dynamical_odes.md b/docs/src/tutorials/dynamical_odes.md index caebc979a..f0fedbb90 100644 --- a/docs/src/tutorials/dynamical_odes.md +++ b/docs/src/tutorials/dynamical_odes.md @@ -92,10 +92,10 @@ As a result, we can use the `EK1` both for first and second order ODEs, but it a julia> using BenchmarkTools julia> @btime solve(prob, EK1(order=3), adaptive=false, dt=1e-2); - 766.312 ms (400362 allocations: 173.38 MiB) + 317.336 ms (140561 allocations: 140.41 MiB) -julia> @btime solve(prob2, EK1(order=4), adaptive=false, dt=1e-2); - 388.301 ms (510676 allocations: 102.78 MiB) +julia> @btime solve(prob2, EK1(order=3), adaptive=false, dt=1e-2); + 136.654 ms (180647 allocations: 47.95 MiB) ``` ## Energy preservation From 208d2ee42d34612ac3a982ef8c252cb97661250f Mon Sep 17 00:00:00 2001 From: Nathanael Bosch Date: Tue, 24 Sep 2024 15:35:58 +0200 Subject: [PATCH 3/3] Update the related-package section in `docs/src/index.md` --- docs/src/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/index.md b/docs/src/index.md index a0cc0f378..d28a9a893 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -40,5 +40,5 @@ For a quick introduction check out the "[Solving ODEs with Probabilistic Numeric ## Related packages -- [probdiffeq](https://pnkraemer.github.io/probdiffeq/): Fast and feature-rich filtering-based probabilistic ODE solvers in JAX. -- [ProbNum](https://probnum.readthedocs.io/en/latest/): Probabilistic numerics in Python. It has not only probabilistic ODE solvers, but also probabilistic linear solvers, Bayesian quadrature, and many filtering and smoothing implementations. +- [ProbDiffEq](https://pnkraemer.github.io/probdiffeq/) is similar in scope to ProbNumDiffEq.jl and it provides fast and feature-rich probabilistic ODE solvers but is implemented in Python and built on JAX. +- [ProbNum](https://probnum.readthedocs.io/en/latest/) implements a wide range of probabilistic numerical methods, not only for ODEs but also for linear algebra, quadrature, and filtering/smoothing. It is implemented in Python and NumPy, and it focuses more on breadth and didactic purposes than on performance.