导语
Koopman算子理论是一种将非线性动力系统用线性算子来分析的方法。它提出,虽然原始系统可能是非线性的,但可以通过Koopman算子作用在观测函数空间,使得系统在这个更高维的空间中变得线性。如此得到的线性动力系统与原系统是拓扑等价的,即它们有着相同的动力学性质。这样,该方法使得我们可以使用线性分析工具(如谱分析、特征分解、模式分解)就能研究复杂的非线性动态行为,对其可以有更好的预测和解释,大大拓展了我们对非线性系统的理解和建模能力。该理论广泛应用于流体力学、混沌系统和数据驱动建模等领域。
1. 历史溯源
Koopman算子理论的发展始于20世纪30年代,首要的贡献者是B. O. Koopman和冯诺伊曼。Koopman受到量子力学中算子方法的启发,试图用线性方法分析经典的非线性哈密顿(Hamilton)系统。他关心的是观测函数随动力系统演化过程的性质,而不是单独的相空间轨道。在1931年,Koopman在其论文中首次引入了算子的理念,表明通过线性算子可以描述非线性的哈密顿动力系统的演化[1],这一构想为后来的发展奠定了基础。他强调,可以将动力系统看作是在某种函数空间中的算子作用过程。
冯诺伊曼是当时希尔伯特空间和谱理论的奠基人,他对动力系统的统计与概率性质、特别是遍历性和连续谱问题尤为关注。他希望将动力系统与算子谱理论紧密结合,发展概率与动力系统的严格基础。在与Koopman合作的1932年论文中[2],冯诺伊曼更进一步地分析了具有连续谱的动力系统,给出了动力系统在算子谱理论下一般性的统计行为和遍历结果,对“不可积系统”的性质进行了深刻刻画。两人共同发表的重要论文是早期动力系统Koopman谱理论的里程碑,将Koopman的线性化算子思想和冯诺伊曼的希尔伯特空间、谱理论、概率逻辑方法结合,系统分析了动力系统连续谱情况下的统计与遍历性质[2]。
这一理论框架在后来的研究中得到了扩展,尤其是在流体动力学和混沌理论中被广泛应用。近年来,Koopman算子理论受到了越来越多的关注,特别是在数据驱动的动力学建模和控制领域。研究者们利用Koopman算子提取动态系统的特征,使得对复杂现象的预测和控制更加有效[3]。
总之,从Koopman和冯诺伊曼在1931年和1932年的开创性工作到当今的数据驱动应用,Koopman算子理论已成为现代动力学研究不可或缺的重要工具。
2. Koopman算子定义及其性质
2.1 时间离散
离散时间场景适用于状态演化由离散映射描述的系统,如采样数据系统、迭代过程、数字控制中的离散时间模型等,是实际工程中数据驱动建模的常用场景。设离散时间自治动力系统的状态演化满足:

其中 $\mathcal{X} \subseteq \mathbb{R}^n$ 是一个有限维的状态空间,k=0,1,2,…是离散时间步,$x_k$是第k步的状态,$F: \mathcal{X} \to \mathcal{X}$ 是离散流映射(可能非线性)。离散时间Koopman算子 $K: \mathcal{G}(x) \to \mathcal{G}(x)$ 定义为[1][2][3]:

其中观测函数 $g: \mathcal{X} \to \mathbb{C}$ 构成了集合 $\mathcal{G}(x)$。对于t=m个离散时间步 $m \in \mathbb{N}$,算子可表示为 $K^m g(x) = g(F^m(x))$,即 m 次算子作用等价于 m 次状态演化后的观测,其中 $F^m = F \circ F \circ \cdots \circ F$(m次复合)。
观测函数可以任意地选取,比如 $g(x) = x^n (n \in \mathbb{N}), g(x) = \sin x$,$g(x) = e^{-x^2/(2\sigma^2)}$ 等等(需要使得观测函数空间满足Koopman不变子空间,详见下文)。
2.2 时间连续
连续时间场景适用于状态演化由常微分方程(ODE)或偏微分方程(PDE)描述的系统,如连续运动的机械系统、流体流动等。
设连续时间自治动力系统的状态演化满足:

其中 $\dot{x}=dx/dt$ 是状态的时间导数,$f: \mathcal{X} \to \mathbb{R}^n$ 是描述动力学的向量场(可能非线性)。
连续时间Koopman算子 $K^t: \mathcal{G}(x) \to \mathcal{G}(x)$ 定义为[1][2][3]:

式中,$\kappa^t$ 为连续时间Koopman算子,参数t表示演化时间长度,g(x)为任意观测函数,如 g(x)=x1(状态第一分量)、|x|^2(状态模长平方)等等,$F^t(x)$ 为流映射,将初始状态 x 沿动力学轨迹推进时间 t,即 $F^t(x)=x(t)$,$g(F^t(x))$ 为观测函数的演化结果,表示“先让状态x演化时间t,再对演化后的状态进行观测”,$\kappa^t$ 不改变观测函数的形式,仅在观测空间描述观测函数观测量的演化。
对于光滑的观测函数 g,为了刻画Koopman算子在瞬时(即演化时间t趋近于0)的演化特性,我们引入无穷小生成元 $\mathcal{L}$(Lie算子,详细见下面与其他算子的关系-Lie算子),用以消除 $\mathcal{K}$ 对时间t的依赖,其定义为:

其中 $g\circ F^t = g(F^t(x))$ 是函数复合运算。
结合链式法则,生成元可简化为Lie导数形式(核心等价式):

式中,$\nabla g(x)$ 为观测函数g在状态x处的梯度(n维向量),即 $\nabla g = (\partial g/\partial x_1, \partial g/\partial x_2, \ldots, \partial g/\partial x_n)^T$,$f(x)$ 为系统的向量场,描述状态的瞬时变化率;·为向量点积,结果为标量,生成元 $\mathcal{L}g$ 表示观测函数g随状态演化的瞬时变化率。
2.3 随机动力系统
实际系统常受随机噪声、参数扰动或外部不确定性影响,此时需将 Koopman 算子扩展到随机动力系统(RDS,Random Dynamical System),核心是通过期望将随机演化转化为确定性算子作用。
设含噪声的随机动力系统由随机微分方程(SDE,stochastic differential equation)给出:

其中 W(t) 是维纳过程(Wiener process,白噪声),$\sigma(x(t))$ 是噪声强度矩阵,f 描述了系统的确定性部分。
随机 Koopman 算子 $K^t_{\text{stoch}}: \mathcal{G}(x) \to \mathcal{G}(x)$ 定义为期望算子[3][4]:
![$K^t_{\text{stoch}} g(x) = \mathbb{E}_x [g(F^t(x, W))]$](https://static1.yunpan.plus/attachment/5da3d2bf683f19a7.webp)
其中,$\kappa^t_{\text{stoch}}$ 为随机 Koopman 算子,参数 t 为演化时间,$\mathbb{E}_x$ 为条件期望算子,下标表示初始状态为 x,期望针对噪声过程 W(t) 计算,$F^t(x, W)$ 为随机流映射,表示初始状态 x 在噪声 W(t) 作用下经时间 t 的演化结果(SDE 的解,依赖噪声实现),$g(F^t(x, W))$ 为随机观测结果,随噪声 W(t) 变化。
公式核心是通过期望消除噪声随机性,得到观测函数的平均演化 —— 随机 Koopman 算子作用后,输出为确定性函数(平均观测值)。
和确定系统的情况类似,为了刻画Koopman算子在瞬时(即演化时间t趋近于0)的演化特性,我们引入无穷小生成元 $\mathcal{L}_{\text{stoch}}$,用以消除 $\kappa^t_{\text{stoch}}$ 对时间t的依赖,根据随机微积分里的“链式法则”——伊藤公式(Ito's lemma),可以将随机 Koopman 算子的生成元展开为:
![$\mathcal{L}_{\text{stoch}} g(x) = \lim_{t\to 0} \frac{K^t_{\text{stoch}} g(x) - g(x)}{t} = \nabla g(x)\cdot f(x) + \frac{1}{2} \text{Tr}[\sigma(x)\sigma(x)^T \nabla^2 g(x)]$](https://static1.yunpan.plus/attachment/3135747c7839a0a0.webp)
其中,$\nabla g \cdot f$ 为与确定性系统的生成元一致,对应无噪声时观测函数的瞬时变化率,$\sigma(x)$ 为噪声贡献项,$Tr(\cdot)$ 是矩阵迹(对角线元素之和),$\nabla^2 g$ 是 g 的Hessian 矩阵(二阶偏导数矩阵)。噪声项通过 Hessian 矩阵影响观测函数的演化,反映噪声对观测不确定性的贡献,当噪声强度 $\sigma(x)=0$ 时,随机算子退化为确定性连续时间 Koopman 算子,随机 Koopman 算子的特征值可能包含衰减项(对应噪声导致的不确定性耗散),特征函数可刻画系统的 “平均线性化” 演化。
2.4 算子性质
Koopman算子主要具有以下四种特性[3]:
-
线性性:满足 $K(\alpha_1 g_1 + \alpha_2 g_2) = \alpha_1 K g_1 + \alpha_2 K g_2$,其中,g1,g2是不同的观测函数,α1,α2是系数;
-
半群性质: $K^{m+n} = K^m \circ K^n$( m 步+ n 步演化等价于 m+n 步演化)。若φ是 $\mathcal{K}$ 的特征函数,即存在 $K\varphi = \lambda\varphi$, 则 $K^m \varphi = \lambda^m \varphi$(详细过程见下文Koopman模式分解)。
-
伴随算子:Koopman算子与Perron-Frobenius算子 $P^t$ 互为伴随算子,即 $\langle P^t f, g \rangle = \langle f, K^t g \rangle$,其中 $\langle f, g \rangle := \int_{\mathcal{X}} \bar{f}(x)g(x)dm$。详细的阐述见后文“Perron-Frobenius算子”章节。
-
无穷小生成元:Koopman算子的无穷小生成元是Lie算子,即在观测空间中,根据Koopman算子迭代的一步过程可以由Lie算子作用很多步生成得到。详细的阐述见后文“Lie算子”章节。
3. Koopman模式分解
Koopman模式分解是一种基于Koopman算子理论的动力学分析方式。它允许研究者利用成熟的线性分析工具(如特征分解、谱分析)来解析复杂的非线性现象,能够从数据中直接提取出具有明确物理意义的时空相干结构(动态模式),从而实现对非线性系统的有效预测、降维建模与控制,目前已被广泛应用于流体力学、混沌理论、神经科学及各类复杂网络的研究中,甚至可以帮助识别动力学系统接近临界慢化或分岔等临界点时的特征[5]。
为了定义Koopman模式分解本身的含义,我们需要先了解Koopman算子的特征函数及其相关性质,因为正是特征函数捕捉了具有物理含义的时空相干结构,它们的演化仅由一个特征值就可以描述(增长、衰减或震荡)。下文我们在介绍完特征函数的定义及性质后,还会介绍如何在具体案例中计算特征函数。
3.1 特征函数与特征值
3.1.1 特征函数的定义
定义(Koopman算子的特征函数):当时间离散的时候,对应于特征值 λ 的Koopman特征函数 φ(x) 定义如下:
(1)
在连续时间下,Lie算子的特征函数 φ(x) 满足:

其中 μ 是连续时间下的特征值。一般来说,即使状态空间 $\mathcal{X}$ 和动力学 F(x) 是实值的,特征值和特征向量通常分别是复值的标量和函数。
3.1.2 关于特征值与特征函数的若干性质
下面,在引入Koopman模式分解的定义之前,我们先介绍若干Koopman算子的特征函数的性质。
3.1.2.1 性质1(离散谱与连续谱)
在一般的动力系统中,Koopman算子的本征谱可能既有离散的点谱的结构,也会有连续谱的结构[6]。离散谱意味着有限的几个特征函数不恒为0,它们对应着一些有序的周期或准周期结构,能量比较集中。更准确地说,离散谱对应的运动应是状态空间中测度不为零的点集所共有的行为。若仅是一条孤立且不稳定的周期轨道,由于其测度为零,通常不足以产生离散谱,除非该轨道是稳定的吸引子或属于整体规则演化的部分。
而连续谱意味着特征函数几乎处处为0,此时往往对应的是混沌的性质,能量比较弥散不集中。哈密顿系统的本征谱一般是离散谱,而当系统有阻尼(或其他外力)时,其振荡振幅会不断变化,则往往会得到连续谱。我们如今也具有了能有效处理具有连续谱或混合谱的复杂系统的方法[7]。下面我们给出它们的严格定义。
给定算子 $T: \mathcal{G} \to \mathcal{G}$,其中 $\mathcal{G}$ 为某个函数空间,我们将谱 $\sigma(T)$ 定义为使得算子 $T - \lambda I$ 不存在有界逆算子(bounded inverse)的标量 λ 的集合。谱可以根据预解算子(resolvent)$(T - \lambda I)^{-1}$ 不存在为有界算子的具体原因进一步划分为不同的子集。
定义(离散谱/点谱,Point Spectrum):
离散谱,记为 $\sigma_p(T)$,由那些使得算子 $T - \lambda I$ 为非单射(noninjective)的 λ 组成。这与有限维矩阵分析中的特征值概念一致,意味着存在非零的特征向量(或特征函数)。

其中 $\xi \in \mathcal{G}$ 便是特征函数。
定义(连续谱,Continuous Spectrum):
连续谱记为 $\sigma_c(T)$,由满足以下条件的 λ 组成:算子 $T - \lambda I$ 的值域不是整个希尔伯特空间(即非满射,nonsurjective),但其值域在整个希尔伯特空间中是稠密的。
在Koopman算子理论的背景下,这相当于表明对于任意的 ε,都存在一个可观测量 g_ε 使得近似特征值关系成立。

3.1.2.2 性质2(线性动力学中的特征函数)
如果我们考虑本身已经是线性的动力学,可以进一步说明线性时间离散动力学 $x_{n+1} = A x_n$ 的特征向量与 $K$ 的特征函数之间的联系。给定矩阵A的一个左特征向量 $\xi^T$,满足 $\xi^T A = \lambda \xi^T$,我们可以构造一个对应的Koopman特征函数如下

它之所以是Koopman特征函数,是因为

换句话说,A的右特征向量在状态空间 $\mathcal{X}$ 中给出了随时间不变的方向。而左特征向量则对应于Koopman特征函数,在观测空间 $\mathcal{G}(x)$ 中也同样对应于随时间不变的方向。
3.1.2.3 性质3(特征函数的生成)
在一般系统中,一组Koopman特征函数可以用来生成更多的特征函数。在离散时间系统中,我们可以发现,两个特征函数 φ1(x) 和 φ2(x) 的乘积同样是一个特征函数,

代数上,当观测空间在乘法下封闭时,Koopman特征函数的集合在逐点乘法下形成一个交换幺半群。这样一来,根据具体的动力系统,可能存在有限组生成元特征函数元素,可以用来构建所有其他特征函数[8]。
3.1.2.4 性质4(特征函数与观测函数的关系)
这一性质是动力学模式分解(Dynamic Mode Decomposition, DMD)方法的基础。
观测函数可以由特征函数线性组合构成,即 $g(x) \in \text{span}\{\varphi_k\}_{k=1}^K$,在Koopman算子作用下具有极为简单的演化关系:

这意味着子空间 $\text{span}\{\varphi_k\}_{k=1}^K$ 在Koopman算子 $\mathcal{K}$ 的作用下是不变的。因此我们可以分析一般观测量分解到特征函数下的时间演化。这种分析为数据驱动算法中的动力学模式分解(Dynamic Mode Decomposition, DMD)方法奠定了基础。到目前为止,我们只给定了单一的观测函数,接下来我们写出多个观测函数下Koopman模式分解的表达式。我们将这些观测整理成一个向量g:
![$g(x) = [g_1(x) \quad g_2(x) \quad \cdots \quad g_p(x)]^T$](https://static1.yunpan.plus/attachment/c6906cb6df8afb4b.webp)
每一个单独的测量都可以用特征函数 φ_j(x) 的基展开表示:

因此,观测量向量g也可以类似地展开为

其中 $v_j$ 被称为与特征函数 φ_j 相关联的第 j 个Koopman模态。
3.1.2.5 性质5(哈密顿系统的特征函数)
对于守恒动力系统,例如由哈密顿动力学支配的系统,Koopman算子在关于守恒测度下的平方可积函数空间 $\mathcal{G}(x)$ 中是酉算子。因此,Koopman特征函数在守恒系统中构成一组正交归一基,并且可以通过投影直接计算Koopman模态 v_j:
![$v_j = [\langle \varphi_j, g_1\rangle, \langle \varphi_j, g_2\rangle, \ldots, \langle \varphi_j, g_p\rangle]^T$](https://static1.yunpan.plus/attachment/8bb49c3ea1c2a075.webp)
其中 ⟨⋅,⋅⟩ 是 $\mathcal{G}(x)$ 空间上函数的标准内积。因此,观测函数展开可以看作是在特征函数坐标系下的一种基变换。
3.1.3 Koopman模式分解的定义
定义(Koopman模式分解):我们可以将观测量g的动力学表示如下:

这组三元组 $\{(\lambda_j, \varphi_j, v_j)\}_{j=1}^\infty$ 称为Koopman模式分解。
这一理论由Mezić于2005年提出[9]。通常,我们可以将这种展开近似为仅包含少数主导项的截断和。如下文“DMD”章节所示,DMD估计中,DMD的特征值将近似Koopman特征值 λ_j,DMD模态将近似Koopman模态 v_j,而DMD的模态幅值将近似初始状态下相应Koopman特征函数的值 φ_j(x0)。需要注意的是,Koopman模态和特征函数是不同的数学对象,其近似方法也不相同。Koopman特征函数通常比Koopman模态更难计算,因此激发了如扩展DMD算法等技术的发展。
3.2 一般的观测函数下如何得到特征函数?
注意,一般矩阵的特征值分解通常是唯一的,其特征向量是有限维的,每个本征空间是有限维的,且特征值个数有限。而Koopman算子是作用在无限维的函数空间上的,所以理论上会有无限多个特征值和特征函数。实践中,关键在于我们要选取适当的观测函数,才能得到有意义的特征值和特征函数。
下面介绍一种获得Koopman算子特征函数的方法,即傅立叶平均方法。
3.2.1 傅立叶平均
定义:假设一个观测量的演化 g(x(t)) = g(F^t(x)) 已知,则可以通过以下长期谐波或傅里叶平均来计算与特征值 e^{iω} 对应的特征函数[3]:

证明:可以根据特征函数的定义1证明 $\tilde{g}_\omega(\mathbf{x})$ 是特征函数,$e^{i\omega}$ 是特征值。特别地,当 ω=0 时,$\tilde{g}_0(\mathbf{x})$ 是特征值为1所对应的特征函数。证明如下:
由于 $(K^t g)(x) = g(F^t(x))$,我们有:

令 τ = t + s ⇒ t = τ - s,则:

其中第三步利用了移位后积分上下限对趋于无穷的平均值无影响。因此:$\tilde{g}_\omega(F^s(x)) = e^{i\omega s} \tilde{g}_\omega(x)$,即 $\tilde{g}_\omega(x)$ 是特征值为 e^{iωs} 的Koopman特征函数。这样看来,似乎随便取一个ω,就可以得到一个特征值和特征函数,它们都是有意义的吗?实际上,很多ω会使得 $\tilde{g}_\omega(x)$ 恒等于0,这就没有意义了,所以我们要关注的是那些特征函数不恒等于0的ω及其对应的特征值。对于有意义的特征函数,其中特征函数等于0的点的集合,即零水平集,便可以用来确定几何结构的边界。Mezic[10]建立了Koopman算子谱特性与非线性系统几何结构(如流形)之间的严格联系,利用特征函数的零水平集重新定义了稳定流形、不稳定流形、中心流形等。
3.2.1.1 应用案例:标准映射
标准映射(Standard Map),又称Chirikov标准映射,是动力系统理论和混沌研究中最经典、最基础的二维离散映射之一。它通过一组简单的迭代方程:
![$y_{n+1} = [y_n + \varepsilon \sin(2\pi x_n)] \mod 1$
$x_{n+1} = [x_n + y_{n+1}] \mod 1$](https://static1.yunpan.plus/attachment/6ce19e60434adb38.webp)
它描述了非线性扰动下保面积哈密顿系统的相空间动力学。标准映射体现了系统从有序到混沌的逐渐演化,广泛用于研究混沌现象、KAM理论和分形结构,是理解非线性动力学的重要模型。
现在我们给出一个观测函数 g(x,y) = sin(6πx) sin(4πy),便可以画出根据傅立叶平均方法得到的特征值为1的特征函数

在相空间上的分布,其中 x_t, y_t 分别是 x_0, y_0 根据动力学运行t步之后的状态。特征函数的分布如下图所示:

实际操作时,对于相空间上的每一个点,根据迭代方程演化任意步(比如1000步),然后对演化出来的每一个状态都根据上面给出的观测函数进行观测,最后对所有观测值取平均,得到的便是起始点处特征函数的取值(对应图上点的颜色),对应的特征值为1。理论上要演化无穷多步取平均,所以迭代步数越长越好。
从图中效果可见,特征函数可以区分和标识出不同的周期轨道。从能量角度来说,同一个周期轨道上的点能量相同,所以它们会对应同一个特征值。从特征函数定义角度来说,这里特征函数是运行多步取平均的,所以自然同一个轨道上的点特征函数取值相近。在特征值谱上,离散谱对应于状态空间中具有非零测度的点集所共有的相干运动(如准周期运动)。虽然一条稳定的周期轨道可以表现出离散谱特征,但通常离散谱反映的是系统全局或局部吸引域内的集体动力学行为,而非单一的零测度轨道,除非该轨道本身是物理上稳定的。关于离散谱的介绍,详见 3.1.2.1 节。
3.2.2 观测函数的选取与边界条件
在上面的案例中,观测函数 g(x,y)=sin(6πx) sin(4πy) 满足边界条件 ∀x,y, g(0,y)=g(1,y), g(x,0)=g(x,1),所以是合适的观测函数。如果另取一个观测函数不满足该边界条件,最后也能根据傅立叶平均方法计算出特征值和特征函数,但就缺失真实的物理含义了。
事实上,如果我们选择的函数空间“太宽”(例如允许所有可测函数或非常不光滑的函数),那么我们可以构造出密集的、甚至填满整个单位圆盘的特征值。这种情况下,谱分析就失去了“刻画系统特征频率”的作用,因为任何频率都成了特征频率,无法提取出动力系统的核心模态。所以Koopman算子的谱性质高度依赖于函数空间的构建。
在物理应用中,状态空间往往是有界的(如流体在管道内)。函数空间的选择必须符合物理边界条件,这会帮助我们筛选合适的观测函数,限制算子的定义域,从而得到有意义的特征值和特征函数。
3.3 不变子空间
应用的Koopman分析并不是在希尔伯特空间中捕捉所有测量函数的演化,而是近似在由有限组测量函数张成的不变子空间上描述系统的演化。
定义(不变子空间):一个Koopman不变子空间[3]被定义为一组函数 g1, g2, …, gp 的张成空间,如果该子空间中的所有函数 g 都满足:

在经过Koopman算子 $\mathcal{K}$ 作用后,仍然留在该子空间:

将Koopman算子限制在由有限个函数 $\{g_j\}_{j=1}^p$ 张成的不变子空间上,可以获得它的有限维矩阵表示 K。矩阵 K 作用在由观测函数取值构成的向量 g(x) = [g1(x), ..., gp(x)]^T。这将诱导出一个有限维的线性系统。
Koopman算子的任意有限组特征函数都将张成一个不变子空间。把这些特征函数作为系统的“特征坐标”是Koopman分析中很重要的一步,因为沿这些特征函数方向,系统动力学本质上是线性化的。在实际操作中,我们通常只能识别出一个近似的不变子空间,由一组函数 $\{g_j\}_{j=1}^p$ 张成,并且每个函数 g_j 都可以由有限组特征函数近似表示 $g_j \approx \sum_{k=1}^p v_{jk} \varphi_k$。如果我们在实际操作过程中,选取的观测函数不能张成一个不变子空间的话,最后得到的Koopman矩阵会出现伪特征值的问题(参见5.3.1节)[11]。
4. Koopman算子应用的简单案例
通过一个简单案例,我们可以体会以观测函数将一个系统线性化处理的好处:通过分析观测空间中线性系统的性质,我们可以描述原系统会有怎样的动力学行为。这里,我们引用Brunton等人[12]详细研究过的一个具有单个不动点的示例系统,其方程为:

其中 μ=-0.05,λ=-1。观测函数选取上,首先可以直接观测 y1=x1, y2=x2。然后,我们可以引入一个非线性测量 y3 = x1^2,从而定义一个三维的Koopman不变子空间。在这些新坐标下,动态系统变成了线性系统:

其中 $(y_1, y_2, y_3) = (x_1, x_2, x_1^2)$。我们可以提取和分析Koopman矩阵的特征函数。通过计算Koopman矩阵的左特征向量之后,我们找到对应于特征值 μ 和 λ 的Koopman特征函数为:

其中 $b = \lambda / (\lambda - 2\mu)$。这个参数代表着快慢变量之间速度变化的比例,其中 x1 是慢变量。如果我们以这些特征函数本身作为观测量来构建不变子空间,那么此时空间上的坐标就是Koopman不变子空间上的特征坐标[13]

如上图所示,我们可以画出在这个三维空间中系统动力学的流形,也就是动力学曲线会在哪些平面上运动。首先,由于观测量本身的定义,我们有约束 y3 = y1^2,在图中由蓝色曲面表示。在空间中有三条黑色轨迹,代表动力系统从三个不同起点出发的轨迹,它们始终都会在蓝色曲面上运动。因为 λ << μ < 0,所以 y2 的收敛速度会远快于 y1,于是有一个吸引流形 y2 = y1^2(这是 y2 的不动点),这在图中表示为红色的曲面(与 y3 平行,在下方平面上的投影是二次函数曲线)。
红色曲面与蓝色曲面相交的曲线(亮蓝色曲线)便位于 y2 = y3 这个曲面上。这条交线上的每一点都代表 x2 达到了平衡,即它的导数为0。绿色曲面则是接近 y2 = y3 曲面的慢流形,因为它是由 μ 和 2μ 两个绝对值很小的特征值对应的特征向量张成的子空间。它与蓝色曲线交于稳定不动点(0,0)。当轨迹从起点出发,会因为红色吸引流形的作用快速靠近红色与蓝色曲面的交界处。达到交界处后,由于绿色曲面的吸引作用,再缓慢地靠近最终的稳定不动点(0,0)。
总结一下整个动力学过程:出发时轨迹就始终位于蓝色曲面上,然后快速靠近红色曲面到达交线,然后再缓慢趋向于绿色曲面(也就是到达不动点的位置)。上图还展示了动力学在 y1 - y2 平面上的投影。
以上内容展示了系统在全局线性化之后的动力学分析过程。在传统的分析中,原本根据Hartman-Grobman定理,只在不动点附近的邻域内,非线性系统可以与一个线性系统拓扑共轭,即二者的动力学性质是一致的。而兰岳恒和Mezic进一步证明了这种等价关系可以扩展到整个吸引域上[14]。
5. 数据驱动算法
在分析复杂的非线性系统时,传统的分析方法只能在不动点附近很小的领域内进行线性化处理,大大限制了我们对非线性系统的解释和预测。Koopman算子理论通过将系统的状态映射到由可观测函数构成的无穷维空间,从而在全局上将非线性动力学问题转化为一个无穷维线性算子问题。不过,这个理想的Koopman算子本身是无穷维的,无法直接计算。实践中,我们要利用Koopman不变子空间的概念(参见第3.3节),通过数据拟合出有限维的线性迭代系统,尽可能地逼近无限维的Koopman线性算子。
那么如何用有限的、来自现实的数据,去逼近无限维的Koopman线性算子呢?最开始的方法是动力学模式分解(DMD,Dynamic Mode Decomposition)[15],它直接把“状态变量本身”当作观测函数。然而,对于真正的非线性系统,DMD的近似就太粗糙了。故此后学者们围绕着“如何更有效地拓展观测空间”与“如何优化求解过程”展开。扩展动态模式分解(EDMD, Extended Dynamic Mode Decomposition)[13]通过预定义的非线性函数显式拓展;残差动态模式分解(ResDMD, Residual DMD)[16][11]致力于严格评估逼近精度并筛选可靠模态;核动态模式分解(Kernel DMD)[17][18]利用核技巧隐式构建观测函数空间;基于神经网络的动态模式分解(Neural Network DMD)[19][20]用深度学习自动学习最优的拓展方式;时间延迟动态模式分解(Time-delay DMD/Hankel DMD)[21]通过历史数据构造嵌入空间;随机动态模式分解(Randomized DMD)[22]专注于利用随机算法提升高维问题的计算效率;最优模式分解(OPD/Optimal DMD)[23]将问题重构为全局非线性优化以求取最佳拟合;多分辨率动态模式分解(mrDMD, Multiresolution DMD)[24]则能分离系统在不同时间尺度或层次上的动力学;前向-后向动态模式分解(fbDMD, forward-backward DMD)[25]通过平均正反向数据提升稳定性;张量动态模式分解(Tensor DMD)[26]处理具有空间结构的多维数据;受控动态模式分解(Controlled DMD)[27]则旨在辨识含外部输入系统的Koopman模型。DMD算法现在已经扩展出许多不同的版本,在这里只是罗列的部分情况,下文会对主流的几种方法进行更详细的介绍,其他算法请参考文献。
5.1 动力学模式分解(DMD)
动力学模式分解(DMD,Dynamic Mode Decomposition)最初由 Schmid [15]在流体动力学领域引入,已迅速成为从数据中近似 Koopman 算子的标准算法。它是一种能够从数值模拟或实验测量的时间序列中直接提取时空相干结构的数据分析方法。该方法不依赖于流动的系统矩阵,而是基于切片数据之间存在线性演化算子的假设。通过近似该算子的特征值,我们可以将复杂的流场分解为具有单一特定频率和增长/衰减率的“动态模态”[28][29]。其结果本质上可视为线性系统的全局稳定性模态或非线性系统的线性切向近似。
2009年Rowley 等人[28]首次建立了 DMD 与 Koopman 算子的联系。DMD算法最初是为了从高维时间序列数据中识别时空相干结构(spatio-temporal coherent structures)而开发的,这些结构在流体动力学中很常见。DMD的计算可以基于数据上的奇异值分解(SVD),因此为高维数据提供了可扩展的降维方法。SVD根据每个模式捕获原始数据方差的程度对模式进行分层排序。这些模式即使在数据的时间顺序被打乱时也保持不变。
相比之下,DMD 模式是 SVD 模式的线性组合,这些组合被专门选择以提取在时间上具有相同相干线性行为的空间相关结构,表现为以固定频率振荡并伴随增长或衰减。因此,DMD 可以被视为空间上的SVD与时间上的傅里叶变换的结合,结合了两种方法的优点 [30][31]。
5.1.1 算法的详细步骤
假设有一个系统,每隔一段时间Δt我们就测量一次系统的状态。比如,一个网格上有 n×n 个点,每个点的温度、压力等数据组成一个很长的向量。采样测量了 m+1个时间点。
下图是一张关于DMD算法在流体流动应用上的算法流程示意图[3]。图中左侧展示了一系列实验图像时间序列,即切片数据。时间t从下到上增加,表示流体流经圆柱体时的动态变化。有了这些数据作为输入,下图中间部分是拟合过程。我们可以直接通过最小二乘法拟合出线性迭代矩阵A。右侧则是DMD的输出。一方面我们可以预测系统未来的演化,更重要的,我们可以通过对矩阵A做特征值分解,得到Koopman特征值和特征函数的近似(理论见上文“Koopman模式分解”章节),从而可以把原本的动力学分解成几个主要的动力学模式。这些动力学模式分别提取出了原动力学中具有物理含义的结构,比如平均流场、不同尺度的涡旋等等。

- 组建切片数据:X 和 X′。其中 X′ 表示 X 数据下一时刻的切片数据。
- 计算 X 的SVD(如果原系统维度很高,需要先进行低秩近似):$X = U \Sigma V^*$
- 最小二乘法拟合 A:不过借助于数据矩阵的SVD,我们可以用更小的 $\tilde{A}$ 来近似原矩阵。

其中 $U_r, V_r, \Sigma_r$ 表示根据有效秩截取了前r个奇异值以及它对应的左右奇异向量。所以我们最终要计算的矩阵是 $\tilde{A} = U_r^* X' V_r \Sigma_r^{-1}$。
- 求解 $\tilde{A}$ 的特征值和特征向量:$\tilde{A} W = W \Lambda$。
- DMD模态 $\Phi$ 定义为原迭代矩阵A的特征向量,这样捕捉的正是物理系统中的时空相干结构。经过推导,它的计算方式为:$\Phi = X' V_r \Sigma_r^{-1} W$。
5.1.2 例子
下面是一个关于“空腔流动”的示例[15]。如下图所示,左上角的箭头表示均匀流从左侧进入可观测空间的上半部分,右侧虚线表示流体流出。我们关心的是图下半部分的方形空腔。空腔中红色波浪线表示流体的剪切层,会出现自持震荡的不稳定性。红色弯曲箭头表示流体撞击墙壁后形成的漩涡流动。蓝色虚线框出的倒L形区域是作者采集数据分析的区域。作者们试图验证只需要局部区域的数据,DMD就可以提取出全局的主导动力学。

数据基于二维纳维-斯托克斯方程生成。我们按照如上所述的DMD算法进行处理,提取的频谱展示于下图。其中每一个彩色的点代表一个DMD求得的特征值,横轴是特征值的虚部,纵轴是特征值的实部。点的颜色表明该模态对应的能量大小(通过SVD得到),红色代表能量大,蓝色代表能量小。
实部大于0(横线上方):表示不稳定模态,随时间会一直增长。
实部小于0(横线下方):表示稳定模态,随时间衰减。
实部等于0(黑色实线):表示中性稳定(既不增长也不衰减),通常对应极限环或周期性稳态。
图中虚线表明,特征值分布在两条抛物线形状的分支上。更靠上的抛物线跨越了代表中性稳定的横线,出现了不稳定的特征值,对应的是空腔顶部自持震荡不稳定的剪切层。而一直处于横线下方的抛物线所对应的便是空腔底部里稳定的涡旋。

下图展示了雷诺数Re=4500时方形空腔流的DMD空间模态。这些三维曲面图可化了流向速度的波动幅度,每一个子图对应于之前频谱图中不同的特征值分支。曲面上的高度和颜色反应了某个模态上流向速度的分布。其中a图对应最不稳定的剪切层,可以看到在剪切层的位置处有一个巨大的波包结构。b-d图对应不稳定抛物线分支上的其他特征值,它们的能量开始渐渐向方形空间内部转移,但主要能量还是集中在剪切层的位置。e和f图则是对应稳定抛物线分支上的特征值,能量的流动基本上是在方形空腔里循环,而且由于阻尼作用,能量在不断的衰减。

DMD是简单地将原始状态本身视为观测函数,其计算高效、概念直观。然而,随着系统复杂度和数据维度的急剧攀升,计算成本成为瓶颈。而且很多场景需要更复杂的非线性观测才能捕捉到重要的物理结构。为此,包括扩展DMD(extended DMD,eDMD)[13]、随机DMD(Randomized DMD)[22]等等方法应运而生。它们有的在原始DMD的基础上,引入了更多的观测方式和非线性观测函数,从而能够处理更高维的系统。另外,诸如随机DMD,通过引入随机投影、随机采样等数值技术,在基本保持DMD分析精度的同时,极大地降低了大规模问题的计算与存储开销,为处理高维、实时的数据流提供了高效方案。下面将简要介绍几种主要的前沿数据驱动算法。
5.2 扩展DMD
虽然DMD已成为一种近似Koopman算子的标准数值方法,但它基于对系统的线性测量,因此缺乏用于近似Koopman算子的强非线性系统所需的非线性坐标变换。为了解决这一问题,Williams等人提出了扩展DMD(extended DMD,eDMD)[13],使得最佳拟合线性DMD回归可以在一个包含状态非线性测量的扩展向量上进行。
定义:在eDMD中,一个扩展状态 $z \in \mathbb{R}^p$ 由对状态 x 的非线性测量函数 g_k 构造而成:
![$z = g(x) = [g_1(x) \quad g_2(x) \quad \cdots \quad g_p(x)]^T$](https://static1.yunpan.plus/attachment/e68fc56bba4f941a.webp)
向量 z 可以包含原始状态 x 以及非线性测量,因此通常 p ≫ n。接下来,像DMD一样构造两个数据矩阵:
![$Z = [z_1 | z_2 | \cdots | z_m], \quad Z' = [z_2 | z_3 | \cdots | z_{m+1}]$](https://static1.yunpan.plus/attachment/796d9ad4ec2a7913.webp)
这里 $z_k = g(x_k) = g(x(k\Delta t))$,为简化起见,我们假设数据是在时间上等间隔采样。
算法(拟合线性迭代矩阵):和DMD一样,构造一个最佳线性矩阵算子 A_z,将 Z 映射到 Z′:

由于扩展向量 z 可能远大于状态 x 的维数,通常有必要使用核方法来计算这个回归问题。近年来,利用核方法近似Koopman算子的DMD方法已经成为一个重要的研究课题[17],具体可参考下文“核DMD”的章节。在无限样本数据的情况下,eDMD矩阵会收敛到由这些函数所张成的子空间上的Koopman算子的投影。如前文所述,选取观测函数时注意要让它们能够张成Koopman不变子空间。
在实际应用中,我们通常会将原始状态 x 也包含在扩展eDMD向量 z 中。然而,有研究表明[12],对于包含多个不动点、周期轨道或其他吸引子的系统,如果在eDMD中引入状态 x,会导致观测空间不是Koopman不变子空间。此外,这类系统无法与具有单个不动点的有限维线性eDMD系统拓扑共轭。例如,Duffing振子系统有三个不动点,因此没有任何有限线性系统可以准确地全局拟合状态 x 的演化。不过,像哈密顿量这样的特征函数可能能够被准确地展开。因此,区分出准确和伪特征函数对于eDMD来说至关重要。
防止过拟合的一种方法是推广稀疏性,比如SINDy(Sparse Identification of Nonlinear Dynamics)方法[32]。它可以基于一些约束条件筛选观测函数,从 $\{g_k(x)\}_{k=1}^p$ 中选择最重要的几项即可。
与标准DMD类似,矩阵 Z 中的数据不必来源于单条轨迹,也可以通过更高效的采样方式获取,比如拉丁超立方采样,或在相空间中随机采样。在这种情况下,Z′ 中的数据则通过将 Z 中的数据沿动力学系统向前推进一个时间步获得。
如第3节所述,Koopman算子理论的价值在于可以对等价的线性系统做模式分解从而捕捉时空相干结构。所以接下来我们介绍EDMD算法下如何数据驱动地计算Koopman算子的特征函数。它其实是在用矩阵的特征值分解来近似计算Koopman算子的特征函数。
性质(特征函数的计算):Koopman算子的特征函数一定可以形成Koopman不变子空间,并为动力学提供了理想的基底或坐标系来表示其演化。这些特征函数可以通过给定的观测函数来近似表示。我们可以将一个特征函数 φ(x) 用函数集合 $\{g_k(x)\}_{k=1}^p$ 展开近似为:

在离散时间中,Koopman特征函数 φ(x) 在一组数据轨迹 x1, …, xm 上的值应满足:
![$\lambda [\varphi(x_1) \quad \varphi(x_2) \quad \cdots \quad \varphi(x_m)] = [\varphi(x_2) \quad \varphi(x_3) \quad \cdots \quad \varphi(x_{m+1})]$](https://static1.yunpan.plus/attachment/a618fddd26e07b42.webp)
将 φ 展开,这个关系变为:
![$\lambda [\xi^T z_1 \quad \xi^T z_2 \quad \cdots \quad \xi^T z_m] = [\xi^T z_2 \quad \xi^T z_3 \quad \cdots \quad \xi^T z_{m+1}]$](https://static1.yunpan.plus/attachment/346d84a6bf780a1e.webp)
进而可以用数据矩阵 Z 和 Z′ 将其写作如下矩阵方程:

如果我们对上式采用最小二乘(least-squares)拟合,这就化简为:

因此,特征函数 φ(x) 是由 Z′Z† 的左eDMD特征向量 ξ^T 构成的,在观测函数 $\{g_k(x)\}_{k=1}^p$ 下,$\varphi(x) \approx \xi^T z$。右特征向量是eDMD模态,与DMD模态类似。
5.3 残差DMD
5.3.1 谱污染问题
扩展DMD允许我们用各种各样的非线性函数做观测函数,并且最终能估计出Koopman算子的特征值和特征函数,但这样估算出来的特征值谱容易面临谱污染的问题。所谓谱污染,便是指算出来的特征值有可能是虚假的特征值。原本特征值谱告诉我们的是,动力系统里有哪些增长、衰减或振荡的模式,而虚假的特征值对应着动力系统里并不真实存在的模式,是虚假的规律。为此,我们有了伪特征值(Pseudo-eigenvalues)这样的概念。伪特征值指的是当使用有限维矩阵近似来表示无限维 Koopman 算子 K 时,所计算出的特征值 λ 有可能并不属于真实 Koopman 算子的谱 σ(K)。
5.3.2 残差DMD
残差动态模式分解(ResDMD)[16][11] 通过清晰地呈现特征值偏离真实系统的残差,有效区分真实特征值与虚假的特征值,解决了一般算法下因有限维假设和离散化误差导致的谱污染问题,详情请查阅残差DMD。
残差DMD算法[11]的核心思路是:通过数据驱动的方式求解近似Koopman矩阵 K,再基于此算出所有Koopman候选特征对:λ, φ。φ 便是特征值 λ 对应的特征函数。这里的候选特征值已经是在算法估计上保证偏离真实特征值的残差最小的特征值了。
输入:系统变量的初始状态 $\{x^{(j)}\}_{j=1}^M$、系统变量的下一时刻的状态 $\{y^{(j)} = F(x^{(j)})\}_{j=1}^M$、M为样本点数量、每个点对应的权重构成的权重对角矩阵 W、字典函数 Ψ(实践中,可直接用作观测函数)、由字典函数和两个时刻的状态构成的数据矩阵 Ψ_X/Ψ_Y、判定是否是真特征值的阈值 ϵ > 0。
- 计算三个核心矩阵:$\Psi_X^* W \Psi_X$, $\Psi_X^* W \Psi_Y$, $\Psi_Y^* W \Psi_Y$。
- 求解广义特征值 $(\Psi_X^* W \Psi_Y) \varphi = \lambda (\Psi_X^* W \Psi_X) \varphi$,得到候选特征值和特征函数。
- 计算每个候选特征值的残差 res(λ_j, φ_j)。
- 丢弃残差大于 ϵ 的伪特征值,保留满足精度的有效特征值。
输出:残差小于阈值 ϵ 的 ϵ-伪谱 $\{(\lambda_j, \varphi_j) \mid \text{res}(\lambda_j, \varphi_j) \leq \epsilon\}$。
5.3.3 相关概念与推导
下面是关于算法中涉及的概念和符号的介绍。
定义(观测函数字典):一组观测函数字典 $\{\psi_1, \ldots, \psi_N\} \subset \mathcal{G}(x)$ (如前文,$\mathcal{G}(x)$ 为 $\mathcal{K}$ 的定义域),比如 x^2, cos(x), e^x...,可以看作是构建Koopman不变子空间的一组基函数。子空间可以写作 $V_N = \text{span}\{\psi_1, \ldots, \psi_N\}$。我们的目标是在该子空间上近似Koopman算子 $\mathcal{K}$ 的作用。
当我们讨论的是多维向量时,字典函数的映射可以写作 $\Psi(x) = [\psi_1(x), \ldots, \psi_N(x)] \in \mathbb{C}^{1 \times N}$,则子空间 VN 中的任意观测函数 g 可表示为字典函数的线性组合,即 $g(x) = \sum{j=1}^N \psi_j(x) g_j = \Psi(x) g$,其中$g \in \mathbb{C}^N$ 为系数向量。从字典函数与观测函数两个概念的关系中不难看出,字典函数本身也是特殊的一组观测函数。
已知观测函数字典和 y^{(j)} = F(x^{(j)}),那么字典观测空间中,数据切片矩阵为:

为了要定义和计算残差 res(λ_j, φ_j),我们需要先定义伪特征值和伪谱。
定义(算子的伪特征值):计算伪特征值,其实就是在给定一个特征值时,我们可以算出在多大程度上该特征值会被视为是虚假的特征值。当人为给定阈值 ϵ 时,满足差距在阈值以内的特征值可被认为是真实的特征值。而这样的特征值的集合便叫做 ϵ-伪谱。其定义如下[16]:

其中 cl 表示集合的闭包。该定义刻画了对于任意给定的精度 ϵ,能够以小于 ϵ 的残差近似满足特征值方程的标量 λ 的集合。ϵ 反应的就是观测空间偏离不变子空间的程度。如果 ϵ = 0,那么伪谱中所有的特征值一定都是真实的特征值。
之所以会出现虚假的特征值,来源就在于当我们估计Koopman矩阵时,迭代矩阵所描述的动力学不满足Koopman不变子空间的要求,从而与算子表述的动力学产生了偏差。数学表达式如下,
 = \Psi(F(x)) g \approx \Psi(x) (K g)$](https://static1.yunpan.plus/attachment/7f088a49c69cdc2e.webp)
这里的近似表达式对应的偏差便描述为

通过最小化这里的残差,我们可以得到关于最优Koopman矩阵的解析解,

其中 “†” 表示伪逆。将这里的Koopman矩阵的表达式带入到伪特征值的定义当中,经过一系列的推导,我们便可以得到伪特征值残差的表达式。给定K的候选特征对为 (λ, φ):
![$\text{res}(\lambda, \varphi)^2 = \frac{ \sum_{j,k=1}^N \bar{\epsilon}_j \bar{\xi}_k [ (\Psi_Y^* W \Psi_Y)_{jk} - \lambda (\Psi_Y^* W \Psi_X)_{jk} - \bar{\lambda} (\Psi_X^* W \Psi_Y)_{jk} + |\lambda|^2 (\Psi_X^* W \Psi_X)_{jk} ] }{ \sum_{j,k=1}^N \bar{\epsilon}_j \bar{\xi}_k (\Psi_X^* W \Psi_X)_{jk} }$](https://static1.yunpan.plus/attachment/6bf933f3440f3792.webp)
其中 ξ 表示特征函数在以字典函数为基底的空间上的组合系数。$\bar{\lambda}, \bar{\xi}$ 分别表示共轭的特征值和特征函数组合系数。
5.4 核DMD
核动态模式分解(Kernel Dynamic Mode Decomposition)是一种通过核技巧(kernel trick)在再生核希尔伯特空间(Reproducing Kernel Hilbert Space,RKHS)中近似非线性动力系统的Koopman算子的方法。Koopman算子虽然能将非线性系统转化为线性演化,但它作用在无限维函数空间上,无法直接计算。而核 DMD 的核心优势,就在于通过核函数将原始数据隐式映射到高维特征空间(RKHS),并在该空间中执行类似DMD的线性分析,从而间接获得非线性系统的主导动态模式,不需要 “显式” 地把观测函数写出来。
5.4.1 理论
具体来说,核函数 ker(x, y) 用于度量数据点 x 和 y 之间的相似性,它对应于一个特征映射 ϕ(x),使得:
ker(x, y) = ⟨ϕ(x), ϕ(y)⟩,
其中 ⟨⋅,⋅⟩ 表示RKHS中的内积。这种方法允许我们在不知道显式映射 ϕ 的情况下,直接在核空间中计算相似性。
核DMD的核心思路是在RKHS中执行类似标准DMD的操作,从而获得Koopman算子的近似矩阵 K,具体简化推导如下:
第一步,先定义核矩阵:我们将所有初始状态 {x_i} 和演化后状态 {y_i}(y_i = F(x_i),F为系统状态转移函数)代入核函数,构造两个核心核矩阵:

这两个矩阵的本质是,把RKHS中隐式特征映射 ϕ 的内积运算,直接转化为矩阵运算(无需写出 ϕ 的具体形式)。
第二步,核DMD假设Koopman算子在RKHS中的作用,满足类似标准DMD的线性近似关系,即[17][18]:

也就是,“演化后状态与初始状态的相似性”,可由“Koopman矩阵作用于初始状态间的相似性”近似得到。
第三步,从上述近似关系出发,能直接得到Koopman近似矩阵:

核DMD的优势在于,它能够处理复杂的非线性系统,如流体湍流或混沌系统,而无需手动设计非线性特征函数。此外,核技巧减少了计算复杂度,因为我们可以通过核矩阵运算避免高维空间中的直接计算。目前,有很多种核函数,包括线性核、多项式核、径向基核、高斯核、拉普拉斯核、sigmod核等等。
5.4.2 核函数
· 线性核(Linear Kernel):可视为核DMD的退化形式。其公式为:ker(x, y) = x·y,其中,x·y 是标准内积,直接反映线性相关性。线性核计算高效且无超参数,适合线性或近似线性的系统;但无法处理强非线性。在核DMD中,它适用于小扰动下的线性化系统,可作为复杂核的基准比较。
· 多项式核(Polynomial Kernel):适用于处理多项式非线性。其公式为:ker(x, y) = (x·y + c)^d,其中,x·y是向量x和y的内积,表示它们的线性相似性。c是常数项(通常 c ≥ 0),用于调整偏置,影响核的平移。d是多项式的次数,控制非线性程度;较高的d能捕捉更复杂的交互作用。多项式核计算简单且能明确控制模型复杂度;但当d较大时易过拟合,且对非多项式关系捕捉能力有限。在核DMD中,它适用于具有多项式动力学的系统,如机械振动或电路系统,其中变量间存在高阶依赖。
· 径向基函数核(Radial Basis Function Kernel)的公式为:ker(x, y) = f(|x - y|),其中,f(·)为关于距离的单调递减函数。高斯核和拉普拉斯核均属此类特例。径向基函数核的共性是利用数据点间的距离度量相似性,适用于局部平滑的动力系统。其优势在于能自动适应数据分布,无需预先假设特定函数形式。在动力系统分析中,径向基函数核能有效捕捉相空间中的局部动力学特征,如吸引子结构或稳定流形。缺点是当系统维度较高时,可能面临"维度灾难",且计算成本随数据量增加而显著增长。
· 高斯核(Gaussian Kernel):ker(x, y) = exp(-|x - y|/α),其中,|x - y|表示数据点x和y之间的欧氏距离,用于量化它们的空间分离程度。α是带宽参数(缩放因子),控制核函数的衰减速率;较小的α使核更局部化,较大的α使核更平滑。exp是指数函数,确保相似性随距离增加而指数衰减。该核函数能捕捉数据的局部结构,并对噪声有一定的鲁棒性;但对参数α的选择敏感,若选择不当可能导致过拟合或欠拟合。在核DMD中,高斯核适用于非线性动力系统分析,如流体湍流或混沌系统,能有效识别相干结构。
· 拉普拉斯核(Laplacian Kernel)是径向基函数核的一种变体,其对噪声和异常值具有更好的鲁棒性。其数学表达式为:ker(x, y) = exp(-|x - y|₁ / σ),其中,|x - y|₁表示向量间的曼哈顿距离(L1范数),σ为尺度参数控制衰减速率。与高斯核使用L2范数不同,拉普拉斯核使用L1范数,使其对异常值更不敏感,因为L1范数对大幅偏差的惩罚小于L2范数。该核函数的优点在于能有效处理包含噪声的高维数据,特别适用于传感器网络或实验测量数据中存在显著噪声的动力系统分析。缺点是计算效率相对较低,且需要仔细调整尺度参数σ以避免过平滑。
· Sigmoid核(Sigmoid Kernel)源自神经网络理论,其形式为:ker(x, y) = tanh(α x·y + c),其中,α为缩放参数,c为偏置项,tanh为双曲正切函数。该核函数模拟神经元激活函数的行为,能产生非线性映射。Sigmoid核的独特之处在于它能模拟饱和非线性特性,适用于具有阈值行为的动力系统,如生物神经元模型或开关控制系统。然而,Sigmoid核并非始终满足Mercer条件(即不一定为正定核),这可能导致数值不稳定性和收敛问题。在实际应用中,需谨慎验证其正定性,或采用修正版本以确保计算稳定性。
核DMD的适用场景广泛,包括动力系统分析、预测建模和控制设计。例如,在流体动力学中,核DMD可以识别湍流中的相干结构,而在神经网络应用中,它能近似非线性动力学的演化。然而,核函数的选择(如高斯核、多项式核或线性核)对性能有显著影响,需要根据具体系统进行调整。总之,核DMD提供了一种高效且灵活的方式来扩展线性DMD,使其适用于现实世界中的非线性问题,同时保持了Koopman理论的理论严谨性。
5.5 基于神经网络的DMD
尽管Koopman数据驱动算法前景广阔,但要选取合适的观测函数仍然是一个核心挑战。即使对于相对简单的动力系统,Koopman 算子的特征函数也可能任意复杂,并且在有限基中只能被近似地表示。深度学习非常适合表示这种任意复杂的函数,并且最近在Koopman 预测方面显示出了巨大的潜力[19][20]。
除了利用神经网络来学习Koopman嵌入之外,Koopman理论也被应用于理解神经网络[33][34]以及更广泛的算法[35]。

目前主要有两种用于Koopman嵌入的深度神经网络架构,如上图所示。在第一种架构中,深度自动编码器架构提取几个关键的潜在变量 z = φ(x) 来参数化动力学。在第二种架构中,高维输入数据被提升到更高的维度,在该维度下演化近似为线性的。
在这两种 Koopman 神经网络中,都强制执行了一个额外的约束,即在这些潜在变量上的动力学必须是线性的,由矩阵 K 给出。线性动力学的约束通过损失函数 ‖φ(x_{k+1}) - K φ(x_k)‖ 来强制执行,其中 K 是一个矩阵。
自编码器具有低维潜在空间的优势,这可能促进可解释的解的产生。自编码器已被广泛用于复杂系统建模,例如在流体力学中[36],它们可以被视为SVD的非线性扩展,而SVD是 DMD 算法的核心。通过这种方式,基于自编码器的深度Koopman网络可以被视为DMD的推广。
同样,如果矩阵 K 被对角化,那么嵌入函数 φ 就对应于 Koopman 特征函数[37]。变分自编码器也被用于随机动力系统,例如分子动力学,其中从潜在变量映射回物理构型空间的过程是概率性的。
相比之下,第二种范式,即测量值被提升到更高维空间,与机器学习中的许多结果相关,例如Cover定理[38],即非线性问题在更高维嵌入中往往变得更加线性。
对于具有离散特征值谱的简单系统,可以用少量的自编码器变量获得紧凑的表征。然而,具有连续特征值谱的动力学无法用标准的低维 Koopman 表示来描述。 Lusch、Kutz 和 Brunton 最近的一项工作[37]提出了一种可以用神经网络处理连续特征值谱动力学的方法。
5.6 时间延迟DMD
DMD和eDMD算法基于全状态测量的可用性,而这些测量通常维数很高。然而,通常情况下只能获得系统的部分观测值,即存在隐藏变量或潜在变量。在这种情况下,可以使用系统的时间延迟测量值来构建新的观测量,从而构建一个Koopman不变子空间。和之前提及的算法一样,这里输入是已知的时间序列数据,输出是Koopman算子对应的线性迭代矩阵,只不过这里我们用时间延迟的变量作为扩展的观测函数。
将时间延迟坐标用作Koopman坐标系依赖于满足Takens嵌入定理的条件[39],这样才能使得延迟嵌入吸引子与原始全状态坐标中的吸引子微分同胚。如此构建出来的观测空间中,描述系统演化的线性矩阵便是Hankel矩阵[21]。

时间延迟测量方案示意图如上图所示,以Lorenz系统为例,展示了将混沌分解为带有外力的线性系统。
输入:其中输入的只有能观测到的 x(t) 这一个维度的时间序列。可以从该标量测量的时间序列构造一个Hankel矩阵 H:

H(t1) 的每一列都可以通过将前一列在时间上向前推进一步来获得。因此,我们可以用 Koopman 算子 K 重写上式:

输出:Koopman矩阵。该矩阵可以通过下面等式的关系线性拟合得到:

τ 便是作用一次Koopman算子所推进的时间步长。相应地,我们也可以把上式用微分方程的形式表述出来,这里不再赘述。它同样可以看成,我们是用同一个 H 的前 p−1 列和后 p−1 列组成的两个矩阵进行DMD估计。
任意选取的Hankel矩阵可能不满足Koopman不变子空间的要求。对于足够的数据量,系统将收敛到一个吸引子,使得 H 的列变得近似线性相关。在这种情况下,可以通过计算 H 的SVD可以获得一个Koopman不变子空间。这实际上是对原本的Hankel矩阵进行了低秩近似,从而让我们可以用部分的奇异向量代替原本的Hankel矩阵进行拟合估计。对于Lorenz系统的吸引子,我们用前3个右奇异向量便重构出了原系统的大致运动情况,如图中右上角所示。
另外在实践中,对于具有混沌性质的动力系统还需要注意动力学封闭性的问题,仅靠升维可能是不够的。Champion, Brunton 和 Kutz等人表明[40],对于混沌系统,即使有近似Koopman不变的测量系统,在识别封闭的线性模型方面仍存在挑战[41]。无论多么高维的线性模型,都无法捕捉多个不动点或具有正Lyapunov指数的混沌所特有的不可预测行为[12][41]。与其构建一个封闭的线性模型,不如在前 p−1 个变量上构建一个线性模型,并将最后一个变量强加为一个外力项[21]。
如上图所示,在所探索的Lorenz系统示例中[21],前 r−1 项的线性模型是准确的,而没有线性模型能表示 v_r。相反,v_r 应该是线性动力学的外来输入。v_r(t) 的统计数据是非高斯的,具有长尾,也就意味着显著存在罕见的波动事件。这种外力变量的罕见变化对应于驱动 Lorenz 系统中的波瓣切换,如图中左下角红色标注的波峰所示。这种分析架构被称为 Koopman 的 Hankel 替代视图分析 (Hankel alternative view of the Koopman,HAVOK)[21]。这种考虑有外生变量的模型其实就已经可以用来建模系统控制上的问题。对于控制问题,Koopman算子理论的优势便在于使得非线性系统的反馈控制能够利用高效的线性优化工具完成[42][43],更多相关内容详见词条基于Koopman算子的控制策略。
Hankel矩阵在系统辨识中已使用了几十年,例如在ERA[44]和奇异谱分析(singular spectrum analysis,SSA)[45]中。这些早期算法是专门为线性系统开发的,尽管它们常被应用于弱非线性系统,但当时尚不清楚如何解释由这些方法产生的模型和分解。
现代Koopman算子理论为在非线性系统中解释这些经典的基于Hankel方法的结果提供了一个有价值的新视角。在 Hankel 矩阵上计算 DMD 的做法最早由Tu等人[29]提出,并由Brunton等人[46]用于神经科学领域。Hankel矩阵与Koopman算子之间的联系,由 Brunton等人[21]在HAVOK框架中建立。随后的一些工作为该方法提供了更完善的理论基础[47][48]。HAVOK 方法也常被称为延迟DMD[29]或Hankel-DMD[47]。
延迟嵌入与Koopman算子之间的联系最早在 2004 年由 Mezić 和 Banaszuk[49]建立,在其中定义了随机Koopman算子并证明了统计Takens定理。还有工作研究了如何将动力学拆分为确定性线性动力学与混沌随机动力学[9]。在具有长期记忆效应的系统中,使用延迟坐标可能尤其重要,而Koopman方法已被证明是此类系统中一种成功的分析工具[50]。
6. 与其他算子的关系
下图直观表示了Koopman算子与其他算子的关系。

从Koopman算子 $K_t$ 开始,该算子定义在可观测量空间 f 上,用于描述系统的有限时间演化。它由作为无穷小生成元的李算子 $\mathcal{L}$ 通过指数映射生成,两者关系表示为 $K = \exp(\mathcal{L}t)$。
在对偶的密度空间 ρ 中,对应的有限时间演化算子是Perron-Frobenius算子 $P_t$。类似于Koopman算子,$P_t$ 也可以通过其无穷小生成元——刘维尔算子 $\mathcal{L}^*$ 的指数映射来表示,即 $P = \exp(\mathcal{L}^* t)$。
上下两层空间中的算子通过伴随(或对偶)关系相互联系。对于无穷小生成元,李算子 $\mathcal{L}$ 与刘维尔算子 $\mathcal{L}^*$ 满足关系 $\langle \mathcal{L}f, \rho \rangle = \langle f, \mathcal{L}^* \rho \rangle$;对于有限时间演化算子,Koopman算子 $K_t$ 与Perron-Frobenius算子 $P_t$ 满足关系 $\langle K_t f, \rho \rangle = \langle f, P_t \rho \rangle$。
6.1 Perron-Frobenius算子
Perron-Frobenius (PF) 算子,也被称为 Ruelle 转移算子,是非线性动力学的一种线性表示,与 Koopman 算子的发展平行。Koopman 算子演化的是从动力学定义域取值的测量函数(可观测量),而 PF 算子不同,它演化的是支撑在动力学定义域上的测度(分布)。由于 PF 算子和 Koopman 算子可以在适当定义的函数空间中被证明是形式上的伴随,我们在此介绍一下PF算子[51][52]。
定义(PF算子):设动力学的定义域 $\mathcal{X}$ 被赋予Borel可测空间的结构。给定一个概率测度 μ 和任意可测集 A,定义PF算子为

其中 $F^{-t}(A) := \{x \in \mathcal{X} : F^t(x) \in A\}$ 是 A 通过动力学的原像。与 Koopman 算子类似,$P^t$ 族形成一个幺半群。另一种表述将概率测度空间上的作用替换为函数空间上的作用[51]。这假设流映射 $F^t$ 相对于某个基测度 m(例如勒贝格测度)是非奇异的,意味着

将 $g \in L^1(\mathcal{X}, dm)$ 解释为测度的密度,即 dμ = g dm,可以将 PF 算子 $P^t : L^1(\mathcal{X}, dm) \to L^1(\mathcal{X}, dm)$ 定义为

性质(函数空间上的表达):上式对于任意 Borel 集 A 成立。如果流映射还是光滑的,则该定义等价于

其中 $|\nabla F^t|$ 表示流映射导数的雅可比行列式的行列式值。
这两种表述(即之前的定义与上述积分定义)通过将 g ∈ L^1 解释为绝对连续于 dm 的概率测度的密度(即 dμ = g dm)而联系起来。
性质(伴随关系):假设动力学可以被限制在一个有限测度的空间内,则有 $L^\infty(\mathcal{X}, dm) \subset L^2(\mathcal{X}, dm) \subset L^1(\mathcal{X}, dm)$。在这种设定下,Koopman 算子和 PF 算子可以分别定义在 $L^\infty(\mathcal{X}, dm)$ 和 $L^1(\mathcal{X}, dm)$ 上,或者都定义在 $L^2(\mathcal{X}, dm)$ 上,并且可以证明它们互为伴随[51]:

由于证明是通过简单函数(即指示函数的线性组合)逼近的标准论证进行的,这种关系可以扩展到更广泛的场景。伴随算子具有相同的谱,尽管它们的特征函数确实不同,正如矩阵及其伴随(转置)的特征向量的一般情况一样。对于保持勒贝格测度的可逆非奇异动力学,时间正向映射 $F^t$ 的 PF 算子恰恰是时间反向映射 $F^{-t}$ 的 Koopman 算子[51]。
对于用随机矩阵近似PF算子,一种早期使用且至今仍在使用的技术被称为Ulam方法,这是以Ulam的一个猜想命名的[53]。关于Ulam方法本身的介绍,读者可进一步查阅该词条。
定义(特征函数):PF 算子的特征函数对应于状态空间中点的复数值分布,这些分布根据相关的特征值进行演化

当 λ=1 时,ρ 是不变密度,可将动力学划分为不变集。即使远离Galerkin近似的极限,Ulam矩阵 U (PF算子的具体矩阵表示) 也可以被解释为有向图上的马尔可夫链转移矩阵,这允许定义状态空间中的几乎不变集[54]。对于模长 |λ|≠1 的特征值,其特征函数与动力系统状态空间中的混合性质和逃逸率有关[55]。
PF算子的无穷小生成元是Liouville算子 A,其满足

类似于Koopman算子的Lie 生成元,当动力学使用速度场 $\dot{x} = f(x)$ 指定时,可以证明Liouville算子满足

进而导出一个Liouville算子和 PF 算子的特征函数必须满足的PDE,

只要PF算子特征值 $\lambda = e^\mu \in \mathbb{C} \setminus \{0\}$ 成立。Koopman和PF算子的不变特征函数已被用于提取动力系统状态空间中的不变集。在这些算子互为对偶的函数空间中,两个算子的特征函数理论上包含相同的信息。然而,在实践中,我们需要基于实际约束做出合适的选择。例如,通过Koopman特征函数对不变集的近似依赖于长时间的轨迹,而Ulam对PF的近似通常需要定义域内密集采样的短时轨迹[56]。另外,对于PF算子的特征值谱的计算,读者可参考相关的周期轨道理论[57]。
6.2 Lie算子
算子 $\mathcal{L}$ 被称为Lie算子,因为它就是沿着向量场 f(x) 对 g 的Lie导数。这可以通过对 g(x) 的时间导数应用链式法则得到:

与

联立起来,可以得到:

Lie算子的伴随算子被称为Liouville算子,特别是在哈密顿动力系统中。而Koopman算子的伴随算子是Perron-Frobenius算子。在许多方面,动力系统的算子理论框架有两种对偶的观点,分别对应Koopman算子和Perron-Frobenius算子。对于 $\mathcal{L}$ 的特征函数而言,对应的等价关系是如下的偏微分方程:

利用这个偏微分方程,可以通过求解Laurent级数或通过数据回归来近似特征函数。这一表述假设系统动力学既是连续的也是可微的。
参考文献
- Koopman, B. O. (1931). Hamiltonian Systems and Transformation in Hilbert Space. Proceedings of the National Academy of Sciences, 17(5), 315–318.
- Koopman, B. O., & Neumann, J. V. (1932). Dynamical Systems of Continuous Spectra. Proceedings of the National Academy of Sciences, 18(3), 255–263.
- Brunton, S. L., Budišić, M., Kaiser, E., & Kutz, J. N. (2022). Modern Koopman Theory for Dynamical Systems. SIAM Review, 64(2), 229–340.
- N. Cvijarić-Zvić, S. Maćešić, and I. Mezić, Koopman operator spectrum for random dynamical systems, J. Nonlinear Sci., 30 (2020), pp. 2007–2056.
- Zagli, N., Colbrook, M., Lucarini, V., Mezić, I., & Moroney, J. (2025). Bridging the Gap between Koopmanism and Response Theory.
- Mezić, I. (2013). Analysis of Fluid Flows via Spectral Properties of the Koopman Operator. Annual Review of Fluid Mechanics, 45(1), 357–378.
- Govindarajan, N., Mohr, R., Chandrasekaran, S., & Mezic, I. (2019). On the Approximation of Koopman Spectra for Measure Preserving Transformations. SIAM Journal on Applied Dynamical Systems, 18(3), 1454–1497.
- E. Bollt, Geometric considerations of a good dictionary for Koopman analysis of dynamical systems, Comm. Nonlinear Sci. Numer. Simul., 100 (2021), art. 105833.
- I. Mezić, Spectral properties of dynamical systems, model reduction and decompositions, Nonlinear Dynam., 41 (2005), pp. 309–325.
- Mezić, I. (2020). Spectrum of the Koopman Operator, Spectral Expansions in Functional Spaces, and State-Space Geometry. Journal of Nonlinear Science, 30(5), 2091–2145.
- Colbrook, M. J. & Townsend, A. Rigorous data-driven computation of spectral properties of Koopman operators for dynamical systems. Commun. Pure Appl. Math. 77, 221–283 (2024).
- S. L. Brunton, B. W. Brunton, J. L. Proctor, and J. N. Kutz, Koopman invariant subspaces and finite linear representations of nonlinear dynamical systems for control, PLoS ONE, 11 (2016), art. e0150171.
- M. O. Williams, I. G. Kevrekidis, and C. W. Rowley, A data-driven approximation of the Koopman operator: Extending dynamic mode decomposition, J. Nonlinear Sci., 6 (2015), pp. 1307–1346.
- Lan, Y., & Mezić, I. (2013). Linearization in the large of nonlinear systems and Koopman operator spectrum. Physica D: Nonlinear Phenomena, 242(1), 42–53.
- P. J. Schmid, Dynamic mode decomposition of numerical and experimental data, J. Fluid Mech., 656 (2010), pp. 5–28.
- Colbrook, M. J., Ayton, L. J. & Szőke, M. Residual dynamic mode decomposition: Robust and verified Koopmanism. J. Fluid Mech. 955, A21 (2023).
- M. O. Williams, C. W. Rowley, and I. G. Kevrekidis, A kernel approach to data-driven Koopman spectral analysis, J. Comput. Dynam., 2 (2015), pp. 247–265.
- Gonzalez, E., Abudia, M., Jury, M., Kamalapurkar, R. & Rosenfeld, J. A. The kernel perspective on dynamic mode decomposition. Preprint (2023).
- C. Wehmeyer and F. Noé, Time-lagged autoencoders: Deep learning of slow collective variables for molecular kinetics, J. Chem. Phys., 148 (2018), pp. 1–9.
- N. Takeishi, Y. Kawahara, and T. Yairi, Learning Koopman invariant subspaces for dynamic mode decomposition, Advances in Neural Information Processing Systems, 2017, pp. 1130–1140.
- S. L. Brunton, B. W. Brunton, J. L. Proctor, E. Kaiser, and J. N. Kutz, Chaos as an intermittently forced linear system, Nature Commun., 8 (2017), pp. 1–9.
- Erichson, N. B., Mathelin, L., Kutz, J. N. & Brunton, S. L. Randomized dynamic mode decomposition. Siam J. Appl. Dyn. Syst. 18, 1867–1891 (2019).
- T. Askham and J. N. Kutz, Variable projection methods for an optimized dynamic mode decomposition, SIAM J. Appl. Dyn. Syst., 17 (2018), pp. 380–416.
- J. N. Kutz, X. Fu, and S. L. Brunton, Multiresolution dynamic mode decomposition, SIAM J. Appl. Dyn. Syst., 15 (2016), pp. 713–735.
- S. T. Dawson, M. S. Hemati, M. O. Williams, and C. W. Rowley, Characterizing and correcting for the effect of sensor noise in the dynamic mode decomposition, Exp. Fluids, 57 (2016), pp. 1–19.
- S. Klus, P. Gelß, S. Peitz, and C. Schütte, Tensor-based dynamic mode decomposition, Nonlinearity, 31 (2018), pp. 3359–3380.
- J. L. Proctor, S. L. Brunton, and J. N. Kutz, Dynamic mode decomposition with control, SIAM J. Appl. Dyn. Syst., 15 (2016), pp.
- C. W. Rowley, I. Mezić, S. Bagheri, P. Schlatter, and D. Henningson, Spectral analysis of nonlinear flows, J. Fluid Mech., 645 (2009), pp. 115–127.
- J. H. Tu, C. W. Rowley, D. M. Luchtenburg, S. L. Brunton, and J. N. Kutz, On dynamic mode decomposition: Theory and applications, J. Comput. Dynam., 1 (2014), pp. 391–421.
- K. K. Chen, J. H. Tu, and C. W. Rowley, Variants of dynamic mode decomposition: Boundary condition, Koopman, and Fourier analyses, J. Nonlinear Sci., 22 (2012), pp. 887–915.
- J. N. Kutz, S. L. Brunton, B. W. Brunton, and J. L. Proctor, Dynamic Mode Decomposition: Data-Driven Modeling of Complex Systems, SIAM, 2016.
- S. L. Brunton, J. L. Proctor, and J. N. Kutz, Discovering governing equations from data by sparse identification of nonlinear dynamical systems, Proc. Natl. Acad. Sci. USA, 113 (2016), pp. 3932–3937.
- I. Manojlović, M. Fonoberova, R. Mohr, A. Andrejcuk, Z. Drmac, Y. Kevrekidis, and I. Mezić, Applications of Koopman Mode Analysis to Neural Networks, preprint (2020).
- A. S. Dogra and W. T. Redman, Optimizing neural networks via Koopman operator theory, Advances in Neural Information Processing Systems, 2020, pp. 2087–2097.
- F. Dietrich, T. N. Thiem, and I. G. Kevrekidis, On the Koopman operator of algorithms, SIAM J. Appl. Dyn. Syst., 19 (2020), pp. 860–885.
- S. L. Brunton, B. R. Noack, and P. Koumoutsakos, Machine learning for fluid mechanics, Annu. Rev. Fluid Mech., 52 (2020), pp. 477–508.
- B. Lusch, J. N. Kutz, and S. L. Brunton, Deep learning for universal linear embeddings of nonlinear dynamics, Nature Commun., 9 (2018), art. 4950.
- H. Lange, S. L. Brunton, and J. N. Kutz, From Fourier to Koopman: Spectral methods for long-term time series prediction, J. Mach. Learn. Res., 22 (2021), pp. 1–38.
- F. Takens, Detecting strange attractors in turbulence, in Dynamical Systems and Turbulence, Lecture Notes in Math. 898, Springer, 1981, pp. 366–381.
- K. P. Champion, S. L. Brunton, and J. N. Kutz, Discovery of nonlinear multiscale systems: Sampling strategies and embeddings, SIAM J. Appl. Dyn. Syst., 18 (2019), pp. 312–333.
- Mezić, I. (2022). On Numerical Approximations of the Koopman Operator. Mathematics, 10(7), 1180.
- Korda, M., & Mezic, I. (2020). Optimal Construction of Koopman Eigenfunctions for Prediction and Control. IEEE Transactions on Automatic Control, 65(12), 5114–5129.
- Strässer R, Worthmann K, Mezić I, et al. An overview of Koopman-based control: From error bounds to closed-loop guarantees. Annual Reviews in Control, 2026, 61: 101035.
- J. N. Juang and R. S. Pappa, An eigensystem realization algorithm for modal parameter identification and model reduction, J. Guidance Control Dynam., 8 (1985), pp. 620–627.
- R. W. Brockett, Optimal control of the Liouville equation, Proceedings of the International Conference on Complex Geometry and Related Fields, 2007, pp. 23–35.
- B. W. Brunton, L. A. Johnson, J. G. Ojemann, and J. N. Kutz, Extracting spatio-temporal coherent patterns in large-scale neural recordings using dynamic mode decomposition, J. Neurosci. Methods, 258 (2016), pp. 1–15.
- H. Arbabi and I. Mezić, Ergodic theory, dynamic mode decomposition, and computation of spectral properties of the Koopman operator, SIAM J. Appl. Dyn. Syst., 16 (2017), pp. 2096–2126.
- S. Das and D. Giannakis, Delay-coordinate maps and the spectra of Koopman operators, J. Statist. Phys., 175 (2019), pp. 1107–1145.
- I. Mezić and A. Banaszuk, Comparison of systems with complex behavior, Phys. D, 197 (2004), pp. 101–133.
- A. Svenkeson, B. Glaz, S. Stanton, and B. J. West, Spectral decomposition of nonlinear systems with memory, Phys. Rev. E, 93 (2016), art. 022211.
- A. Lasota and M. C. Mackey, Chaos, Fractals, and Noise: Stochastic Aspects of Dynamics, 2nd ed., Springer, 1994.
- E. M. Bollt and N. Santitissadeekorn, Applied and Computational Measurable Dynamics, SIAM, 2013.
- S. Ulam, Problems in Modern Mathematics, Science Editions, 1960.
- G. Froyland and M. Dellnitz, Detecting and locating near-optimal almost-invariant sets and cycles, SIAM J. Sci. Comput., 24 (2003), pp. 1839–1863.
- G. Froyland and O. Stancevic, Escape rates and Perron-Frobenius operators: Open and closed dynamical systems, Discrete Contin. Dyn. Syst. B, 14 (2010), pp. 457–472.
- M. Budišić and I. Mezić, Geometry of the ergodic quotient reveals coherent structures in flows, Phys. D, 241 (2012), pp. 1255–1269.
- P. Cvitanović, R. Artuso, R. Mainieri, G. Tanner and G. Vattay, Chaos: Classical and Quantum, 2020.