How dynamicslab/pysindy works
PySINDy infers interpretable governing equations from measured time-series data. The main workflow is to provide trajectories to SINDy, estimate derivatives when needed, construct candidate features, and fit a sparse optimizer to identify a model; fitted models can then simulate future states. The graph preserves weak-form and implicit SINDy-PI approaches, alternative feature libraries and optimizers, and the array-axis support layer. Relationships are limited to the README and SOURCE INDEX references; unsampled subsystem internals are not asserted.
Main entry points: _core.py SINDy models · feature_library/base.py Library API · optimizers/base.py Optimizer API · differentiation/base.py Differentiation API
Components 25
Model fitting
- SINDy models
pysindy/_core.py - Weak SINDy
pysindy/_weak.py - SINDy-PI
pysindy/_sindypi.py - Deeptime adapters
pysindy/deeptime.py
Differentiation
- Differentiation API
pysindy/differentiation/base.py - Finite differences
pysindy/differentiation/finite_difference.py - Smoothed differences
pysindy/differentiation/smoothed_finite_difference.py - Spectral derivatives
pysindy/differentiation/spectral_derivative.py - SINDy derivative
pysindy/differentiation/sindy_derivative.py
Feature libraries
- Library API
pysindy/feature_library/base.py - Polynomial features
pysindy/feature_library/polynomial_library.py - Composite features
pysindy/feature_library/generalized_library.py - PDE features
pysindy/feature_library/pde_library.py - Weak PDE features
pysindy/feature_library/weak_pde_library.py - Other libraries
pysindy/feature_library
Sparse optimizers
- Optimizer API
pysindy/optimizers/base.py - STLSQ
pysindy/optimizers/stlsq.py - SR3 variants
pysindy/optimizers/sr3.py - Constrained SR3
pysindy/optimizers/_constrained_sr3.py - Trapping SR3
pysindy/optimizers/trapping_sr3.py - Other optimizers
pysindy/optimizers
Data support
- Axis-aware arrays
pysindy/utils/_axes.py - Numerical utilities
pysindy/utils/base.py - Example systems
pysindy/utils/odes.py
Other components
- Measurements
Connections 27
- Measurements → SINDy models: provides trajectories
- SINDy models → Differentiation API: estimates derivatives
pysindy/_core.py - SINDy models → Library API: builds features
pysindy/_core.py - SINDy models → Optimizer API: fits coefficients
pysindy/_core.py - SINDy models → Weak SINDy: offers weak formulation
pysindy/__init__.py - SINDy models → SINDy-PI: offers implicit identification
pysindy/__init__.py - SINDy models → Deeptime adapters: provides adapters
pysindy/__init__.py - SINDy models → Example systems: simulates systems
pysindy/_core.py - Finite differences → Differentiation API: implements
pysindy/differentiation/finite_difference.py - Smoothed differences → Finite differences: extends
pysindy/differentiation/smoothed_finite_difference.py - Spectral derivatives → Differentiation API: implements
pysindy/differentiation/spectral_derivative.py - SINDy derivative → Differentiation API: implements
pysindy/differentiation/sindy_derivative.py - Polynomial features → Library API: implements
pysindy/feature_library/polynomial_library.py - Composite features → Library API: composes libraries
pysindy/feature_library/generalized_library.py - PDE features → Library API: implements
pysindy/feature_library/pde_library.py - Weak PDE features → Library API: implements
pysindy/feature_library/weak_pde_library.py - Weak SINDy → Weak PDE features: uses PDE features
pysindy/_weak.py - Optimizer API → STLSQ: specializes
pysindy/optimizers/stlsq.py - Optimizer API → SR3 variants: specializes
pysindy/optimizers/sr3.py - Constrained SR3 → SR3 variants: extends
pysindy/optimizers/_constrained_sr3.py - Trapping SR3 → Constrained SR3: uses constrained optimizer
pysindy/optimizers/trapping_sr3.py - SINDy-PI → Library API: uses feature library
pysindy/_sindypi.py - SINDy-PI → Optimizer API: uses optimizer
pysindy/_sindypi.py - Differentiation API → Axis-aware arrays: wraps arrays
pysindy/differentiation/base.py - Library API → Axis-aware arrays: tracks array axes
pysindy/feature_library/base.py - Optimizer API → Numerical utilities: uses numerical helpers
pysindy/optimizers/base.py - SINDy models → Numerical utilities: uses utilities
pysindy/_core.py