| 第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因有限维假设和离散化误差导致的谱失真问题。 |
| | | | |
| | 1. Colbrook, M. J., Ayton, L. J. & Szőke, M. Residual dynamic mode decomposition: Robust and verified koopmanism. J. Fluid Mech. 955, A21 (2023). | | 1. Colbrook, M. J., Ayton, L. J. & Szőke, M. Residual dynamic mode decomposition: Robust and verified koopmanism. J. Fluid Mech. 955, A21 (2023). |
| 第363行: |
第363行: |
| | 其中<math>\|\mathbf{ · }\|_2</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>\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> |
| 第371行: |
第371行: |
| | <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> |
| | | | |
| − | 其中 “<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{ \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> |
| | | | |
| − | 故对于<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> |
| | | | |
| | ===算法=== | | ===算法=== |
| − | 一、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算子的准确特征对(特征值+特征函数),核心解决传统EDMD的谱污染问题。 | + | 一、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算子的准确特征对([[特征值]]+特征函数),核心解决传统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>(残差阈值) |
| 第389行: |
第389行: |
| | | | |
| | # 计算三个核心矩阵:<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>(待评估的谱区域网格点) |
| 第403行: |
第403行: |
| | | | |
| | # 计算三个核心矩阵:<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为[[高斯迭代映射]])。 |
| | | | |
| − | 左图验证 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>。 | + | 左图验证 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>表示集合的闭包,K为 Koopman 算子。 | | 其中<math>cl(\cdot)</math>表示集合的闭包,K为 Koopman 算子。 |
| | | | |
| − | 品红色圆点为传统 EDMD 特征值,大量特征值位于伪谱之外,这些是离散化导致的谱污染(虚假特征值),无法反映系统真实动力学,例如虚部 > 0.5 的特征值对应不存在的高频振荡,与高斯迭代映射的实际动力学矛盾。蓝色叉号为ResDMD 筛选特征值,所有特征值均位于<math>\epsilon=0.01</math>的伪谱内。 | + | 品红色圆点为传统 EDMD [[特征值]],大量[[特征值]]位于伪谱之外,这些是离散化导致的[[谱污染]](虚假[[特征值]]),无法反映系统真实动力学,例如虚部 > 0.5 的[[特征值]]对应不存在的高频振荡,与[[高斯迭代映射]]的实际动力学矛盾。蓝色叉号为ResDMD 筛选[[特征值]],所有[[特征值]]均位于<math>\epsilon=0.01</math>的伪谱内。 |
| | | | |
| | 右图体现不同积分规则的性能差异,以 “数据点数量M” 为横轴、“核心矩阵元素最大绝对误差” 为纵轴(对数坐标),误差定义为: | | 右图体现不同积分规则的性能差异,以 “数据点数量M” 为横轴、“核心矩阵元素最大绝对误差” 为纵轴(对数坐标),误差定义为: |
| 第429行: |
第429行: |
| | <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 算子 inner product 的真实值(作为误差基准)。结果显示不同积分规则的收敛速率差异显著:高斯 - 勒让德规则指数收敛;梯形规则<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 算子 inner product 的真实值(作为误差基准)。结果显示不同积分规则的收敛速率差异显著:高斯 - 勒让德规则指数收敛;梯形规则<math>O(M^{-2})</math>;黎曼和规则<math>O(M^{-1})</math>;[[蒙特卡洛]]规则<math>O(M^{-1/2})</math>。 |
| | | | |
| | [[文件:ResDMDGussian.png|无|缩略图|高斯迭代映射伪谱图与随着数据点𝑀数量增加,不同求积法则下Galerkin矩阵Ψ*<small>𝑋</small>𝑊Ψ<small>𝑌</small>的收敛情况。]] | | [[文件:ResDMDGussian.png|无|缩略图|高斯迭代映射伪谱图与随着数据点𝑀数量增加,不同求积法则下Galerkin矩阵Ψ*<small>𝑋</small>𝑊Ψ<small>𝑌</small>的收敛情况。]] |