# The problem

A large chunk of applied mathematics aims to understand dynamical systems and to characterize their behavior.

But what happens if you have a physical system for which you don’t *know* the governing equations?

You suspect that underneath it all there is probably a set of differential equations pulling the strings, but you are unable or unwilling to derive them analytically.

If you are able to get your hands on *measurements* of the system, then you may be able to use a data-driven approach.

# A solution

One recently developed method is the Sparse Identification of Nonlinear Dynamical systems (SINDy)

## How it works

The main idea is that the right-hand sides of many dynamical systems of interest do not include many terms, implying that they are *sparse* with respect to an appropriately chosen basis.

- Measurement data is passed in (one can optionally feed in derivatives of the measurements as well)
- A library of possible interaction functions is specified. If this set of functions is rich enough then a subset of them will make up all the terms on the right-hand side of the dynamical system to be uncovered.
- Sparse regression is used to identify which terms best reproduce the derivatives of the measurement data, providing an approximation to the underlying dynamical system.

# Resources

- The original paper introducing SINDy: Discovering governing equations from data by sparse identification of nonlinear dynamical systems
- A recent paper of mine applying SINDy to a noisy real-world data set: Discovery of physics from data: universal laws and discrepancy models
- PySINDy: a Python package for SINDy