[solver] Proposal: add classic tableau option for dopri5#158
Open
Zymrael wants to merge 3 commits intortqichen:masterfrom
Open
[solver] Proposal: add classic tableau option for dopri5#158Zymrael wants to merge 3 commits intortqichen:masterfrom
Zymrael wants to merge 3 commits intortqichen:masterfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi @rtqichen! Thanks for all the work done on maintaining the repo. I've been working on other niche numerical methods in PyTorch recently, and in the process implemented several standard, general-purpose ODE solvers. While checking against
torchdiffeqfor implementation accuracy, I noticed you've opted for adopri5modified tableau (from here?).This PR is simply a proposal for adding, as an option, the classic dopri5 tableau (as per Hairer I, II.5). Running DETEST yields interesting results, with
classic_dopri5being more accurate at low tols, although stricter tolerances make modifieddopri5a clear winner in terms of NFEs:If nothing else, this would allow apples--to--apples benchmarking with Julia packages, since
OrdinaryDiffEq.jlhas the standard tableau as the standard option afaik. Classicdopri5might also be useful to those mainly training Neural ODEs for ML tasks at tolerances~10^{-3}. Not sure if of interest, but there you go!