API Reference

Systems: Core Classes

Abstract base classes and core system implementations

systems.base.core.SymbolicSystemBase Abstract base class for symbolic systems (time-domain agnostic).
systems.base.core.ContinuousSystemBase Abstract base class for all continuous-time dynamical systems.
systems.base.core.DiscreteSystemBase Abstract base class for all discrete-time dynamical systems.
systems.base.core.ContinuousSymbolicSystem Concrete symbolic continuous-time dynamical system.
systems.base.core.DiscreteSymbolicSystem Concrete symbolic discrete-time dynamical system.
systems.base.core.ContinuousStochasticSystem Concrete symbolic continuous-time stochastic dynamical system (SDE).
systems.base.core.DiscreteStochasticSystem Concrete symbolic discrete-time stochastic dynamical system.
systems.base.core.DiscretizedSystem Pure wrapper providing discrete interface to continuous systems.
systems.base.core.discretize Convenience wrapper for creating a discretized system.

Systems: Numerical Integration

ODE and SDE integrators for multiple backends

systems.base.numerical_integration.is_sde_method Check if integration method is for stochastic differential equations.
systems.base.numerical_integration.is_fixed_step Check if integration method uses fixed time stepping.
systems.base.numerical_integration.normalize_method_name Normalize method names across backends to canonical form.
systems.base.numerical_integration.get_available_methods Get available integration methods for a backend.
systems.base.numerical_integration.validate_method Validate method for backend and system type.
systems.base.numerical_integration.get_method_info Get comprehensive information about a method.
systems.base.numerical_integration.list_all_methods List all integration methods across all categories.
systems.base.numerical_integration.get_implementing_library Get which library/package implements this method.
systems.base.numerical_integration.IntegratorFactory Factory for creating numerical integrators.
systems.base.numerical_integration.IntegratorBase Abstract base class for numerical integrators.
systems.base.numerical_integration.ScipyIntegrator Adaptive integrator using scipy.integrate.solve_ivp.
systems.base.numerical_integration.DiffraxIntegrator JAX-based ODE integrator using the Diffrax library.
systems.base.numerical_integration.TorchDiffEqIntegrator PyTorch-based ODE integrator using the torchdiffeq library.
systems.base.numerical_integration.stochastic.SDEIntegratorFactory Factory for creating SDE numerical integrators.
systems.base.numerical_integration.stochastic.SDEIntegratorBase Abstract base class for SDE integrators.
systems.base.numerical_integration.stochastic.DiffEqPySDEIntegrator Julia-based SDE integrator using DifferentialEquations.jl via diffeqpy.
systems.base.numerical_integration.stochastic.TorchSDEIntegrator PyTorch-based SDE integrator using the torchsde library.
systems.base.numerical_integration.stochastic.DiffraxSDEIntegrator JAX-based SDE integrator using the Diffrax library.
systems.base.numerical_integration.stochastic.CustomBrownianPath Custom Brownian motion that uses provided dW increments.
systems.base.numerical_integration.stochastic.create_custom_or_random_brownian Create either custom or random Brownian motion for Diffrax.

Systems: Utilities

Backend management, linearization, and code generation

systems.base.utils.BackendManager Manages backend detection, conversion, and device placement.
systems.base.utils.CodeGenerator Orchestrates code generation and caching for a dynamical system.
systems.base.utils.DynamicsEvaluator Evaluates forward dynamics across backends.
systems.base.utils.EquilibriumHandler Manages multiple equilibrium points for a dynamical system.
systems.base.utils.LinearizationEngine Computes linearized dynamics across backends.
systems.base.utils.ObservationEngine Evaluates observation/output functions across backends.
systems.base.utils.SymbolicValidator Validates symbolic dynamical system definitions.
systems.base.utils.stochastic.NoiseCharacteristics Container for noise structure analysis results.
systems.base.utils.stochastic.NoiseCharacterizer Analyzes symbolic diffusion expressions to determine noise structure.
systems.base.utils.stochastic.analyze_noise_structure Convenience function for analyzing noise structure.
systems.base.utils.stochastic.DiffusionHandler Handles code generation and caching for diffusion terms.
systems.base.utils.stochastic.SDEValidator Validates stochastic dynamical system definitions.

Control Design & Analysis

Control synthesis, system analysis, and classical control functions

control.ControlSynthesis Control synthesis wrapper for system composition.
control.SystemAnalysis System analysis wrapper for composition.
control.design_lqr Design Linear Quadratic Regulator (LQR) controller.
control.design_lqg Design Linear Quadratic Gaussian (LQG) controller.
control.design_kalman_filter Design Kalman filter for optimal state estimation.
control.analyze_stability Analyze system stability via eigenvalue analysis.
control.analyze_controllability Test controllability of linear system (A, B).
control.analyze_observability Test observability of linear system (A, C).

Visualization

Plotting and visualization tools for dynamical systems

visualization.TrajectoryPlotter Time-domain trajectory visualization.
visualization.PhasePortraitPlotter Phase space visualization for dynamical systems.
visualization.ControlPlotter Control system analysis visualization.
visualization.ColorSchemes Predefined color palettes for plotting.
visualization.PlotThemes Complete plotting theme configurations.

Builtin: Deterministic Continuous

Continuous-time deterministic dynamical systems

systems.builtin.deterministic.continuous.LinearSystem First-order linear system: dx/dt = -ax + bu
systems.builtin.deterministic.continuous.AutonomousLinearSystem Autonomous first-order linear system: dx/dt = -a*x
systems.builtin.deterministic.continuous.LinearSystem2D Two-dimensional linear system.
systems.builtin.deterministic.continuous.SymbolicPendulum Simple inverted pendulum system - first-order state-space formulation.
systems.builtin.deterministic.continuous.SymbolicPendulum2ndOrder Inverted pendulum - second-order formulation (returns ONLY acceleration).
systems.builtin.deterministic.continuous.CartPole Cart-pole system (inverted pendulum on cart) - classic underactuated system.
systems.builtin.deterministic.continuous.Lorenz Lorenz system - famous chaotic dynamical system from atmospheric convection.
systems.builtin.deterministic.continuous.ControlledLorenz Lorenz system - famous chaotic dynamical system from atmospheric convection with a forcing term
systems.builtin.deterministic.continuous.VanDerPolOscillator Van der Pol oscillator - self-excited nonlinear oscillator with limit cycle.
systems.builtin.deterministic.continuous.ControlledVanDerPolOscillator Van der Pol oscillator - self-excited nonlinear oscillator with limit cycle and forcing term
systems.builtin.deterministic.continuous.DuffingOscillator Duffing oscillator - nonlinear oscillator with cubic stiffness term.
systems.builtin.deterministic.continuous.CoupledOscillatorSystem Coupled mass-spring-damper system with rotational coupling - first-order formulation.
systems.builtin.deterministic.continuous.NonlinearChainSystem Chain of five coupled nonlinear oscillators - first-order formulation.
systems.builtin.deterministic.continuous.DubinsVehicle Dubins vehicle - kinematic car model with unicycle dynamics.
systems.builtin.deterministic.continuous.PathTracking Path tracking error dynamics for a vehicle following a circular reference path.
systems.builtin.deterministic.continuous.SymbolicQuadrotor2D Planar quadrotor (quadcopter) - second-order formulation.
systems.builtin.deterministic.continuous.SymbolicQuadrotor2DLidar Symbolic representation of a planar (2D) quadrotor with lidar-based partial observations.
systems.builtin.deterministic.continuous.PVTOL Planar Vertical Take-Off and Landing (PVTOL) aircraft - second-order formulation.
systems.builtin.deterministic.continuous.Manipulator2Link Two-link planar robotic manipulator - second-order formulation.
systems.builtin.deterministic.continuous.FifthOrderMechanicalSystem Fifth-order mechanical system - extremely high-order dynamics.
systems.builtin.deterministic.continuous.ContinuousBatchReactor Continuous-time chemical batch reactor with temperature control.
systems.builtin.deterministic.continuous.ContinuousCSTR Continuous-time Continuous Stirred-Tank Reactor (CSTR) with cooling jacket.

Builtin: Deterministic Discrete

Discrete-time deterministic dynamical systems

systems.builtin.deterministic.discrete.DiscreteOscillator Discrete-time damped harmonic oscillator with external forcing.
systems.builtin.deterministic.discrete.DiscretePendulum Discrete-time simple pendulum with friction and optional control.
systems.builtin.deterministic.discrete.DiscreteDoubleIntegrator Discrete-time double integrator (position-controlled point mass).
systems.builtin.deterministic.discrete.DiscreteDoubleIntegratorWithForce Discrete double integrator with explicit force input and mass.
systems.builtin.deterministic.discrete.DiscreteRobotArm Discrete-time single-link robot arm with gravity and friction.
systems.builtin.deterministic.discrete.DiscreteCartPole Discrete-time cart-pole (inverted pendulum on cart) system.
systems.builtin.deterministic.discrete.DifferentialDriveRobot Discrete-time differential drive mobile robot with nonholonomic constraints.
systems.builtin.deterministic.discrete.DiscreteBatchReactor Discrete-time chemical batch reactor with temperature control.
systems.builtin.deterministic.discrete.DiscreteCSTR Discrete-time Continuous Stirred-Tank Reactor (CSTR) with cooling jacket.
systems.builtin.deterministic.discrete.DiscreteSolowModel Discrete-time Solow-Swan neoclassical growth model.
systems.builtin.deterministic.discrete.LogisticMap The logistic map: x[k+1] = r·x[k]·(1 - x[k])
systems.builtin.deterministic.discrete.HenonMap The Hénon Map: Paradigm of 2D dissipative chaos and strange attractors.
systems.builtin.deterministic.discrete.StandardMap The Standard Map (Chirikov-Taylor Map): Paradigm of Hamiltonian chaos.

Builtin: Stochastic Continuous

Continuous-time stochastic dynamical systems (SDEs)

systems.builtin.stochastic.continuous.BrownianMotion Standard Brownian motion (Wiener process) - pure diffusion process.
systems.builtin.stochastic.continuous.BrownianMotion2D Two-dimensional Brownian motion with independent components.
systems.builtin.stochastic.continuous.BrownianMotionWithDrift Alias for GeometricBrownianMotion.
systems.builtin.stochastic.continuous.GeometricBrownianMotion Geometric Brownian motion with multiplicative (state-dependent) noise.
systems.builtin.stochastic.continuous.OrnsteinUhlenbeck Ornstein-Uhlenbeck process with mean reversion and additive noise.
systems.builtin.stochastic.continuous.MultivariateOrnsteinUhlenbeck Multivariate Ornstein-Uhlenbeck process with coupling and correlated noise.
systems.builtin.stochastic.continuous.CoxIngersollRoss Cox-Ingersoll-Ross process with mean reversion and square-root diffusion.
systems.builtin.stochastic.continuous.LangevinDynamics Langevin dynamics - particle in viscous fluid with thermal noise.
systems.builtin.stochastic.continuous.StochasticDoubleIntegrator Stochastic double integrator - canonical LQG benchmark system.
systems.builtin.stochastic.continuous.ContinuousStochasticPendulum Stochastic pendulum with random forcing - canonical nonlinear stochastic system.
systems.builtin.stochastic.continuous.StochasticCartPole Stochastic inverted pendulum on cart with random disturbances.
systems.builtin.stochastic.continuous.StochasticLorenz Stochastic Lorenz system - deterministic chaos with random perturbations.
systems.builtin.stochastic.continuous.StochasticSIR Stochastic SIR epidemic model with demographic noise.
systems.builtin.stochastic.continuous.ContinuousStochasticBatchReactor Continuous-time stochastic batch reactor with process noise.
systems.builtin.stochastic.continuous.ContinuousStochasticCSTR Continuous-time stochastic CSTR with multiple equilibria and Brownian noise.

Builtin: Stochastic Discrete

Discrete-time stochastic dynamical systems

systems.builtin.stochastic.discrete.DiscreteAR1 First-order autoregressive process with additive noise.
systems.builtin.stochastic.discrete.DiscreteWhiteNoise Pure white noise process - memoryless random sequence.
systems.builtin.stochastic.discrete.DiscreteRandomWalk Random walk - non-stationary process with unit root.
systems.builtin.stochastic.discrete.DiscreteARMA11 ARMA(1,1) process - combines autoregressive and moving average.
systems.builtin.stochastic.discrete.DiscreteVAR1 Vector Autoregressive process of order 1 - multivariate time series model.
systems.builtin.stochastic.discrete.DiscreteGARCH11 GARCH(1,1) - time-varying volatility model (Nobel Prize 2003).
systems.builtin.stochastic.discrete.DiscreteStochasticDoubleIntegrator Discrete-time stochastic double integrator - canonical digital LQG benchmark.
systems.builtin.stochastic.discrete.DiscreteStochasticPendulum Discrete-time stochastic pendulum for digital control and RL.
systems.builtin.stochastic.discrete.DiscreteStochasticQueue Discrete-time stochastic queue with random arrivals and service.
systems.builtin.stochastic.discrete.DiscreteStochasticBatchReactor Discrete-time stochastic batch reactor for digital control and estimation.
systems.builtin.stochastic.discrete.DiscreteStochasticCSTR Discrete-time stochastic CSTR with multiple steady states and process noise.
systems.builtin.stochastic.discrete.DiscreteStochasticLogisticMap Discrete-time stochastic logistic map - chaos meets noise.

Types: Core

Fundamental vectors, matrices, dimensions, and function types

types.core.ScalarLike Scalar value in any backend.
types.core.ArrayLike Array-like type supporting multiple backends.
types.core.StateVector State vector x ∈ ℝⁿˣ.
types.core.ControlVector Control input vector u ∈ ℝⁿᵘ.
types.core.OutputVector Output/observation/measurement vector y ∈ ℝⁿʸ.
types.core.NoiseVector Noise/disturbance vector w ∈ ℝⁿʷ (stochastic systems only).
types.core.ParameterVector Parameter vector θ ∈ ℝⁿᵖ.
types.core.StateMatrix State matrix (nx, nx).
types.core.InputMatrix Input matrix B (nx, nu).
types.core.OutputMatrix Output/observation matrix (ny, nx).
types.core.DiffusionMatrix Diffusion/noise gain matrix (nx, nw) - stochastic systems only.
types.core.FeedthroughMatrix Feedthrough/direct transmission matrix (ny, nu).
types.core.GainMatrix Gain matrix for control or estimation.
types.core.CovarianceMatrix Covariance matrix (symmetric, positive semidefinite).
types.core.SystemDimensions System dimensions as dictionary.
types.core.DynamicsFunction Dynamics function f(x, u).
types.core.OutputFunction Output/observation function h(x).
types.core.DiffusionFunction Diffusion function g(x, u) for stochastic systems.
types.core.ControlPolicy Control policy/controller π(x).
types.core.TimeVaryingControl Time-varying control function u(t).
types.core.FeedbackController Feedback controller with time awareness π(x, t).
types.core.ControlInput Unified type for control inputs to integration methods.

Types: Backend & Configuration

Backend support and configuration types

types.backends.Backend Backend identifier for numerical computation.
types.backends.Device Device identifier for hardware acceleration.
types.backends.BackendConfig Backend configuration dictionary.
types.backends.IntegrationMethod Integration method for continuous-time systems (ODEs).
types.backends.SDEIntegrationMethod SDE integration method for stochastic differential equations.
types.backends.DiscretizationMethod Discretization method for continuous → discrete transformation.
types.backends.OptimizationMethod Optimization method for control/estimation problems.
types.backends.NoiseType Noise structure classification for stochastic systems.
types.backends.SDEType SDE interpretation type.
types.backends.ConvergenceType SDE convergence type for numerical integration.
types.backends.IntegratorConfig Configuration for continuous-time integrators.
types.backends.SDEIntegratorConfig Configuration for SDE integrators.
types.backends.DiscretizerConfig Configuration for system discretization.
types.backends.SystemConfig Complete system configuration dictionary.
types.backends.validate_backend Validate and normalize backend string.
types.backends.validate_device Validate device for given backend.
types.backends.get_backend_default_method Get default integration method for backend.

Types: Trajectories & Simulation

Time series, trajectories, and simulation results

types.trajectories.TimePoints Array of time points for simulation or evaluation.
types.trajectories.TimeSpan Time interval for continuous integration: (t_start, t_end).
types.trajectories.StateTrajectory State trajectory over time.
types.trajectories.ControlSequence Control input sequence over time.
types.trajectories.OutputSequence Output/measurement sequence over time.
types.trajectories.NoiseSequence Noise/disturbance sequence for stochastic simulation.
types.trajectories.SimulationResult Result from continuous-time system simulation.
types.trajectories.IntegrationResult Result from continuous-time integration (ODE/SDE solver).
types.trajectories.TrajectoryStatistics Statistical summary of trajectory.
types.trajectories.TrajectorySegment Segment of trajectory between two time points.

Types: Control Results

Control design and analysis result types

types.control_classical.LQRResult Linear Quadratic Regulator (LQR) design result.
types.control_classical.LQGResult Linear Quadratic Gaussian (LQG) controller design result.
types.control_classical.KalmanFilterResult Kalman Filter (optimal state estimator) design result.
types.control_classical.StabilityInfo Stability analysis result dictionary.
types.control_classical.ControllabilityInfo Controllability analysis result.
types.control_classical.ObservabilityInfo Observability analysis result.
types.control_classical.PolePlacementResult Pole placement (eigenvalue assignment) result.
types.control_classical.LuenbergerObserverResult Luenberger observer (deterministic state estimator) design result.
types.control_advanced.MPCResult Model Predictive Control (MPC) solution result.
types.control_advanced.MHEResult Moving Horizon Estimation (MHE) result.
types.control_advanced.H2ControlResult H₂ optimal control result.
types.control_advanced.HInfControlResult H∞ robust control result.
types.control_advanced.LMIResult Linear Matrix Inequality (LMI) solver result.
types.control_advanced.AdaptiveControlResult Adaptive control result.
types.control_advanced.SlidingModeResult Sliding Mode Control (SMC) result.

Types: Estimation

State estimation result types

types.estimation.EKFResult Extended Kalman Filter (EKF) state and result.
types.estimation.UKFResult Unscented Kalman Filter (UKF) result.
types.estimation.ParticleFilterResult Particle Filter (Sequential Monte Carlo) result.

Types: Linearization

Linearization and Jacobian types

types.linearization.LinearizationResult Flexible linearization result type.
types.linearization.DeterministicLinearization Linearization result for deterministic systems: (A, B).
types.linearization.StochasticLinearization Linearization result for stochastic systems: (A, B, G).
types.linearization.ContinuousLinearization Alias for continuous-time deterministic linearization.
types.linearization.DiscreteLinearization Alias for discrete-time deterministic linearization.
types.linearization.ContinuousStochasticLinearization Alias for continuous-time stochastic linearization.
types.linearization.DiscreteStochasticLinearization Alias for discrete-time stochastic linearization.
types.linearization.FullLinearization Complete linearization including output: (A, B, C, D).
types.linearization.FullStochasticLinearization Complete stochastic linearization: (A, B, G, C, D).
types.linearization.ObservationLinearization Observation/output linearization: (C, D).
types.linearization.StateJacobian State Jacobian ∂f/∂x.
types.linearization.ControlJacobian Control Jacobian ∂f/∂u.
types.linearization.OutputJacobian Output Jacobian ∂h/∂x.
types.linearization.DiffusionJacobian Diffusion Jacobian ∂g/∂x (stochastic systems).
types.linearization.LinearizationCacheKey Cache key for linearization results.

Types: Symbolic

Symbolic computation types

types.symbolic.SymbolicExpression Single symbolic expression.
types.symbolic.SymbolicMatrix Matrix of symbolic expressions.
types.symbolic.SymbolicStateEquations Symbolic state equations: f(x, u, params).
types.symbolic.SymbolicJacobian Jacobian matrix: ∂f/∂x.

Types: Advanced

Reachability, robustness, optimization, and learning types

types.reachability.ReachabilityResult Reachability analysis result.
types.reachability.ROAResult Region of Attraction (ROA) analysis result.
types.reachability.CBFResult Control Barrier Function (CBF) result.
types.reachability.CLFResult Control Lyapunov Function (CLF) result.
types.robustness.RobustStabilityResult Robust stability analysis result.
types.robustness.TubeMPCResult Tube-based MPC result.
types.optimization.OptimizationResult General nonlinear optimization result.
types.optimization.TrajectoryOptimizationResult Trajectory optimization result.
types.learning.TrainingResult Neural network training result.
types.learning.RLTrainingResult Reinforcement learning training result.
types.contraction.ContractionAnalysisResult Contraction analysis result.
types.contraction.CCMResult Control Contraction Metrics (CCM) result.
types.conformal.ConformalPredictionResult Conformal prediction result for test points.

Types: Protocols

Structural subtyping protocols for system interfaces

types.protocols.ContinuousSystemProtocol Minimal interface for continuous-time dynamical systems.
types.protocols.DiscreteSystemProtocol Minimal interface for discrete-time dynamical systems.
types.protocols.StochasticSystemProtocol System with stochastic dynamics (continuous or discrete).
types.protocols.LinearizableContinuousProtocol Continuous system with linearization capability.
types.protocols.LinearizableDiscreteProtocol Discrete system with linearization capability.

State Observers

State estimation and observer design

observers.LinearObserver Linear state observer with constant gain.
observers.ExtendedKalmanFilter Extended Kalman Filter (EKF) for nonlinear state estimation.