Using autodiff types for ODEint solvers
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Start by reviewing Boost.ODEInt's adaptive Runge-Kutta and stiff solver interfaces, then assess whether autodiff::dual or similar automatic differentiation types can serve as state types. Done would mean a clear feasibility answer with recommended practices, caveats, and any supporting examples or references.
Written by the indexing model from the issue text.
Description
I am exploring whether it is possible to compute first order (or even higher order) sensitivities of ODE solutions using Boost.ODEInt by giving the integrator an automatic differentiation type (like autodiff::dual or similar) as the state type.
My questions are:
-
Is it feasible to use generic autodiff types in adaptive Runge-Kutta solvers or in stiff solvers provided by ODEInt to compute sensitivities directly?
-
Are there recommended practices or caveats when doing so?
Any guidance, examples, or references would be greatly appreciated.
Thank you very much!
- Dominant language
- C++
- Stars
- 55
- Forks
- 59
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from boostorg/odeint
-
Difficulty 3/5 1-2 days Newbie friendliness 45/100
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 43/100
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
-
ODE45 with eventOpen
Difficulty 5/5 Over a week Newbie friendliness 25/100
Similar issues
-
Make Catch2 optional when `RDK_BUILD_CPP_TESTS=OFF`Possibly taken @pechersky claimed this today. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 2 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
dice-group/dice-hash#111 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
google/libaddressinput#255 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
MerginMaps/mobile#4741 ·
Maintainers usually reply within 1 day