SciML / DifferentialEquations.jl

Multi-language suite for high-performance solvers of differential equations and scientific machine learning (SciML) components. Ordinary differential equations (ODEs), stochastic differential equations (SDEs), delay differential equations (DDEs), differential-algebraic equations (DAEs), and more in Julia.
https://docs.sciml.ai/DiffEqDocs/stable/
Other
2.88k stars 228 forks source link

Alignment between “Recommended Methods” and the polyalgorithms #1031

Open prbzrg opened 7 months ago

prbzrg commented 7 months ago

IMO, there should be alignment between “Recommended Methods” section in docs and the polyalgorithms. For example, the polyalgorithm doesn't include GPU solvers, but they are recommended. Or Feagin14 is recommended for high accuracy solving, but the polyalgorithm doesn't use it.

https://docs.sciml.ai/DiffEqDocs/dev/solvers/ode_solve/#Recommended-Methods

https://github.com/SciML/DifferentialEquations.jl/blob/master/src/ode_default_alg.jl

ChrisRackauckas commented 7 months ago

The polyalgorithm constrains itself to a smaller set of algorithms to keep compilation time down, and prefers robustness over performance over a wide range of problems. Because of that, it sometimes deviates from the most optimal to something slightly less optimal in order to cut the number of algorithms in the list.

prbzrg commented 7 months ago

If DifferentialEquations includes all algorithms. (?) Can't we add an option to choose between "most optimal" or "best tradeoff"? Maybe in alg_hints

ChrisRackauckas commented 7 months ago

Or just make those algorithms like https://github.com/SciML/OrdinaryDiffEq.jl/pull/2103