1.5 欧拉-拉格朗日方程

平稳作用量原理刻画了系统中可实现的路径,即那些使作用量取平稳值的路径。在初等微积分中,我们学到函数的临界点是导数等于零的点。与之类似,作用量取平稳值的路径是一组微分方程的解。这组方程称为欧拉-拉格朗日方程,或简称为拉格朗日方程,它是连接平稳作用量原理与力学系统运动计算之间的桥梁,并将变分表述与牛顿表述联系起来。48

拉格朗日方程

我们将发现,如果 L 是某个依赖于时间、坐标和速度的系统的拉格朗日量,且 q 是一条坐标路径,使得作用量 S[q](t1, t2) 是平稳的(相对于任何保持路径端点固定的路径变分),那么

这里 L 是局部元组的实值函数;1 L2 L 分别表示 L 关于其广义位置参数和广义速度参数的偏导数。49 函数 2 L 将局部元组映射到一个结构,其分量为 L 关于广义速度各个分量的导数。函数 [q] 将时间映射到局部元组:[q](t) = ( t, q(t), Dq(t), ... )。因此,复合函数 1 L o [q] 和 2 L o [q] 是单变量(时间)的函数。拉格朗日方程断言:在任何时刻,2 L o [q] 的导数等于 1 L o [q]。给定一个拉格朗日量,拉格朗日方程构成一个必须由可实现的路径满足的常微分方程组。50

1.5.1 拉格朗日方程的推导

我们将证明平稳作用量原理意味着可实现的路径满足一组常微分方程。首先我们将发展研究依赖于路径的函数如何随路径变化而变化的工具。然后我们将这些工具应用于作用量,以推导拉格朗日方程。

路径的变分

假设我们有一个依赖于路径 q 的函数 f[q]。当路径变化时,该函数如何变化?设 q 是一条坐标路径,q + 是一条变分路径,其中函数 是一个可以加到路径 q 上的类似路径的函数,因子 是一个尺度因子。我们定义函数 f 在路径 q 上的变分 f[q] 为:51

f 的变分是对路径微小变化时函数 f 的变化的线性近似。f 的变分依赖于

一个简单的例子是恒等路径函数的变分:I[q] = q。应用定义,我们发现

传统上,将 I[q] 直接写为 q。另一个例子是返回路径导数的路径函数的变分。我们有

传统上,将 g[q] 写为 Dq

变分可以用导数来表示。设 g() = f[q + ],那么

变分具有以下类似于导数的性质。对于依赖于路径的函数 fg 以及常数 c

F 是一个与路径无关的函数,g 是一个依赖于路径的函数;那么

算子 D(微分)和 (变分)在以下意义下可交换:

变分与积分在类似意义下也可交换。

如果一个依赖于路径的函数 f 对某条特定路径 q 关于该路径的微小变化是平稳的,那么它对于这些变化中由将特定函数 的小倍数加到 q 上所得到的子集也必须是平稳的。因此,对于任意 ,条件 f[q] = 0 意味着函数 f 在路径 q 附近对微小路径变分是平稳的。

练习 1.7 的性质 证明 具有性质 1.23–1.27。

练习 1.8 的实现

a. 假设我们有一个实现依赖于路径的函数的过程 f:对于路径 q 和时间 t,其值为 ((f q) t)。过程 delta 计算变分 ( f)[q](t),结果为表达式 ((((delta eta) f) q) t) 的值。请完成 delta 的定义:

(define (((delta eta) f) q)
  ...  )

b. 使用你的 delta 过程验证练习 1.7 中列出的 的性质,对诸如过程 f 实现的简单函数进行验证:

(define (f q)
  (compose 
    (literal-function 'F (-> (UP Real Real Real) Real))
    (Gamma q)))

该实现了一个单自由度的依赖于路径的函数,该函数依赖于每一时刻路径的局部元组。你应该计算等式两边并比较结果。

作用量的变分

作用量是拉格朗日量沿路径的积分:

对于可实现的路径 q,作用量关于任何保持端点不变的变分 ,即 (t1) = (t2) = 0,的变分为零:

变分与积分可交换,因此作用量的变分为

利用以下事实

它由方程 (1.20) 和 (1.21) 推出,并利用变分的链式法则 (1.26),我们得到52

对方程 (1.32) 的最后一项进行分部积分,得到

对于我们的变分 ,有 (t1) = (t2) = 0,因此第一项消失。

因此,作用量的变分为零当且仅当

作用量的变分为零是因为,根据假设,q 是一条可实现的路径。因此,(1.34) 必须对任何在端点处为零的函数 成立。

我们在变分的选择中保留足够的自由度,使得被积函数中乘以 的因子被迫在路径上的每一点处为零。我们通过反证法论证:假设该因子在某个特定时刻非零。那么它在至少一个分量中必然非零。但是,如果我们选择 为一个仅在该时刻邻域内该分量上非零、而其他各处均为零的凸起函数,那么积分将非零。因此我们可以得出结论:花括号中的因子恒为零:53

这正是我们所要得到的,即拉格朗日方程。

满足拉格朗日方程的路径是使作用量取平稳值的路径,而作用量是否平稳只取决于 L 在路径每一点(以及在邻近路径上的每一点)的值,而不取决于我们用于计算这些值的坐标系。因此,如果系统的路径在某个特定坐标系中满足拉格朗日方程,那么它在 any 坐标系中也必然满足拉格朗日方程。因此,变分力学的方程在任何构型空间和任何坐标系中都以相同的方式推导。

谐振子

作为一个例子,考虑谐振子。一个拉格朗日量为

那么

拉格朗日量被应用于一个由时间、坐标和速度组成的元组。符号 txv 是任意的;它们用于指定拉格朗日量的形式参数。

现在假设我们有一条构型路径 y,它给出了每个时刻 t 下谐振子的坐标 y(t)。相应局部元组在时刻 t 的初始段为

因此

所以拉格朗日方程为

这就是谐振子的运动方程。

轨道运动

作为另一个例子,考虑质量为 m 的粒子在二维空间中的运动,其引力势能为 - μ/r,其中 r 是到引力中心的距离。一个拉格朗日量为54

其中 是粒子直角坐标的形式参数,vv 是相应直角速度分量的形式参数。那么55

类似地,

现在假设我们有一条构型路径 q = ( x, y ),使得时刻 t 的坐标元组为 q(t) = ( x(t), y(t) )。局部元组在时刻 t 的初始段为

因此

在时刻 t 的分量拉格朗日方程为

练习 1.9 拉格朗日方程 推导以下系统的拉格朗日方程,并像谐振子和轨道运动示例中那样展示所有中间步骤。

a. 质量为 m 的粒子在二维势场 V(x, y) = (x2 + y2)/2 + x2 y - y3/3 中运动,其中 xy 是粒子的直角坐标。一个拉格朗日量为 L(t; x, y; vx, vy) = (1/2) m (vx2 + vy2) - V(x, y)。

b. 一个理想平面单摆由一个质量为 m 的摆锤通过一根长度为 l 的无质量杆连接到支点构成,在均匀重力加速度 g 作用下运动。一个拉格朗日量为 L(t, , ) = (1/2) m l2 2 + m g l cos L 的形式参数为 t 测量单摆杆与铅垂线的夹角, 是杆的角速度。56

c. 质量为 m 的粒子被约束在半径为 R 的球面上运动的一个拉格朗日量为 L(t; , ; , ß) = (1/2) m R2 (2 + (ß sin )2)。角度 是粒子的余纬度, 是经度;余纬度的变化率为 ,经度的变化率为 ß。

练习 1.10 高阶导数拉格朗日量 推导依赖于加速度的拉格朗日量的拉格朗日方程。特别地,证明具有 项的形式为 L(t, q, , ) 的拉格朗日量的拉格朗日方程为:57

一般来说,这些由泊松首先推导出的方程将涉及 q 的四阶导数。注意,其推导过程与不含加速度的拉格朗日方程的推导完全类似,只是更长。我们必须对变分施加怎样的限制,才能使临界路径满足一个微分方程?

1.5.2 计算拉格朗日方程

计算拉格朗日方程的过程反映了函数表达式 (1.18),其中过程 Gamma 实现了 :58

(define ((Lagrange-equations Lagrangian) q)
  (- (D (compose ((partial 2) Lagrangian) (Gamma q)))
     (compose ((partial 1) Lagrangian) (Gamma q))))

Lagrange-equations 的参数是一个计算拉格朗日量的过程。它返回一个过程,该过程应用于路径 q 时,返回一个单变量(时间)的函数,计算拉格朗日方程 (1.18) 的左边。如果 q 是使拉格朗日作用量平稳的路径,则这些残差值为零。

观察发现,Lagrange-equations 过程(如同拉格朗日方程本身)对 any 广义坐标系均有效。当我们编写程序来研究特定系统时,实现拉格朗日函数和路径 q 的过程将反映表示系统所选的实际坐标,但我们在每种情形下都使用相同的 Lagrange-equations 过程。这种抽象反映了一个重要事实:从拉格朗日量推导拉格朗日方程的方法始终相同;它与自由度数、构型空间的拓扑结构以及用于描述构型空间中点的坐标系无关。

自由粒子

再次考虑自由粒子的情况。拉格朗日量由过程 L-free-particle 实现。我们可以不进行数值积分和作用量最小化(如我们在 1.4 节中所做的那样),而是对任意直线路径 t ( at + a0, bt + b0, ct + c0 ) 检验拉格朗日方程:

(define (test-path t)
  (up (+ (* 'a t) 'a0)
      (+ (* 'b t) 'b0)
      (+ (* 'c t) 'c0)))
(print-expression
 (((Lagrange-equations (L-free-particle 'm))
   test-path)
  't))
(down 0 0 0)

残差为零表明测试路径满足拉格朗日方程。59

我们也可以将 Lagrange-equations 过程应用于任意函数:60

(show-expression
 (((Lagrange-equations (L-free-particle 'm))
   (literal-function 'x))
  't))
(* (((expt D 2) x) t) m)



结果包含任意时间 t 和质量 m,因此它恰好当 D2 x = 0 时为零,这正是自由粒子预期的运动方程。

谐振子

再次考虑谐振子,其拉格朗日量为 (1.16)。我们知道谐振子的运动是具有给定振幅、频率和相位的正弦函数:

假设我们已经忘记了解中的常数如何与谐振子的物理参数相关联。让我们将提议的解代入并观察残差:

(define (proposed-solution t)
  (* 'a (cos (+ (* 'omega t) 'phi))))

(show-expression
 (((Lagrange-equations (L-harmonic 'm 'k))
   proposed-solution)
  't))



这里的残差表明,对于非零振幅,唯一允许的解是满足 ( k - m 2 ) = 0 或 = (k/m)1/2 的那些解。

练习 1.11 使用 Lagrange-equations 过程计算练习 1.9 中拉格朗日量的拉格朗日方程。此外,使用计算机执行 Lagrange-equations 过程中的每一步,并显示中间结果。将这些步骤与你在练习 1.9 的手工推导中展示的步骤联系起来。

练习 1.12 a。编写一个过程,用于计算依赖于加速度的拉格朗日量的拉格朗日方程,如练习 1.10 所示。注意,Gamma 可以接受一个可选参数,该参数给出所需局部元组初始段的长度。默认长度为 3,给出局部元组中直至并包括速度的分量。

b。使用你的过程计算拉格朗日量

的拉格朗日方程。你能认出得到的运动方程吗?

c。为了更有趣,编写一个通用的拉格朗日方程过程,该过程接受任意阶的拉格朗日量和阶数,以产生所需的运动方程。


48 这一结果最初由欧拉发现,后来由拉格朗日重新推导。

49 接受结构化参数的函数或其偏导数是接受相同数目和类型参数的新函数。该新函数的值域本身是一个结构,其分量数目与求导所针对的参数的分量数目相同。

50 拉格朗日方程传统上写作以下形式

或者,如果为 q 的每个分量单独写出一个方程,则为

在这种书写拉格朗日方程的方式中,记号没有区分 L(它是三个变量 tq 的实值函数)与 L o [q](它是单个实变量 t 的实值函数)。如果我们没有意识到这种记号上的双关,这些方程就无法按所写的形式理解—— L/ 是三个变量的函数,因此我们必须先将参数 q 视为 t 的函数,然后再对该表达式求 d/dt。类似地, L/ q 是三个变量的函数,我们必须先将其视为 t 的函数,然后才能令其等于 d/dt( L/ )。这些链式法则的隐式应用在进行手工计算时不会造成问题——一旦你理解了这些方程所代表的意义。

51 变分算子 类似于微分算子,它作用于紧随其后的函数: f[q] = ( f)[q]。

52 多参数函数被视为其参数的元组的函数。因此,多参数函数的导数是关于每个参数的偏导数的元组。因此,对于拉格朗日量 L,有

53 要使这一论证更加精确,需要仔细分析。

54 当我们编写一个命名局部元组各分量的定义时,我们通过用分号分隔各组来表明它们被分组为时间、位置和速度分量。

55 关于元组的导数是关于元组各分量的偏导数的元组(参见关于记法的附录)。

56 符号 只是一个助记符号; 上的点并不表示微分。为了定义 L,我们完全可以写成:L(a, b, c) = (1/2) m l2 c2 + m g l cos b。然而,我们使用带点的符号来提醒我们,匹配形式参数(如 )的自变量是角度(如 )的变化率。

57 在传统记号中,这些方程写作

58 Lagrange-equations 过程使用了 (partial 1)(partial 2) 操作,它们实现了关于第二和第三参数位置(即索引 1 和 2)的偏导数算子。

59 每个自由度对应一个拉格朗日方程。如果路径是可实现的,则所有方程的残差为零。残差被安排在 down 元组中,因为它们源自拉格朗日量关于接受 up 元组的参数槽的导数。参见关于记法的附录。

60 注意,二阶导数表示为微分算子 (expt D 2) 的平方。Scmutils 中的算术运算也扩展到算子以及函数。