5.2 一般正则变换

虽然我们已经展示了如何将配置空间的任何点的变换扩展为正则变换,但还存在构造正则变换的其他方法。我们如何知道一个变换是否为正则变换?要检验一个变换是否正则,我们可以利用以下事实:如果该变换是正则的,那么变换后系统和原系统的哈密顿运动方程将是等价的。

考虑一个哈密顿量 H 和一个相空间变换 C。变换 C 将相空间路径 '(t) = (t, q'(t), p'(t)) 变换为 (t) = (t, q(t), p(t)):

相空间坐标的变化率通过变换的导数进行变换

Ds 为相空间导数算符

哈密顿方程为

对于任何可实现的相空间路径 成立。

该变换是正则的当且仅当从新哈密顿量得到的运动方程与通过将原哈密顿量导出的运动方程变换到新坐标所得到的方程相同:

将方程(5.15)与上式比较,我们看到

利用 = C o ',我们得到

这个条件必须对任何可实现的相空间路径 ' 成立。当然,如果以下条件对每个相空间点成立,则该条件成立:

任何满足方程(5.19)的变换都是动力学系统相空间表示之间的正则变换。在一种相空间表示中,系统的动力学由哈密顿量 H' 刻画,在另一种中由 H 刻画。该方程背后的思想如图5.1所示。

我们可以将这个检验形式化为一个程序:

(define (canonical? C H Hprime)
  (- (compose (phase-space-derivative H) C)
     (* (D C) (phase-space-derivative Hprime))))

其中 phase-space-derivative(在第3章中引入)实现了 Ds。如果这些残差为零,则变换是正则的。

如果通过将 H 与相空间变换复合来得到变换后系统的合适哈密顿量,我们会得到一个更具体的公式:

以及一个更具体的检验:

(define (compositional-canonical? C H)
  (canonical? C H (compose H C)))

使用这个检验,我们可以验证极坐标到直角坐标的变换在一般中心场上满足正则变换的检验:

(print-expression
 ((compositional-canonical? 
   (F->CT p->r)
   (H-central 'm (literal-function 'V)))
  (up 't
      (up 'r 'phi)
      (down 'p_r 'p_phi))))
(up 0 (up 0 0) (down 0 0))

残差为零,因此该变换是正则的。

练习 5.2. 群性质 如果我们说 C 关于哈密顿量 HH' 是正则的当且仅当 Ds H o C = DC . Ds H',那么:

a. 证明正则变换的复合是正则的。b. 证明正则变换的复合是结合的。c. 证明恒等变换是正则的。d. 证明正则变换存在逆变换,且逆变换是正则的。

5.2.1 时间无关的正则变换

我们已经将正则变换定义为相空间坐标的变换,在该变换下哈密顿方程以适当方式变换。正则变换必须满足的条件(方程5.19或5.20)涉及哈密顿量。如果哈密顿量通过复合而变换且变换是时间无关的,那么我们可以不进一步参考哈密顿量来判断相空间变换是否正则。

首先,我们将哈密顿方程改写为稍有不同的形式。哈密顿方程是从哈密顿量的导数通过重新排列分量然后对其中一些取负而构造的。我们引入一个进行这种重排的洗牌函数:

的参数是哈密顿量类函数导数的下元组分量的元组。洗牌函数是线性的。我们还引入一个常值函数:

利用这些,哈密顿方程可以表示为

利用 ,正则条件(5.20)可改写为

的值不依赖于其参数,且对于时间无关的变换 = DC . ,因此正则条件变为

应用于特定相空间状态 s,这给出

为一个函数,它接受一个乘子并产生一个线性变换,该线性变换将乘子乘以线性变换的参数:

类似地,设 * 为一个函数,它接受一个乘子并产生一个线性变换,该线性变换将线性变换的参数乘以乘子:

利用 *,我们可以将条件(5.27)重写为

该条件满足如果

一个时间无关的变换 C,对于通过复合而变换的哈密顿量,如果其导数 DC 满足此条件,则是正则的。

注意条件(5.31)不涉及哈密顿量。这是一个显著的结果。尽管我们假设了哈密顿量通过与变换复合而变换,但我们可以在不再参考动力学系统细节的情况下,判断一个时间无关的相空间变换是否保持哈密顿方程的动力学的形式。

该检验的实现如下:

(define ((time-independent-canonical? C) s)
  ((- J-func
      (compose (Phi ((D C) s)) 
               J-func
               (Phi* ((D C) s))))
   (compatible-shape s)))
(define (J-func DH)
  (up 0 (ref DH 2) (- (ref DH 1))))
(define ((Phi A) v) (* A v))

(define ((Phi* A) w) (* w A))

该过程通过计算函数复合应用到一个一般典型参数上的差值,来检验函数的复合是否与 相同。4 这里它们被应用于一个具有 DH(s) 形状的结构,用于任意相空间状态 s。5

例如,考虑以下极坐标-正则变换:

其中

这里 是一个任意参数。我们定义:

(define ((polar-canonical alpha) H-state)
  (let ((t (time H-state))
        (theta (coordinate H-state))
        (I (momentum H-state)))
    (let ((x (* (sqrt (/ (* 2 I) alpha)) (sin theta)))
          (p_x (* (sqrt (* 2 alpha I)) (cos theta))))
      (up t x p_x))))

现在我们运行检验:

(print-expression
 ((time-independent-canonical? (polar-canonical 'alpha))
  (up 't 'theta 'I)))
(up 0 0 0)

因此该变换是正则的。6

当然,并非我们尝试的每个变换都是正则的。例如,我们可能尝试 x = p sin px = p cos 。其实现为7

(define (a-non-canonical-transform H-state)
  (let ((t (time H-state))
        (theta (coordinate H-state))
        (p (momentum H-state)))
    (let ((x (* p (sin theta)))
          (p_x (* p (cos theta))))
      (up t x p_x))))

(print-expression
 ((time-independent-canonical? a-non-canonical-transform)
  (up 't 'theta 'p)))

(up 0 (+ (* -1 p x8102) x8102) (+ (* p x8101) (* -1 x8101)))

因此这个变换不是正则的。

谐振子

谐振子的分析说明了在解决问题中使用一般正则变换的方法。谐振子是简单弹簧-质量系统的数学模型。质量为 m、弹簧常数为 k 的弹簧-质量系统的哈密顿量为

哈密顿运动方程为

得到二阶系统

其解为

其中

且其中 A 由初始条件确定。

让我们尝试对谐振子应用极坐标-正则变换 C。我们将表达式(5.33)和(5.34)代入哈密顿量中的 xpx,得到新的哈密顿量:

如果我们选择 = (km)1/2,则得到

并且新的哈密顿量不再依赖于坐标。I 的哈密顿方程为

因此 I 是常数。 的方程为

因此

回到原始变量,

其中常数 A = ( 2 I(t)/ )1/2。因此,我们通过做一个到新相空间变量的正则变换(在该变量下解很容易)然后将解变换回原始变量,找到了问题的解。

练习 5.3. 拉格朗日世界中的麻烦

是否存在拉格朗日量 L' 对应于谐振子哈密顿量 H'(t, , I) = I?这可能意味着什么?

练习 5.4. 极坐标-正则变换

x, p, I 为两组正则共轭变量。考虑形式为 x = I sin p = I cos 的变换。确定使得该变换为复合正则的所有 II

练习 5.5. 标准映射

标准映射是否为正则变换?回忆标准映射为:I' = I + K sin ,且 ' = + I',两者都模 2

5.2.2 辛变换

条件(5.31)涉及函数的复合,所有这些函数都是线性变换。线性变换可以用矩阵表示。矩阵表示是相对于基定义的。对于增量式的哈密顿状态,我们将状态分量组织成时间的列矩阵、坐标的分量以及动量的相应分量。

DC 分别为 (DC(s)) 的矩阵表示,其中 s 是检验正则条件时的任意相空间状态。*(DC(s)) 的矩阵表示是 DC 的转置。用这些矩阵表示,正则检验变为

如果一个变换的导数的矩阵表示满足这个恒等式,我们就说该变换是辛的。

线性变换 的乘子的矩阵表示为 。我们可以通过取线性变换的导数并在任意点求值来找到线性变换的乘子:8 D( [ a, b, c ] )。我们可以使用工具 s->m 获得矩阵表示,它接受一个表示线性变换乘子的结构并返回该乘子的矩阵表示。9 矩阵 仅依赖于系统的自由度数。例如,具有两个自由度的系统的

(print-expression
 (let* ((s (up 't (up 'x 'y) (down 'px 'py)))
        (s* (compatible-shape s)))
   (s->m s* ((D J-func) s*) s*)))       
(matrix-by-rows (list 0 0 0 0 0)
                (list 0 0 0 1 0)
                (list 0 0 0 0 1)
                (list 0 -1 0 0 0)
                (list 0 0 -1 0 0))

用矩阵表示,检验变换是否为辛的检验为

(define ((symplectic? C) s)
  (let ((s* (compatible-shape s)))
    (let ((J (s->m s* ((D J-func) s*) s*))
          (DCs (s->m s* ((D C) s) s)))
      (- J (* DCs J (m:transpose DCs))))))

例如,我们可以验证由坐标变换 p->r 导出的点的变换是辛的:

(print-expression
 ((symplectic? (F->CT p->r))
  (up 't
      (up 'r 'varphi)
      (down 'p_r 'p_varphi))))
(matrix-by-rows (list 0 0 0 0 0)
                (list 0 0 0 0 0)
                (list 0 0 0 0 0)
                (list 0 0 0 0 0)
                (list 0 0 0 0 0))

还有进一步的简化可用。 的矩阵表示的第一行和第一列元素全为零。因此我们只需要考虑与坐标和动量相关联的子矩阵。

矩阵 的维度为 2n× 2nqp 子矩阵10 称为 n 个自由度的辛单位矩阵:

矩阵 __P0__n 满足以下恒等式:

满足关系式的 2n× 2n 矩阵 __P2__

称为辛矩阵。

以下是判断变换是否为辛的另一种检验方法:

(define ((symplectic-transform? C) s)
  (symplectic-matrix?
   (qp-submatrix
    (s->m (compatible-shape s)
          ((D C) s)
          s))))

(define (symplectic-matrix? M)
  (let ((2n (m:dimension M)))
    (let ((J (symplectic-unit (quotient 2n 2))))
      (- J (* M J (m:transpose M))))))

过程 symplectic-transform? 当且仅当被检验的变换通过辛矩阵检验时返回零矩阵。适当大小的辛单位矩阵由过程 symplectic-unit 生成。

点的变换是辛的。例如,

(print-expression
 ((symplectic-transform? (F->CT p->r))
  (up 't
      (up 'r 'theta)
      (down 'p_r 'p_theta))))
(matrix-by-rows (list 0 0 0 0)
                (list 0 0 0 0)
                (list 0 0 0 0)
                (list 0 0 0 0))

练习 5.6. 辛矩阵 设 __P2__ 是一个辛矩阵:__P3__n = __P5__ __P6__n __P8__T。证明 __P9__T__P10__-1 是辛的。

练习 5.7. Whittaker 变换 证明变换 q = log ( (1/q') sin p' ) 且 p = q' cot p' 是辛的。

5.2.3 时间相关变换

我们已经发现,时间无关的变换(涉及坐标和共轭动量,但不涉及时间)是正则的当且仅当该变换的导数是辛的。让我们回到辛条件的计算,但现在允许变换方程中显式的时间依赖性。

如果变换是时间相关的,那么 H o C 不能构成合适的 H'。相反,我们假设

并寻找保证变换是正则的关于 KC 的条件。作为变换是正则的条件的方程(5.25)变为

如果以下两个条件得到满足,则该条件满足:

条件(5.52)是 C 为辛变换的条件。条件(5.53)是对 K 的辅助条件。该条件实际上不依赖于哈密顿量 H,因为 的常数值不依赖于参数。时间分量总是满足的;只有该条件的坐标和动量分量约束 K。在特定状态 s(具有兼容形状 s*)处求值,关于 K 的条件为

明确地表明哈密顿量 H 没有进入。

因此我们可以得出结论:如果时间相关变换的位置-动量部分是辛的,并且我们通过添加适当的部分来构成新的哈密顿量,那么该变换是正则的。注意我们并没有证明位置-动量部分必须是辛的。相反,我们证明了如果这部分是辛的,那么哈密顿量必须以适当的方式修改。

作为程序,对 K 的检验为

(define ((canonical-K? C K) s)
  (let ((s* (compatible-shape s)))
    (- (T-func s*)
       (+ (* ((D C) s) (J-func ((D K) s)))
          (((partial 0) C) s)))))

旋转坐标

考虑一个到均匀旋转坐标的时间相关变换:

其分量为

作为程序这是

(define ((rotating n) state)
  (let ((t (time state))
        (q (coordinate state)))
    (let ((x (ref q 0))
          (y (ref q 1))
          (z (ref q 2)))
      (up (+ (* (cos (* n t)) x) (* (sin (* n t)) y))
          (- (* (cos (* n t)) y) (* (sin (* n t)) x))
          z))))

该变换到相空间变换的扩展为

(define (C-rotating Omega) (F->CT (rotating Omega)))

我们首先验证这个时间相关变换的位置-动量部分是辛的:

(print-expression
 ((symplectic-transform? (C-rotating 'Omega))
  (up 't 
      (up 'x 'y 'z)
      (down 'px 'py 'pz))))
(matrix-by-rows (list 0 0 0 0 0 0)
                (list 0 0 0 0 0 0)
                (list 0 0 0 0 0 0)
                (list 0 0 0 0 0 0)
                (list 0 0 0 0 0 0)
                (list 0 0 0 0 0 0))

对于这个变换,哈密顿量的适当修正为

即坐标系的旋转速率乘以角动量。其理由将在第5.6节中给出。实现为

(define ((K Omega) s)
  (let ((q (coordinate s)) (p (momentum s)))
    (let ((x (ref q 0)) (y (ref q 1))
          (px (ref p 0)) (py (ref p 1)))
      (* -1 Omega (- (* x py) (* y px))))))

应用检验,我们得到:

(print-expression
  ((canonical-K? (C-rotating 'Omega) (K 'Omega))
   (up 't 
       (up 'x 'y 'z)
       (down 'p_x 'p_y 'p_z))))
(up 0 (up 0 0 0) (down 0 0 0))

残差为零,因此这个 K 完成了正则变换。

5.2.4 辛条件

如果变换的 qp 部分具有辛导数,则该变换是辛的。这个条件可以用泊松括号简洁地表示。

泊松括号可以用 表示为:

这可以通过写出分量来看到。

我们将变换 C 分解为位置和动量部分:

用各个分量函数表示,辛条件(5.46)为

其中 iji = j 时为1,否则为零。这些称为基本泊松括号。如果变换满足这些泊松括号关系,则它是辛的。

我们已经发现,如果时间相关变换的位置-动量部分是辛的,并且我们通过添加合适的 K 来修改哈密顿量,则该变换是正则的。我们可以用泊松括号重写这些条件。如果哈密顿量为

那么变换将是正则的,如果坐标-动量变换满足基本泊松括号,且 K 满足:

练习 5.8.

补充细节,证明辛条件(5.31)等价于基本泊松括号(5.61),且关于 K 的条件(5.53)等价于关于 K 的泊松括号条件(5.63)。


4 原则上不可能一般地确定两个函数是否相同,但在本例中,由于 (DC(s)) 是线性的,该检验是有效的。

5 DH(s) 的形状是与 s 的形状兼容的形状:如果将它们相乘,结果是一个实数。过程 compatible-shape 接受任何结构并产生另一个保证与给定结构相乘得到实数的结构。产生的结构填充了唯一的实数文字,因此如果残差为零,则这些函数是相同的。

6 实际上,对于 I = 0,该变换没有良好定义,因此对该值它不是复合正则的。该变换是“局部复合正则的”,因为它对 I 的非零值是复合正则的。我们将忽略这个本质上拓扑的问题。

7 诸如 x8102 的神秘符号是为了检验函数相等性而引入的唯一实数文字。它们出现在残差中说明相等性不成立。

8 线性变换的导数是一个常值函数,与参数无关。

9 过程 s->m 接受三个参数:(s->m s* A s)s*s 指定了在 A 左右相乘得到数值的对象的形状;这些指定了基。

10 2n + 1 维方阵的 qp 子矩阵是通过删除给定矩阵的第一行和第一列得到的 2n 维矩阵。可以通过以下方式计算:

(define (qp-submatrix m)
  (m:submatrix m 1 (m:num-rows m) 1 (m:num-cols m)))