Skip to content

算法Algorithm

离散梯度保能量方法

Discrete gradient method

用两点链式法则与反对称结构构造精确保能量更新,并在四次势能上解出一个完整隐式步。

形式陈述 ​

怎样把连续链式法则变成一步就能核验的精确能量恒等式?对连续可微的 H(即 H∈C1),离散梯度是连续的两点函数 ∇―H(x,y),满足

H(y)−H(x)=∇―H(x,y)T(y−x),∇―H(x,x)=∇H(x).

对Hamilton 系统 z˙=J∇H(z),JT=−J,构造隐式一步时间更新

zn+1−znh=J∇―H(zn,zn+1).

将右式代入两点恒等式,得到 H(zn+1)−H(zn)=h∇―HTJ∇―H=0。这个保能量证明只用反对称性;数值求解必须达到足够精度才能实现相应的实际能量残差。

当连接两点的线段处于 H 的可微定义域内时,一种对称离散梯度是线段平均

∇―H(x,y)=∫01∇H((1−s)x+sy)ds.

沿线段使用微积分基本定理即可验证两点恒等式。若积分改为一般数值求积,则应重新检查能量等式的精确程度。

直觉

普通梯度只描述一点附近的线性变化;离散梯度要求从旧点到新点的整个能量差被一次内积准确表示。反对称矩阵使运动方向与这个离散梯度正交,于是新点被限制在同一能量水平集上。

这项构造针对能量。它通常不同时满足一般辛映射的 Jacobian 恒等式,也未自动规定高阶精度。在足够光滑、选定可解的局部步映射并有稳定误差传播时,对称一致的选择可给二阶方法,非对称选择可能只有一阶;仅有前面的连续两点恒等式不自动给出这些阶数。

例子与边界

四次势能的完整一步 ​

取 H(q,p)=p2/2+q4/4。分量离散梯度可取

∇―H=(Q3+Q2q+Qq2+q34,P+p2).

它使用 Q4−q4=(Q−q)(Q3+Q2q+Qq2+q3),所以端点重合时也有连续定义。

从 (q,p)=(1,0) 取 h=1,更新方程为 Q−1=P/2 与 P=−(Q3+Q2+Q+1)/4。消去 P 得到

Q3+Q2+9Q−7=0.

其导数 3Q2+2Q+9 恒正,故实根唯一。求得 Q≈0.6887624213、P≈−0.6224751573,代入能量得到 P2/2+Q4/4≈0.25,与初值一致。

这个例子也能直接检查不保辛。把势能的离散导数记为 g(q,Q)=(Q3+Q2q+Qq2+q3)/4;对两条更新方程隐式求导,可得

det⁡DΦh(q,p)=1+(h2/2)∂qg1+(h2/2)∂Qg,∂qg−∂Qg=q2−Q22.

本步 q=h=1 且 0<Q<1,分母为正,所以行列式严格大于一,面积并未保持。反过来,同样初值和步长下的辛 Euler给出 (Q,P)=(0,−1),保辛却把原能量从 1/4 变成 1/2。两种方法分别保留的结构在同一个非二次例子中清楚不同。

换成中点梯度会发生什么 ​

对四次势能,普通中点梯度的 q 分量是 ((Q+q)/2)3,一般不等于上述差商。例如 q=1,Q=0,前者为 1/8,后者为 1/4。因此把普通中点梯度直接当离散梯度,会破坏两点能量恒等式;二次 Hamiltonian 才有相应特殊相等性。

推论与应用

每步需解隐式方程。实际成本由维数、离散梯度求值和非线性迭代次数决定;在每轮检查方程残差,并在接受一步后检查能量差。若把残差明确定义为 r=(zn+1−zn)/h−J∇―H,则能量缺陷恰为 h∇―HTr;若采用未除以 h 的残差,公式中的因子也要相应改变。这样才能设置有量纲的容差。

保能量并不固定沿能量曲线的运动速度。可同时比较轨迹相位、其他不变量和长期统计行为,选择最符合问题目的的结构保持方式。

参考资料
  • O. Gonzalez, Time Integration and Discrete Hamiltonian Systems, Journal of Nonlinear Science 6, 1996, pp. 449–467, Section 3,离散方向导数与守恒积分。
  • Hairer, Lubich and Wanner, Geometric Numerical Integration, 2nd ed., Chapter IV,不变量保持方法。
关系图谱14 个相邻概念 · 4 类关系

拖动节点调整位置。

显示关系

显示:依赖

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

上位 / 更一般

下位 / 直接特例

暂未标注直接特例。

类型化关系