Solver Compatibility Chart

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.jl
Nonlinear Dense (continuous) outputxxxxx
Tolerance controlxxxxxxxxx
Advanced stepsize controlxxxx
Mass Matrices^xxxx
Analytical Jacobians^†xxxx
General Performance Overloads^†xxx
internalnormxxxx
Initial dtxxxxx
save_everystepxxxxxxx
timeseries_stepsxxx
saveatxxxxxxx
tstopsxxx
d_discontinuitiesxxx
isoutofdomainxxxx
Allows reverse time directionxxxxxxx
Unitful numbersxx
Arbitrary dimension arraysxxxxxxxxx
Complex numberspxp
Arbitrary precisionxxxxx
ApproxFun typesxx
Progress monitoringxxx
Integrator interfacexxx
Resizabilityxxx
Cache iteratorxxx
Can choose linear solversxsxxx
Can choose nonlinear solversxxxx
Can use out of place nativelyxxxxx
Can use inplace nativelyxxxxxxx
Compatible with DiffEqDevToolsxxxxxxxx
Compatible with ParameterizedFunctionsxxxxxxxx
Continuous Callbacksxxxx
Discrete Callbacksxxx
Monte Carlo Simulationsxxxxxxxx
Parameter Estimationxnnnnxxnx
Parameter Sensitivity Analysisxxxxxx
Plotting and solution handlingxxxxxxxxx

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.