Method overview
Built-in families
Section titled “Built-in families”DESolve organizes time integrators by method-table modules. The main families in the repository are:
methods_rk.pyfor explicit Runge-Kutta schemesmethods_symplectic.pyfor explicit symplectic splitting methodsmethods_esdirk.pyfor singly diagonally implicit RK variantsmethods_ark.pyfor additive Runge-Kutta methodsmethods_glee.pyandmethods_glee_eimex.pyfor GLEE-related methodsmethods_mrk.pyandmethods_imex_mrk.pyfor multirate formulationsmethods_etrs.pyandmethods_ide.pyfor additional research-specific tables
How registration works
Section titled “How registration works”During DESolver.setup(), the solver calls _RegisterDefaultMethods(), which
collects method dictionaries from each module and stores them in the internal
method registry.
From a user perspective, that means two things:
- adding a new method is mostly a data-entry problem in the appropriate method table
- a method is not available until it is registered inside
DESolver
Choosing a first method
Section titled “Choosing a first method”Use this rough rule of thumb:
- start with
RK4for simple explicit baselines - use the symplectic family for separable Hamiltonian systems when long-time phase-space structure matters
- move to ESDIRK or ARK variants when stiffness or splitting matters
- use IMEX and multirate methods when you want explicit/implicit separation or multiple time scales
Extending the library
Section titled “Extending the library”When adding a method:
- Put the coefficient data in the relevant
desolve/methods_*.pyfile. - Keep the naming consistent with the existing method registry.
- Register it in
_RegisterDefaultMethods(). - Add a small regression test or notebook reproduction.
Detailed IMEX-MRK notes
Section titled “Detailed IMEX-MRK notes”The IMEX multirate methods have their own dedicated documentation page because
their implementation uses four coupled tableaux (AB, AF, AS, AT) and
maps directly onto the 2022 Applied Mathematics Letters paper that introduced
the one-implicit-stage extension.
See the IMEX-MRK implementation notes.
Symplectic notes
Section titled “Symplectic notes”The new symplectic family uses the paper-style drift and kick coefficient tables
a and b rather than a Runge-Kutta tableau. The dedicated page shows how to
solve the same harmonic-oscillator problem with either RK4 or a symplectic
composition method.
See the symplectic methods page.