| 第2行: |
第2行: |
| | |keywords=Koopman算子,观测函数,动力学模式分解 | | |keywords=Koopman算子,观测函数,动力学模式分解 |
| | |description=本文系统综述了Koopman理论及其应用。}} | | |description=本文系统综述了Koopman理论及其应用。}} |
| − | [[Koopman算子理论]]是一种将[[非线性动力系统]]用线性算子来分析的方法。它提出,虽然原始[[系统]]可能是非线性的,但可以通过Koopman算子作用在观测函数空间,使得[[系统]]在这个更高维的空间中变得线性。如此得到的线性动力系统与原系统是拓扑等价的,即它们有着相同的动力学性质。这样,使用线性分析工具(如谱分析、[[特征分解]]、[[模式分解]])就能研究[[复杂]]的非线性动态行为,对其可以有更好的预测和解释,大大拓展了我们对[[非线性系统]]的理解和建模能力。该理论广泛应用于流体力学、[[混沌]][[系统]]和数据驱动建模等领域。 | + | [[Koopman算子理论]]是一种将[[非线性动力系统]]用线性[[算子]]来分析的方法。它提出,虽然原始[[系统]]可能是[[非线性]]的,但可以通过Koopman[[算子]]作用在观测函数空间,使得[[系统]]在这个更高维的空间中变得线性。如此得到的线性[[动力系统]]与原系统是拓扑等价的,即它们有着相同的[[动力学]]性质。这样,使用线性分析工具(如谱分析、[[特征分解]]、[[模式分解]])就能研究[[复杂]]的[[非线性]]动态行为,对其可以有更好的预测和解释,大大拓展了我们对[[非线性系统]]的理解和建模能力。该理论广泛应用于[[流体力学]]、[[混沌]][[系统]]和数据驱动建模等领域。 |
| | | | |
| | =历史溯源= | | =历史溯源= |
| | Koopman[[算子]]理论的发展始于20世纪30年代,首要的贡献者是B. O. Koopman和[[冯诺伊曼]]。Koopman受到[[量子力学]]中[[算子]]方法的启发,试图用线性方法分析经典的[[非线性]][[哈密顿]](Hamilton)系统。他关心的是观测函数随[[动力系统]]演化过程的性质,而不是单独的[[相空间]]轨道。在1931年,Koopman在其论文中首次引入了[[算子]]的理念,表明通过线性[[算子]]可以描述[[非线性]]的[[哈密顿]][[动力系统]]的演化<ref name=koopman_1931>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</ref>,这一构想为后来的发展奠定了基础。他强调,可以将[[动力系统]]看作是在某种函数空间中的[[算子]]作用过程。 | | Koopman[[算子]]理论的发展始于20世纪30年代,首要的贡献者是B. O. Koopman和[[冯诺伊曼]]。Koopman受到[[量子力学]]中[[算子]]方法的启发,试图用线性方法分析经典的[[非线性]][[哈密顿]](Hamilton)系统。他关心的是观测函数随[[动力系统]]演化过程的性质,而不是单独的[[相空间]]轨道。在1931年,Koopman在其论文中首次引入了[[算子]]的理念,表明通过线性[[算子]]可以描述[[非线性]]的[[哈密顿]][[动力系统]]的演化<ref name=koopman_1931>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</ref>,这一构想为后来的发展奠定了基础。他强调,可以将[[动力系统]]看作是在某种函数空间中的[[算子]]作用过程。 |
| | | | |
| − | [[冯诺伊曼]]是当时希尔伯特空间和谱理论的奠基人,他对动力系统的统计与概率性质、特别是遍历性和连续谱问题尤为关注。他希望将动力系统与算子谱理论紧密结合,发展概率与动力系统的严格基础。与Koopman合作的1932年论文中<ref name=koop_v_1932>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</ref>,[[冯诺伊曼]]更进一步地分析了具有连续谱的动力系统,给出了动力系统在算子谱理论下一般性的统计行为和遍历结果,对“不可积系统”的性质进行了深刻刻画。两人共同发表的重要论文是早期动力系统Koopman谱理论的里程碑,将Koopman的线性化算子思想和冯诺伊曼的希尔伯特空间、谱理论、概率逻辑方法结合,系统分析了动力系统连续谱情况下的统计与遍历性质<ref name=koop_v_1932 />。 | + | [[冯诺伊曼]]是当时[[希尔伯特空间]]和谱理论的奠基人,他对[[动力系统]]的统计与[[概率]]性质、特别是遍历性和[[连续谱]]问题尤为关注。他希望将[[动力系统]]与[[算子]]谱理论紧密结合,发展[[概率]]与[[动力系统]]的严格基础。与Koopman合作的1932年论文中<ref name=koop_v_1932>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</ref>,[[冯诺伊曼]]更进一步地分析了具有[[连续谱]]的[[动力系统]],给出了[[动力系统]]在[[算子]]谱理论下一般性的统计行为和遍历结果,对“不可积系统”的性质进行了深刻刻画。两人共同发表的重要论文是早期[[动力系统]]Koopman谱理论的里程碑,将Koopman的[[线性化]][[算子]]思想和[[冯诺伊曼]]的[[希尔伯特空间]]、谱理论、[[概率]]逻辑方法结合,[[系统分析]]了[[动力系统]][[连续谱]]情况下的统计与遍历性质<ref name=koop_v_1932 />。 |
| | | | |
| | 这一理论框架在后来的研究中得到了扩展,尤其是在流体动力学和[[混沌理论]]中被广泛应用。近年来,Koopman算子理论受到了越来越多的关注,特别是在数据驱动的动力学建模和控制领域。研究者们利用Koopman算子提取动态[[系统]]的特征,使得对[[复杂]]现象的预测和控制更加有效<ref name=brunton_2022>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</ref>。 | | 这一理论框架在后来的研究中得到了扩展,尤其是在流体动力学和[[混沌理论]]中被广泛应用。近年来,Koopman算子理论受到了越来越多的关注,特别是在数据驱动的动力学建模和控制领域。研究者们利用Koopman算子提取动态[[系统]]的特征,使得对[[复杂]]现象的预测和控制更加有效<ref name=brunton_2022>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</ref>。 |
| | | | |
| − | 总之,从Koopman和冯诺伊曼在1931年和1932年的开创性工作到当今的数据驱动应用,Koopman算子理论已成为现代动力学研究不可或缺的重要工具。
| + | 总之,从Koopman和[[冯诺伊曼]]在1931年和1932年的开创性工作到当今的数据驱动应用,Koopman[[算子]]理论已成为现代[[动力学]]研究不可或缺的重要工具。 |
| | | | |
| − | =Koopman算子定义及其性质= | + | =Koopman[[算子]]定义及其性质= |
| | | | |
| | ==时间离散== | | ==时间离散== |
| 第81行: |
第81行: |
| | 其中, <math> \nabla g \cdot f </math>为与[[确定性系统]]的[[生成元]]一致,对应无[[噪声]]时观测函数的瞬时变化率,<math> σ(x) </math>为[[噪声]]贡献项,<math> Tr(⋅) </math>是矩阵[[迹]](对角线元素之和),<math> \nabla^2 g</math>是 <math> g </math>的[[Hessian 矩阵]](二阶偏导数矩阵)。[[噪声]]项通过 [[Hessian 矩阵]]影响观测函数的演化,反映[[噪声]]对观测不[[确定性]]的贡献,当[[噪声]]强度<math> \sigma(x) = 0 </math>时,[[随机]][[算子]]退化为[[确定性]][[连续]]时间 Koopman [[算子]],[[随机]] Koopman [[算子]]的[[特征值]]可能包含衰减项(对应[[噪声]]导致的不[[确定性]][[耗散]]),[[特征函数]]可刻画系统的 “平均[[线性化]]” 演化。 | | 其中, <math> \nabla g \cdot f </math>为与[[确定性系统]]的[[生成元]]一致,对应无[[噪声]]时观测函数的瞬时变化率,<math> σ(x) </math>为[[噪声]]贡献项,<math> Tr(⋅) </math>是矩阵[[迹]](对角线元素之和),<math> \nabla^2 g</math>是 <math> g </math>的[[Hessian 矩阵]](二阶偏导数矩阵)。[[噪声]]项通过 [[Hessian 矩阵]]影响观测函数的演化,反映[[噪声]]对观测不[[确定性]]的贡献,当[[噪声]]强度<math> \sigma(x) = 0 </math>时,[[随机]][[算子]]退化为[[确定性]][[连续]]时间 Koopman [[算子]],[[随机]] Koopman [[算子]]的[[特征值]]可能包含衰减项(对应[[噪声]]导致的不[[确定性]][[耗散]]),[[特征函数]]可刻画系统的 “平均[[线性化]]” 演化。 |
| | | | |
| − | == 算子性质 == | + | == [[算子]]性质 == |
| | Koopman[[算子]]主要具有两种特性:线性性、[[半群]]性质<ref name="brunton_2022" />。 | | Koopman[[算子]]主要具有两种特性:线性性、[[半群]]性质<ref name="brunton_2022" />。 |
| | | | |
| 第162行: |
第162行: |
| | 这组三元组<math>\{(\lambda_j, \varphi_j, \mathbf{v}j)\}_{j=1}^\infty</math>称为'''Koopman[[模式分解]]''',由Mezić于2005年提出<ref>I. Mezic\', Spectral properties of dynamical systems, model reduction and decompositions, Nonlinear Dynam., 41 (2005), pp. 309--325. (Cited on pp. 231, 244, 246, 273, 289, 292)</ref>。通常,可以将这种展开近似为仅包含少数主导项的截断和。如下文“DMD”章节所示,DMD估计中,DMD的[[特征值]]将近似Koopman[[特征值]]<math>\lambda_j</math>,DMD模态将近似Koopman模态<math>\mathbf{v}_j</math>,而DMD的模态幅值将近似[[初始状态]]下相应Koopman[[特征函数]]的值<math>\varphi_j(\mathbf{x}_0)</math>。需要注意的是,Koopman模态和[[特征函数]]是不同的[[数学]]对象,其近似方法也不相同。Koopman[[特征函数]]通常比Koopman模态更难计算,因此激发了如扩展DMD算法等技术的发展。 | | 这组三元组<math>\{(\lambda_j, \varphi_j, \mathbf{v}j)\}_{j=1}^\infty</math>称为'''Koopman[[模式分解]]''',由Mezić于2005年提出<ref>I. Mezic\', Spectral properties of dynamical systems, model reduction and decompositions, Nonlinear Dynam., 41 (2005), pp. 309--325. (Cited on pp. 231, 244, 246, 273, 289, 292)</ref>。通常,可以将这种展开近似为仅包含少数主导项的截断和。如下文“DMD”章节所示,DMD估计中,DMD的[[特征值]]将近似Koopman[[特征值]]<math>\lambda_j</math>,DMD模态将近似Koopman模态<math>\mathbf{v}_j</math>,而DMD的模态幅值将近似[[初始状态]]下相应Koopman[[特征函数]]的值<math>\varphi_j(\mathbf{x}_0)</math>。需要注意的是,Koopman模态和[[特征函数]]是不同的[[数学]]对象,其近似方法也不相同。Koopman[[特征函数]]通常比Koopman模态更难计算,因此激发了如扩展DMD算法等技术的发展。 |
| | | | |
| − | ==一般的观测函数下如何得到特征函数?== | + | ==一般的观测函数下如何得到[[特征函数]]?== |
| | | | |
| − | 注意,一般矩阵的特征值分解通常是唯一的,其特征向量是有限维的,每个本征空间是有限维的,且特征值个数有限。而Koopman算子是作用在无限维的函数空间上的,所以会有无限多个特征函数。只要有生成元,就可以无限地生成新的特征函数。而换一组生成元,特征函数的表现形式会很不一样。有几种方法可以用来数值近似计算Koopman特征函数。
| + | 注意,一般矩阵的[[特征值分解]]通常是唯一的,其[[特征向量]]是有限维的,每个本征空间是有限维的,且[[特征值]]个数有限。而Koopman[[算子]]是作用在[[无限]]维的函数空间上的,所以会有[[无限]]多个[[特征函数]]。只要有[[生成元]],就可以[[无限]]地生成新的[[特征函数]]。而换一组[[生成元]],[[特征函数]]的表现形式会很不一样。有几种方法可以用来数值近似计算Koopman[[特征函数]]。 |
| | | | |
| | ===傅立叶平均=== | | ===傅立叶平均=== |
| − | 假设一个观测量的演化<math>g(\mathbf{x}(t)) = g(\mathbf{F}^t(\mathbf{x}))</math>已知,则可以通过以下长期谐波或傅里叶平均来计算与特征值<math>e^{i\omega}</math>对应的特征函数<ref name="brunton_2022" />: | + | 假设一个观测量的演化<math>g(\mathbf{x}(t)) = g(\mathbf{F}^t(\mathbf{x}))</math>已知,则可以通过以下长期谐波或傅里叶平均来计算与[[特征值]]<math>e^{i\omega}</math>对应的[[特征函数]]<ref name="brunton_2022" />: |
| | | | |
| | <math> \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> | | <math> \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> |
| 第217行: |
第217行: |
| | Koopman算子的任意有限组特征函数都将张成一个不变子空间。把这些特征函数作为系统的“特征坐标”是Koopman分析中很重要的一步,因为沿这些特征函数方向,系统动力学本质上线性化。实际操作中,通常只能识别一个近似不变子空间,由一组函数<math>\{g_j\}_{j=1}^p</math>张成,并且每个函数<math>g_j</math>都可以由有限组特征函数近似表示<math> g_j \approx \sum_{k=1}^p v_{jk} \varphi_k </math>。如果我们在实际操作过程中,选取的观测函数不能张成一个不变子空间的话,最后得到的Koopman矩阵会出现[[伪特征值]]的问题<ref name="colbrook_2024">Colbrook, M. J., & Townsend, A. (2024). Rigorous data‐driven computation of spectral properties of Koopman operators for dynamical systems. Communications on Pure and Applied Mathematics, 77(1), 221–283. https://doi.org/10.1002/cpa.22125</ref>。 | | Koopman算子的任意有限组特征函数都将张成一个不变子空间。把这些特征函数作为系统的“特征坐标”是Koopman分析中很重要的一步,因为沿这些特征函数方向,系统动力学本质上线性化。实际操作中,通常只能识别一个近似不变子空间,由一组函数<math>\{g_j\}_{j=1}^p</math>张成,并且每个函数<math>g_j</math>都可以由有限组特征函数近似表示<math> g_j \approx \sum_{k=1}^p v_{jk} \varphi_k </math>。如果我们在实际操作过程中,选取的观测函数不能张成一个不变子空间的话,最后得到的Koopman矩阵会出现[[伪特征值]]的问题<ref name="colbrook_2024">Colbrook, M. J., & Townsend, A. (2024). Rigorous data‐driven computation of spectral properties of Koopman operators for dynamical systems. Communications on Pure and Applied Mathematics, 77(1), 221–283. https://doi.org/10.1002/cpa.22125</ref>。 |
| | | | |
| − | ==伪特征值的出现== | + | ==[[伪特征值]]的出现== |
| | | | |
| − | 然而,如果选取的观测函数并不张成Koopman不变子空间,那么投影算子将会产生与真实Koopman算子不同的伪特征值和伪特征向量。例如,设有一个平凡的对角线线性系统,其特征值<math>\lambda \in \{1, 2, 5\}</math>,特征向量<math>\xi_j</math>为坐标方向<math>x_j</math>,以及一个对前两个特征向量进行混合的简单观测:
| + | 然而,如果选取的观测函数并不张成Koopman不变子空间,那么[[投影]][[算子]]将会产生与真实Koopman[[算子]]不同的[[伪特征值]]和伪[[特征向量]]。例如,设有一个平凡的对角线[[线性系统]],其[[特征值]]<math>\lambda \in \{1, 2, 5\}</math>,[[特征向量]]<math>\xi_j</math>为坐标[[方向]]<math>x_j</math>,以及一个对前两个[[特征向量]]进行混合的简单观测: |
| | | | |
| | <math> \frac{d}{dt} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 5 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} </math> <math> \quad \text{选择观测函数为} \quad y = x_1 + x_2. </math> | | <math> \frac{d}{dt} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 5 \end{bmatrix} \begin{bmatrix} x_1 \\ x_2 \\ x_3 \end{bmatrix} </math> <math> \quad \text{选择观测函数为} \quad y = x_1 + x_2. </math> |
| | | | |
| − | 在这种情况下,数据驱动算法会预测出一个伪特征值3,这实际上是前两个特征值<math>\lambda=1</math>和<math>\lambda=2</math>的和,因为测量是前两个特征向量之和。因此,在实际应用中选取观测函数时,采取一些手段避免过拟合是非常重要的。除了观测函数选取不当,在数据驱动算法中,如果数据量没有足够多,或者数据采样相比于原本的连续动力学过于离散化,也会造成伪特征值出现的问题。具体分析见下文“残差DMD”章节。
| + | 在这种情况下,数据驱动算法会预测出一个[[伪特征值]]3,这实际上是前两个[[特征值]]<math>\lambda=1</math>和<math>\lambda=2</math>的和,因为测量是前两个[[特征向量]]之和。因此,在实际应用中选取观测函数时,采取一些手段避免[[过拟合]]是非常重要的。除了观测函数选取不当,在数据驱动算法中,如果数据量没有足够多,或者数据[[采样]]相比于原本的[[连续]][[动力学]]过于离散化,也会造成[[伪特征值]]出现的问题。具体分析见下文“残差DMD”章节。 |
| | | | |
| − | =Koopman算子应用的简单案例= | + | =Koopman[[算子]]应用的简单案例= |
| − | 通过一个简单案例,我们可以体会以观测函数将一个系统线性化处理的好处:通过分析观测空间中线性系统的性质,我们可以描述原系统会有怎样的动力学行为。这里,我们引用Brunton等人<ref name=Brunton_2016>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. (Cited on pp. 234, 247, 248, 254, 284, 285, 286, 288, 295, 308, 309, 312, 318)</ref>详细研究过的一个具有单个不动点的示例系统,其方程为:
| + | 通过一个简单案例,我们可以体会以观测函数将一个系统[[线性化]]处理的好处:通过分析观测空间中[[线性系统]]的性质,我们可以描述原系统会有怎样的[[动力学]]行为。这里,我们引用Brunton等人<ref name=Brunton_2016>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. (Cited on pp. 234, 247, 248, 254, 284, 285, 286, 288, 295, 308, 309, 312, 318)</ref>详细研究过的一个具有单个[[不动点]]的示例系统,其方程为: |
| | | | |
| | <math> \dot{x}_1 = μx_1 </math> | | <math> \dot{x}_1 = μx_1 </math> |
| 第232行: |
第232行: |
| | <math> \dot{x}_2 = λ(x_2 - x_1^2) </math> | | <math> \dot{x}_2 = λ(x_2 - x_1^2) </math> |
| | | | |
| − | 其中μ=-0.05,λ=-1。观测函数选取上,首先可以直接观测<math> y_1=x_1,y_2=x_2 </math>。然后,我们可以引入一个非线性测量 <math> y_3 = x_1^2 </math>, 从而定义一个三维的Koopman不变子空间。在这些新坐标下,动态系统变成了线性系统: | + | 其中μ=-0.05,λ=-1。观测函数选取上,首先可以直接观测<math> y_1=x_1,y_2=x_2 </math>。然后,我们可以引入一个[[非线性]]测量 <math> y_3 = x_1^2 </math>, 从而定义一个三维的Koopman不变子空间。在这些新坐标下,[[动态系统]]变成了[[线性系统]]: |
| | | | |
| | <math> | | <math> |
| 第238行: |
第238行: |
| | </math> | | </math> |
| | | | |
| − | 其中<math> (y_1, y_2, y_3) = (x_1, x_2, x_1^2)</math>。如下图所示,我们可以画出在这个三维空间中系统动力学的[[流形]],也就是动力学曲线会在哪些平面上运动。首先,由于观测量本身的定义,我们有约束 <math> \ y_3 = y_1^2 </math>,在图中由蓝色曲面表示。在空间中有三条黑色轨迹,代表动力系统从三个不同起点出发的轨迹,它们始终都会在蓝色曲面上运动。因为<math>λ\ll μ<0</math>,所以<math> y_2 </math>的收敛速度会远快于<math> y_1 </math>,于是有一个吸引流形<math> y_2=y_1^2 </math>,这在图中表示为红色的曲面(与<math> y_3 </math>平行,在下方平面上的投影是二次函数曲线)。红色曲面与蓝色曲面相交的曲线(亮蓝色曲线)便位于<math> y_2=y_3 </math>这个曲面上。这条交线上的每一点都代表<math> x_2 </math>达到了平衡,即它的导数为0。绿色曲面则是接近<math> y_2=y_3 </math>曲面的慢流形,因为它是由μ和2μ两个绝对值很小的特征值对应的特征向量张成的子空间。它与蓝色曲线交于[[稳定不动点]](0,0)。当轨迹从起点出发,会因为红色吸引流形的作用快速靠近红色与蓝色曲面的交界处。达到交界处后,由于绿色曲面的吸引作用,再缓慢地靠近最终的稳定不动点(0,0)。总结一下整个动力学过程:出发时轨迹就始终位于蓝色曲面上,然后快速靠近红色曲面到达交线,然后再缓慢趋向于绿色曲面(也就是到达不动点的位置)。下图还展示了动力学在 <math>y_1-y_2</math> 平面上的投影。 | + | 其中<math> (y_1, y_2, y_3) = (x_1, x_2, x_1^2)</math>。如下图所示,我们可以画出在这个[[三维空间]]中[[系统动力学]]的[[流形]],也就是[[动力学]]曲线会在哪些平面上运动。首先,由于观测量本身的定义,我们有约束 <math> \ y_3 = y_1^2 </math>,在图中由蓝色曲面表示。在空间中有三条黑色轨迹,代表[[动力系统]]从三个不同起点出发的轨迹,它们始终都会在蓝色曲面上运动。因为<math>λ\ll μ<0</math>,所以<math> y_2 </math>的收敛速度会远快于<math> y_1 </math>,于是有一个吸引[[流形]]<math> y_2=y_1^2 </math>,这在图中表示为红色的曲面(与<math> y_3 </math>平行,在下方平面上的[[投影]]是二次函数曲线)。红色曲面与蓝色曲面相交的曲线(亮蓝色曲线)便位于<math> y_2=y_3 </math>这个曲面上。这条交线上的每一点都代表<math> x_2 </math>达到了平衡,即它的导数为0。绿色曲面则是接近<math> y_2=y_3 </math>曲面的慢[[流形]],因为它是由μ和2μ两个绝对值很小的[[特征值]]对应的[[特征向量]]张成的子空间。它与蓝色曲线交于[[稳定不动点]](0,0)。当轨迹从起点出发,会因为红色吸引[[流形]]的作用快速靠近红色与蓝色曲面的交界处。达到交界处后,由于绿色曲面的吸引作用,再缓慢地靠近最终的[[稳定不动点]](0,0)。总结一下整个[[动力学]]过程:出发时轨迹就始终位于蓝色曲面上,然后快速靠近红色曲面到达交线,然后再缓慢趋向于绿色曲面(也就是到达[[不动点]]的位置)。下图还展示了[[动力学]]在 <math>y_1-y_2</math> 平面上的[[投影]]。 |
| | | | |
| | [[文件:Exampleph.png|410x410px|替代=]] | | [[文件:Exampleph.png|410x410px|替代=]] |
| | | | |
| − | 以上内容展示了系统在全局线性化之后的动力学分析过程。Koopman算子便是在合适的观测函数下,将任意的非线性系统做全局线性化的变换,而且变换后的线性系统的性质与原系统的动力学性质是一致的,两个系统是[[拓扑共轭]]的关系<ref name=lan_2013>Lan, Y., & Mezić, I. (2013). Linearization in the large of nonlinear systems and Koopman operator spectrum. Physica D: Nonlinear Phenomena, 242(1), 42–53. https://doi.org/10.1016/j.physd.2012.08.017</ref>。我们可以依据前文提及的特征函数计算方法来提取和分析Koopman矩阵的特征函数。通过计算Koopman矩阵的左特征向量之后,我们找到对应于特征值μ和λ的Koopman特征函数为:
| + | 以上内容展示了系统在全局[[线性化]]之后的[[动力学]]分析过程。Koopman[[算子]]便是在合适的观测函数下,将任意的[[非线性系统]]做全局[[线性化]]的变换,而且变换后的[[线性系统]]的性质与原系统的[[动力学]]性质是一致的,两个系统是[[拓扑共轭]]的关系<ref name=lan_2013>Lan, Y., & Mezić, I. (2013). Linearization in the large of nonlinear systems and Koopman operator spectrum. Physica D: Nonlinear Phenomena, 242(1), 42–53. https://doi.org/10.1016/j.physd.2012.08.017</ref>。我们可以依据前文提及的[[特征函数]]计算方法来提取和分析Koopman矩阵的[[特征函数]]。通过计算Koopman矩阵的左[[特征向量]]之后,我们找到对应于[[特征值]]μ和λ的Koopman[[特征函数]]为: |
| | | | |
| | <math>\displaystyle{ \varphi_μ = x_1 }</math> 和 <math>\displaystyle{ \varphi_\lambda = x_2 - bx_1^2 }</math>, | | <math>\displaystyle{ \varphi_μ = x_1 }</math> 和 <math>\displaystyle{ \varphi_\lambda = x_2 - bx_1^2 }</math>, |
| | | | |
| − | 其中 <math>\displaystyle{ b = \frac {\lambda} {\lambda-2μ} }</math> 。这个参数代表着快慢变量之间速度变化的比例,其中<math>x_1</math>是慢变量。如果我们以这些特征函数本身作为观测量来构建不变子空间,那么此时空间上的坐标就是Koopman不变子空间上的特征坐标<ref name=TWilliams_2015>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. (Cited on pp. 246, 247, 256, 284, 285, 292)</ref>。 | + | 其中 <math>\displaystyle{ b = \frac {\lambda} {\lambda-2μ} }</math> 。这个参数代表着快慢变量之间速度变化的比例,其中<math>x_1</math>是慢变量。如果我们以这些[[特征函数]]本身作为观测量来构建不变子空间,那么此时空间上的坐标就是Koopman不变子空间上的特征坐标<ref name=TWilliams_2015>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. (Cited on pp. 246, 247, 256, 284, 285, 292)</ref>。 |
| | | | |
| | =数据驱动算法= | | =数据驱动算法= |
| | | | |
| − | Koopman算子理论上可以用线性方法来研究任何非线性系统。但这个Koopman算子是无限维的,无法直接计算和应用。那么如何用有限的、来自现实的数据,去逼近无限维的Koopman线性算子呢?最开始的方法是动力学模式分解(DMD,Dynamic Mode Decomposition),它直接把“状态变量本身”当作观测函数。然而,对于真正的非线性系统,DMD的近似就太粗糙了。故此后学者们围绕着“如何更有效地拓展观测空间”与“如何优化求解过程”展开。扩展动态模式分解(EDMD, Extended Dynamic Mode Decomposition)通过预定义的非线性函数显式拓展;残差动态模式分解(ResDMD, Residual DMD)致力于严格评估逼近精度并筛选可靠模态;核动态模式分解(Kernel DMD)利用核技巧隐式拓展;基于神经网络的动态模式分解(Neural Network DMD)用深度学习自动学习最优的拓展方式;时间延迟动态模式分解(Time-delay DMD/Hankel DMD)通过历史数据构造嵌入空间;随机动态模式分解(Randomized DMD)专注于利用随机算法提升高维问题的计算效率;最优模式分解(OPD/Optimal DMD)将问题重构为全局非线性优化以求取最佳拟合;多分辨率动态模式分解(mrDMD, Multiresolution DMD)与递归动态模式分解(RDMD, Recursive DMD)则能分离系统在不同时间尺度或层次上的动力学;前向-后向动态模式分解(fbDMD, forward-backward DMD)通过平均正反向数据提升稳定性;张量动态模式分解(Tensor DMD)处理具有空间结构的多维数据;受控动态模式分解(Controlled DMD)则旨在辨识含外部输入系统的Koopman模型。
| + | Koopman[[算子]]理论上可以用线性方法来研究任何[[非线性系统]]。但这个Koopman[[算子]]是[[无限]]维的,无法直接计算和应用。那么如何用有限的、来自现实的数据,去逼近[[无限]]维的Koopman线性[[算子]]呢?最开始的方法是[[动力学]][[模式分解]](DMD,Dynamic Mode Decomposition),它直接把“[[状态变量]]本身”当作观测函数。然而,对于真正的[[非线性系统]],DMD的近似就太粗糙了。故此后学者们围绕着“如何更有效地拓展观测空间”与“如何优化求解过程”展开。扩展动态[[模式分解]](EDMD, Extended Dynamic Mode Decomposition)通过预定义的[[非线性]]函数显式拓展;残差动态[[模式分解]](ResDMD, Residual DMD)致力于严格评估逼近精度并筛选可靠模态;核动态[[模式分解]](Kernel DMD)利用[[核技巧]]隐式拓展;基于[[神经网络]]的动态[[模式分解]]([[Neural Network]] DMD)用[[深度学习]]自动学习最优的拓展方式;时间延迟动态[[模式分解]](Time-delay DMD/Hankel DMD)通过历史数据构造[[嵌入空间]];[[随机]]动态[[模式分解]](Randomized DMD)专注于利用[[随机]]算法提升高维问题的计算效率;最优[[模式分解]](OPD/Optimal DMD)将问题重构为全局[[非线性]]优化以求取最佳拟合;多分辨率动态[[模式分解]](mrDMD, Multiresolution DMD)与[[递归]]动态[[模式分解]](RDMD, Recursive DMD)则能分离系统在不同时间尺度或层次上的[[动力学]];前向-后向动态[[模式分解]](fbDMD, forward-backward DMD)通过平均正反向数据提升稳定性;张量动态[[模式分解]](Tensor DMD)处理具有空间结构的多维数据;受控动态[[模式分解]](Controlled DMD)则旨在辨识含外部输入系统的Koopman模型。 |
| | | | |
| | | | |
| − | ==动力学模式分解(DMD)== | + | ==[[动力学]][[模式分解]](DMD)== |
| | | | |
| | [[动力学模式分解]](DMD,Dynamic Mode Decomposition)最初由 Schmid | | [[动力学模式分解]](DMD,Dynamic Mode Decomposition)最初由 Schmid |
| 第261行: |
第261行: |
| | | | |
| | ===算法的详细步骤=== | | ===算法的详细步骤=== |
| − | 假设有一个系统,每隔一段时间Δt我们就测量一次系统的状态。比如,一个网格上有 nxn 个点,每个点的温度、压力等数据组成一个很长的向量。采样测量了 m+1个时间点。 | + | 假设有一个系统,每隔一段时间Δt我们就测量一次系统的状态。比如,一个网格上有 nxn 个点,每个点的温度、压力等数据组成一个很长的[[向量]]。[[采样]]测量了 m+1个时间点。 |
| | | | |
| | 下图是一张关于DMD算法在流体流动应用上的算法流程示意图<ref name=brunton_2022 />。图中左侧展示了一系列实验图像时间序列,即切片数据。时间t从上到下增加,表示流体流经圆柱体时的动态变化。有了这些数据作为输入,下图中间部分是拟合过程。我们可以直接通过最小二乘法拟合出线性迭代矩阵A。右侧则是DMD的输出。一方面我们可以预测系统未来的演化,更重要的,我们可以通过对矩阵A做特征值分解,得到Koopman特征值和特征函数的近似(理论见上文“Koopman模式分解”章节),从而可以把原本的动力学分解成几个主要的动力学模式。这些动力学模式分别提取出了原动力学中具有物理含义的结构,比如平均流场、不同尺度的涡旋等等。 | | 下图是一张关于DMD算法在流体流动应用上的算法流程示意图<ref name=brunton_2022 />。图中左侧展示了一系列实验图像时间序列,即切片数据。时间t从上到下增加,表示流体流经圆柱体时的动态变化。有了这些数据作为输入,下图中间部分是拟合过程。我们可以直接通过最小二乘法拟合出线性迭代矩阵A。右侧则是DMD的输出。一方面我们可以预测系统未来的演化,更重要的,我们可以通过对矩阵A做特征值分解,得到Koopman特征值和特征函数的近似(理论见上文“Koopman模式分解”章节),从而可以把原本的动力学分解成几个主要的动力学模式。这些动力学模式分别提取出了原动力学中具有物理含义的结构,比如平均流场、不同尺度的涡旋等等。 |
| 第299行: |
第299行: |
| | [[文件:未命名2.png|410x410px|替代=]] | | [[文件:未命名2.png|410x410px|替代=]] |
| | | | |
| − | DMD是简单地将原始状态本身视为观测函数,其计算高效、概念直观。然而,随着系统复杂度和数据维度的急剧攀升,计算成本成为瓶颈。而且很多场景需要更复杂的非线性观测才能捕捉到重要的物理结构。为此,包括扩展DMD(extended DMD,eDMD)<ref name=william_2015>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. (Cited on pp. 246, 247, 256, 284, 285, 292)</ref>、随机DMD(Randomized DMD)<ref name=ranDMD>Erichson, N. B., Mathelin, L., Kutz, J. N. & Brunton, S. L. Randomized dynamic mode decomposition. Siam J. Appl. Dyn. Syst. 18, 1867–1891 (2019)</ref>等等方法应运而生。它们有的在原始DMD的基础上,引入了更多的观测方式和非线性观测函数,从而能够处理更高维的系统。另外,诸如随机DMD,通过引入随机投影、随机采样等数值技术,在基本保持DMD分析精度的同时,极大地降低了大规模问题的计算与存储开销,为处理高维、实时的数据流提供了高效方案。下面将简要介绍几种主要的前沿数据驱动算法。 | + | DMD是简单地将原始状态本身视为观测函数,其计算高效、概念直观。然而,随着系统复杂度和数据维度的急剧攀升,计算成本成为瓶颈。而且很多场景需要更复杂的非线性观测才能捕捉到重要的物理结构。为此,包括扩展DMD(extended DMD,eDMD)<ref name=william_2015>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. (Cited on pp. 246, 247, 256, 284, 285, 292)</ref>、[[随机]]DMD(Randomized DMD)<ref name=ranDMD>Erichson, N. B., Mathelin, L., Kutz, J. N. & Brunton, S. L. Randomized dynamic mode decomposition. Siam J. Appl. Dyn. Syst. 18, 1867–1891 (2019)</ref>等等方法应运而生。它们有的在原始DMD的基础上,引入了更多的观测方式和[[非线性]]观测函数,从而能够处理更高维的系统。另外,诸如[[随机]]DMD,通过引入[[随机]][[投影]]、[[随机]][[采样]]等数值技术,在基本保持DMD分析精度的同时,极大地降低了大规模问题的计算与存储开销,为处理高维、实时的数据流提供了高效方案。下面将简要介绍几种主要的前沿数据驱动算法。 |
| | | | |
| | ==扩展DMD== | | ==扩展DMD== |
| | | | |
| − | 虽然DMD已成为一种近似Koopman算子的标准数值方法,但它基于对系统的线性测量,因此缺乏用于近似Koopman算子的强非线性系统所需的非线性坐标变换。为了解决这一问题,Williams等人提出了扩展DMD(extended DMD,eDMD)<ref name=william_2015 />,使得最佳拟合线性DMD回归可以在一个包含状态非线性测量的扩展向量上进行。
| + | 虽然DMD已成为一种近似Koopman[[算子]]的标准数值方法,但它基于对系统的线性测量,因此缺乏用于近似Koopman[[算子]]的强[[非线性系统]]所需的[[非线性]]坐标变换。为了解决这一问题,Williams等人提出了扩展DMD(extended DMD,eDMD)<ref name=william_2015 />,使得最佳拟合线性DMD回归可以在一个包含状态非线性测量的扩展向量上进行。 |
| | | | |
| | 在eDMD中,一个扩展状态 <math>\mathbf{z} \in \mathbb{R}^p</math> 由对状态 <math>\mathbf{x}</math> 的非线性测量函数 <math>g_k</math> 构造而成: | | 在eDMD中,一个扩展状态 <math>\mathbf{z} \in \mathbb{R}^p</math> 由对状态 <math>\mathbf{x}</math> 的非线性测量函数 <math>g_k</math> 构造而成: |
| 第317行: |
第317行: |
| | <math> \mathbf{A}_\mathbf{Z} = \underset{\mathbf{A}_\mathbf{Z}}{\arg\min} \, \|\mathbf{Z}' - \mathbf{A}_\mathbf{Z} \mathbf{Z}\|_F = \mathbf{Z}'\mathbf{Z}^\dagger </math> | | <math> \mathbf{A}_\mathbf{Z} = \underset{\mathbf{A}_\mathbf{Z}}{\arg\min} \, \|\mathbf{Z}' - \mathbf{A}_\mathbf{Z} \mathbf{Z}\|_F = \mathbf{Z}'\mathbf{Z}^\dagger </math> |
| | | | |
| − | 由于扩展向量<math>\mathbf{z}</math>可能远大于状态<math>\mathbf{x}</math>的维数,通常有必要使用[[核方法]]来计算这个回归问题。近年来,利用[[核方法]]近似Koopman算子的DMD方法已经成为一个重要的研究课题<ref name=william_2015_kernal>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. (Cited on pp. 255, 256, 284, 285, 294, 318)</ref>,具体可参考下文“核DMD”的章节。在无限样本数据的情况下,eDMD矩阵会收敛到由这些函数所张成的子空间上的Koopman算子的投影。如前文所述,选取观测函数时注意要让它们能够张成Koopman不变子空间。 | + | 由于扩展向量<math>\mathbf{z}</math>可能远大于状态<math>\mathbf{x}</math>的维数,通常有必要使用[[核方法]]来计算这个回归问题。近年来,利用[[核方法]]近似Koopman算子的DMD方法已经成为一个重要的研究课题<ref name=william_2015_kernal>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. (Cited on pp. 255, 256, 284, 285, 294, 318)</ref>,具体可参考下文“核DMD”的章节。在[[无限]]样本数据的情况下,eDMD矩阵会收敛到由这些函数所张成的子空间上的Koopman[[算子]]的[[投影]]。如前文所述,选取观测函数时注意要让它们能够张成Koopman不变子空间。 |
| | | | |
| − | Koopman算子的特征函数一定可以形成Koopman不变子空间,并为动力学提供了理想的基底或坐标系来表示其演化。这些特征函数可以通过给定的观测函数来近似表示。我们可以将一个特征函数<math>\varphi(\mathbf{x})</math>用函数集合<math>{g_k(\mathbf{x})}_{k=1}^p</math>展开近似为:
| + | Koopman[[算子]]的[[特征函数]]一定可以形成Koopman不变子空间,并为[[动力学]]提供了理想的基底或坐标系来表示其演化。这些[[特征函数]]可以通过给定的观测函数来近似表示。我们可以将一个[[特征函数]]<math>\varphi(\mathbf{x})</math>用函数[[集合]]<math>{g_k(\mathbf{x})}_{k=1}^p</math>展开近似为: |
| | | | |
| | <math> \varphi(\mathbf{x}) \approx \sum_{k=1}^{p} \xi_k g_k(\mathbf{x}) = \boldsymbol{\xi}^T \mathbf{g}(\mathbf{x}) </math> | | <math> \varphi(\mathbf{x}) \approx \sum_{k=1}^{p} \xi_k g_k(\mathbf{x}) = \boldsymbol{\xi}^T \mathbf{g}(\mathbf{x}) </math> |
| | | | |
| − | 在离散时间中,Koopman特征函数<math>\varphi(\mathbf{x})</math>在一组数据轨迹<math>{\mathbf{x}_1, \ldots, \mathbf{x}_m}</math>上的值应满足:
| + | 在[[离散时间]]中,Koopman[[特征函数]]<math>\varphi(\mathbf{x})</math>在一组数据轨迹<math>{\mathbf{x}_1, \ldots, \mathbf{x}_m}</math>上的值应满足: |
| | | | |
| | <math> \lambda \left[\varphi(\mathbf{x}_1)\;\; \varphi(\mathbf{x}_2)\;\; \cdots\;\; \varphi(\mathbf{x}_m)\right] = \left[\varphi(\mathbf{x}_2)\;\; \varphi(\mathbf{x}_3)\;\; \cdots\;\; \varphi(\mathbf{x}_{m+1})\right] </math> | | <math> \lambda \left[\varphi(\mathbf{x}_1)\;\; \varphi(\mathbf{x}_2)\;\; \cdots\;\; \varphi(\mathbf{x}_m)\right] = \left[\varphi(\mathbf{x}_2)\;\; \varphi(\mathbf{x}_3)\;\; \cdots\;\; \varphi(\mathbf{x}_{m+1})\right] </math> |
| 第339行: |
第339行: |
| | <math> \lambda \boldsymbol{\xi}^T = \boldsymbol{\xi}^T \mathbf{Z}' \mathbf{Z}^\dagger </math> | | <math> \lambda \boldsymbol{\xi}^T = \boldsymbol{\xi}^T \mathbf{Z}' \mathbf{Z}^\dagger </math> |
| | | | |
| − | 特征函数<math>\varphi(\mathbf{x})</math>是由<math>\mathbf{Z}' \mathbf{Z}^\dagger</math>的左eDMD特征向量<math>\boldsymbol{\xi}^T</math>构成的,在观测函数<math>{g_k(\mathbf{x})}_{k=1}^p</math>下,<math>\varphi \approx \boldsymbol{\xi}^T \mathbf{z}</math>。右特征向量是eDMD模态,与DMD模态类似。 | + | [[特征函数]]<math>\varphi(\mathbf{x})</math>是由<math>\mathbf{Z}' \mathbf{Z}^\dagger</math>的左eDMD[[特征向量]]<math>\boldsymbol{\xi}^T</math>构成的,在观测函数<math>{g_k(\mathbf{x})}_{k=1}^p</math>下,<math>\varphi \approx \boldsymbol{\xi}^T \mathbf{z}</math>。右[[特征向量]]是eDMD模态,与DMD模态[[类似]]。 |
| | | | |
| − | 通常会将原始状态<math>\mathbf{x}</math>也包含在扩展eDMD向量<math>\mathbf{z}</math>中。然而,有研究表明<ref name=Brunton_2016 />,对于包含多个[[不动点]]、周期轨道或其他[[吸引子]]的系统,如果在eDMD中引入状态<math>\mathbf{x}</math>,会导致观测空间不是Koopman不变子空间。此外,这类系统无法与具有单个不动点的有限维线性eDMD系统[[拓扑共轭]]。例如,[[Duffing振子]]系统有三个不动点,因此没有任何有限线性系统可以准确地全局拟合状态<math>\mathbf{x}</math>的演化。不过,像[[哈密顿量]]这样的特征函数可能能够被准确地展开。因此,区分出准确和伪特征函数对于eDMD来说至关重要。 | + | 通常会将原始状态<math>\mathbf{x}</math>也包含在扩展eDMD[[向量]]<math>\mathbf{z}</math>中。然而,有研究表明<ref name=Brunton_2016 />,对于包含多个[[不动点]]、周期轨道或其他[[吸引子]]的系统,如果在eDMD中引入状态<math>\mathbf{x}</math>,会导致观测空间不是Koopman不变子空间。此外,这类系统无法与具有单个不动点的有限维线性eDMD系统[[拓扑共轭]]。例如,[[Duffing振子]]系统有三个不动点,因此没有任何有限线性系统可以准确地全局拟合状态<math>\mathbf{x}</math>的演化。不过,像[[哈密顿量]]这样的特征函数可能能够被准确地展开。因此,区分出准确和伪特征函数对于eDMD来说至关重要。 |
| | | | |
| | 防止过拟合的一种方法是推广稀疏性,比如[[SINDy]](Sparse Identification of Nonlinear Dynamics)方法<ref name=brunton_2016_sindy>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. (Cited on pp. 255, 257, 286)</ref>。它可以基于一些约束条件筛选观测函数,从<math>{g_k(\mathbf{x})}_{k=1}^p</math>中选择最重要的几项即可。 | | 防止过拟合的一种方法是推广稀疏性,比如[[SINDy]](Sparse Identification of Nonlinear Dynamics)方法<ref name=brunton_2016_sindy>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. (Cited on pp. 255, 257, 286)</ref>。它可以基于一些约束条件筛选观测函数,从<math>{g_k(\mathbf{x})}_{k=1}^p</math>中选择最重要的几项即可。 |
| | | | |
| − | 与标准DMD类似,矩阵<math>\mathbf{Z}</math>中的数据不必来源于单条轨迹,也可以通过更高效的采样方式获取,比如[[拉丁超立方采样]],或在相空间中随机采样。在这种情况下,<math>\mathbf{Z}'</math>中的数据则通过将<math>\mathbf{Z}</math>中的数据沿动力学系统向前推进一个时间步获得。
| + | 与标准DMD[[类似]],矩阵<math>\mathbf{Z}</math>中的数据不必来源于单条轨迹,也可以通过更高效的[[采样]]方式获取,比如[[拉丁超立方采样]],或在[[相空间]]中[[随机]][[采样]]。在这种情况下,<math>\mathbf{Z}'</math>中的数据则通过将<math>\mathbf{Z}</math>中的数据沿[[动力学系统]]向前推进一个时间步获得。 |
| | | | |
| | ==残差DMD== | | ==残差DMD== |
| − | 在[[动力系统]]研究中,Koopman算子理论通过全局线性化为分析[[非线性系统]]提供框架,但传统方法如EDMD面临谱污染、连续谱处理不足和高维挑战等局限。残差动态模式分解(ResDMD)通过引入残差计算机制,构建Koopman算子<math>\mathcal{K}</math>及其伴随算子与自身的乘积<math>\mathcal{K}^* \mathcal{K}</math>的[[Galerkin近似]],有效区分真实[[特征值]]与伪[[特征值]],解决了EDMD因有限维假设和离散化误差导致的谱失真问题。 | + | 在[[动力系统]]研究中,Koopman[[算子]]理论通过全局[[线性化]]为分析[[非线性系统]]提供框架,但传统方法如EDMD面临[[谱污染]]、[[连续谱]]处理不足和高维挑战等局限。残差动态[[模式分解]](ResDMD)通过引入残差计算[[机制]],构建Koopman[[算子]]<math>\mathcal{K}</math>及其伴随[[算子]]与自身的乘积<math>\mathcal{K}^* \mathcal{K}</math>的[[Galerkin近似]],有效区分真实[[特征值]]与伪[[特征值]],解决了EDMD因有限维假设和离散化误差导致的谱失真问题。 |
| | | | |
| | ===理论=== | | ===理论=== |
| 第355行: |
第355行: |
| | <math>[\mathcal{K}\psi_j](\boldsymbol{x}) = \psi_j(F(\boldsymbol{x})) \approx \sum_{i=1}^{N_K} (K_{\text{EDMD}})_{ij} \psi_i(\boldsymbol{x}), \quad 1 \leq j \leq N_K.</math> | | <math>[\mathcal{K}\psi_j](\boldsymbol{x}) = \psi_j(F(\boldsymbol{x})) \approx \sum_{i=1}^{N_K} (K_{\text{EDMD}})_{ij} \psi_i(\boldsymbol{x}), \quad 1 \leq j \leq N_K.</math> |
| | | | |
| − | 定义向量值特征映射<math>\Psi(\boldsymbol{x}) = [\psi_1(\boldsymbol{x}), \dots, \psi_{N_K}(\boldsymbol{x})] \in \mathbb{C}^{1 \times N_K}</math>,则子空间<math>V_{N_K}</math>中的任意观测函数g可表示为<math>g(\boldsymbol{x}) = \sum_{j=1}^{N_K} \psi_j(\boldsymbol{x}) g_j = \Psi(\boldsymbol{x}) \boldsymbol{g}</math>,其中<math>\boldsymbol{g} \in \mathbb{C}^{N_K}</math>为系数向量。
| + | 定义[[向量]]值特征映射<math>\Psi(\boldsymbol{x}) = [\psi_1(\boldsymbol{x}), \dots, \psi_{N_K}(\boldsymbol{x})] \in \mathbb{C}^{1 \times N_K}</math>,则子空间<math>V_{N_K}</math>中的任意观测函数g可表示为<math>g(\boldsymbol{x}) = \sum_{j=1}^{N_K} \psi_j(\boldsymbol{x}) g_j = \Psi(\boldsymbol{x}) \boldsymbol{g}</math>,其中<math>\boldsymbol{g} \in \mathbb{C}^{N_K}</math>为系数[[向量]]。 |
| | | | |
| − | 由此可将Koopman算子对g的作用分解为:
| + | 由此可将Koopman[[算子]]对g的作用分解为: |
| | | | |
| | <math>[\mathcal{K}g](\boldsymbol{x}) = \Psi(F(\boldsymbol{x})) \boldsymbol{g} = \Psi(\boldsymbol{x}) (K_{\text{EDMD}} \boldsymbol{g}) + \underbrace{\sum_{j=1}^{N_K} \psi_j(F(\boldsymbol{x})) g_j - \Psi(\boldsymbol{x}) (K_{\text{EDMD}} \boldsymbol{g})}_{r(g, \boldsymbol{x})}.</math> | | <math>[\mathcal{K}g](\boldsymbol{x}) = \Psi(F(\boldsymbol{x})) \boldsymbol{g} = \Psi(\boldsymbol{x}) (K_{\text{EDMD}} \boldsymbol{g}) + \underbrace{\sum_{j=1}^{N_K} \psi_j(F(\boldsymbol{x})) g_j - \Psi(\boldsymbol{x}) (K_{\text{EDMD}} \boldsymbol{g})}_{r(g, \boldsymbol{x})}.</math> |
| 第365行: |
第365行: |
| | <math>\displaystyle{ \arg\min_{B \in \mathbb{C}^{N_K \times N_K}} \left\{ \int_{\Omega} \max_{\substack{g \in \mathbb{C}^{N_K}, \\ \|\boldsymbol{g}\|=1}} |r(g, \boldsymbol{x})|^2 d\omega(\boldsymbol{x}) = \int_{\Omega} \|\Psi(F(\boldsymbol{x})) - \Psi(\boldsymbol{x}) B\|_{\ell^2}^2 d\omega(\boldsymbol{x}) \right\} }</math> | | <math>\displaystyle{ \arg\min_{B \in \mathbb{C}^{N_K \times N_K}} \left\{ \int_{\Omega} \max_{\substack{g \in \mathbb{C}^{N_K}, \\ \|\boldsymbol{g}\|=1}} |r(g, \boldsymbol{x})|^2 d\omega(\boldsymbol{x}) = \int_{\Omega} \|\Psi(F(\boldsymbol{x})) - \Psi(\boldsymbol{x}) B\|_{\ell^2}^2 d\omega(\boldsymbol{x}) \right\} }</math> |
| | | | |
| − | 其中<math>\|\mathbf{ · }\|_2</math>表示向量的标准欧几里得范数。实际计算中无法直接对上式的求积分,因此通过 “积分规则”(以<math>\displaystyle{ \{x_j\}_{j=1}^M }</math>为节点,<math>\boldsymbol{y}^{(j)} = F(\boldsymbol{x}^{(j)}) </math>,<math>\displaystyle{ \{w_j\}_{j=1}^M }</math>为权重,<math>M </math>为初始条件数量)近似积分,将上式转化为加权[[最小二乘]]问题: | + | 其中<math>\|\mathbf{ · }\|_2</math>表示[[向量]]的标准欧几里得范数。实际计算中无法直接对上式的求积分,因此通过 “积分规则”(以<math>\displaystyle{ \{x_j\}_{j=1}^M }</math>为[[节点]],<math>\boldsymbol{y}^{(j)} = F(\boldsymbol{x}^{(j)}) </math>,<math>\displaystyle{ \{w_j\}_{j=1}^M }</math>为权重,<math>M </math>为[[初始条件]]数量)近似积分,将上式转化为加权[[最小二乘]]问题: |
| | | | |
| | <math>\arg\min_{B\in\mathbb{C}^{N_K \times N_K}} \sum_{j=1}^{M} w_j \|\Psi(y^{(j)}) - \Psi(x^{(j)})B\|_{\ell_2}^2</math> | | <math>\arg\min_{B\in\mathbb{C}^{N_K \times N_K}} \sum_{j=1}^{M} w_j \|\Psi(y^{(j)}) - \Psi(x^{(j)})B\|_{\ell_2}^2</math> |
| | | | |
| − | 该问题的解析解可表示为:
| + | 该问题的[[解析解]]可表示为: |
| | | | |
| | <math>\displaystyle{ K_{\text{EDMD}} = (\Psi_X^* W \Psi_X)^\dagger (\Psi_X^* W \Psi_Y) }</math> | | <math>\displaystyle{ K_{\text{EDMD}} = (\Psi_X^* W \Psi_X)^\dagger (\Psi_X^* W \Psi_Y) }</math> |
| 第377行: |
第377行: |
| | <math>\displaystyle{ \Psi_X = \begin{pmatrix} \Psi(\boldsymbol{x}^{(1)}) \\ \vdots \\ \Psi(\boldsymbol{x}^{(M)}) \end{pmatrix}, \quad \Psi_Y = \begin{pmatrix} \Psi(\boldsymbol{y}^{(1)}) \\ \vdots \\ \Psi(\boldsymbol{y}^{(M)}) \end{pmatrix} }</math> | | <math>\displaystyle{ \Psi_X = \begin{pmatrix} \Psi(\boldsymbol{x}^{(1)}) \\ \vdots \\ \Psi(\boldsymbol{x}^{(M)}) \end{pmatrix}, \quad \Psi_Y = \begin{pmatrix} \Psi(\boldsymbol{y}^{(1)}) \\ \vdots \\ \Psi(\boldsymbol{y}^{(M)}) \end{pmatrix} }</math> |
| | | | |
| − | 故对于<math>\displaystyle{ \mathcal{K} }</math>的候选特征对 <math>(\lambda, g) </math>(<math>\lambda \in \mathbb{C} </math>是候选[[特征值]],<math>g = \Psi \boldsymbol{g} \in V_{N_K}</math>是基于字典的候选特征函数),残差定义为: | + | 故对于<math>\displaystyle{ \mathcal{K} }</math>的候选特征对 <math>(\lambda, g) </math>(<math>\lambda \in \mathbb{C} </math>是候选[[特征值]],<math>g = \Psi \boldsymbol{g} \in V_{N_K}</math>是基于字典的候选[[特征函数]]),残差定义为: |
| | | | |
| | <math>\text{res}(\lambda, g)^2 = \frac{\sum_{j,k=1}^{N_K} \overline{g_j} g_k \left[ (\Psi_Y^* W \Psi_Y)_{jk} - \lambda (\Psi_Y^* W \Psi_X)_{jk} - \overline{\lambda} (\Psi_X^* W \Psi_Y)_{jk} + |\lambda|^2 (\Psi_X^* W \Psi_X)_{jk} \right]}{\sum_{j,k=1}^{N_K} \overline{g_j} g_k (\Psi_X^* W \Psi_X)_{jk}}</math> | | <math>\text{res}(\lambda, g)^2 = \frac{\sum_{j,k=1}^{N_K} \overline{g_j} g_k \left[ (\Psi_Y^* W \Psi_Y)_{jk} - \lambda (\Psi_Y^* W \Psi_X)_{jk} - \overline{\lambda} (\Psi_X^* W \Psi_Y)_{jk} + |\lambda|^2 (\Psi_X^* W \Psi_X)_{jk} \right]}{\sum_{j,k=1}^{N_K} \overline{g_j} g_k (\Psi_X^* W \Psi_X)_{jk}}</math> |
| | | | |
| | ===算法=== | | ===算法=== |
| − | 一、计算无谱污染特征值的算法<ref name=Colbrook_2024>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).</ref>:从切片数据中提取Koopman算子的准确[[特征值]]和[[特征函数]],核心解决传统EDMD的谱污染问题。
| + | 一、计算无[[谱污染]][[特征值]]的算法<ref name=Colbrook_2024>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).</ref>:从切片数据中提取Koopman[[算子]]的准确[[特征值]]和[[特征函数]],核心解决传统EDMD的[[谱污染]]问题。 |
| | | | |
| − | 输入:<math>\{x^{(j)}\}_{j=1}^M</math>(初始状态)、<math>\{y^{(j)}=F(x^{(j)})\}_{j=1}^M</math>(下一时刻状态)、<math>\{w_j\}_{j=1}^M</math>(数值积分权重)、<math>\{\psi_j\}_{j=1}^{N_K}</math>(观测函数)、<math>\epsilon>0</math>(残差阈值) | + | 输入:<math>\{x^{(j)}\}_{j=1}^M</math>([[初始状态]])、<math>\{y^{(j)}=F(x^{(j)})\}_{j=1}^M</math>(下一时刻状态)、<math>\{w_j\}_{j=1}^M</math>(数值积分权重)、<math>\{\psi_j\}_{j=1}^{N_K}</math>(观测函数)、<math>\epsilon>0</math>(残差阈值) |
| | | | |
| | 输出:<math>\{(\lambda_j, g_j) \mid res(\lambda_j, g_j) \leq \epsilon\}</math>(准确特征对) | | 输出:<math>\{(\lambda_j, g_j) \mid res(\lambda_j, g_j) \leq \epsilon\}</math>(准确特征对) |
| 第392行: |
第392行: |
| | # 计算三个核心矩阵:<math>\Psi_X^* W \Psi_X</math>、<math>\Psi_X^* W \Psi_Y</math>、<math>\Psi_Y^* W \Psi_Y</math>(<math>\Psi_X/\Psi_Y</math>为字典在<math>x/y</math>上的取值矩阵,<math>W</math>为权重对角矩阵)。 | | # 计算三个核心矩阵:<math>\Psi_X^* W \Psi_X</math>、<math>\Psi_X^* W \Psi_Y</math>、<math>\Psi_Y^* W \Psi_Y</math>(<math>\Psi_X/\Psi_Y</math>为字典在<math>x/y</math>上的取值矩阵,<math>W</math>为权重对角矩阵)。 |
| | # 求解广义[[特征值]]问题:<math>(\Psi_X^* W \Psi_Y)g = \lambda(\Psi_X^* W \Psi_X)g</math>,得到候选[[特征值]]和[[特征函数]]。 | | # 求解广义[[特征值]]问题:<math>(\Psi_X^* W \Psi_Y)g = \lambda(\Psi_X^* W \Psi_X)g</math>,得到候选[[特征值]]和[[特征函数]]。 |
| − | # 计算每个候选[[特征值]]的残差<math>res(\lambda_j, g_j)</math>(衡量它们与真实Koopman算子的契合度)。 | + | # 计算每个候选[[特征值]]的残差<math>res(\lambda_j, g_j)</math>(衡量它们与真实Koopman[[算子]]的契合度)。 |
| | # 丢弃残差大于<math>\epsilon</math>的[[伪特征值]],保留满足精度的有效[[特征值]]。 | | # 丢弃残差大于<math>\epsilon</math>的[[伪特征值]],保留满足精度的有效[[特征值]]。 |
| | | | |
| | | | |
| − | 二、ResDMD计算ε-伪谱估计算法<ref name=Colbrook_2024>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).</ref>:扩展上个算法的功能,计算Koopman算子的<math>\epsilon</math>-伪谱,弥补[[特征值]]无法反映的谱分布信息。 | + | 二、ResDMD计算ε-[[伪谱]]估计算法<ref name=Colbrook_2024>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).</ref>:扩展上个算法的功能,计算Koopman[[算子]]的<math>\epsilon</math>-[[伪谱]],弥补[[特征值]]无法反映的谱分布信息。 |
| | | | |
| − | 输入:<math>\{x^{(j)}\}_{j=1}^M</math>(初始状态)、<math>\{y^{(j)}=F(x^{(j)})\}_{j=1}^M</math>(下一时刻状态)、<math>\{w_j\}_{j=1}^M</math>(数值积分权重)、<math>\{\psi_j\}_{j=1}^{N_K}</math>(观测函数)、<math>\epsilon>0</math>(残差阈值)、<math>\{z_1,...,z_k\} \subset \mathbb{C}</math>(待评估的谱区域网格点) | + | 输入:<math>\{x^{(j)}\}_{j=1}^M</math>([[初始状态]])、<math>\{y^{(j)}=F(x^{(j)})\}_{j=1}^M</math>(下一时刻状态)、<math>\{w_j\}_{j=1}^M</math>(数值积分权重)、<math>\{\psi_j\}_{j=1}^{N_K}</math>(观测函数)、<math>\epsilon>0</math>(残差阈值)、<math>\{z_1,...,z_k\} \subset \mathbb{C}</math>(待评估的谱区域网格点) |
| | | | |
| − | 输出:<math>\{z_j \mid \tau_j < \epsilon\}</math>(<math>\epsilon</math>-伪谱估计,<math>\tau_j</math>为网格点<math>z_j</math>的最小残差)、<math>\{g_j \mid \tau_j < \epsilon\}</math>(对应伪谱区域的<math>\epsilon</math>-近似特征函数) | + | 输出:<math>\{z_j \mid \tau_j < \epsilon\}</math>(<math>\epsilon</math>-[[伪谱]]估计,<math>\tau_j</math>为网格点<math>z_j</math>的最小残差)、<math>\{g_j \mid \tau_j < \epsilon\}</math>(对应[[伪谱]]区域的<math>\epsilon</math>-近似[[特征函数]]) |
| | | | |
| | 算法过程: | | 算法过程: |
| 第406行: |
第406行: |
| | # 计算三个核心矩阵:<math>\Psi_X^* W \Psi_X</math>、<math>\Psi_X^* W \Psi_Y</math>、<math>\Psi_Y^* W \Psi_Y</math>(<math>\Psi_X/\Psi_Y</math>为字典在<math>x/y</math>上的取值矩阵,<math>W</math>为权重对角矩阵)。 | | # 计算三个核心矩阵:<math>\Psi_X^* W \Psi_X</math>、<math>\Psi_X^* W \Psi_Y</math>、<math>\Psi_Y^* W \Psi_Y</math>(<math>\Psi_X/\Psi_Y</math>为字典在<math>x/y</math>上的取值矩阵,<math>W</math>为权重对角矩阵)。 |
| | # 对每个网格点<math>z_j</math>,求解最小残差<math>\tau_j = \min_{g \in \mathbb{C}^{N_K}} res(z_j, \Psi g)</math>(转化为广义[[SVD]]问题)。 | | # 对每个网格点<math>z_j</math>,求解最小残差<math>\tau_j = \min_{g \in \mathbb{C}^{N_K}} res(z_j, \Psi g)</math>(转化为广义[[SVD]]问题)。 |
| − | # 筛选出最小残差<math>\tau_j < \epsilon</math>的网格点,构成<math>\epsilon</math>-伪谱。 | + | # 筛选出最小残差<math>\tau_j < \epsilon</math>的网格点,构成<math>\epsilon</math>-[[伪谱]]。 |
| | | | |
| | ===例子=== | | ===例子=== |
| − | [[高斯迭代映射]]是一类具有复杂非线性动力学行为的实值[[动力系统]],因分岔图呈现类似 “鼠标” 的特征而成为验证非线性算法的经典案例。该映射的非线性源于指数项<math>\exp(-\alpha x^2)</math>,当参数<math>\alpha</math>和<math>\beta</math>取特定值时,系统会表现出从周期运动到复杂分岔的过渡,其 Koopman 算子的谱结构包含离散[[特征值]]与潜在的连续谱成分,对算法的谱分辨能力提出挑战。 | + | [[高斯迭代映射]]是一类具有复杂[[非线性动力学]]行为的实值[[动力系统]],因[[分岔]]图呈现[[类似]] “鼠标” 的特征而成为验证[[非线性]]算法的经典案例。该映射的[[非线性]]源于指数项<math>\exp(-\alpha x^2)</math>,当参数<math>\alpha</math>和<math>\beta</math>取特定值时,系统会表现出从周期运动到复杂[[分岔]]的过渡,其 Koopman [[算子]]的谱结构包含离散[[特征值]]与潜在的[[连续谱]]成分,对算法的谱分辨能力提出挑战。 |
| | | | |
| | 实验<ref name=Colbrook_2024>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).</ref>采用的[[高斯迭代映射]]定义为:<math>F(x) = \exp(-\alpha x^2) + \beta</math> | | 实验<ref name=Colbrook_2024>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).</ref>采用的[[高斯迭代映射]]定义为:<math>F(x) = \exp(-\alpha x^2) + \beta</math> |
| | | | |
| − | 式中,<math>\alpha=2</math>;<math>\beta=-1-\exp(-\alpha)</math>。映射的状态空间限制为<math>\Omega=[-1,0]</math>,采用标准[[勒贝格测度]](Lebesgue measure)<math>\omega</math>描述状态分布。 | + | 式中,<math>\alpha=2</math>;<math>\beta=-1-\exp(-\alpha)</math>。映射的[[状态空间]]限制为<math>\Omega=[-1,0]</math>,采用标准[[勒贝格测度]]([[Lebesgue measure]])<math>\omega</math>描述状态分布。 |
| | | | |
| | 观测字典用<math>[-1,0]</math>区间的[[勒让德多项式]],具体形式为:<math>\psi_j(x) = c_j P_j(2x+1)</math> | | 观测字典用<math>[-1,0]</math>区间的[[勒让德多项式]],具体形式为:<math>\psi_j(x) = c_j P_j(2x+1)</math> |
| | | | |
| − | 其中:<math>P_j</math>为j次勒让德多项式;<math>c_j</math>为[[归一化]]系数,使字典在<math>L^2(\Omega, \omega)</math>空间内满足<math>\langle \psi_i, \psi_j \rangle = \delta_{ij}</math><math>(\delta_{ij}</math>为[[克罗内克函数]]),减少基函数间的冗余干扰。实验中固定字典规模<math>N_K=40</math>。 | + | 其中:<math>P_j</math>为j次[[勒让德多项式]];<math>c_j</math>为[[归一化]]系数,使字典在<math>L^2(\Omega, \omega)</math>空间内满足<math>\langle \psi_i, \psi_j \rangle = \delta_{ij}</math><math>(\delta_{ij}</math>为[[克罗内克函数]]),减少基函数间的冗余干扰。实验中固定字典规模<math>N_K=40</math>。 |
| | | | |
| | 实验数据为<math>\{(x^{(j)}, y^{(j)})\}_{j=1}^M</math>,其中<math>(y^{(j)}=F(x^{(j)})</math>(F为[[高斯迭代映射]])。 | | 实验数据为<math>\{(x^{(j)}, y^{(j)})\}_{j=1}^M</math>,其中<math>(y^{(j)}=F(x^{(j)})</math>(F为[[高斯迭代映射]])。 |
| | | | |
| − | 下图展示了高斯迭代映射伪谱图与随着数据点𝑀数量增加,不同求积法则下Galerkin矩阵Ψ*<small>𝑋</small>𝑊Ψ<small>𝑌</small>的收敛情况。下图中左图验证 ResDMD 的谱污染剔除能力,以[[复平面]](横轴<math>Re(\lambda)</math>、纵轴<math>Im(\lambda)</math>)为背景,黑色曲线是[[伪谱]]轮廓,分别对应<math>\epsilon=0.001,0.01,0.1,0.3</math>的<math>\epsilon</math>- [[伪谱]],定义为:<math>\sigma_\epsilon(K) = cl\left(\{\lambda \in \mathbb{C} \mid \|(K - \lambda)^{-1}\| > 1/\epsilon\}\right)</math>。其中<math>cl(\cdot)</math>表示集合的闭包。
| + | 下图展示了[[高斯迭代映射]][[伪谱]]图与随着数据点𝑀数量增加,不同求积法则下Galerkin矩阵Ψ*<small>𝑋</small>𝑊Ψ<small>𝑌</small>的收敛情况。下图中左图验证 ResDMD 的[[谱污染]]剔除能力,以[[复平面]](横轴<math>Re(\lambda)</math>、纵轴<math>Im(\lambda)</math>)为背景,黑色曲线是[[伪谱]]轮廓,分别对应<math>\epsilon=0.001,0.01,0.1,0.3</math>的<math>\epsilon</math>- [[伪谱]],定义为:<math>\sigma_\epsilon(K) = cl\left(\{\lambda \in \mathbb{C} \mid \|(K - \lambda)^{-1}\| > 1/\epsilon\}\right)</math>。其中<math>cl(\cdot)</math>表示[[集合]]的闭包。 |
| | | | |
| − | 品红色圆点为传统 EDMD [[特征值]],大量[[特征值]]位于伪谱之外,这些是离散化导致的[[谱污染]](虚假[[特征值]]),无法反映系统真实动力学,例如虚部 > 0.5的[[特征值]]对应不存在的高频振荡,与[[高斯迭代映射]]的实际动力学矛盾。蓝色叉号为ResDMD 筛选[[特征值]],所有[[特征值]]均位于<math>\epsilon=0.01</math>的伪谱内。下图右图体现不同积分规则的性能差异,以 “数据点数量M” 为横轴、“核心矩阵元素最大绝对误差” 为纵轴(对数坐标),误差定义为: | + | 品红色圆点为传统 EDMD [[特征值]],大量[[特征值]]位于[[伪谱]]之外,这些是离散化导致的[[谱污染]](虚假[[特征值]]),无法反映系统真实[[动力学]],例如虚部 > 0.5的[[特征值]]对应不存在的高频[[振荡]],与[[高斯迭代映射]]的实际[[动力学]]矛盾。蓝色叉号为ResDMD 筛选[[特征值]],所有[[特征值]]均位于<math>\epsilon=0.01</math>的[[伪谱]]内。下图右图体现不同积分规则的性能差异,以 “数据点数量M” 为横轴、“核心矩阵元素最大绝对误差” 为纵轴(对数坐标),误差定义为: |
| | | | |
| | <math>err = \max_{1 \leq j,k \leq N_K} \left| (\Psi_X^* W \Psi_Y)_{jk} - \langle K\psi_k, \psi_j \rangle \right|</math>, | | <math>err = \max_{1 \leq j,k \leq N_K} \left| (\Psi_X^* W \Psi_Y)_{jk} - \langle K\psi_k, \psi_j \rangle \right|</math>, |
| | | | |
| − | 其中<math>\langle K\psi_k, \psi_j \rangle</math>为 Koopman 算子内积的真实值(作为误差基准)。结果显示不同积分规则的收敛速率差异显著:高斯-勒让德规则指数收敛;梯形规则<math>O(M^{-2})</math>;黎曼和规则<math>O(M^{-1})</math>;[[蒙特卡洛]]规则<math>O(M^{-1/2})</math>。 | + | 其中<math>\langle K\psi_k, \psi_j \rangle</math>为 Koopman [[算子]][[内积]]的真实值(作为误差基准)。结果显示不同积分规则的收敛速率差异显著:高斯-勒让德规则指数收敛;梯形规则<math>O(M^{-2})</math>;黎曼和规则<math>O(M^{-1})</math>;[[蒙特卡洛]]规则<math>O(M^{-1/2})</math>。 |
| | | | |
| | [[文件:ResDMDGussian.png|500x500px|替代=|]] | | [[文件:ResDMDGussian.png|500x500px|替代=|]] |
| 第433行: |
第433行: |
| | ==核DMD== | | ==核DMD== |
| | | | |
| − | 核动态模式分解(Kernel Dynamic Mode Decomposition)是一种通过[[核技巧(kernel trick)]]在[[再生核希尔伯特空间(Reproducing Kernel Hilbert Space,RKHS)]]中近似[[非线性动力系统]]的Koopman算子的方法。Koopman算子虽然能将非线性系统转化为线性演化,但它作用在无限维函数空间上,无法直接计算。而核 DMD 的核心优势,就在于通过[[核函数]]将原始数据隐式映射到高维特征空间(RKHS),并在该空间中执行类似DMD的线性分析,从而间接获得非线性系统的主导动态模式,不需要 “显式” 地把观测函数写出来。
| + | 核动态[[模式分解]](Kernel Dynamic Mode Decomposition)是一种通过[[核技巧(kernel trick)]]在[[再生核希尔伯特空间(Reproducing Kernel Hilbert Space,RKHS)]]中近似[[非线性动力系统]]的Koopman[[算子]]的方法。Koopman[[算子]]虽然能将[[非线性系统]]转化为线性演化,但它作用在[[无限]]维函数空间上,无法直接计算。而核 DMD 的核心优势,就在于通过[[核函数]]将原始数据隐式映射到高维特征空间(RKHS),并在该空间中执行[[类似]]DMD的线性分析,从而间接获得[[非线性系统]]的主导动态模式,不需要 “显式” 地把观测函数写出来。 |
| | | | |
| | ===理论=== | | ===理论=== |
| 第441行: |
第441行: |
| | <math>k(\mathbf{x}, \mathbf{y}) = \langle \phi(\mathbf{x}), \phi(\mathbf{y}) \rangle</math>, | | <math>k(\mathbf{x}, \mathbf{y}) = \langle \phi(\mathbf{x}), \phi(\mathbf{y}) \rangle</math>, |
| | | | |
| − | 其中<math>\langle \cdot, \cdot \rangle</math>表示RKHS中的内积。这种方法允许我们在不知道显式映射<math>\phi</math>的情况下,直接在核空间中计算相似性。即此时Koopman算子的近似矩阵<math>\mathbf{A}_\phi</math>为<ref name=william_2015_kernal>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. (Cited on pp. 255, 256, 284, 285, 294, 318)</ref><ref name=Gonzalez_2023_kernal>Gonzalez, E., Abudia, M., Jury, M., Kamalapurkar, R. & Rosenfeld, J. A. The kernel perspective on dynamic mode decomposition. Preprint at https://doi.org/10.48550/arXiv.2106.00106 (2023).</ref>: | + | 其中<math>\langle \cdot, \cdot \rangle</math>表示RKHS中的[[内积]]。这种方法允许我们在不知道显式映射<math>\phi</math>的情况下,直接在核空间中计算相似性。即此时Koopman[[算子]]的近似矩阵<math>\mathbf{A}_\phi</math>为<ref name=william_2015_kernal>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. (Cited on pp. 255, 256, 284, 285, 294, 318)</ref><ref name=Gonzalez_2023_kernal>Gonzalez, E., Abudia, M., Jury, M., Kamalapurkar, R. & Rosenfeld, J. A. The kernel perspective on dynamic mode decomposition. Preprint at https://doi.org/10.48550/arXiv.2106.00106 (2023).</ref>: |
| | | | |
| | <math>\mathbf{K}_{YX} \approx \mathbf{A}_\phi \mathbf{K}_{XX}</math> | | <math>\mathbf{K}_{YX} \approx \mathbf{A}_\phi \mathbf{K}_{XX}</math> |
| 第447行: |
第447行: |
| | 其中,<math>(\mathbf{K}_{XX})_{ij} = k(\mathbf{x}_i, \mathbf{x}_j), \quad (\mathbf{K}_{YX})_{ij} = k(\mathbf{y}_i, \mathbf{x}_j)</math> | | 其中,<math>(\mathbf{K}_{XX})_{ij} = k(\mathbf{x}_i, \mathbf{x}_j), \quad (\mathbf{K}_{YX})_{ij} = k(\mathbf{y}_i, \mathbf{x}_j)</math> |
| | | | |
| − | 这相当于在RKHS中执行标准DMD算法,从而获得近似Koopman算子。核DMD的优势在于,它能够处理复杂的[[非线性系统]],如[[流体湍流]]或[[混沌系统]],而无需手动设计非线性特征函数。此外,核技巧减少了[[计算复杂度]],因为我们可以通过核矩阵运算避免高维空间中的直接计算。目前,有很多种核函数,包括线性核、多项式核、[[径向基]]核、高斯核、拉普拉斯核、sigmod核等等。
| + | 这相当于在RKHS中执行标准DMD算法,从而获得近似Koopman[[算子]]。核DMD的优势在于,它能够处理复杂的[[非线性系统]],如[[流体湍流]]或[[混沌系统]],而无需手动设计[[非线性]][[特征函数]]。此外,[[核技巧]]减少了[[计算复杂度]],因为我们可以通过核矩阵运算避免高维空间中的直接计算。目前,有很多种[[核函数]],包括线性核、多项式核、[[径向基]]核、高斯核、拉普拉斯核、sigmod核等等。 |
| | | | |
| − | ===核函数=== | + | ===[[核函数]]=== |
| | | | |
| − | '''线性核(Linear Kernel)''':可视为核DMD的退化形式。其公式为: <math>k(\mathbf{x}, \mathbf{y}) = \mathbf{x} \cdot \mathbf{y}</math> ,其中,<math>\mathbf{x} \cdot \mathbf{y}</math> 是标准内积,直接反映线性相关性。 线性核计算高效且无超参数,适合线性或近似线性的系统;但无法处理强非线性。在核DMD中,它适用于小扰动下的线性化系统,可作为复杂核的基准比较。 | + | '''线性核(Linear Kernel)''':可视为核DMD的退化形式。其公式为: <math>k(\mathbf{x}, \mathbf{y}) = \mathbf{x} \cdot \mathbf{y}</math> ,其中,<math>\mathbf{x} \cdot \mathbf{y}</math> 是标准[[内积]],直接反映线性[[相关性]]。 线性核计算高效且无超参数,适合线性或近似线性的系统;但无法处理强[[非线性]]。在核DMD中,它适用于小扰动下的[[线性化]]系统,可作为复杂核的基准比较。 |
| | | | |
| − | '''多项式核(Polynomial Kernel)'''适用于处理多项式非线性。其公式为: <math>k(\mathbf{x}, \mathbf{y}) = (\mathbf{x} \cdot \mathbf{y} + c)^d</math> ,其中, <math>\mathbf{x} \cdot \mathbf{y}</math> 是向量 <math>\mathbf{x}</math> 和 <math>\mathbf{y}</math> 的内积,表示它们的线性相似性。 <math>c</math> 是常数项(通常 <math>c \geq 0</math>),用于调整偏置,影响核的平移。<math>d</math> 是多项式的次数,控制非线性程度;较高的 <math>d</math> 能捕捉更复杂的交互作用。 多项式核计算简单且能明确控制模型复杂度;但当 <math>d</math> 较大时易过拟合,且对非多项式关系捕捉能力有限。在核DMD中,它适用于具有多项式动力学的系统,如[[机械振动]]或[[电路系统]],其中变量间存在高阶依赖。 | + | '''多项式核(Polynomial Kernel)'''适用于处理多项式[[非线性]]。其公式为: <math>k(\mathbf{x}, \mathbf{y}) = (\mathbf{x} \cdot \mathbf{y} + c)^d</math> ,其中, <math>\mathbf{x} \cdot \mathbf{y}</math> 是[[向量]] <math>\mathbf{x}</math> 和 <math>\mathbf{y}</math> 的[[内积]],表示它们的线性相似性。 <math>c</math> 是常数项(通常 <math>c \geq 0</math>),用于调整偏置,影响核的平移。<math>d</math> 是多项式的次数,控制[[非线性]]程度;较高的 <math>d</math> 能捕捉更复杂的交互作用。 多项式核计算简单且能明确控制模型复杂度;但当 <math>d</math> 较大时易[[过拟合]],且对非多项式关系捕捉能力有限。在核DMD中,它适用于具有多项式[[动力学]]的系统,如[[机械振动]]或[[电路系统]],其中变量间存在高阶依赖。 |
| | | | |
| − | '''径向基函数核(Radial Basis Function Kernel)'''的公式为:<math>k(\mathbf{x}, \mathbf{y}) = f(|\mathbf{x} - \mathbf{y}|)</math> ,其中,<math>f(\cdot)</math>为关于距离的单调递减函数。高斯核和拉普拉斯核均属此类特例。径向基函数核的共性是利用数据点间的距离度量相似性,适用于局部平滑的动力系统。其优势在于能自动适应数据分布,无需预先假设特定函数形式。在动力系统分析中,径向基函数核能有效捕捉相空间中的局部动力学特征,如吸引子结构或稳定流形。缺点是当系统维度较高时,可能面临"[[维度灾难]]",且计算成本随数据量增加而显著增长。 | + | '''[[径向基函数]]核(Radial Basis Function Kernel)'''的公式为:<math>k(\mathbf{x}, \mathbf{y}) = f(|\mathbf{x} - \mathbf{y}|)</math> ,其中,<math>f(\cdot)</math>为关于距离的单调递减函数。高斯核和拉普拉斯核均属此类特例。[[径向基函数]]核的共性是利用数据点间的距离度量相似性,适用于局部平滑的[[动力系统]]。其优势在于能自动适应数据分布,无需预先假设特定函数形式。在[[动力系统分析]]中,[[径向基函数]]核能有效捕捉[[相空间]]中的局部[[动力学]]特征,如[[吸引子]]结构或[[稳定流形]]。缺点是当系统维度较高时,可能面临"[[维度灾难]]",且计算成本随数据量增加而显著增长。 |
| | | | |
| − | '''高斯核(Gaussian Kernel)''': <math>k(\mathbf{x}, \mathbf{y}) = \exp\left(-\frac{|\mathbf{x} - \mathbf{y}|}{\alpha}\right)</math> ,其中, <math>|\mathbf{x} - \mathbf{y}|</math> 表示数据点 <math>\mathbf{x}</math> 和 <math>\mathbf{y}</math> 之间的[[欧氏距离]],用于量化它们的空间分离程度。<math>\alpha</math> 是带宽参数(缩放因子),控制核函数的衰减速率;较小的 <math>\alpha</math> 使核更局部化,较大的 <math>\alpha</math> 使核更平滑。<math>\exp</math> 是指数函数,确保相似性随距离增加而指数衰减。该核函数能捕捉数据的局部结构,并对噪声有一定的[[鲁棒性]];但对参数 <math>\alpha</math> 的选择敏感,若选择不当可能导致[[过拟合]]或[[欠拟合]]。在核DMD中,高斯核适用于非线性动力系统分析,如[[流体湍流]]或[[混沌系统]],能有效识别相干结构。 | + | '''高斯核(Gaussian Kernel)''': <math>k(\mathbf{x}, \mathbf{y}) = \exp\left(-\frac{|\mathbf{x} - \mathbf{y}|}{\alpha}\right)</math> ,其中, <math>|\mathbf{x} - \mathbf{y}|</math> 表示数据点 <math>\mathbf{x}</math> 和 <math>\mathbf{y}</math> 之间的[[欧氏距离]],用于[[量化]]它们的空间分离程度。<math>\alpha</math> 是带宽参数(缩放因子),控制[[核函数]]的衰减速率;较小的 <math>\alpha</math> 使核更局部化,较大的 <math>\alpha</math> 使核更平滑。<math>\exp</math> 是指数函数,确保相似性随距离增加而指数衰减。该[[核函数]]能捕捉数据的局部结构,并对[[噪声]]有一定的[[鲁棒性]];但对参数 <math>\alpha</math> 的选择敏感,若选择不当可能导致[[过拟合]]或[[欠拟合]]。在核DMD中,高斯核适用于[[非线性动力系统]]分析,如[[流体湍流]]或[[混沌系统]],能有效识别相干结构。 |
| | | | |
| − | '''拉普拉斯核(Laplacian Kernel)'''是径向基函数核的一种变体,其对噪声和异常值具有更好的[[鲁棒性]]。其数学表达式为: <math>k(\mathbf{x}, \mathbf{y}) = \exp\left(-\frac{|\mathbf{x} - \mathbf{y}|_1}{\sigma}\right)</math> ,其中,<math>|\mathbf{x} - \mathbf{y}|_1</math>表示向量间的[[曼哈顿距离(L1范数)]],<math>\sigma</math>为尺度参数控制衰减速率。与高斯核使用[[L2范数]]不同,拉普拉斯核使用[[L1范数]],使其对异常值更不敏感,因为[[L1范数]]对大幅偏差的惩罚小于[[L2范数]]。该核函数的优点在于能有效处理包含噪声的高维数据,特别适用于传感器网络或实验测量数据中存在显著噪声的动力系统分析。缺点是计算效率相对较低,且需要仔细调整尺度参数<math>\sigma</math>以避免过平滑。 | + | '''拉普拉斯核(Laplacian Kernel)'''是[[径向基函数]]核的一种变体,其对[[噪声]]和异常值具有更好的[[鲁棒性]]。其[[数学]][[表达式]]为: <math>k(\mathbf{x}, \mathbf{y}) = \exp\left(-\frac{|\mathbf{x} - \mathbf{y}|_1}{\sigma}\right)</math> ,其中,<math>|\mathbf{x} - \mathbf{y}|_1</math>表示[[向量]]间的[[曼哈顿距离(L1范数)]],<math>\sigma</math>为尺度参数控制衰减速率。与高斯核使用[[L2范数]]不同,拉普拉斯核使用[[L1范数]],使其对异常值更不敏感,因为[[L1范数]]对大幅偏差的惩罚小于[[L2范数]]。该[[核函数]]的优点在于能有效处理包含[[噪声]]的高维数据,特别适用于传感器网络或实验测量数据中存在显著[[噪声]]的[[动力系统分析]]。缺点是计算效率相对较低,且需要仔细调整尺度参数<math>\sigma</math>以避免过平滑。 |
| | | | |
| − | '''Sigmoid核(Sigmoid Kernel)'''源自[[神经网络]]理论,其形式为: <math>k(\mathbf{x}, \mathbf{y}) = \tanh(\alpha \mathbf{x} \cdot \mathbf{y} + c)</math> ,其中,<math>\alpha</math>为缩放参数,<math>c</math>为偏置项,<math>\tanh</math>为[[双曲正切函数]]。该核函数模拟神经元激活函数的行为,能产生非线性映射。Sigmoid核的独特之处在于它能模拟饱和非线性特性,适用于具有阈值行为的动力系统,如[[生物神经元模型]]或[[开关控制系统]]。然而,Sigmoid核并非始终满足[[Mercer条件]](即不一定为正定核),这可能导致数值不稳定性和收敛问题。在实际应用中,需谨慎验证其正定性,或采用修正版本以确保计算稳定性。 | + | '''Sigmoid核(Sigmoid Kernel)'''源自[[神经网络]]理论,其形式为: <math>k(\mathbf{x}, \mathbf{y}) = \tanh(\alpha \mathbf{x} \cdot \mathbf{y} + c)</math> ,其中,<math>\alpha</math>为缩放参数,<math>c</math>为偏置项,<math>\tanh</math>为[[双曲正切函数]]。该[[核函数]][[模拟]][[神经元]]激活函数的行为,能产生[[非线性]]映射。Sigmoid核的独特之处在于它能[[模拟]]饱和[[非线性]]特性,适用于具有阈值行为的[[动力系统]],如[[生物神经元模型]]或[[开关控制系统]]。然而,Sigmoid核并非始终满足[[Mercer条件]](即不一定为正定核),这可能导致数值不稳定性和收敛问题。在实际应用中,需谨慎验证其正定性,或采用修正版本以确保计算稳定性。 |
| | | | |
| − | 核DMD的适用场景广泛,包括[[动力系统分析]]、[[预测建模]]和[[控制设计]]。例如,在[[流体动力学]]中,核DMD可以识别[[湍流]]中的相干结构,而在[[神经网络]]应用中,它能近似非线性动力学的演化。然而,核函数的选择(如高斯核、多项式核或线性核)对性能有显著影响,需要根据具体系统进行调整。总之,核DMD提供了一种高效且灵活的方式来扩展线性DMD,使其适用于现实世界中的非线性问题,同时保持了Koopman理论的理论严谨性。 | + | 核DMD的适用场景广泛,包括[[动力系统分析]]、[[预测建模]]和[[控制设计]]。例如,在[[流体动力学]]中,核DMD可以识别[[湍流]]中的相干结构,而在[[神经网络]]应用中,它能近似[[非线性动力学]]的演化。然而,[[核函数]]的选择(如高斯核、多项式核或线性核)对性能有显著影响,需要根据具体系统进行调整。总之,核DMD提供了一种高效且灵活的方式来扩展线性DMD,使其适用于现实世界中的[[非线性]]问题,同时保持了[[Koopman理论]]的理论严谨性。 |
| | | | |
| − | ==基于神经网络的DMD== | + | ==基于[[神经网络]]的DMD== |
| | | | |
| − | 尽管Koopman数据驱动算法前景广阔,但要选取合适的观测函数仍然是一个核心挑战。即使对于相对简单的动力系统,Koopman 算子的特征函数也可能任意复杂,并且在有限基中只能被近似地表示。深度学习非常适合表示这种任意复杂的函数,并且最近在Koopman 预测方面显示出了巨大的潜力<ref>C. Wehmeyer and F. Noe\', Time-lagged autoencoders: Deep learning of slow collective variables for molecular kinetics, J. Chem. Phys., 148 (2018), pp. 1--9. (Cited on pp. 284, 290, 291)</ref><ref>N. Takeishi, Y. Kawahara, and T. Yairi, Learning Koopman invariant subspaces for dynamic mode decomposition, in Advances in Neural Information Processing Systems, 2017, pp. 1130--1140. (Cited on pp. 284, 290)</ref>。除了利用神经网络来学习Koopman嵌入之外,Koopman理论也被应用于理解神经网络<ref>I. Manojlovic\', M. Fonoberova, R. Mohr, A. Andrejc\v uk, Z. Drmac\v , Y. Kevrekidis, and I. Mezic\', Applications of Koopman Mode Analysis to Neural Networks, preprint, https://arxiv.org/abs/2006.11765, 2020. (Cited on p. 290)</ref><ref>A. S. Dogra and W. T. Redman, Optimizing neural networks via Koopman operator theory, in Advances in Neural Information Processing Systems, H. Larochelle, M. Ranzato, R. Hadsell, M. F. Balcan, and H. Lin, eds., Curran Associates, 2020, pp. 2087--2097. (Cited on p. 290)</ref>以及更广泛的算法<ref>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, https://doi.org/10.1137/19M1277059. (Cited on p. 290)</ref>。
| + | 尽管Koopman数据驱动算法前景广阔,但要选取合适的观测函数仍然是一个核心挑战。即使对于相对简单的[[动力系统]],Koopman [[算子]]的[[特征函数]]也可能任意复杂,并且在有限基中只能被近似地表示。[[深度学习]]非常适合表示这种任意复杂的函数,并且最近在Koopman 预测方面显示出了巨大的潜力<ref>C. Wehmeyer and F. Noe\', Time-lagged autoencoders: Deep learning of slow collective variables for molecular kinetics, J. Chem. Phys., 148 (2018), pp. 1--9. (Cited on pp. 284, 290, 291)</ref><ref>N. Takeishi, Y. Kawahara, and T. Yairi, Learning Koopman invariant subspaces for dynamic mode decomposition, in Advances in Neural Information Processing Systems, 2017, pp. 1130--1140. (Cited on pp. 284, 290)</ref>。除了利用[[神经网络]]来学习Koopman嵌入之外,[[Koopman理论]]也被应用于理解[[神经网络]]<ref>I. Manojlovic\', M. Fonoberova, R. Mohr, A. Andrejc\v uk, Z. Drmac\v , Y. Kevrekidis, and I. Mezic\', Applications of Koopman Mode Analysis to Neural Networks, preprint, https://arxiv.org/abs/2006.11765, 2020. (Cited on p. 290)</ref><ref>A. S. Dogra and W. T. Redman, Optimizing neural networks via Koopman operator theory, in Advances in Neural Information Processing Systems, H. Larochelle, M. Ranzato, R. Hadsell, M. F. Balcan, and H. Lin, eds., Curran Associates, 2020, pp. 2087--2097. (Cited on p. 290)</ref>以及更广泛的算法<ref>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, https://doi.org/10.1137/19M1277059. (Cited on p. 290)</ref>。 |
| | | | |
| | [[文件:Neuralkoop.png|500x500px|替代=]] | | [[文件:Neuralkoop.png|500x500px|替代=]] |
| | | | |
| − | 目前主要有两种用于Koopman嵌入的深度神经网络架构,如上图所示。在第一种架构中,深度自动编码器架构提取几个关键的潜在变量 <math>\mathbf{z} = \boldsymbol{\varphi}(\mathbf{x})</math> 来参数化动力学。在第二种架构中,高维输入数据被提升到更高的维度,在该维度下演化近似为线性的。在这两种 Koopman 神经网络中,都强制执行了一个额外的约束,即在这些潜在变量上的动力学必须是线性的,由矩阵 <math>\mathbf{K}</math> 给出。线性动力学的约束通过损失函数 <math>\|\boldsymbol{\varphi}(\mathbf{x}_{k+1}) - \mathbf{K}\boldsymbol{\varphi}(\mathbf{x}_k)\|</math> 来强制执行,其中 <math>\mathbf{K}</math> 是一个矩阵。通常,线性度是在多个时间步长上强制执行的,因此会有额外的项 <math>\|\boldsymbol{\varphi}(\mathbf{x}_{k+p}) - \mathbf{K}^p\boldsymbol{\varphi}(\mathbf{x}_k)\|</math> 被添加到损失函数中。
| + | 目前主要有两种用于Koopman嵌入的[[深度神经网络]]架构,如上图所示。在第一种架构中,深度自动编码器架构提取几个关键的潜在变量 <math>\mathbf{z} = \boldsymbol{\varphi}(\mathbf{x})</math> 来参数化[[动力学]]。在第二种架构中,高维输入数据被提升到更高的维度,在该维度下演化近似为线性的。在这两种 Koopman [[神经网络]]中,都强制执行了一个额外的约束,即在这些潜在变量上的[[动力学]]必须是线性的,由矩阵 <math>\mathbf{K}</math> 给出。线性[[动力学]]的约束通过损失函数 <math>\|\boldsymbol{\varphi}(\mathbf{x}_{k+1}) - \mathbf{K}\boldsymbol{\varphi}(\mathbf{x}_k)\|</math> 来强制执行,其中 <math>\mathbf{K}</math> 是一个矩阵。通常,线性度是在多个时间步长上强制执行的,因此会有额外的项 <math>\|\boldsymbol{\varphi}(\mathbf{x}_{k+p}) - \mathbf{K}^p\boldsymbol{\varphi}(\mathbf{x}_k)\|</math> 被添加到损失函数中。 |
| | | | |
| − | [[自编码器]]具有低维潜在空间的优势,这可能促进可解释的解的产生。[[自编码器]]已被广泛用于复杂系统建模,例如在流体力学中<ref>64</ref>,它们可以被视为SVD的非线性扩展,而SVD是 DMD 算法的核心。通过这种方式,基于[[自编码器]]的深度Koopman网络可以被视为DMD的推广。 | + | [[自编码器]]具有低维潜在空间的优势,这可能促进可解释的解的产生。[[自编码器]]已被广泛用于[[复杂系统]]建模,例如在[[流体力学]]中<ref>64</ref>,它们可以被视为[[SVD]]的[[非线性]]扩展,而[[SVD]]是 DMD 算法的核心。通过这种方式,基于[[自编码器]]的深度Koopman网络可以被视为DMD的推广。 |
| | | | |
| − | 同样,如果矩阵 <math>\mathbf{K}</math> 被对角化,那么嵌入函数 <math>\varphi</math> 就对应于 Koopman 特征函数<ref name=lusch_2018>B. Lusch, J. N. Kutz, and S. L. Brunton, Deep learning for universal linear embeddings of nonlinear dynamics, Nature Commun., 9 (2018), art. 4950. (Cited on pp. 235, 284, 290, 291, 307)</ref>。[[变分自编码器]]也被用于随机动力系统,例如分子动力学,其中从潜在变量映射回物理构型空间的过程是概率性的。相比之下,第二种范式,即测量值被提升到更高维空间,与机器学习中的许多结果相关,例如[[Cover定理]]<ref>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. (Cited on pp. 235, 290, 291)</ref>,即非线性问题在更高维嵌入中往往变得更加线性。 | + | 同样,如果矩阵 <math>\mathbf{K}</math> 被对角化,那么嵌入函数 <math>\varphi</math> 就对应于 Koopman [[特征函数]]<ref name=lusch_2018>B. Lusch, J. N. Kutz, and S. L. Brunton, Deep learning for universal linear embeddings of nonlinear dynamics, Nature Commun., 9 (2018), art. 4950. (Cited on pp. 235, 284, 290, 291, 307)</ref>。[[变分自编码器]]也被用于[[随机动力系统]],例如分子[[动力学]],其中从潜在变量映射回[[物理]]构型空间的过程是[[概率]]性的。相比之下,第二种范式,即测量值被提升到更高维空间,与[[机器学习]]中的许多结果相关,例如[[Cover定理]]<ref>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. (Cited on pp. 235, 290, 291)</ref>,即[[非线性]]问题在更高维嵌入中往往变得更加线性。 |
| | | | |
| − | 对于具有离散特征值谱的简单系统,可以用少量的自编码器变量获得紧凑的表征。然而,具有连续特征值谱的动力学无法用标准的低维 Koopman 表示来描述。 Lusch、Kutz 和 Brunton 最近的一项工作<ref name=lusch_2018 />提出了一种可以用神经网络处理连续特征值谱动力学的方法。
| + | 对于具有离散[[特征值]]谱的简单系统,可以用少量的[[自编码器]]变量获得紧凑的表征。然而,具有[[连续]][[特征值]]谱的[[动力学]]无法用标准的低维 Koopman 表示来描述。 Lusch、Kutz 和 Brunton 最近的一项工作<ref name=lusch_2018 />提出了一种可以用神经网络处理连续特征值谱动力学的方法。 |
| | | | |
| | ==时间延迟DMD== | | ==时间延迟DMD== |
| 第485行: |
第485行: |
| | [[文件:Hankel lorenz.png|500x500px|替代=]] | | [[文件:Hankel lorenz.png|500x500px|替代=]] |
| | | | |
| − | 时间延迟测量方案示意图如上图所示,以[[Lorenz系统]]为例,展示了将混沌分解为带有外力的线性系统。在这个例子中,我们有来自原始三态Lorenz系统的单个标量测量信号<math>x(t)</math>。可以从该标量测量的时间序列构造一个Hankel矩阵<math>\mathbf{H}</math>: | + | 时间延迟测量方案示意图如上图所示,以[[Lorenz系统]]为例,展示了将[[混沌]]分解为带有外力的[[线性系统]]。在这个例子中,我们有来自原始三态[[Lorenz系统]]的单个[[标量]]测量[[信号]]<math>x(t)</math>。可以从该[[标量]]测量的[[时间序列]]构造一个Hankel矩阵<math>\mathbf{H}</math>: |
| | | | |
| | <math> | | <math> |
| 第491行: |
第491行: |
| | </math> | | </math> |
| | | | |
| − | <math>\mathbf{H}</math> 的每一列都可以通过将前一列在时间上向前推进一步来获得。因此,我们可以用 Koopman 算子 <math>\mathcal{K}</math> 重写上式: | + | <math>\mathbf{H}</math> 的每一列都可以通过将前一列在时间上向前推进一步来获得。因此,我们可以用 Koopman [[算子]] <math>\mathcal{K}</math> 重写上式: |
| | | | |
| | <math> | | <math> |
| 第503行: |
第503行: |
| | </math> | | </math> |
| | | | |
| − | 来自[[SVD]]的<math>\mathbf{U}</math>和<math>\mathbf{V}</math>的列分别按其对 <math>\mathbf{H}</math> 的列和行建模的重要性逐次排列。根据定义,动力学将吸引子映射到自身,使其对[[流映射]]不变。通常,<math>\mathbf{H}</math> 允许用 <math>\mathbf{U}</math> 和 <math>\mathbf{V}</math> 的前 <math>r</math> 列进行低秩近似,因此这些列近似了一个 Koopman 不变子空间。因此,Hankel矩阵的列可以很好地由 <math>\mathbf{U}</math> 的前 <math>r</math> 列来近似。<math>\mathbf{V}</math> 的前 <math>r</math> 列则描述了降维后的时间延迟空间中系统状态的随时间的演化轨迹。所以,通过绘制 <math>\mathbf{V}</math> 的前三列,我们重新获得了Lorenz系统的吸引子,如图中右上角所示。 | + | 来自[[SVD]]的<math>\mathbf{U}</math>和<math>\mathbf{V}</math>的列分别按其对 <math>\mathbf{H}</math> 的列和行建模的重要性逐次排列。根据定义,[[动力学]]将[[吸引子]]映射到自身,使其对[[流映射]]不变。通常,<math>\mathbf{H}</math> 允许用 <math>\mathbf{U}</math> 和 <math>\mathbf{V}</math> 的前 <math>r</math> 列进行低秩近似,因此这些列近似了一个 Koopman 不变子空间。因此,Hankel矩阵的列可以很好地由 <math>\mathbf{U}</math> 的前 <math>r</math> 列来近似。<math>\mathbf{V}</math> 的前 <math>r</math> 列则描述了[[降维]]后的时间延迟空间中[[系统状态]]的随时间的演化轨迹。所以,通过绘制 <math>\mathbf{V}</math> 的前三列,我们重新获得了[[Lorenz系统]]的[[吸引子]],如图中右上角所示。 |
| | | | |
| − | 在延迟坐标 <math>\mathbf{v}</math> 上,我们可以得到一个最佳拟合线性回归模型。一个很直接的做法是,我们可以对由 <math>\mathbf{H}</math> 的前 <math>p-1</math> 列和后 <math>p-1</math> 列组成的两个矩阵进行DMD估计。在实践中,学者建议对由 <math>\mathbf{V}</math> 的前 <math>p-1</math> 列和后 <math>p-1</math> 列组成的类似矩阵进行DMD估计,因为这样我们便可以在一个降维的特征空间中拟合系统的演化。下面是关于 <math>\mathbf{V}</math> 中变量的线性回归模型, | + | 在延迟坐标 <math>\mathbf{v}</math> 上,我们可以得到一个最佳拟合线性[[回归]]模型。一个很直接的做法是,我们可以对由 <math>\mathbf{H}</math> 的前 <math>p-1</math> 列和后 <math>p-1</math> 列组成的两个矩阵进行DMD估计。在实践中,学者建议对由 <math>\mathbf{V}</math> 的前 <math>p-1</math> 列和后 <math>p-1</math> 列组成的[[类似]]矩阵进行DMD估计,因为这样我们便可以在一个[[降维]]的特征空间中拟合系统的演化。下面是关于 <math>\mathbf{V}</math> 中变量的线性[[回归]]模型, |
| | | | |
| | <math> | | <math> |
| 第511行: |
第511行: |
| | </math> | | </math> |
| | | | |
| − | Champion, Brunton 和 Kutz等人表明<ref name=champion_2019>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, https://doi.org/10.1137/18M1188227. (Cited on pp. 288, 289)</ref>,该线性系统捕捉了弱非线性系统的动力学。然而,对于混沌系统,即使有近似Koopman不变的测量系统,在识别封闭的线性模型方面仍存在挑战。无论多么高维的线性模型,都无法捕捉多个不动点或具有正[[Lyapunov指数]]的混沌所特有的不可预测行为<ref>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. (Cited on pp. 234, 247, 248, 254, 284, 285, 286, 288, 295, 308, 309, 312, 318)</ref>。与其为 <math>\mathbf{V}</math> 中的前 <math>r</math> 个变量构建一个封闭的线性模型,不如在前 <math>r-1</math> 个变量上构建一个线性模型,并将最后一个变量 <math>v_r</math> 强加为一个外力项<ref name=brunton_2017 />: | + | Champion, Brunton 和 Kutz等人表明<ref name=champion_2019>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, https://doi.org/10.1137/18M1188227. (Cited on pp. 288, 289)</ref>,该[[线性系统]]捕捉了弱[[非线性系统]]的[[动力学]]。然而,对于[[混沌系统]],即使有近似Koopman不变的测量系统,在识别封闭的线性模型方面仍存在挑战。无论多么高维的线性模型,都无法捕捉多个[[不动点]]或具有正[[Lyapunov指数]]的[[混沌]]所特有的不可预测行为<ref>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. (Cited on pp. 234, 247, 248, 254, 284, 285, 286, 288, 295, 308, 309, 312, 318)</ref>。与其为 <math>\mathbf{V}</math> 中的前 <math>r</math> 个变量构建一个封闭的线性模型,不如在前 <math>r-1</math> 个变量上构建一个线性模型,并将最后一个变量 <math>v_r</math> 强加为一个外力项<ref name=brunton_2017 />: |
| | | | |
| | <math> | | <math> |
| 第519行: |
第519行: |
| | 其中 <math>\mathbf{v} = \begin{bmatrix} v_1 & v_2 & \cdots & v_{r-1} \end{bmatrix}^T</math> 是前 <math>r-1</math> 个特征时间延迟坐标的向量。在所有探索的混沌示例中<ref name=brunton_2017 />,前<math>r-1</math> 项的线性模型是准确的,而没有线性模型能表示 <math>v_r</math>。相反,<math>v_r</math> 应该是线性动力学的外来输入。<math>v_r(t)</math> 的统计数据是非高斯的,具有长尾,也就意味着显著存在罕见的波动事件。这种外力变量的罕见变化对应于驱动 Lorenz 系统中的波瓣切换,如图中左下角红色标注的波峰所示。这种分析架构被称为 Koopman 的 Hankel 替代视图分析 (Hankel alternative view of the Koopman,[[HAVOK]])<ref name=brunton_2017 />。 | | 其中 <math>\mathbf{v} = \begin{bmatrix} v_1 & v_2 & \cdots & v_{r-1} \end{bmatrix}^T</math> 是前 <math>r-1</math> 个特征时间延迟坐标的向量。在所有探索的混沌示例中<ref name=brunton_2017 />,前<math>r-1</math> 项的线性模型是准确的,而没有线性模型能表示 <math>v_r</math>。相反,<math>v_r</math> 应该是线性动力学的外来输入。<math>v_r(t)</math> 的统计数据是非高斯的,具有长尾,也就意味着显著存在罕见的波动事件。这种外力变量的罕见变化对应于驱动 Lorenz 系统中的波瓣切换,如图中左下角红色标注的波峰所示。这种分析架构被称为 Koopman 的 Hankel 替代视图分析 (Hankel alternative view of the Koopman,[[HAVOK]])<ref name=brunton_2017 />。 |
| | | | |
| − | Hankel矩阵在[[系统]]辨识中已使用了几十年,例如在[[ERA]]<ref>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. (Cited on pp. 262, 289, 303)</ref>和奇异谱分析(singular spectrum analysis,SSA)<ref>R. W. Brockett, Optimal control of the Liouville equation, in Proceedings of the International Conference on Complex Geometry and Related Fields, AMS/IP Stud. Adv. Math. 39, AMS, 2007, pp. 23--35. (Cited on p. 300)</ref>中。这些早期算法是专门为线性[[系统]]开发的,尽管它们常被应用于弱[[非线性系统]],但当时尚不清楚如何解释由这些方法产生的模型和分解。现代Koopman算子理论为在[[非线性系统]]中解释这些经典的基于Hankel方法的结果提供了一个有价值的新视角。在 Hankel 矩阵上计算 DMD 的做法最早由Tu等人<ref name=Tu_2014 />提出,并由Brunton等人<ref name=brunton_neural>B. W. Brunton, L. A. Johnson, J. G. Ojemann, and J. N. Kutz, Extracting spatial-- temporal coherent patterns in large-scale neural recordings using dynamic mode decomposition, J. Neurosci. Methods, 258 (2016), pp. 1--15, https://doi.org/10.1016/j.jneumeth. 2015.10.010. (Cited on pp. 237, 238, 257, 260, 261, 278, 289)</ref>用于神经科学领域。Hankel矩阵与Koopman算子之间的联系,由 Brunton等人<ref name=brunton_2017 />在[[HAVOK]]框架中建立。随后的一些工作为该方法提供了更完善的理论基础<ref name=arbabi_2017>H. Arbabi and I. Mezic\', Ergodic theory, dynamic mode decomposition, and computation of spectral properties of the Koopman operator, SIAM J. Appl. Dyn. Syst., 16 (2017), pp. 2096--2126, https://doi.org/10.1137/17M1125236. (Cited on pp. 257, 275, 289, 292, 294)</ref><ref name=das_2019>S. Das and D. Giannakis, Delay-coordinate maps and the spectra of Koopman operators, J. Statist. Phys., 175 (2019), pp. 1107--1145. (Cited on pp. 257, 289, 293)</ref>。HAVOK 方法也常被称为延迟DMD<ref name=Tu_2014 />或Hankel-DMD<ref name=arbabi_2017 />。延迟嵌入与Koopman算子之间的联系最早在 2004 年由 Mezić 和 Banaszuk<ref>I. Mezi\'c and A. Banaszuk, Comparison of systems with complex behavior, Phys. D, 197 (2004), pp. 101--133. (Cited on pp. 231, 244, 273, 280, 289, 293, 295)</ref>建立,在其中定义了随机Koopman算子并证明了统计[[Takens定理]]。还有工作研究了如何将动力学拆分为确定性线性动力学与[[混沌]]随机动力学<ref name=mezic_2005>I. Mezic\', Spectral properties of dynamical systems, model reduction and decompositions, Nonlinear Dynam., 41 (2005), pp. 309--325. (Cited on pp. 231, 244, 246, 273, 289, 292)</ref>。在具有长期记忆效应的[[系统]]中,使用延迟坐标可能尤其重要,而Koopman方法已被证明是此类[[系统]]中一种成功的分析工具<ref>A. Svenkeson, B. Glaz, S. Stanton, and B. J. West, Spectral decomposition of nonlinear systems with memory, Phys. Rev. E, 93 (2016), art. 022211, https://doi.org/10.1103/ PhysRevE.93.022211. (Cited on p. 289)</ref>。 | + | Hankel矩阵在[[系统]]辨识中已使用了几十年,例如在[[ERA]]<ref>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. (Cited on pp. 262, 289, 303)</ref>和奇异谱分析(singular spectrum analysis,SSA)<ref>R. W. Brockett, Optimal control of the Liouville equation, in Proceedings of the International Conference on Complex Geometry and Related Fields, AMS/IP Stud. Adv. Math. 39, AMS, 2007, pp. 23--35. (Cited on p. 300)</ref>中。这些早期算法是专门为线性[[系统]]开发的,尽管它们常被应用于弱[[非线性系统]],但当时尚不清楚如何解释由这些方法产生的模型和分解。现代Koopman[[算子]]理论为在[[非线性系统]]中解释这些经典的基于Hankel方法的结果提供了一个有价值的新视角。在 Hankel 矩阵上计算 DMD 的做法最早由Tu等人<ref name=Tu_2014 />提出,并由Brunton等人<ref name=brunton_neural>B. W. Brunton, L. A. Johnson, J. G. Ojemann, and J. N. Kutz, Extracting spatial-- temporal coherent patterns in large-scale neural recordings using dynamic mode decomposition, J. Neurosci. Methods, 258 (2016), pp. 1--15, https://doi.org/10.1016/j.jneumeth. 2015.10.010. (Cited on pp. 237, 238, 257, 260, 261, 278, 289)</ref>用于[[神经科学]]领域。Hankel矩阵与Koopman[[算子]]之间的联系,由 Brunton等人<ref name=brunton_2017 />在[[HAVOK]]框架中建立。随后的一些工作为该方法提供了更完善的理论基础<ref name=arbabi_2017>H. Arbabi and I. Mezic\', Ergodic theory, dynamic mode decomposition, and computation of spectral properties of the Koopman operator, SIAM J. Appl. Dyn. Syst., 16 (2017), pp. 2096--2126, https://doi.org/10.1137/17M1125236. (Cited on pp. 257, 275, 289, 292, 294)</ref><ref name=das_2019>S. Das and D. Giannakis, Delay-coordinate maps and the spectra of Koopman operators, J. Statist. Phys., 175 (2019), pp. 1107--1145. (Cited on pp. 257, 289, 293)</ref>。[[HAVOK]] 方法也常被称为延迟DMD<ref name=Tu_2014 />或Hankel-DMD<ref name=arbabi_2017 />。延迟嵌入与Koopman算子之间的联系最早在 2004 年由 Mezić 和 Banaszuk<ref>I. Mezi\'c and A. Banaszuk, Comparison of systems with complex behavior, Phys. D, 197 (2004), pp. 101--133. (Cited on pp. 231, 244, 273, 280, 289, 293, 295)</ref>建立,在其中定义了[[随机]]Koopman[[算子]]并证明了统计[[Takens定理]]。还有工作研究了如何将[[动力学]]拆分为[[确定性]]线性[[动力学]]与[[混沌]][[随机]][[动力学]]<ref name=mezic_2005>I. Mezic\', Spectral properties of dynamical systems, model reduction and decompositions, Nonlinear Dynam., 41 (2005), pp. 309--325. (Cited on pp. 231, 244, 246, 273, 289, 292)</ref>。在具有长期记忆效应的[[系统]]中,使用延迟坐标可能尤其重要,而Koopman方法已被证明是此类[[系统]]中一种成功的分析工具<ref>A. Svenkeson, B. Glaz, S. Stanton, and B. J. West, Spectral decomposition of nonlinear systems with memory, Phys. Rev. E, 93 (2016), art. 022211, https://doi.org/10.1103/ PhysRevE.93.022211. (Cited on p. 289)</ref>。 |
| | | | |
| − | =与其他算子的关系= | + | =与其他[[算子]]的关系= |
| | | | |
| − | ==Perron-Frobenius算子== | + | ==[[Perron-Frobenius算子]]== |
| | | | |
| − | Perron-Frobenius (PF) 算子,也被称为 Ruelle 转移算子,是非线性动力学的一种线性表示,与 Koopman 算子的发展平行。Koopman 算子演化的是从动力学定义域取值的测量函数(可观测量),而 PF 算子不同,它演化的是支撑在动力学定义域上的[[测度]](分布)。由于 PF 算子和 Koopman 算子可以在适当定义的函数空间中被证明是形式上的伴随,我们在此介绍一下PF算子<ref name=lasota_1994>A. Lasota and M. C. Mackey, Chaos, Fractals, and Noise: Stochastic Aspects of Dynamics, 2nd ed., Appl. Math. Sci. 97, Springer-Verlag, New York, 1994. (Cited on pp. 240, 270, 271, 273, 300)</ref><ref>E. M. Bollt and N. Santitissadeekorn, Applied and Computational Measurable Dynamics, Math. Model. Comput. 18, SIAM, Philadelphia, 2013, https://doi.org/10.1137/1. 9781611972641. (Cited on p. 270)</ref>。 | + | Perron-Frobenius (PF) [[算子]],也被称为 Ruelle 转移[[算子]],是[[非线性动力学]]的一种线性表示,与 Koopman [[算子]]的发展平行。Koopman [[算子]]演化的是从[[动力学]]定义域取值的测量函数(可观测量),而 PF [[算子]]不同,它演化的是支撑在[[动力学]]定义域上的[[测度]](分布)。由于 PF [[算子]]和 Koopman [[算子]]可以在适当定义的函数空间中被证明是形式上的伴随,我们在此介绍一下PF[[算子]]<ref name=lasota_1994>A. Lasota and M. C. Mackey, Chaos, Fractals, and Noise: Stochastic Aspects of Dynamics, 2nd ed., Appl. Math. Sci. 97, Springer-Verlag, New York, 1994. (Cited on pp. 240, 270, 271, 273, 300)</ref><ref>E. M. Bollt and N. Santitissadeekorn, Applied and Computational Measurable Dynamics, Math. Model. Comput. 18, SIAM, Philadelphia, 2013, https://doi.org/10.1137/1. 9781611972641. (Cited on p. 270)</ref>。 |
| | | | |
| − | 设动力学的定义域 <math>\mathcal{X}</math> 被赋予[[Borel可测空间]]的结构。给定一个概率测度 <math>\mu</math> 和任意可测集 <math>A</math>,'''定义'''PF算子为
| + | 设[[动力学]]的定义域 <math>\mathcal{X}</math> 被赋予[[Borel可测空间]]的结构。给定一个[[概率测度]] <math>\mu</math> 和任意可测集 <math>A</math>,'''定义'''PF[[算子]]为 |
| | | | |
| | <math>\mathcal{P}^t \mu(A) := \mu(\mathbf{F}^{-t}(A)),</math> | | <math>\mathcal{P}^t \mu(A) := \mu(\mathbf{F}^{-t}(A)),</math> |
| | | | |
| − | 其中 <math>\mathbf{F}^{-t}(A) := \{\mathbf{x} \in \mathcal{X} : \mathbf{F}^t(\mathbf{x}) \in A\}</math> 是 <math>A</math> 通过动力学的[[原像]]。与 Koopman 算子类似,<math>\mathcal{P}^t</math> 族形成一个[[幺半群]]。另一种表述将概率测度空间上的作用替换为函数空间上的作用<ref name=lasota_1994 />。这假设[[流映射]] <math>\mathbf{F}^t</math> 相对于某个基测度 <math>m</math>(例如[[勒贝格测度]])是非奇异的,意味着 | + | 其中 <math>\mathbf{F}^{-t}(A) := \{\mathbf{x} \in \mathcal{X} : \mathbf{F}^t(\mathbf{x}) \in A\}</math> 是 <math>A</math> 通过[[动力学]]的[[原像]]。与 Koopman [[算子]][[类似]],<math>\mathcal{P}^t</math> 族形成一个[[幺半群]]。另一种表述将[[概率测度]]空间上的作用替换为函数空间上的作用<ref name=lasota_1994 />。这假设[[流映射]] <math>\mathbf{F}^t</math> 相对于某个基测度 <math>m</math>(例如[[勒贝格测度]])是非奇异的,意味着 |
| | | | |
| | <math>m(A) \neq 0 \implies m(\mathbf{F}^{-t}(A)) \neq 0.</math> | | <math>m(A) \neq 0 \implies m(\mathbf{F}^{-t}(A)) \neq 0.</math> |
| 第551行: |
第551行: |
| | 由于证明是通过简单函数(即指示函数的线性组合)逼近的标准论证进行的,这种关系可以扩展到更广泛的场景。伴随算子具有相同的谱,尽管它们的[[特征函数]]确实不同,正如矩阵及其伴随(转置)的特征向量的一般情况一样。对于保持[[勒贝格测度]]的可逆非奇异动力学,时间正向映射 <math>\mathbf{F}^t</math> 的 PF 算子恰恰是时间反向映射 <math>\mathbf{F}^{-t}</math> 的 Koopman 算子<ref name=lasota_1994 />。对于用随机矩阵近似PF算子,一种早期使用且至今仍在使用的技术被称为[[Ulam方法]],这是以Ulam的一个猜想命名的<ref>S. Ulam, Problems in Modern Mathematics, Science Editions, 1960. (Cited on p. 271)</ref>。关于[[Ulam方法]]本身的介绍,读者可进一步查阅该词条。 | | 由于证明是通过简单函数(即指示函数的线性组合)逼近的标准论证进行的,这种关系可以扩展到更广泛的场景。伴随算子具有相同的谱,尽管它们的[[特征函数]]确实不同,正如矩阵及其伴随(转置)的特征向量的一般情况一样。对于保持[[勒贝格测度]]的可逆非奇异动力学,时间正向映射 <math>\mathbf{F}^t</math> 的 PF 算子恰恰是时间反向映射 <math>\mathbf{F}^{-t}</math> 的 Koopman 算子<ref name=lasota_1994 />。对于用随机矩阵近似PF算子,一种早期使用且至今仍在使用的技术被称为[[Ulam方法]],这是以Ulam的一个猜想命名的<ref>S. Ulam, Problems in Modern Mathematics, Science Editions, 1960. (Cited on p. 271)</ref>。关于[[Ulam方法]]本身的介绍,读者可进一步查阅该词条。 |
| | | | |
| − | PF 算子的特征函数对应于状态空间中点的复数值分布,这些分布根据相关的特征值进行演化 | + | PF [[算子]]的[[特征函数]]对应于[[状态空间]]中点的复数值分布,这些分布根据相关的[[特征值]]进行演化 |
| | | | |
| | <math>\mathcal{P}^t \rho = \lambda^t \rho.</math> | | <math>\mathcal{P}^t \rho = \lambda^t \rho.</math> |
| | | | |
| − | 当 <math>\lambda = 1</math> 时,<math>\rho</math> 是不变密度,可将动力学划分为不变集。即使远离[[Galerkin近似]]的极限,Ulam矩阵 <math>\mathbf{U}</math>(PF算子的具体矩阵表示) 也可以被解释为有向图上的[[马尔可夫链]]转移矩阵,这允许定义状态空间中的[[几乎不变集]]<ref>G. Froyland and M. Dellnitz, Detecting and locating near-optimal almost-invariant sets and cycles, SIAM J. Sci. Comput., 24 (2003), pp. 1839--1863, https://doi.org/10.1137/ S106482750238911X. (Cited on pp. 240, 272)</ref>。对于模长<math>|\lambda| \neq 1</math>的特征值,其特征函数与动力系统状态空间中的混合性质和逃逸率有关<ref>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, https: //doi.org/10.3934/dcdsb.2010.14.457. (Cited on p. 272)</ref>。 | + | 当 <math>\lambda = 1</math> 时,<math>\rho</math> 是不变密度,可将[[动力学]]划分为不变集。即使远离[[Galerkin近似]]的极限,Ulam矩阵 <math>\mathbf{U}</math>(PF[[算子]]的具体矩阵表示) 也可以被解释为[[有向图]]上的[[马尔可夫链]][[转移矩阵]],这允许定义[[状态空间]]中的[[几乎不变集]]<ref>G. Froyland and M. Dellnitz, Detecting and locating near-optimal almost-invariant sets and cycles, SIAM J. Sci. Comput., 24 (2003), pp. 1839--1863, https://doi.org/10.1137/ S106482750238911X. (Cited on pp. 240, 272)</ref>。对于模长<math>|\lambda| \neq 1</math>的[[特征值]],其[[特征函数]]与[[动力系统]][[状态空间]]中的混合性质和逃逸率有关<ref>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, https: //doi.org/10.3934/dcdsb.2010.14.457. (Cited on p. 272)</ref>。 |
| | | | |
| − | PF算子的无穷小生成元是[[Liouville算子]] <math>\mathcal{A}</math>,其满足
| + | PF[[算子]]的无穷小[[生成元]]是[[Liouville算子]] <math>\mathcal{A}</math>,其满足 |
| | | | |
| | <math>\mathcal{P}^t = e^{t\mathcal{A}}.</math> | | <math>\mathcal{P}^t = e^{t\mathcal{A}}.</math> |
| | | | |
| − | 类似于Koopman算子的Lie 生成元,当动力学使用速度场 <math>\dot{\mathbf{x}} = \mathbf{f}(\mathbf{x})</math> 指定时,可以证明[[Liouville算子]]满足
| + | [[类似]]于Koopman[[算子]]的Lie [[生成元]],当[[动力学]]使用速度场 <math>\dot{\mathbf{x}} = \mathbf{f}(\mathbf{x})</math> 指定时,可以证明[[Liouville算子]]满足 |
| | | | |
| | <math>\mathcal{A}\rho = -\operatorname{div}(\rho \mathbf{f}),</math> | | <math>\mathcal{A}\rho = -\operatorname{div}(\rho \mathbf{f}),</math> |
| | | | |
| − | 进而导出一个[[Liouville算子]]和 PF 算子的特征函数必须满足的PDE, | + | 进而导出一个[[Liouville算子]]和 PF [[算子]]的[[特征函数]]必须满足的PDE, |
| | | | |
| | <math>\mu \rho + \operatorname{div}(\rho \mathbf{f}) = 0,</math> | | <math>\mu \rho + \operatorname{div}(\rho \mathbf{f}) = 0,</math> |
| | | | |
| − | 只要PF算子特征值<math>\lambda = e^\mu \in \mathbb{C}/\{0\}</math> 成立。Koopman和PF算子的不变特征函数已被用于提取动力系统状态空间中的不变集。在这些算子互为对偶的函数空间中,两个算子的特征函数理论上包含相同的信息。然而,在实践中,我们需要基于实际约束做出合适的选择。例如,通过Koopman特征函数对不变集的近似依赖于长时间的轨迹,而Ulam对PF的近似通常需要定义域内密集采样的短时轨迹<ref>M. Budis\v i\'c and I. Mezic\', Geometry of the ergodic quotient reveals coherent structures in flows, Phys. D, 241 (2012), pp. 1255--1269, https://doi.org/10.1016/j.physd.2012.04.006. (Cited on pp. 231, 232, 237, 244, 267, 272, 279)</ref>。
| + | 只要PF[[算子]][[特征值]]<math>\lambda = e^\mu \in \mathbb{C}/\{0\}</math> 成立。Koopman和PF[[算子]]的不变[[特征函数]]已被用于提取[[动力系统]][[状态空间]]中的不变集。在这些[[算子]]互为对偶的函数空间中,两个[[算子]]的[[特征函数]]理论上包含相同的信息。然而,在实践中,我们需要基于实际约束做出合适的选择。例如,通过Koopman[[特征函数]]对不变集的近似依赖于长时间的轨迹,而Ulam对PF的近似通常需要定义域内密集[[采样]]的短时轨迹<ref>M. Budis\v i\'c and I. Mezic\', Geometry of the ergodic quotient reveals coherent structures in flows, Phys. D, 241 (2012), pp. 1255--1269, https://doi.org/10.1016/j.physd.2012.04.006. (Cited on pp. 231, 232, 237, 244, 267, 272, 279)</ref>。 |
| | | | |
| − | ==Lie算子== | + | ==[[Lie算子]]== |
| | | | |
| − | 算子<math>\mathcal{L}</math>被称为Lie算子,因为它就是沿着向量场<math>\mathbf{f}(\mathbf{x})</math>对<math>g</math>的Lie导数。这可以通过对<math>g(\mathbf{x})</math>的时间导数应用链式法则得到: | + | [[算子]]<math>\mathcal{L}</math>被称为[[Lie算子]],因为它就是沿着[[向量场]]<math>\mathbf{f}(\mathbf{x})</math>对<math>g</math>的Lie导数。这可以通过对<math>g(\mathbf{x})</math>的时间导数应用[[链式法则]]得到: |
| | | | |
| | <math> \frac{d}{dt}g(\mathbf{x}(t)) = \nabla g \cdot \dot{\mathbf{x}}(t) = \nabla g \cdot \mathbf{f}(\mathbf{x}(t)) </math> | | <math> \frac{d}{dt}g(\mathbf{x}(t)) = \nabla g \cdot \dot{\mathbf{x}}(t) = \nabla g \cdot \mathbf{f}(\mathbf{x}(t)) </math> |
| 第585行: |
第585行: |
| | <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> |
| 第591行: |
第591行: |
| | </math> | | </math> |
| | | | |
| − | 利用这个偏微分方程,可以通过求解Laurent级数或通过数据回归来近似特征函数。这一表述假设系统动力学既是连续的也是可微的。
| + | 利用这个[[偏微分方程]],可以通过求解Laurent级数或通过数据[[回归]]来近似[[特征函数]]。这一表述假设[[系统动力学]]既是[[连续]]的也是可微的。 |
| | | | |
| | =参考文献= | | =参考文献= |
| | <references /> | | <references /> |