Koopman 算符理论简介|入门路径
导语
本文选摘编译自2019年的综述文章 Notes on Koopman Operator Theory,旨在简要介绍 Koopman 算符理论,帮助感兴趣的读者快速入门。希望深入了解的朋友可以阅读原文。
好的理论和工具会大大加快科研进展,Koopman 算符有望成为分析和预测动态系统的标准理论。集智学园邀请北京邮电大学兰岳恒教授开设「Koopman分析在非线性动力学中的应用」系列课程,面向致力于学习和发展 Koopman 算符理论的社区朋友,在6节课程中,通过细致的讲解,深入的互动,形成苏格拉底式课堂氛围,共同进步。欢迎感兴趣的朋友加入课程!
龚铭康 | 编译
文章标题:
Notes on Koopman Operator Theory
文章链接:
https://fluids.ac.uk/files/meetings/KoopmanNotes.1575558616.pdf
1. 背景介绍
1. 背景介绍
现实世界的系统通常是非线性的,并在空间和时间上表现出多尺度行为。不仅如此,运动方程、方程的参数和测量过程中都存在不确定性和误差,造成对系统的分析更加困难。在一些常见系统中,比如神经科学、流行病学和生态网络等,系统的基本运动方程没有被指定,并且可能很难从第一性原理推导出来。即使在知道控制方程的系统中,如湍流、蛋白质折叠和化学反应,也很难在这些高维系统中找到模式,以获得主导行为演化的粗粒化变量以及有效的简化动力学方程。
传统上,物理系统的分析方法是进行理想近似,然后通过牛顿定律或拉格朗日力学推导简单的微分方程模型,多数情况下可以利用对称性和巧妙的坐标系来实现简化。然而,随着系统日益复杂,研究范式正在从经典方法转向数据驱动方法来发现控制方程。所有的动力学模型都只能得出近似值,并且随着复杂性的增加,这些近似值常常变得可疑。有时候还存在与动力学相关但可能无法测量的潜在变量。如何发现这些隐藏的变量也是数据驱动方法的主要挑战。
1931 年,Bernard O. Koopman 证明,作用于系统状态的测量函数希尔伯特空间的无限维线性算符可以用来表示非线性动力系统。这种所谓的 Koopman 算符是完全线性的,但是其谱分解完全表征了非线性系统的行为。在线性框架中表达非线性动力学的思想很有吸引力,因为线性系统有着丰富的最优估计和控制技术,并且能够分析预测系统的未来状态。然而,这种线性算符也是无限维的,因为描述状态的所有可能的测量函数 g 的空间需要无限多个自由度。在 Koopman 的年代进行这个量级的计算十分困难,而且当时也没有迫切的需求,所以 Koopman 算符理论诞生后并未得到实际应用。但在理论方面,冯诺依曼受到启发,将 Koopman 理论应用于遍历问题,并证明了平均遍历定理。
近年来,随着计算机性能的大幅提升,Koopman 算符理论重新受到关注,被应用到大规模数据的动力学分析中,成为观察动力系统演化的重要工具。相关研究的重点在于获得 Koopman 算符的有限维矩阵近似,并有望实现非线性动力系统的全局线性表示。
2. 动力系统基础知识
2. 动力系统基础知识
在介绍 Koopman 算符理论之前,首先我们将对本文使用的符号进行介绍,并回顾动力系统的基本知识。
2.1 动力系统
在 Koopman 算符理论中,我们将考虑以下形式的动力系统:
其中 x 是系统的状态,f 是矢量场,可能取决于状态 x、时间 t 和一组参数 β 。我们经常会考虑更简单的情况,即没有时间依赖性或参数的自治系统:
离散时间系统
我们还将考虑离散时间动力系统
离散时间动力学也被视为映射,比 (2) 中的连续时间公式更通用,也包含不连续和混合系统。离散时间动力学可以从连续时间动力学中导出,其中 xk 是通过在时间上离散采样 (2) 中的轨迹而获得的,因此 。离散时间推进函数 FΔt 现在由时间步长 Δt 参数化。对于任意时间 t,映射 Ft 定义为
当考虑实验数据和数字控制时,离散时间的观点通常更自然。
线性动力学和谱分解
只要有可能,最好使用以下形式的线性动力学
线性动力系统允许封闭解,并且有丰富的技术用于此类系统的分析、预测、数值模拟、估计和控制。(5) 的解由下式给出
动力学完全由矩阵 A 的特征值和特征向量表征,由 A 的谱分解(特征分解)给出:
当 A 有 n 个不同的特征值时,Λ 是包含特征值 λj 的对角矩阵,T 是一个矩阵,其列是与特征值 λj 关联的线性独立特征向量 ξj 。这种情况下,可以写成 A = TΛT−1,式(6)中的解变为
更一般地,在重复特征值的情况下,矩阵 Λ 将由 Jordan 块组成 。请注意,连续时间系统会产生离散时间动力系统,其中 Ft 由 (6) 中的映射 eAt 给出。在这种情况下,离散时间特征值由 eλt 给出。矩阵 T-1 定义了一个变换,z = T-1x,到内在特征向量坐标 z ,其中动力学变得解耦:
换句话说,每个坐标 zj 仅取决于其自身,具有简单的动力学
因此,非常需要使用线性系统,因为可以将系统转换为特征向量坐标,其中动力学变得解耦。对于非线性系统来说,通常不存在这样的封闭式解或简单的坐标线性变化。
3. Koopman 理论的数学表述
3. Koopman 理论的数学表述
我们考虑实值测量函数 g : M → R,它们是无限维希尔伯特空间的元素。函数 g 通常也称为可观测量。通常,希尔伯特空间由 M 上的勒贝格平方可积函数给出;测度空间的其他选择也是有效的。Koopman 算符 是无限维线性算符,作用于测量函数 g , 如下:
其中 ◦ 是复合运算符。对于时间步长为 Δt 的离散时间系统,则变为:
换句话说,Koopman 算符定义了一个无限维线性动力系统,它将状态 gk=g(xk) 的观测推进到下一个时间步:
这对于任何可观察函数 gk 和任何状态 xk 都是成立的。Koopman 算符是线性的,该属性继承自函数空间中加法运算的线性:
对于足够平滑的动力系统,还可以定义 Koopman 动力系统的连续时间模拟:
算符 是单参数变换族 的无穷小生成元。它由其对可观察函数 g 的作用来定义:
需要注意的是,原始状态 xk 可能本身是可观测量,无限维算符 会推进这个函数。然而,一旦通过动力学迭代,在选定的希尔伯特空间基础上可观测量的简单表示 g=x 可能会变得任意复杂。
3.1 Koopman 本征函数和内在坐标
对应于特征值 λ 的离散时间 Koopman 特征函数 φ(x) 满足
在连续时间中,Koopman 本征函数 φ (x) 满足
从数据或分析表达式中获取 Koopman 本征函数是现代动力系统中的一个核心应用挑战。发现这些特征函数可以实现强非线性系统的全局线性表示。将链式法则应用于 Koopman 本征函数 φ(x) 的时间导数,得出
结合 (18),得出本征函数 Φ(x) 的偏微分方程 (PDE):
利用这种非线性偏微分方程,可以通过求解洛朗级数或通过使用数据回归来近似特征函数,这两种方法都将在下面进行探讨。上面的公式假设动力学既连续又可微。(3)中的离散时间动力学更为普适,尽管在许多示例中,连续时间动力学比长时间的离散时间映射具有更简单的表示。例如,简单的洛伦兹系统具有简单的连续时间表示,但即使对于中等长离散时间步的更新通常也无法表示。
(17) 和 (18) 的关键要点是非线性动力学在本征函数坐标中完全线性化,由 φ(x) 给出。举一个简单的例子,动力系统的任何守恒量都对应于特征值 λ = 0 的 Koopman 特征函数。这建立了著名的诺特定理的 Koopman 扩展,这意味着控制方程中的任何对称性都会产生一个新的特征值 λ = 0 的Koopman特征函数。例如,哈密顿能量函数是保守系统的Koopman特征函数。此外,对于每个动力系统,常数函数 φ(x)=1 始终是对应于 λ = 0 的平凡本征函数。
特征值点阵:有趣的是,一组 Koopman 本征函数可用于生成更多本征函数。在离散时间中,我们发现两个本征函数 φ1(x) 和 φ2(x) 的乘积也是本征函数。
对应于由 φ1(x) 和φ2(x) 两个特征值的乘积给出的新特征值 λ1λ2。
在连续时间内,关系变为:
有趣的是,这意味着Koopman本征函数集在逐点乘法下建立了一个可交换幺半群;幺半群具有群的结构,只是元素不需要有逆元。因此,根据动力系统,可能存在一组有限的本征函数元素生成元,可用于构造所有其他本征函数。相应的特征值类似地根据乘积 λ1λ2 或总和 λ1+λ2 形成一个点阵,具体取决于动力学是离散时间还是连续时间的。例如,给定线性系统,则是特征值为 λ 的特征函数φ(x)。此外,φα(x)=xα 也是一个特征函数,对于任何 α 其特征值为 αλ 。
连续时间和离散时间的特征值点阵以简单的方式相关联。如果连续时间特征值由 λ 给出,则相应的离散时间特征值由 eλt 给出。因此,(21b)和(22d)中的特征值表达式的关联为:
作为连续时间和离散时间特征值之间关系的另一个简单演示,考虑将 (16) 中的连续时间定义应用于特征函数:
3.2 Koopman 模式分解和有限表示
到目前为止,我们已经考虑了系统的标量测量,并且我们发现了随时间线性演化的特殊特征测量。然而,我们经常对一个系统进行多次测量。在极端情况下,我们可以测量高维空间系统的整个状态,例如不断变化的流体流动。然后可以将这些测量结果排列在向量 g 中:
每个单独的测量都可以根据本征函数 φj(x) 展开,这为希尔伯特空间提供了基础:
因此,可观测量向量 g 可以类似地展开:
其中 vj 是与本征函数 φj 相关的第 j 个 Koopman 模式。对于保守动力系统,例如受哈密顿动力学控制的系统,Koopman 算符是酉的。因此,Koopman 特征函数对于保守系统是正交的,并且可以通过投影直接计算 Koopman 模式 vj :
其中 是希尔伯特空间中函数的标准内积。在系统的直接空间测量 g(x) = x 的情况下,这些模式具有物理解释,在这种情况下,这些模式是相干空间模式,其行为具有相同的时间动力学(即振荡,可能具有线性增长或衰减)。考虑到(27)中的分解,可以将测量 g 的动力学表示如下:
这个三元组序列 被称为 Koopman 模式分解,由 Mezic 于2005年引入。Koopman 模式分解后来通过动态模式分解连接到数据驱动回归。
图1. 非线性动力系统的Koopman算符示意图。从 yk → xk 的虚线表示我们希望能够恢复原始状态。
不变特征空间和有限维模型
应用 Koopman 分析不是捕获希尔伯特空间中所有测量函数的演化,而是近似由一组有限测量函数组成的不变子空间上的演化。Koopman 不变子空间定义为一组函数 {g1, g2, · · · , gp} 的跨度,如果对于该子空间中所有函数g
经 Koopman 算符 作用后仍保留在该子空间中:
通过将 Koopman 算符限制为由有限数量的函数 张成的不变子空间,可以获得 Koopman 算符的有限维矩阵表示。矩阵表示 K 作用于向量空间 ,坐标由 gj(x) 的值给出。这产生了一个有限维线性系统,如(13)和(15)中所示。
Koopman 算符的任何有限特征函数集都将张成不变子空间。因此,发现这些特征函数坐标是一个核心挑战,因为它们提供了动力学的线性表现的内在坐标。在实践中,我们更有可能确定一个近似不变的子空间,由一组函数 给出,其中每个函数 gj 都可以通过特征函数的有限和来很好地近似:。
3.3 应用
示例1:具有单不动点和慢流形的非线性系统
在这里,我们考虑一个具有单个不动点的示例系统,由下式给出:
对于 λ < μ < 0,系统表现出由 给出的慢吸引流形。可以用非线性测量 来增强状态 x,以定义三维 Koopman 不变子空间。在这些坐标中,动力学变为线性:
完整的三维 Koopman 可观测向量空间如图 2 所示。从不变流形 (蓝色表面)开始的轨迹被限制留在该流形上。存在一个慢子空间,由对应于慢特征值 μ 和 2μ 的特征向量张成;该子空间由绿色表面可视化。最后,存在原始系统的原始渐近吸引流形, (红色表面)。蓝色和红色抛物面始终相交于沿 y2-y3 方向倾斜 45° 角的抛物线。随着快动力学与慢动力学的比率变得越来越大,绿色表面接近 45° 倾角。在完整的三维 Koopman 可观测空间中,动力学产生单个稳定节点,其轨迹迅速被吸引到绿色子空间上,然后缓慢接近固定点。
图2. 方程(33a) 表示的三维线性Koopman系统的可视化以及 x1-x2 平面上的动态投影。这里,μ = −0.05 且 λ = 1。
由 Koopman 算符的特征函数定义的内在坐标。Koopman 算符的左特征向量产生 Koopman 特征函数(即特征可观测量)。(33a) 对应于特征值 μ 和 λ 的 Koopman 特征函数为:
φλ 中的常数 b 反映了这样一个事实:对于有限的比率 λ/μ,动力学仅影响渐近吸引慢流形 ,但实际上遵循相邻的抛物线轨迹。图 2 中针对不同比率 λ/μ 的各个表面更清楚地说明了这一点。这样,可以根据由 Koopman 算符的左特征向量在不变子空间上定义的可观测函数来确定一组内在坐标。具体地说,
这些特征可观测量定义了在 Koopman 算符作用下保持不变的可观察子空间,即使在坐标变换之后。因此,它们可以被视为 Koopman 不变子空间上的内在坐标。
示例2:逻辑斯蒂映射
考虑由下式给出的逻辑斯蒂映射:
令可观察子空间包括 x 和 x2 :
写出 Koopman 算符,第一行很容易就能写出:
但第二排就不明显了。要找到此表达式,需要展开 :
因此,需要三次和四次多项式项来推进 x2 。类似地,这些项分别需要六阶和八阶多项式,依此类推,无穷无尽:
上述 Koopman 算符在多项式基础上的表示有些令人不安。不仅没有封闭性,而且当 β > 1 时,任何有限秩截断的行列式都非常大。这说明了与简单混沌系统的无限维 Koopman 算符的朴素表示相关的一个缺陷。截断系统,或对增广的可观察向量进行最小二乘拟合会产生较差的结果,截断的系统仅与少数迭代的真实动力学一致,因为表示的复杂性增长地非常快:
3.4 特征函数的解析级数展开
给定方程(1) 中的动力学,可以使用标准技术求解 (20) 中的偏微分方程,例如递归求解泰勒级数或洛朗级数中的项。下面探讨了一些简单的例子。
线性动力学
考虑简单的线性动力学
假设 φ(x) 的泰勒级数展开:
那么梯度和方向导数由下式给出:
求解 Koopman 本征函数 PDE (20) 中的项,我们发现 c0=0 必须成立。对于(20)中的任何正整数 λ ,只有一个系数可以是非零的。具体来说,对于 λ = k ∈ Z+,则 φ(x)=cxk 是任何常数 c 的特征函数。例如,如果 λ = 1,则 φ(x)=x 。
二次非线性动力学
考虑非线性动力系统
除了 λ = 0 时的平凡解 φ(x)=0 外,没有满足 (20) 的泰勒级数。相反,我们假设一个洛朗级数:
梯度和方向导数由下式给出:
求解满足 (20) 的洛朗级数系数,我们发现所有具有正索引的系数都为零,即对于所有 k ≥ 1,ck = 0。然而,对于 k ≤ −1 ,非正索引系数由递归 λck+1= kck给出。因此,洛朗级数为
这适用于 的所有值。还有其他Koopman本征函数可以从洛朗级数中识别出来。
多项式非线性动力学
对于更一般的非线性动力系统
是所有 的特征函数。如上所述,还可以通过获取这些原始本征函数的幂来生成新的本征函数;所得特征值在复平面上生成一个点阵。
4. 历史和近期发展
4. 历史和近期发展
Koopman 于1931年提出的分析方法最初是为了描述哈密顿系统测量的演化,并在1932年与冯·诺依曼一起将这一理论推广到具有连续特征值谱的系统。在哈密顿流的情形下,Koopman 算符 是酉的,并在希尔伯特空间中形成了一族单参数的酉变换,这与哈密顿系统的相空间体积守恒性质密切相关。Koopman 在其原始论文中探讨了该算符的特征值谱与守恒量、可积性及遍历性之间的联系,这一工作直接推动了 Birkhoff 和冯·诺依曼对遍历定理的著名证明。此外,Koopman 算符也被称为组合算符,与概率密度函数空间中的 Perron-Frobenius 算符(推前算符)互为对偶,即左伴随算符。
近年来,随着 Mezić 及其合作者的开创性研究,Koopman分析重新引起了广泛关注。在应用方面,当选择多项式基表示 Koopman 算符时,其与非线性控制中的 Carleman 线性化方法密切相关,并在流体动力学中与解算符理论有联系。Koopman 分析提供了一种补充几何和概率方法的新框架,例如,Koopman 特征函数的水平集可形成动力系统的状态空间不变分区,用于遍历分区的分析。此外,研究表明 Koopman 分析能够推广 Hartman-Grobman 定理至稳定或不稳定平衡点及周期轨道的吸引域。当前的主要挑战在于如何有效表示一般动力系统的 Koopman 特征函数,特别是通过数据驱动方法来识别这些特征函数并应用于控制,其中包括利用深度学习技术挖掘数据中的特征函数结构。
Koopman分析在非线性动力学中的
应用系列课程
推荐阅读
6. 加入集智,一起复杂!
点击“阅读原文”,报名课程