| 第417行: |
第417行: |
| | <math>\min_{\mathcal{K}_{\text{EDMD}}} \int_X \sum_{i=1}^p |r_i(x)|^2 d\mu(x)</math>。 | | <math>\min_{\mathcal{K}_{\text{EDMD}}} \int_X \sum_{i=1}^p |r_i(x)|^2 d\mu(x)</math>。 |
| | ===算法=== | | ===算法=== |
| | + | 下面介绍三个相关的算法,算法依托ResDMD的残差控制机制,避免谱污染,适用于非线性、混沌、高维等复杂动力系统,从特征对提取→伪谱估计→谱测度计算层层递进,覆盖不同谱分析需求。 |
| | + | 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>{(\lambda_j, g_j) \mid res(\lambda_j, g_j) \leq \epsilon\}<math>(<math>\lambda_j<math>为特征值,<math>g_j<math>为近似特征函数) |
| | + | |
| | + | 算法过程: |
| | + | 1. 计算三个核心矩阵:<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>为权重对角矩阵)。 |
| | + | 2. 求解广义特征值问题:<math>(\Psi_X^* W \Psi_Y)g = \lambda(\Psi_X^* W \Psi_X)g<math>,得到候选特征对。 |
| | + | 3. 计算每个候选特征对的残差<math>res(\lambda_j, g_j)<math>(衡量特征对与真实Koopman算子的契合度)。 |
| | + | 4. 丢弃残差大于<math>\epsilon<math>的伪特征对,保留满足精度的有效特征对。 |
| | + | |
| | + | 核心用处: |
| | + | 提取Koopman算子的离散谱(特征值)及对应特征函数,无虚假特征值污染。 |
| | + | 适用于需要明确系统主导模态的场景(如流体动力学中的振荡模态、分子动力学中的关键运动模式)。 |
| | + | |
| | + | ResDMD计算ε-伪谱估计算法:扩展算法2的功能,计算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>\epsilon$-伪谱估计:$\{z_j \mid \tau_j < \epsilon\}<math>(<math>\tau_j<math>为网格点$z_j$的最小残差) |
| | + | 近似特征函数:<math>\{g_j \mid \tau_j < \epsilon\}<math>(对应伪谱区域的<math>\epsilon<math>-近似特征函数) |
| | + | |
| | + | 算法过程 |
| | + | 1. 计算三个核心矩阵:<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>为权重对角矩阵)。 |
| | + | 2. 对每个网格点<math>z_j<math>,求解最小残差<math>\tau_j = \min_{g \in \mathbb{C}^{N_K}} res(z_j, \Psi g)<math>(转化为广义SVD问题)。 |
| | + | 3. 筛选出最小残差<math>\tau_j < \epsilon<math>的网格点,构成<math>\epsilon<math>-伪谱。 |
| | + | |
| | + | 核心用处: |
| | + | 检测谱污染:区分真实谱区域与虚假特征值。 |
| | + | 刻画非正规系统:伪谱可反映系统暂态行为(如湍流的短期演化、混沌系统的局部稳定性)。 |
| | + | 验证特征值可靠性:位于伪谱内的特征值才是可信的。 |
| | + | |
| | ===例子=== | | ===例子=== |
| | | | |