“Koopman理论”的版本间的差异

来自集智百科 - 复杂系统|人工智能|复杂科学|复杂网络|自组织
跳到导航 跳到搜索
第107行: 第107行:
 
<math> \mathcal{L}g = \nabla g \cdot \mathbf{f} </math>
 
<math> \mathcal{L}g = \nabla g \cdot \mathbf{f} </math>
  
−
Lie算子的伴随算子被称为Liouville算子,特别是在哈密顿动力系统中。而Koopman算子的伴随算子是Perron-Frobenius算子。在许多方面,动力系统的算子理论框架有两种对偶的观点,分别对应Koopman算子和Perron-Frobenius算子。对于<math>\mathcal{L}</math>的特征函数而言,对应的等价关系是如下的偏微分方程:
+
Lie算子的伴随算子被称为Liouville算子,特别是在哈密顿动力系统中。而Koopman算子的伴随算子是[[Perron-Frobenius算子]]。在许多方面,动力系统的算子理论框架有两种对偶的观点,分别对应Koopman算子和[[Perron-Frobenius算子]]。对于<math>\mathcal{L}</math>的特征函数而言,对应的等价关系是如下的偏微分方程:
  
 
<math>  
 
<math>  
第113行: 第113行:
 
</math>
 
</math>
  
−
利用这个偏微分方程,可以通过求解Laurent级数(见2.5小节)或通过数据回归(见第5节)来近似特征函数。这一表述假设系统动力学既是连续的也是可微的。
+
利用这个偏微分方程,可以通过求解Laurent级数或通过数据回归来近似特征函数。这一表述假设系统动力学既是连续的也是可微的。
  
 
=参考文献=
 
=参考文献=
 
<references/>
 
<references/>

2025年10月28日 (二) 13:04的版本

Koopman理论是一种将非线性动力系统用线性算子来分析的方法。它提出,虽然原始系统可能是非线性的,但可以通过Koopman算子作用在观测函数空间,使得系统在这个更高维的空间中变得线性。这样,使用线性分析工具(如谱分析、特征分解)就能研究复杂的非线性动态行为,大大拓展了对非线性系统的理解和建模能力。该理论广泛应用于流体力学、混沌系统和数据驱动建模等领域。

历史溯源

Koopman算子理论的发展始于20世纪30年代,首要的贡献者是B. O. Koopman和冯诺伊曼。Koopman受到量子力学中算子方法的启发,试图用线性方法分析经典的非线性哈密顿(Hamilton)系统。他关心的是观测函数随动力系统演化过程的性质,而不是单独的相空间轨道。在1931年,Koopman在其论文中首次引入了算子的理念,表明通过线性算子可以描述非线性的哈密顿动力系统的演化[1],这一构想为后来的发展奠定了基础。他强调,可以将动力系统看作是在某种函数空间中的算子作用过程。

冯诺伊曼是当时希尔伯特空间和谱理论的奠基人,他对动力系统的统计与概率性质、特别是遍历性和连续谱问题尤为关注。他希望将动力系统与算子谱理论紧密结合,发展概率与动力系统的严格基础。与Koopman合作的1932年论文中[2],冯诺伊曼更进一步地分析了具有连续谱的动力系统,给出了动力系统在算子谱理论下一般性的统计行为和遍历结果,对“不可积系统”的性质进行了深刻刻画。两人共同发表的重要论文是早期动力系统Koopman谱理论的里程碑,将Koopman的线性化算子思想和冯诺伊曼的希尔伯特空间、谱理论、概率逻辑方法结合,系统分析了动力系统连续谱情况下的统计与遍历性质[2]。

这一理论框架在后来的研究中得到了扩展,尤其是在流体动力学和混沌理论中被广泛应用。近年来,Koopman算子理论受到了越来越多的关注,特别是在数据驱动的动力学建模和控制领域。研究者们利用Koopman算子提取动态系统的特征,使得对复杂现象的预测和控制更加有效[3]。

总之,从Koopman和冯诺伊曼在1931年和1932年的开创性工作到当今的数据驱动应用,Koopman算子理论已成为现代动力学研究不可或缺的重要工具。

Koopman算子定义

时间离散

时间连续

Koopman模式分解

特征函数与特征值

一个对应于特征值[math]\displaystyle{ \lambda }[/math]的Koopman特征函数[math]\displaystyle{ \varphi(\mathbf{x}) }[/math]满足:

[math]\displaystyle{ \varphi(\mathbf{x}_{k+1}) = \mathcal{K} \varphi(\mathbf{x}_k) = \lambda \varphi(\mathbf{x}_k). }[/math]

 

 

 

 

(1)

在连续时间下,Lie算子的特征函数[math]\displaystyle{ \varphi(\mathbf{x}) }[/math]满足:

[math]\displaystyle{ \frac{d}{dt} \varphi(\mathbf{x}) = \mathcal{L}\varphi(\mathbf{x}) = \mu \varphi(\mathbf{x}), }[/math]

其中[math]\displaystyle{ \mu }[/math]是连续时间下的特征值。一般来说,即使状态空间[math]\displaystyle{ \mathcal{X} }[/math]和动力学[math]\displaystyle{ \mathbf{F}(\mathbf{x}) }[/math]是实值的,特征值和特征向量通常分别是复值的标量和函数。

如果我们考虑本身已经是线性的动力学,可以进一步说明线性时间离散动力学[math]\displaystyle{ \mathbf{x}_{n+1} = \mathbf{A}\mathbf{x}_n }[/math]的特征向量与[math]\displaystyle{ g_{n+1} = \mathcal{K}g_n }[/math]的特征函数之间的联系。给定矩阵[math]\displaystyle{ \mathbf{A} }[/math]的一个左特征向量[math]\displaystyle{ \boldsymbol{\xi}^\top \mathbf{A} = \lambda \boldsymbol{\xi}^\top }[/math],我们可以构造一个对应的Koopman特征函数如下

[math]\displaystyle{ \varphi(\mathbf{x}) := \boldsymbol{\xi}^\top \mathbf{x} }[/math]

因为

[math]\displaystyle{ \mathcal{K}\varphi(\mathbf{x}) = \varphi(\mathbf{A}\mathbf{x}) = \boldsymbol{\xi}^\top \mathbf{A}\mathbf{x} = \lambda \boldsymbol{\xi}^\top \mathbf{x} = \lambda \varphi(\mathbf{x}). }[/math]

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

[math]\displaystyle{ \mathcal{K} \left(\varphi_1(\mathbf{x}) \varphi_2(\mathbf{x})\right) = \varphi_1(\mathbf{F}(\mathbf{x}))\varphi_2(\mathbf{F}(\mathbf{x})) = \lambda_1\lambda_2 \varphi_1(\mathbf{x}) \varphi_2(\mathbf{x}). }[/math]

代数上,当观测空间在乘法下封闭时,Koopman特征函数的集合在逐点乘法下形成一个交换幺半群。这样一来,根据具体的动力系统,可能存在有限组生成元特征函数元素,可以用来构建所有其他特征函数[4]。对应的Koopman特征值根据形成乘法格,或者,若是Lie特征值,则形成加法格。

观测函数可以由特征函数线性组合构成,即[math]\displaystyle{ g(\mathbf{x}) \in \mathrm{span}\{\varphi_k\}_{k=1}^K }[/math],在Koopman算子作用下具有极为简单的演化关系:

[math]\displaystyle{ g(\mathbf{x}) = \sum_k v_k \varphi_k \implies \mathcal{K}^t g(\mathbf{x}) = \sum_k v_k \lambda_k^t \varphi_k. }[/math]

这意味着子空间 [math]\displaystyle{ \mathrm{span}\{\varphi_k\}_{k=1}^K }[/math] 在Koopman算子 [math]\displaystyle{ \mathcal{K} }[/math] 的作用下是不变的。因此我们可以分析一般观测量分解到特征函数下的时间演化。这些理论为Koopman模式分解和动力学模式分解(DMD)方法奠定了基础。

一般的观测函数下如何得到特征函数?

注意,一般矩阵的特征值分解通常是唯一的,其特征向量是有限维的,每个本征空间是有限维的,且特征值个数有限。而Koopman算子是作用在无限维的函数空间上的,所以会有无限多个特征函数。只要有生成元,就可以无限地生成新的特征函数。而换一组生成元,特征函数的表现形式会很不一样。有几种方法可以用来数值近似计算Koopman特征函数。

傅立叶平均

假设一个观测量的演化[math]\displaystyle{ g(\mathbf{x}(t)) = g(\mathbf{F}^t(\mathbf{x})) }[/math]已知,则可以通过以下长期谐波或傅里叶平均来计算与特征值[math]\displaystyle{ e^{i\omega} }[/math]对应的特征函数:

[math]\displaystyle{ \tilde{g}_\omega(\mathbf{x}) := \lim_{T \to \infty} \frac{1}{T} \int_0^T g\left(\mathbf{F}^t(\mathbf{x})\right) e^{-i\omega t} \,dt. }[/math]

可以根据特征函数的定义1证明[math]\displaystyle{ \tilde{g}_\omega(\mathbf{x}) }[/math]是特征函数,[math]\displaystyle{ e^{i\omega} }[/math]是特征值。

数据回归

Koopman算子应用的简单案例

数据驱动算法

动力学模式分解(DMD)

动力学模式分解是对Koopman模式分解的一种近似。这意味着,DMD的特征值将近似Koopman算子的特征值,DMD中的模式将近似Koopman算子的模式,DMD中的振幅将近似Koopman算子特征函数在初始条件下的取值。

扩展DMD

与其他算子的关系

PF算子

Lie算子

算子[math]\displaystyle{ \mathcal{L} }[/math]被称为Lie算子,因为它就是沿着向量场[math]\displaystyle{ \mathbf{f}(\mathbf{x}) }[/math]对[math]\displaystyle{ g }[/math]的Lie导数,当动力学由[math]\displaystyle{ (1.1) }[/math]给出时。这可以通过对[math]\displaystyle{ g(\mathbf{x}) }[/math]的时间导数应用链式法则得到:

[math]\displaystyle{ \frac{d}{dt}g(\mathbf{x}(t)) = \nabla g \cdot \dot{\mathbf{x}}(t) = \nabla g \cdot \mathbf{f}(\mathbf{x}(t)) }[/math] 与

[math]\displaystyle{ \frac{d}{dt}g(\mathbf{x}(t)) = \lim_{\tau \to 0} \frac{g(\mathbf{x}(t + \tau)) - g(\mathbf{x}(t))}{\tau} = \mathcal{L}(g(\mathbf{x}(t))) }[/math] 联立起来,可以得到:

[math]\displaystyle{ \mathcal{L}g = \nabla g \cdot \mathbf{f} }[/math]

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

[math]\displaystyle{ \nabla \varphi(\mathbf{x}) \cdot \mathbf{f}(\mathbf{x}) = \lambda \varphi(\mathbf{x}) . }[/math]

利用这个偏微分方程,可以通过求解Laurent级数或通过数据回归来近似特征函数。这一表述假设系统动力学既是连续的也是可微的。

参考文献

  1. ↑ Koopman, B. O. (1931). Hamiltonian Systems and Transformation in Hilbert Space. Proceedings of the National Academy of Sciences, 17(5), 315–318. https://doi.org/10.1073/pnas.17.5.315
  2. ↑ 2.0 2.1 Koopman, B. O., & Neumann, J. V. (1932). Dynamical Systems of Continuous Spectra. Proceedings of the National Academy of Sciences, 18(3), 255–263. https://doi.org/10.1073/pnas.18.3.255
  3. ↑ Brunton, S. L., Budišić, M., Kaiser, E., & Kutz, J. N. (2022). Modern Koopman Theory for Dynamical Systems. SIAM Review, 64(2), 229–340. https://doi.org/10.1137/21M1401243
  4. ↑ E. Bollt, Geometric considerations of a good dictionary for Koopman analysis of dynamical systems: Cardinality, ``primary eigenfunction,"" and efficient representation, Comm. Nonlinear Sci. Numer. Simul., 100 (2021), art. 105833. (Cited on pp. 242, 276)