ODE systems
cubie.odesystems
The create_ODE_system() helper is the main entry point. It consumes
symbolic sympy equations and creates SymbolicODE instances that
inherit CUDA compilation behaviour from cubie.CUDAFactory.
BaseODE sets the abstract requirements, and SymbolicODE is
currently its concrete implementation. Base classes and data containers expose
the precision-aware metadata required by integrator factories.
Subpackages
Core API
create_ODE_system – builds
SymbolicODEinstances from SymPy expressions.SymbolicODE – concrete
BaseODEsubclass for symbolic systems.BaseODE – abstract base exposing CUDA compilation helpers.
Data containers and caches
ODEData – captures compile-time metadata such as precision and state sizes.
Variables – the states, parameters and observables a system declares, with their default values, and the parameters a batch compiles into the code as numbers.
SystemLayout – the variables in each solver argument (initial values, parameters) and the ones which get compiled into the code as numbers.
SystemSizes – records shape information for state and observable vectors.
ODECache – caches compiled device functions and solver helpers.
Dependencies
SymbolicODEsubclassescubie.CUDAFactoryso integrator loops can request compiled CUDA device functions directly.Precision handling relies on
cubie._utilshelpers.Generated kernels are consumed by
cubie.integratorsfactories during loop construction.