更改

删除778字节 、 2025年11月17日 (一) 22:29
第340行: 第340行:     
==残差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因有限维假设和离散化误差导致的谱失真问题。
    
===理论===
 
===理论===
−
给定一组观测函数字典<math>\{\psi_1, \dots, \psi_{N_K}\} \subset D(\mathcal{K})(D(\mathcal{K})</math>为<math>\mathcal{K}</math>的定义域),EDMD 的目标是在子空间<math>V_{N_K} = \text{span}\{\psi_1, \dots, \psi_{N_K}\}</math>上近似<math>\mathcal{K}</math>的作用,即满足:
+
给定一组观测函数字典<math>\{\psi_1, \dots, \psi_{N_K}\} \subset D(\mathcal{K})(D(\mathcal{K})</math>为<math>\mathcal{K}</math>的定义域),如一系列的多项式,EDMD 的目标是在子空间<math>V_{N_K} = \text{span}\{\psi_1, \dots, \psi_{N_K}\}</math>上近似<math>\mathcal{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>[\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>\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>为系数向量。由此可将库普曼算子对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>为系数向量。由此可将库普曼算子对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>
第378行: 第374行:     
===算法===
 
===算法===
−
下面介绍三个相关的算法,算法依托ResDMD的残差控制机制,避免谱污染,适用于非线性、混沌、高维等复杂动力系统,从特征对提取→伪谱估计→谱测度计算层层递进,覆盖不同谱分析需求。
+
一、ResDMD计算无谱污染的特征对算法:从切片数据中提取Koopman算子的准确特征对(特征值+特征函数),核心解决传统EDMD的谱污染问题。
−
 
  −
一、ResDMD计算无谱污染的特征对算法:从快照数据中提取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>(残差阈值)
第392行: 第386行:  
# 计算每个候选特征对的残差<math>res(\lambda_j, g_j)</math>(衡量特征对与真实Koopman算子的契合度)。
 
# 计算每个候选特征对的残差<math>res(\lambda_j, g_j)</math>(衡量特征对与真实Koopman算子的契合度)。
 
# 丢弃残差大于<math>\epsilon</math>的伪特征对,保留满足精度的有效特征对。
 
# 丢弃残差大于<math>\epsilon</math>的伪特征对,保留满足精度的有效特征对。
−
  −
此算法可以提取Koopman算子的离散谱(特征值)及对应特征函数,无虚假特征值污染,适用于需要明确系统主导模态的场景(如流体动力学中的振荡模态、分子动力学中的关键运动模式)。
  −
  −
        第409行: 第399行:  
# 对每个网格点<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>-伪谱。
−
  −
此算法可以区分真实谱区域与虚假特征值,验证特征值可靠性:位于伪谱内的特征值才是可信的,计算得到的伪谱可以反映系统暂态行为(如湍流的短期演化、混沌系统的局部稳定性)。
      
===例子===
 
===例子===
761

个编辑