Skip to content

算法Algorithm

辛 Euler 方法

Symplectic Euler method

以更新后的动量推动位置,构造一阶辛方法,并在谐振子上精确计算稳定区和离散不变量。

形式陈述 ​

只改变 Euler 更新的先后顺序,为什么会改变长期轨迹?对可分Hamiltonian H(q,p)=T(p)+V(q),先更新动量再更新位置的辛 Euler 方法是

pn+1=pn−h∇V(qn),qn+1=qn+h∇T(pn+1).

两步都显式可算。一般不可分 Hamiltonian 对应的半隐式形式为

pn+1=pn−hHq(qn,pn+1),qn+1=qn+hHp(qn,pn+1),

第一式通常需要求解。在 H 足够光滑且关于新动量的块 I+hHqp 非奇异时,隐函数定理给出所选解支的局部可解性。作为一步积分法,在光滑性、轨迹区域和稳定传播条件下,它有全局 O(h) 误差与局部 O(h2) 缺陷。

对可分系统,动量更新和位置更新各自是 Hamilton 子流,这是按该顺序的Lie–Trotter 分裂;辛映射对复合封闭,所以组合保辛。一般形式也可通过生成函数证明保辛。把顺序反过来得到另一种辛 Euler;两者互为伴随,单独一种通常不时间对称。

直觉

显式 Euler 用旧位置推动动量,也用旧动量推动位置,两个变化没有在同一步内相互回应。辛 Euler 让第二次更新使用刚得到的值,形成一个保持面积配对的剪切组合。

这种改变针对几何;方法仍为全局一阶,局部截断误差为 O(h2)。它适合展示“误差阶数相同,长期行为仍可能不同”。

例子与边界

谐振子的映射与精确离散不变量 ​

对 H=(q2+p2)/2,方法写成

(qn+1pn+1)=(1−h2h−h1)(qnpn).

矩阵行列式为一,所以在二维中保辛。直接展开还能验证

H~h(q,p)=12(q2+p2−hqp)

在每一步精确保持。|h|<2 时这个二次型正定,因而把轨迹限制在一个椭圆上。它是本线性例子的精确不变量;一般非线性问题的修正 Hamiltonian 需按形式级数和截断误差理解。

取 h=0.2、初值 (1,0),得到 (0.96,−0.2)。真实能量从 0.5 变成 0.4808,而 H~h 仍为 0.5。显式 Euler 则给出 (1,−0.2),能量为 0.52,每步能量乘 1+h2,会持续增长。

稳定区与可逆性 ​

辛 Euler 矩阵的迹为 2−h2,仅在 0<|h|<2 时具有不同的单位圆特征值;边界 |h|=2 可产生线性增长,超过二则有指数不稳定方向。保辛没有取消步长限制。

用同一种辛 Euler 走一步 h 再走一步 −h,一般不回到原点。精确反演需要交换子步顺序。对称组合的构造见 Lie–Trotter 与 Strang 分裂。

推论与应用

可分形式每步各需一次位置力和动量导数评值,向量更新为 O(d),主要成本由梯度计算决定。不可分形式还要计入隐式求解成本,并控制求解容差。

离散梯度方法选择另一项结构目标:在隐式方程精确求解时逐步保持给定 Hamiltonian,却一般不保辛。该页的四次势能步给出了保能量而面积不保的具体对照;辛 Euler 则保辛而未必保持原能量。

比较方法时同时检查状态误差、辛缺陷、往返误差和真实能量轨迹。对一般系统,固定小步长下的结构保持与长时间精度要结合具体频率和轨迹区域判断。

参考资料
关系图谱17 个相邻概念 · 4 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
分类位置

上位 / 更一般

下位 / 直接特例

暂未标注直接特例。

类型化关系