create_ODE_system

cubie.odesystems.create_ODE_system(dxdt: str | ~typing.Iterable[str], precision: type[~numpy.float16] | type[~numpy.float32] | type[~numpy.float64] | ~numpy.dtype[~numpy.float16] | ~numpy.dtype[~numpy.float32] | ~numpy.dtype[~numpy.float64] = <class 'numpy.float32'>, states: dict[str, float] | ~typing.Iterable[str] | None = None, observables: ~typing.Iterable[str] | None = None, parameters: dict[str, float] | ~typing.Iterable[str] | None = None, constants: dict[str, float] | ~typing.Iterable[str] | None = None, drivers: ~typing.Iterable[str] | dict[str, ~typing.Any] | None = None, user_functions: dict[str, ~typing.Callable] | None = None, name: str | None = None, strict: bool = False) SymbolicODE[source]

Create a SymbolicODE from SymPy definitions.

Parameters:
  • dxdt – System equations defined as either a single string or an iterable of equation strings in lhs = rhs form.

  • states – State labels either as an iterable or as a mapping to default initial values.

  • observables – Observable variable labels to expose from the generated system.

  • parameters – Parameter labels either as an iterable or as a mapping to default values.

  • constants – Constant labels either as an iterable or as a mapping to default values.

  • drivers – External driver variable labels required at runtime. Accepts either an iterable of driver symbol names or a dictionary mapping driver names to default values or driver-array samples and configuration entries.

  • user_functions – Custom callables referenced within dxdt expressions.

  • name – Identifier used for generated files. Defaults to the hash of the system definition.

  • precision – Target floating-point precision used when compiling the system.

  • strict – When True require every symbol to be explicitly categorised.

Returns:

Fully constructed symbolic system ready for compilation.

Return type:

SymbolicODE