Solver Compatibility Chart

This chart is for documenting the compatibility of the component solver packages to the common interface. An x means that the option is implemented or the add-on functionality will work with the given solver. A blank means that the option has not been implemented or that a given add-on has not been tested with a given package. If there are any errors in this chart, please file an issue or submit a pull-request.

OptionOrdinaryDiffEq.jlSundials.jlODE.jlODEInterface.jlLSODA.jlStochasticDiffEq.jlDelayDiffEq.jlDASKR.jlDASSL.jlODEIterators.jl
Dense (continuous) outputxxxx
Tolerance controlxxxxxxxxxx
Advanced stepsize controlxxxx
internalnormxxxx
Initial dtxxxxx
save_everystepxxxxxxx
timeseries_stepsxxx
saveatxxxxxxx
tstopsxxx
d_discontinuitiesxxx
isoutofdomainxxxx
Allows reverse time directionxxxxxxx
Unitful numbersxx
Arbitrary dimension arraysxxxxxxxxxx
Complex numberspxp
Arbitrary precisionxxxxx
ApproxFun typesxx
Progress monitoringxxx
Integrator interfacexxx
Resizabilityxxx
Cache iteratorxxx
Can choose linear solversxsxxx
Can choose nonlinear solversxx
Can use out of placexxxxxx
Can use inplacexxxxxxxxx
Compatible with DiffEqDevToolsxxxxxxxx
Compatible with ParameterizedFunctionsxxxxxxxx
Continuous Callbacksxxxxx
Discrete Callbacksxxxx
Monte Carlo Simulationsxxxxxxxxx
Parameter Estimationxnnnnxxx
Parameter Sensitivity Analysisxxxxxx
Plotting and solution handlingxxxxxxxx

Note on PDEs

This chart is only for the basic (ODE/SDE/DAE/DDE) solver methods. The PDE solvers (will be) built on top of these packages and thus will have the same options available. Current, FiniteElementDiffEq.jl is a solo implemention which is compatible with save_everystep, timeseries_steps, plotting and solution handling, arbitrary precision, and choice of dt.