Skip to content

Class Koopman

The class Koopman is a mapping \(K: \mathrm{span}(\Psi) \rightarrow \mathrm{span}(\Psi)\), which acts as the finite-dimensional approximation of the Koopman operator \(\mathcal{K}\), i.e.,

\[ \mathcal{K} \Psi \approx K \Psi. \]

Given \(\phi = \mathbf{a}^T \Psi\), where \(\mathbf{a} \in \mathbb{R}^{N_{\psi}}\), then the application of \(\mathcal{K}\) satisfies

\[ \mathcal{K} \phi = \mathcal{K} \mathbf{a}^T \Psi \approx \mathbf{a}^T K \Psi. \]

Attributes

  • _func (tensor -> tensor): The mapping \(K: \mathrm{span}(\Psi) \rightarrow \mathrm{span}(\Psi)\).

Methods

  • __init__(self, K = None, func = None)
    • K (tensor): The matrix representation of the Koopman operator.
    • func (tensor -> tensor): The mapping \(K: \mathrm{span}(\Psi) \rightarrow \mathrm{span}(\Psi)\),
  • __call__(self, x): Applies the Koopman operator, x should satisfy \(x \in \mathbb{R}^{N \times N_{\psi}}\).
  • predict(self, x0, dictionary, dim_nontrain, traj_len): Predicts the trajectory of the system.
    • x0 (tensor): The initial state of the system.
    • dictionary (Dictionary): The dictionary used to map the state to the feature space.
    • dim_nontrain (int): The dimension of the non-trainable part of the state.
    • traj_len (int): The length of the trajectory to predict.

Info

Understanding the __call__ method of Koopman: Given the data set \(\{x^{(n)}\}_{n = 1}^N\), it represents a mapping:

\[ \left[ \begin{array}{cccc} \psi_1(x^{(1)})&\psi_2(x^{(1)})&\cdots&\psi_{N_{\psi}}(x^{(1)})\\ \psi_1(x^{(2)})&\psi_2(x^{(2)})&\cdots&\psi_{N_{\psi}}(x^{(2)})\\ \vdots&\vdots&\ddots&\vdots\\ \psi_1(x^{(N)})&\psi_2(x^{(N)})&\cdots&\psi_{N_{\psi}}(x^{(N)})\\ \end{array} \right] \rightarrow \left[ \begin{array}{cccc} \mathcal{K}\psi_1(x^{(1)})&\mathcal{K}\psi_2(x^{(1)})&\cdots&\mathcal{K}\psi_{N_{\psi}}(x^{(1)})\\ \mathcal{K}\psi_1(x^{(2)})&\mathcal{K}\psi_2(x^{(2)})&\cdots&\mathcal{K}\psi_{N_{\psi}}(x^{(2)})\\ \vdots&\vdots&\ddots&\vdots\\ \mathcal{K}\psi_1(x^{(N)})&\mathcal{K}\psi_2(x^{(N)})&\cdots&\mathcal{K}\psi_{N_{\psi}}(x^{(N)})\\ \end{array} \right]\]