3.5 相空间演化
大多数问题没有足够的对称性来约化为求积问题。自然地,我们转而借助数值积分来更深入地了解这类系统的演化。相空间中的演化可以通过对哈密顿方程进行数值积分来求得。
哈密顿方程已经是一阶形式;哈密顿状态导数与相空间导数相同:
(define Hamiltonian->state-derivative
phase-space-derivative)
作为示例,再次考虑周期性驱动的单摆(见 1.6.2 节)。哈密顿函数为
(show-expression
((Lagrangian->Hamiltonian
(L-periodically-driven-pendulum 'm 'l 'g 'a 'omega))
(up 't 'theta 'p_theta)))
周期性驱动单摆的哈密顿方程并不具有启发性,因此我们不予展示。我们从哈密顿函数构建系统导数:
(define (H-pend-sysder m l g a omega)
(Hamiltonian->state-derivative
(Lagrangian->Hamiltonian
(L-periodically-driven-pendulum m l g a omega))))
现在我们对这个系统进行积分,采用与 1.7 节相同的初始条件(见图 1.7),但在相空间中显示轨迹(图 3.9)。我们制作一个监控过程来显示相空间中的演化:
(define ((monitor-p-theta win) state)
(let ((q ((principal-value :pi) (coordinate state)))
(p (momentum state)))
(plot-point win q p)))
我们使用 evolve 来探索系统的演化:
(define window (frame :-pi :pi -10.0 10.0))
(let ((m 1.) ;m=1kg
(l 1.) ;l=1m
(g 9.8) ;g=9.8m/s2
(A 0.1) ;A=1/10 m
(omega (* 2 (sqrt 9.8))))
((evolve H-pend-sysder m l g A omega)
(up 0.0 ;t0=0
1.0 ;theta0=1 rad
0.0) ;p0=0 kg m2/s
(monitor-p-theta window)
0.01 ;plot interval
100.0 ;final time
1.0e-12))
轨迹有时振荡,有时旋转。相平面中的图案让人联想到图 3.4 中未驱动单摆的相平面轨迹。
3.5.1 相空间描述的非唯一性
我们熟悉这样一个事实:系统的一个给定运动在不同坐标系中有不同的表达方式:用直角坐标表达运动的函数与用极坐标表达同一运动的函数不同。然而,在给定的坐标系中,对于特定的初始条件,局部状态元组的演化是唯一的。广义速度路径函数是广义坐标路径函数的导数。另一方面,仅凭坐标系并不能唯一确定相空间描述。动量与坐标和速度的关系取决于拉格朗日函数,而许多不同的拉格朗日函数可以用来描述同一物理系统的行为。当同一物理系统的两个拉格朗日函数不同时,动力学状态的相空间描述也就不同。
我们已经看到驱动单摆的两个不同的拉格朗日函数(见 1.6.4 节):一个是利用 L = T - V 得到的,另一个是通过观察运动方程得到的。这两个拉格朗日函数相差一个全时间导数。与
共轭的动量 p
取决于我们选择使用哪个拉格朗日函数,而相应相空间中演化的描述也依赖于拉格朗日函数的选择,尽管系统的行为与描述它的方法无关。对于周期性驱动单摆,使用 L = T - V 拉格朗日函数时,与
共轭的动量为
而使用另一种拉格朗日函数时,与
共轭的动量为
这两个动量相差一个随时间周期性变化的附加畸变量,且该畸变量依赖于
。相空间描述的不同如图 3.10 所示。两种情况下系统的演化是相同的。