1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
"""
Module for transforming model equations into "abstract code" that can be then be
further translated into executable code by the `codegen` module.
"""
from .base import *
from .exact import *
from .explicit import *
from .exponential_euler import *
from .GSL import *
StateUpdateMethod.register("linear", linear)
StateUpdateMethod.register("exact", exact)
StateUpdateMethod.register("independent", independent)
StateUpdateMethod.register("exponential_euler", exponential_euler)
StateUpdateMethod.register("euler", euler)
StateUpdateMethod.register("rk2", rk2)
StateUpdateMethod.register("rk4", rk4)
StateUpdateMethod.register("milstein", milstein)
StateUpdateMethod.register("heun", heun)
StateUpdateMethod.register("gsl_rk2", gsl_rk2)
StateUpdateMethod.register("gsl_rk4", gsl_rk4)
StateUpdateMethod.register("gsl_rkf45", gsl_rkf45)
StateUpdateMethod.register("gsl_rkck", gsl_rkck)
StateUpdateMethod.register("gsl_rk8pd", gsl_rk8pd)
# as we consider rkf45 the default we also register it under 'gsl'
StateUpdateMethod.register("gsl", gsl_rkf45)
__all__ = [
"StateUpdateMethod",
"linear",
"exact",
"independent",
"milstein",
"heun",
"euler",
"rk2",
"rk4",
"ExplicitStateUpdater",
"exponential_euler",
"gsl_rk2",
"gsl_rk4",
"gsl_rkf45",
"gsl_rkck",
"gsl_rk8pd",
]
|