3 ms·
I’m curious (I’m planning on designing an ODE/PDE package relatively soon), what makes DifferentialEquations.jl the best available?
by Q6T46nT668w6i3m 4y ago
I’m curious (I’m planning on designing an ODE/PDE package relatively soon), what makes DifferentialEquations.jl the best available?
- logankilpatrick 4y agoThe fact that Chris R and the whole SciML ecosystem are using / building on it. Lots of resources going into it and usage in real world places like Pfizer and Moderna.
- leephillips 4y agoThis lists some of its unique abilities: https://docs.sciml.ai/DiffEqDocs/stable/ https://docs.sciml.ai/DiffEqDocs/stable/ The routines are sufficiently generic, with regard to Julia’s type system, to allow the solvers to automatically compose with other packages and to seamlessly use types other than Numbers. For example, instead of handling just functions Number→Number, you can define your ODE in terms of quantities with physical dimensions, uncertainties, quaternions, etc., and it will just work (for example, propagating uncertainties correctly to the solution¹). Recent developments involve research into the automated selection of solution routines based on the properties of the ODE, something that seems really next-level to me. [1] https://lwn.net/Articles/834571/ https://lwn.net/Articles/834571/
- adgjlsfhk1 4y agoMy best answer for you is https://docs.sciml.ai/DiffEqDocs/stable/solvers/ode_solve/#Full-List-of-Methods https://docs.sciml.ai/DiffEqDocs/stable/solvers/ode_solve/#F.... It's the list of the ~250 different solvers you can choose from (note that most of these have a bunch of customization options). DifferentialEquations.jl has heuristics that do a pretty good job of picking a good algorithm on it's own, but it also lets you test every algorithm you've heard of (and a bunch you haven't) to find the one that works perfectly for your problem.