34  Koopman Theory, DMD, and SINDy

Data-driven discovery of linear models for nonlinear dynamics.

34.1 Koopman Operator Theory

NoteDefinition: Nonlinear Dynamics and Observables

\(\bx^{(k+1)} = \mathbf{F}(\bx^{(k)})\) on \(\mathcal{M} \subseteq \fR^n\).

  • Observable: Scalar function \(g: \mathcal{M} \to \fR\).

  • Linear operator acting on observables: \((\mathcal{K}g)(\bx) = g(\mathbf{F}(\bx))\).

Lifting: \(\mathcal{K}\) is linear even if \(\mathbf{F}\) is nonlinear, at the cost of being infinite-dimensional.

NoteDefinition: Koopman Eigenfunctions

Observable \(\varphi\) satisfying \(\mathcal{K}\varphi = \mu \varphi\).

  • Temporal Evolution: \(\varphi(\bx^{(k)}) = \mu^k \varphi(\bx^{(0)})\).

  • Significance: Provides a global linear coordinate system for nonlinear dynamics.

34.2 Dynamic Mode Decomposition (DMD)

NoteDefinition: DMD Algorithm

Finds the best linear fit \(\bY \approx \bA\bX\) for snapshot matrices: \[ \begin{align} \bX = [\bx^{(0)} ... \bx^{(m-1)}], \quad \bY = [\bx^{(1)} ... \bx^{(m)}]. \end{align} \]

  1. Compute truncated SVD: \(\bX \approx \bU_r \bsigma_r \bV_r^T\).

  2. Construct \(r \times r\) reduced operator: \(\tilde{\bA} = \bU_r^T \bY \bV_r \bsigma_r^{-1}\).

  3. DMD eigenvalues \(\{\lambda_i\}\) and modes \(\{\boldsymbol{\phi}_i\}\) are recovered from \(\tilde{\bA}\).

Tip

Interpretation: DMD decomposes data into spatiotemporal modes \(\boldsymbol{\phi}_i\) with associated frequencies and growth rates. It is the data-driven approximation of the Koopman operator using the identity dictionary.

34.3 SINDy: Sparse Identification

NoteDefinition: Sparse Regression for Dynamics

Identifies governing equations \(\dot{\bx} = \mathbf{\Xi}^T \boldsymbol{\Theta}(\bx)\) where \(\boldsymbol{\Theta}\) is a library of candidate functions (monomials, sin, etc.).

  • STLS Algorithm: Sequential Thresholded Least Squares. Iteratively solves least squares and thresholds small coefficients to promote sparsity.

  • Outcome: Parsimonious, interpretable models (e.g., recovering Lorenz equations).

34.4 Exercises

WarningExercise
  1. Prove the linearity of the Koopman operator.

  2. Implement DMD for a 2D damped oscillator. Verify the identified eigenvalues.

  3. Build a polynomial library \(\boldsymbol{\Theta}\) for \(\bx \in \fR^2\) up to degree 2.

  4. Use SINDy (via STLS) to identify the Lotka-Volterra predator-prey model from noisy data.

For any state \(\bx \in \mathcal{M}\), observables \(g, h\), and scalars \(\alpha, \beta\), consider the action of \(\mathcal{K}\) on the linear combination: \[ \begin{align} [\mathcal{K}(\alpha g + \beta h)](\bx) &= (\alpha g + \beta h)(\mathbf{F}(\bx)) \\ &= \alpha g(\mathbf{F}(\bx)) + \beta h(\mathbf{F}(\bx)) \\ &= \alpha (\mathcal{K}g)(\bx) + \beta (\mathcal{K}h)(\bx) \\ &= [\alpha \mathcal{K}g + \beta \mathcal{K}h](\bx). \end{align} \] Since this holds for all \(\bx\), \(\mathcal{K}(\alpha g + \beta h) = \alpha \mathcal{K}g + \beta \mathcal{K}h\).