HPC Tier Module
SINDy - Governing Equation Discovery
Recover the symbolic equations behind a time series - deterministic, reproducible, no neural net.
See it run - a worked example, 100% in this browser tab
The problem
Discovering the governing equations behind measured dynamics is usually done with opaque trained models that are not reproducible and offer no built-in residual check.
The local-first solution
This plugin runs SINDy in the browser - finite-difference derivatives, a polynomial-plus-trig candidate library, and sequentially thresholded least squares - to read off the symbolic equations deterministically, with a residual-based trust verdict.
What it does
4th-order finite-difference state-derivative estimates from the samples
Polynomial (and optional trigonometric) candidate-term library
Sequentially thresholded least squares so only the few true terms survive
Built-in known systems (linear, cubic oscillator, Lorenz) or your own t,x1,x2 CSV
Time series, phase portrait, model overlay, 3D orbit, and a GeoNum residual trust verdict
Honest scope
The method is deterministic - least squares plus a fixed threshold, no neural net, no stochastic training, fully reproducible. Plain STLSQ-SINDy is sensitive to measurement noise through the derivative estimate; the noise-robust weak/integral form (Weak-SINDy) is cited but not implemented here, and the discovered model is a data fit, not guaranteed ground truth - confirm against domain knowledge.
Authorities cited
- Brunton, Proctor, Kutz, "Discovering governing equations from data by sparse identification of nonlinear dynamical systems", PNAS 113(15):3932-3937 (2016) - the SINDy method + STLSQ.
- Messenger & Bortz, "Weak SINDy for partial differential equations", J. Comput. Phys. 443:110525 (2021) - the noise-robust integral formulation (cited; not implemented here).
- Lorenz, "Deterministic Nonperiodic Flow", J. Atmos. Sci. 20:130-141 (1963) - the built-in Lorenz validation system.
Discover the equations
Run discovery in the browser and save the structured result to Sandbox, attach it to a Worklog engagement, or route it into a Gate client portal. Nothing is uploaded to anyone's cloud.