34 Koopman Theory, DMD, and SINDy
Koopman analysis studies nonlinear dynamics through linear evolution of observables. DMD fits a finite-dimensional linear model from snapshots. SINDy fits sparse governing equations from a chosen function library.
34.1 Koopman Operator Theory
\(\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.
The Koopman operator in the result above is linear on observables: \[ \begin{align} \mathcal{K}(\alpha g+\beta h)=\alpha\mathcal{K}g+\beta\mathcal{K}h. \end{align} \]
For every state \(\bx\), \[ \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+\beta\mathcal{K}h](\bx). \end{align} \] Since this holds for every \(\bx\), the two observables are equal.
(Nonlinear map) Let \(x_{k+1}=x_k^2\). For observables \(g_1(x)=x\) and \(g_2(x)=x^2\), \[ \begin{align} (\mathcal{K}g_1)(x)=x^2=g_2(x), \qquad (\mathcal{K}g_2)(x)=x^4. \end{align} \] The state map is nonlinear, but the operator \(g\mapsto g\circ F\) is linear on the space of observables.
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)
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} \]
Compute truncated SVD: \(\bX \approx \bU_r \bsigma_r \bV_r^T\).
Construct \(r \times r\) reduced operator: \(\tilde{\bA} = \bU_r^T \bY \bV_r \bsigma_r^{-1}\).
DMD eigenvalues \(\{\lambda_i\}\) and modes \(\{\boldsymbol{\phi}_i\}\) are recovered from \(\tilde{\bA}\).
The best-fit linear map in Frobenius norm is \[ \begin{align} \bA_*=\bY\bX^\dagger. \end{align} \] The reduced operator in the result above is the projection of this map onto the rank-\(r\) left singular subspace of \(\bX\).
Use the least squares normal equations to derive \(\bA_*=\bY\bX^\dagger\).
Substitute the truncated SVD \(\bX\approx\bU_r\bsigma_r\bV_r^T\).
Show that \(\bU_r^T\bA_*\bU_r=\bU_r^T\bY\bV_r\bsigma_r^{-1}\).
Interpret this as the small operator \(\tilde{\bA}\) in the result above.
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
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).
(DMD vs. SINDy) DMD fits a linear time-advance map for snapshot data. SINDy fits a sparse differential equation in a chosen library. DMD returns modes and growth rates; SINDy returns equation coefficients.
(Noisy derivatives) SINDy is sensitive to derivative estimates. Smoothing, weak-form regression, or integral formulations are often needed when data are noisy.
34.4 Exercises
Prove the result above without looking at the proof.
Implement DMD for a 2D damped oscillator. Verify the identified eigenvalues.
Build a polynomial library \(\boldsymbol{\Theta}\) for \(\bx \in \fR^2\) up to degree 2.
Use SINDy (via STLS) to identify the Lotka-Volterra predator-prey model from noisy data.
Compare DMD and SINDy on the same two-dimensional linear system. Which quantities should agree?