In this post, we derive the Koopman operator, an infinite-dimensional linear operator that describes the evolution of observables in a dynamical system.
Consider a $d$-dimensional dynamical system evolving on a smooth manifold $\mathcal{M} \subset \mathbb{R}^d$: $$ \begin{cases} \displaystyle \frac{d\mathbf{x}}{dt} = G(\mathbf{x}) \\ \mathbf{x}(0) = \mathbf{x}_0 \sim p_0(\mathbf{x}_0). \end{cases} $$ Here the initial condition is distributed according to the density $p_0$. Stochastic dynamical systems can often be rewritten in this form by augmenting the state vector $\mathbf{x}$ to include the driving noise variables.
Let $u:\mathcal{M}\to\mathbb{R}$ be a real-valued observable, for example the projection onto coordinate $j$:
$$ u(\mathbf{x}) = x_j, \qquad \mathbf{x}\in\mathcal{M}. $$
If $\mathbf{x}(t,\mathbf{x}_0)$ denotes the flow map generated by the dynamics, then the time evolution of the observable is given by
$$ u(\mathbf{x}(t,\mathbf{x}_0)) = \exp\left(t \sum_{k=1}^d G_k(\mathbf{x}_0)\frac{\partial}{\partial (\mathbf{x}_0)_k} \right) u(\mathbf{x}_0). $$
Differentiating with respect to $t$ yields the evolution equation $$ \frac{\partial u}{\partial t} = \mathcal{K}(\mathbf{x}_0)u(t,\mathbf{x}_0) = \left( \sum_{k=1}^d G_k(\mathbf{x}_0)\frac{\partial}{\partial (\mathbf{x}_0)_k} \right)u(t,\mathbf{x}_0). $$
The generator $$ \mathcal{K} = \sum_{k=1}^d G_k(\mathbf{x}_0)\frac{\partial}{\partial (\mathbf{x}_0)_k} $$ is the infinitesimal generator of the Koopman semigroup, and the operator $\exp(t\mathcal{K})$ is referred to as the Koopman operator.
Why the Koopman operator is linear?
Let $\Phi^t:\mathcal{M}\to\mathcal{M}$ denote the flow map, $$ \Phi^t(\mathbf{x}_0) = \mathbf{x}(t,\mathbf{x}_0). $$
Then the Koopman operator $U^t$ acts on observables by composition:
$$ (U^t u)(\mathbf{x}_0) := u(\Phi^t(\mathbf{x}_0)). $$
To verify linearity, let $u,v:\mathcal{M}\to\mathbb{R}$ and let $a,b\in\mathbb{R}$. Then
$$ U^t(au+bv)(\mathbf{x}_0) = (au+bv)(\Phi^t(\mathbf{x}_0)) = a\,u(\Phi^t(\mathbf{x}_0)) + b\,v(\Phi^t(\mathbf{x}_0)). $$
Hence $$ U^t(au+bv)(\mathbf{x}_0) = a\,(U^t u)(\mathbf{x}_0) + b\,(U^t v)(\mathbf{x}_0). $$
Since this holds for every $\mathbf{x}_0\in\mathcal{M}$, we conclude that $$ U^t(au+bv) = a\,U^t u + b\,U^t v. $$
Therefore, the Koopman operator is linear, even when the underlying state dynamics are nonlinear.
The dual operator of the Koopman generator with respect to the weighted inner product $$ \langle f, g\rangle = \int_{\mathcal{M}} f(\mathbf{x}_0)g(\mathbf{x}_0)p(\mathbf{x}_0)\,d\mathbf{x}_0 $$ is the Perron–Frobenius operator. Its infinitesimal generator is $$ \mathcal{L}(\mathbf{x})\phi = -\nabla\cdot\bigl(G(\mathbf{x})\phi(\mathbf{x})\bigr), $$ and the associated semigroup is $\exp(t\mathcal{L})$.
This operator evolves the joint probability density of the flow map $\mathbf{x}(t,\mathbf{x}_0)$ according to $$ p(\mathbf{x},t) = e^{t\mathcal{L}}p(\mathbf{x},0) = e^{t\mathcal{L}}p_0(\mathbf{x}). $$
Differentiating with respect to $t$ yields the Liouville transport equation: $$ \frac{\partial p(\mathbf{x},t)}{\partial t} + \nabla\cdot\left(G(\mathbf{x})p(\mathbf{x},t)\right) = 0. $$
To obtain an equation for the probability density of a quantity of interest $z=u(\mathbf{x})$, one may project onto the level set of $u$ using the Dirac delta distribution: $$ p(z,t) = \int_{\mathcal{M}} \delta\bigl(z-u(\mathbf{x})\bigr)p(\mathbf{x},t),d\mathbf{x}. $$
Differentiating with respect to $t$ and applying the chain rule formally yields the reduced-order equation $$ \frac{\partial p(z,t)}{\partial t} + \int_{\mathcal{M}} e^{ia(z-u(\mathbf{x}))} \nabla\cdot\bigl(G(\mathbf{x})p(\mathbf{x},t)\bigr)\,d\mathbf{x}\,da = 0. $$
In general, the integral term is not closed in the reduced density $p(z,t)$. Nevertheless, the induced reduced-order evolution operator remains linear; see Brennan and Venturi for a data-driven closure perspective on stochastic dynamical systems.1 For general observables $u$, one may augment the state so that $u$ becomes part of the extended system, and the same operator-theoretic argument applies.
-
Brennan, C., & Venturi, D. (2018). Data-driven closures for stochastic dynamical systems. Journal of Computational Physics, 372, 281–298. https://doi.org/10.1016/j.jcp.2018.06.038 ↩︎