更改

删除2,058字节 、 2026年1月12日 (星期一)
第449行: 第449行:  
其中 <math>\text{cl}</math> 表示[[集合]]的闭包。该定义刻画了对于任意给定的精度 <math>\epsilon</math>,能够以小于 <math>\epsilon</math> 的残差近似满足[[特征值]]方程的标量 <math>\lambda</math> 的[[集合]]。<math>\epsilon</math>反应的就是观测空间偏离不变子空间的程度。如果<math>\epsilon=0</math>,那么伪谱中所有的特征值一定都是真实的特征值。
 
其中 <math>\text{cl}</math> 表示[[集合]]的闭包。该定义刻画了对于任意给定的精度 <math>\epsilon</math>,能够以小于 <math>\epsilon</math> 的残差近似满足[[特征值]]方程的标量 <math>\lambda</math> 的[[集合]]。<math>\epsilon</math>反应的就是观测空间偏离不变子空间的程度。如果<math>\epsilon=0</math>,那么伪谱中所有的特征值一定都是真实的特征值。
   −
之所以会
+
之所以会出现虚假的特征值,来源就在于当我们估计Koopman矩阵时,迭代矩阵所描述的动力学不满足Koopman不变子空间的要求,从而与算子表述的动力学产生了偏差。数学表达式如下,
   −
之所以出现
+
:<math>[\mathcal{K}g](\boldsymbol{x}) = \Psi(F(\boldsymbol{x})) \boldsymbol{g} \approx \Psi(\boldsymbol{x}) (K \boldsymbol{g}).</math>
−
之所以
     −
:<math>[\mathcal{K}\psi_j](\boldsymbol{x}) = \psi_j(F(\boldsymbol{x})) \approx \sum_{i=1}^{N} K_{ij} \psi_i(\boldsymbol{x}), \quad 1 \leq j \leq N.</math>
+
这里的近似表达式对应的偏差便描述为
   −
式中,<math>V_{N} = \text{span}\{\psi_1, \dots, \psi_{N}\}</math>是子空间,<math>\{\psi_1, \dots, \psi_{N}\} \subset \mathcal{G}(\mathcal{X}) </math>是一组观测函数字典,<math>\mathcal{K}</math>的定义域。我们的目标是在该子空间上近似Koopman算子<math>\mathcal{K}</math>的作用。子空间<math>V_{N}</math>中的任意观测函数<math>g</math>可表示为字典函数的线性组合,即<math>g(\boldsymbol{x}) = \sum_{j=1}^{N} \psi_j(\boldsymbol{x}) g_j = \Psi(\boldsymbol{x}) \boldsymbol{g}</math>,其中<math>\boldsymbol{g} \in \mathbb{C}^{N}</math>为系数[[向量]]。所以,我们可以把Koopman算子<math>\mathcal{K}</math>对任意观测函数<math>g</math>的作用拆分成两部分:一部分精确对应着Koopman算子原始的定义,另一部分是在子空间<math>V_{N}</math>上近似Koopman算子的误差大小(残差)<math>r(g, \boldsymbol{x})</math>,即为:
+
:<math>r(g, \boldsymbol{x}) = \sum_{j=1}^{N} \psi_j(F(\boldsymbol{x})) g_j - \Psi(\boldsymbol{x}) (K \boldsymbol{g}).</math>
   −
:<math>[\mathcal{K}g](\boldsymbol{x}) = \Psi(F(\boldsymbol{x})) \boldsymbol{g} = \Psi(\boldsymbol{x}) (K \boldsymbol{g}) + \underbrace{\sum_{j=1}^{N} \psi_j(F(\boldsymbol{x})) g_j - \Psi(\boldsymbol{x}) (K \boldsymbol{g})}_{r(g, \boldsymbol{x})}.</math>
+
通过最小化这里的残差,我们可以得到关于最优Koopman矩阵的解析解,
   −
如果残差项为0,说明我们完美地用一个[[线性系统]]重构出了原本的[[非线性系统]]。通常情况下,<math>V_{N}</math>不是<math> \mathcal{K} </math>的不变子空间,因此不存在能使<math>\displaystyle{ r(g, \boldsymbol{x}) }</math>对所有<math>\displaystyle{ g \in V_{N} }</math>和<math>\boldsymbol{x} \in \mathcal{X}</math>均为零的<math>\displaystyle{ K }</math>。
+
:<math>\displaystyle{ K = (\Psi_X^* W \Psi_X)^\dagger (\Psi_X^* W \Psi_Y) }</math>
 +
 
 +
其中 “<math>\displaystyle{ \dagger }</math>” 表示[[伪逆]]。
   −
故,我们的核心任务就变成了找到一个最优的矩阵<math>K</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_{K'\in\mathbb{C}^{N \times N}} \sum_{j=1}^{M} w_j \|\Psi(y^{(j)}) - \Psi(x^{(j)})K'\|_{\ell_2}^2</math>
      
该问题的[[解析解]]就是我们要找的最优近似矩阵<math>K</math>,即:
 
该问题的[[解析解]]就是我们要找的最优近似矩阵<math>K</math>,即:
   −
:<math>\displaystyle{ K = (\Psi_X^* W \Psi_X)^\dagger (\Psi_X^* W \Psi_Y) }</math>
+
,<math>\displaystyle{ W = \text{diag}(w_1, \dots, w_M) }</math>(对角权重矩阵),<math>\displaystyle{ \Psi_X }</math>和<math>\displaystyle{ \Psi_Y }</math>是把所有节点的特征映射向量堆叠起来形成的矩阵——简单说就是“每个行对应一个节点,每个列对应一个观测函数”,具体形式为:
−
 
  −
其中 “<math>\displaystyle{ \dagger }</math>” 表示[[伪逆]],<math>\displaystyle{ W = \text{diag}(w_1, \dots, w_M) }</math>(对角权重矩阵),<math>\displaystyle{ \Psi_X }</math>和<math>\displaystyle{ \Psi_Y }</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{ \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>
842

个编辑