更改

添加1,388字节 、 2026年1月11日 (星期日)
第418行: 第418行:  
==残差DMD==
 
==残差DMD==
   −
在[[动力系统]]研究中,Koopman[[算子]]理论通过全局[[线性化]]为分析[[非线性系统]]提供框架,但传统方法如EDMD面临[[谱污染]]、[[连续谱]]处理不足和高维挑战等局限。残差动态[[模式分解]](ResDMD<ref name=Colbrook_2023>Colbrook, M. J., Ayton, L. J. & Szőke, M. Residual dynamic mode decomposition: Robust and verified koopmanism. J. Fluid Mech. 955, A21 (2023).</ref><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>\mathcal{K}</math>及其伴随[[算子]]与自身的乘积<math>\mathcal{K}^* \mathcal{K}</math>的[[Galerkin近似]],有效区分真实[[特征值]]与[[伪特征值]],解决了EDMD因有限维假设和离散化误差导致的谱失真问题,详情请查阅[[残差DMD]]。
+
扩展DMD允许我们用各种各样的非线性函数做观测函数,并且最终能估计出Koopman算子的特征值和特征函数,但这样估算出来的特征值谱容易面临[[谱污染]]的问题。所谓谱污染,便是指算出来的特征值有可能是虚假的特征值。原本特征值谱告诉我们的是,动力系统里有哪些增长、衰减或振荡的模式,而虚假的特征值对应着动力系统里并不真实存在的模式,是虚假的规律。为此,我们有了[[伪特征值]](Pseudo-eigenvalues)这样的概念。[[伪特征值]]指的是当使用有限维矩阵近似来表示无限维 Koopman 算子 <math>\mathcal{K}</math> 时,所计算出的[[特征值]] <math>\lambda</math> 有可能并不属于真实 Koopman 算子的谱 <math>\sigma(\mathcal{K})</math>。
   −
'''残差DMD算法'''<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>K</math>,再基于此筛选出“靠谱”的Koopman候选特征对(<math>\lambda, g</math>)——筛选的核心依据就是前文定义的残差<math>\text{res}(\lambda, g)</math>,残差越小说明候选特征对越接近真实情况。
+
'''定义(算子的伪特征值):'''计算伪特征值,其实就是在给定一个特征值时,我们可以算出在多大程度上该特征值会被视为是虚假的特征值。当人为给定阈值<math>\epsilon</math>时,满足差距在阈值以内的特征值可被认为是真实的特征值。而这样的特征值的集合便叫做<math>\epsilon</math>-伪谱。其定义如下<ref name=Colbrook_2023>Colbrook, M. J., Ayton, L. J. & Szőke, M. Residual dynamic mode decomposition: Robust and verified koopmanism. J. Fluid Mech. 955, A21 (2023).</ref>: 
 +
 
 +
:<math> 
 +
\sigma_\epsilon(\mathcal{K}) := \text{cl} \left( \left\{ \lambda \in \mathbb{C} : \|(\mathcal{K} - \lambda)^{-1}\| > 1/\epsilon \right\} \right) = \text{cl} \left( \bigcup_{\|\mathcal{B}\| < \epsilon} \sigma(\mathcal{K} + \mathcal{B}) \right) 
 +
</math> 
 +
 
 +
其中 <math>\text{cl}</math> 表示[[集合]]的闭包。该定义刻画了对于任意给定的精度 <math>\epsilon</math>,能够以小于 <math>\epsilon</math> 的残差近似满足[[特征值]]方程的标量 <math>\lambda</math> 的[[集合]]。<math>\epsilon</math>反应的就是观测空间偏离不变子空间的程度。如果<math>\epsilon=0</math>,那么伪谱中所有的特征值一定都是真实的特征值。
 +
 
 +
残差动态[[模式分解]](ResDMD<ref name=Colbrook_2023 /><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> 通过清晰地呈现特征值偏离真实系统的残差,有效区分真实[[特征值]]与虚假的特征值,解决了一般算法下因有限维假设和离散化误差导致的谱污染问题,详情请查阅[[残差DMD]]。
 +
 
 +
'''残差DMD算法'''<ref name=Colbrook_2024 />的核心思路是:通过数据驱动的方式求解近似Koopman矩阵<math>K</math>,再基于此筛选出“靠谱”的Koopman候选特征对(<math>\lambda, g</math>)——筛选的核心依据就是前文定义的残差<math>\text{res}(\lambda, g)</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}</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}</math>(具体使用中,可用观测函数)、判定是否是真特征值的阈值<math>\epsilon>0</math>
842

个编辑