更改

跳到导航 跳到搜索
删除6,669字节 、 2026年1月12日 (星期一)
无编辑摘要
第474行: 第474行:     
所以,给定<math>\displaystyle{ \mathcal{K} }</math>的候选特征对为 <math>(\lambda, g) </math>,<math>\lambda \in \mathbb{C} </math>是候选[[特征值]],<math>g = \Psi \xi \in V_{N}</math>是基于字典的候选[[特征函数]]。为了衡量这个候选特征对的“不靠谱程度”(也就是它偏离真实特征对的程度),我们定义特征值残差:
 
所以,给定<math>\displaystyle{ \mathcal{K} }</math>的候选特征对为 <math>(\lambda, g) </math>,<math>\lambda \in \mathbb{C} </math>是候选[[特征值]],<math>g = \Psi \xi \in V_{N}</math>是基于字典的候选[[特征函数]]。为了衡量这个候选特征对的“不靠谱程度”(也就是它偏离真实特征对的程度),我们定义特征值残差:
−
  −
:<math>\text{res}(\lambda, g)^2 = \frac{\sum_{j,k=1}^{N} \overline{\xi_j} \xi_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} \overline{\xi_j} \xi_k (\Psi_X^* W \Psi_X)_{jk}}.</math>
  −
  −
其中<math>\overline{\lambda}, \overline{\xi}</math>分别表示共轭的特征值和特征函数组合系数。
  −
  −
==理论==
  −
  −
'''定义(观测函数字典):'''给定一组观测函数字典<math>\{\psi_1, \dots, \psi_{N}\} \subset \mathcal{G}(\mathcal{X}) </math>(如前文,<math>\mathcal{G}(\mathcal{X}) </math>为<math>\mathcal{K}</math>的定义域),比如<math>x^2, \cos(x), e^x...</math>,可以看作是构建Koopman不变子空间的一组基函数。子空间可以写作<math>V_{N} = \text{span}\{\psi_1, \dots, \psi_{N}\}</math>。我们的目标是在该子空间上近似Koopman算子<math>\mathcal{K}</math>的作用。
  −
  −
当我们讨论的是多维向量时,字典函数的映射可以写作<math>\Psi(\boldsymbol{x}) = [\psi_1(\boldsymbol{x}), \dots, \psi_{N}(\boldsymbol{x})] \in \mathbb{C}^{1 \times N}</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>为系数[[向量]]。从字典函数与观测函数两个概念的关系中不难看出,字典函数本身也是特殊的一组观测函数,所以它也满足<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>:
  −
  −
:<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>
  −
  −
'''定义(残差项):'''基于这个近似,我们可以把Koopman算子<math>\mathcal{K}</math>对任意观测函数<math>g</math>的作用拆分成两部分:一部分精确对应着Koopman算子原始的定义,另一部分是在子空间<math>V_{N}</math>上近似Koopman算子的误差大小近似带来的误差项(残差)<math>r(g, \boldsymbol{x})</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>
  −
  −
残差项衡量的是在子空间<math>V_{N}</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>K</math>,让这个残差项的整体误差最小。为了在系统整个定义域上[[量化]]整体误差,我们要让残差项在定义域上求积分。对应的优化问题就是:
  −
  −
:<math>\displaystyle{ \arg\min_{K' \in \mathbb{C}^{N \times N}} \left\{ \int_{\mathcal{X}} \max_{\substack{g \in \mathbb{C}^{N}, \\ \|\boldsymbol{g}\|=1}} |r(g, \boldsymbol{x})|^2 d\omega(\boldsymbol{x}) = \int_{\mathcal{X}} \|\Psi(F(\boldsymbol{x})) - \Psi(\boldsymbol{x}) K'\|_{\ell^2}^2 d\omega(\boldsymbol{x}) \right\} }</math>
  −
  −
等式中,<math>d\omega(\boldsymbol{x})</math>表示关于测度<math>\omega</math>的积分,一般情况下,是标准的[[Lebesgue测度]]<math>d(\boldsymbol{x})</math>。左边的最大化残差项意味着寻找同一组字典函数下最差的观测方向。我们希望最终得到的<math>K</math>即使在最差的观测函数系数下也依然有最小的残差。为了方便比较,我们需要保持<math>\|\boldsymbol{g}\|=1</math>,即所有的系数向量都是单位向量,这样的话我们关注的就只是系数向量的方向。根据[[柯西-施瓦茨不等式(Cauchy-Schwarz inequality)]]和范数的定义,一个向量的[[欧几里得范数(2-范数)]]就是它在所有单位向量方向上[[投影]]的最大值。所以原本求解残差项最大的计算就转化为了上式中等号右边的积分项,其中<math>\|\mathbf{ · }\|_{\ell^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_{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>\displaystyle{ K = (\Psi_X^* W \Psi_X)^\dagger (\Psi_X^* W \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{ \mathcal{K} }</math>的候选特征对为 <math>(\lambda, g) </math>,<math>\lambda \in \mathbb{C} </math>是候选[[特征值]],<math>g = \Psi \xi \in V_{N}</math>是基于字典的候选[[特征函数]]。为了衡量这个候选特征对的“不靠谱程度”(也就是它偏离真实特征对的程度),我们定义特征值残差:
      
:<math>\text{res}(\lambda, g)^2 = \frac{\sum_{j,k=1}^{N} \overline{\xi_j} \xi_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} \overline{\xi_j} \xi_k (\Psi_X^* W \Psi_X)_{jk}}.</math>
 
:<math>\text{res}(\lambda, g)^2 = \frac{\sum_{j,k=1}^{N} \overline{\xi_j} \xi_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} \overline{\xi_j} \xi_k (\Psi_X^* W \Psi_X)_{jk}}.</math>
842

个编辑

导航菜单