几何积分

来自testwiki
imported>Midleading2024年8月4日 (日) 12:00的版本 (显示改为显式)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

常微分方程的数值计算中,几何积分是一种保留微分方程的流的精确几何特性的数值方法。

以摆为例

可考虑单摆运动以引出几何积分的研究。

设摆锤质量为m=1,摆杆长度为=1。设重力加速度为g=1。用q(t)表示杆偏移垂直方向的角位移,并用p(t)表示摆的动量,则系统的哈密顿量动能势能之和)为

H(q,p)=T(p)+U(q)=12p2cosq,

其给出哈密顿方程

(q˙,p˙)=(H/p,H/q)=(p,sinq).

很自然,可将所有q位形空间Q看做单位圆𝕊1,这样(q,p)就位于圆柱体𝕊1×上。取(q,p)2只是因为(q,p)空间会更方便绘制。定义z(t)=(q(t),p(t))Tf(z)=(p,sinq)T。让我们用一些简单的数值方法对这个系统进行积分。像往常一样,选择常数步长h,对任意非负整数kzk:=z(kh)。 我们用以下方法:

zk+1=zk+hf(zk)显式欧拉);
zk+1=zk+hf(zk+1)(隐式欧拉);
zk+1=zk+hf(qk,pk+1)(辛欧拉);
zk+1=zk+hf((zk+1+zk)/2)(隐式中点法则)。

(注意,辛欧拉法用显式欧拉法处理q,用隐式欧拉法处理p。)

观察到H在哈密顿方程的解曲线上是常数,于是可以描述系统的精确轨迹,是p2/2cosq水平曲线。在2中绘制了系统的精确轨迹和数值解。对显式、隐式欧拉法,分别取h=0.2z0 = (0.5, 0)及(1.5, 0);对其他两种方法,分别取h=0.3z0 = (0, 0.7);(0, 1.4)及(0, 2.1)。

单摆轨迹

显式(或隐式)欧拉法是从原点向外(或向内)的螺旋运动。另两种方法显示了正确的定性行为,隐式中点法则与精确解的吻合程度高于辛欧拉法。

回顾一下,具有1自由度的哈密顿系统的精确流ϕt是保面积的,即

detϕt(q0,p0)=1 for all t.

此式很容易手动验证。对我们的单摆例子,可以发现,显式欧拉法的数值流ΦeE,h:zkzk+1保面积;即

det(q0,p0)ΦeE,h(z0)=|1hhcosq01|=1+h2cosq0.

隐式欧拉法也可进行类似计算,行列式为

det(q0,p0)ΦiE,h(z0)=(1+h2cosq1)1.

辛欧拉法保面积的:

(1h01)(q0,p0)ΦsE,h(z0)=(10hcosq01),

于是det(ΦsE,h/(q0,p0))=1。隐式中点法则具有类似的几何特性。

总结:单摆例表明,除显式、隐式欧拉法不是解决问题的好方法外,辛欧拉法和隐式中点法则与系统的精确流非常吻合,后者更精确。而且后两种方案与精确流都保面积,是几何积分(实际上是辛积分)的两个例子。

活动标架法

活动标架法可用于构建保持ODE对称性的数值方法。龙格-库塔法等现有方法可用活动标架法进行修改,以产生不变版本。[1]

另见

参考文献

Template:Reflist

阅读更多