0 前言牛顿以相对性原理和伽利略变换为框架,提出了牛顿运动定律,发展出一门基础物理学科——牛顿力学,这是经典物理学史上最高的丰碑之一。 严格地说,牛顿力学是经典力学中的一部分。在牛顿之后,拉格朗日和哈密顿相继发展了新的经典力学体系,即拉格朗日力学和哈密顿力学。 牛顿力学着眼于力、动量等矢量,牛顿运动定律也是矢量形式,故牛顿力学又称为矢量力学。 拉格朗日力学和哈密顿力学则看重系统的能量等标量,通过变分原理建立系统的动力学方程,所以拉格朗日力学和哈密顿力学合称为分析力学。 在这一篇文章中,我将从牛顿力学引入,进而详细介绍拉格朗日力学的主线。 1 牛顿第二定律和笛卡尔坐标系在牛顿力学中,我们通过牛顿运动定律确定物体的运动状态。首先利用牛顿第二定律对每个物体写出微分方程:\vec{F}(\vec{r})=m \ddot{\vec{r}},其中力矢量一般可以通过其他规律得到。再结合已知条件和初始条件,可以得到物体的运动方程 \vec{r}=\vec{r}(t)。 为直观地得到物体的运动规律,我们一般将运动方程 \vec{r}=\vec{r}(t) 放到笛卡尔直角坐标系来分析,即 \left\{\begin{array}{l}x=x(t) \\ y=y(t) \\ z=z(t)\end{array}\right.。 对应地,牛顿第二定律也有分量形式,即 \left\{\begin{array}{l}F_{x}=m \ddot{x} \\ F_{y}=m \ddot{y} \\ F_{z}=m \ddot{z}\end{array}\right. 从理论上来说,我们通过牛顿运动定律应该能很好解决所有经典力学问题才对,为什么又发展出庞大的分析力学体系?且先看一个经典问题。 2 单摆问题中的约束单摆问题是我们经常会遇到的一个经典问题,现在考虑用上一小节的知识来解决它。 如图所示,单摆问题是二维问题,于是建立平面直角坐标系,并列出分量形式的牛顿第二定律 \left\{\begin{array}{l}-T \frac{x}{\sqrt{x^{2}+y^{2}}}=m \ddot{x} \\ m g-T \frac{y}{\sqrt{x^{2}+y^{2}}}=m \ddot{y}\end{array}\right. 这两个方程列出来我们立马就发现,由于不知道绳子的张力 T,导致这两个方程有三个未知量 T,x,y,所以我们解不了这个方程组。 我们自然而然能够想到,我们肯定把某个方程给漏了,才导致这个方程组不可解。 先来看看单摆问题和一般质点运动的不同之处。可以发现,物体的摆动受到绳子约束,像绳子对物体的作用力一般可称为约束力。 在单摆问题中,绳子对物体的约束体现在对物体位置的约束,很容易能够看出,物体位置与固定原点的距离保持不变,这样的约束我们称为几何约束。 将这样的约束表达成方程形式,有 x^{2}+y^{2}=l^{2},这类方程叫约束方程。 把这三个方程联立起来,得到 \left\{\begin{array}{l}-T \frac{x}{\sqrt{x^{2}+y^{2}}}=m \ddot{x} \\ m g-T \frac{y}{\sqrt{x^{2}+y^{2}}}=m \ddot{y} \\ x^{2}+y^{2}=l^{2}\end{array}\right. 这三个方程中,总共有三个未知量 T,x,y,理论上是可以解出来的。 对于一个有约束力的力学问题,按照上边的做法,实质上就是通过引入一个约束方程来代替那个未知的约束力,使得方程数量能够等于未知量数量,方程组在理论上才可解。 不过接下来还会遇到一个很大的问题,这个方程组怎么解? 你可以自己动手试一下解这个方程。你会发现,虽然能解,但过程真的太麻烦了。 我们来看看造成解如此麻烦的原因是什么? 回到我们最初的思路,我们本来是打算用牛顿第二定律的分量式来解决这个问题,这样的方程组是好解决的,因为各分量方程是独立的。 而代入约束条件后,这两个方程便耦合了,也就是说这两个分量式不独立了。 \left\{\begin{array}{l}F_{x}=m \ddot{x} \\ F_{y}=m \ddot{y}\end{array}\right.—→\left\{\begin{array}{l}-T \frac{x}{\sqrt{x^{2}+y^{2}}}=m \ddot{x} \\ m g-T \frac{y}{\sqrt{x^{2}+y^{2}}}=m \ddot{y} \\ x^{2}+y^{2}=l^{2}\end{array}\right. 事实上,我们有一种更好的思路解决这类问题。 3 广义坐标消去约束力刚刚我们在描述单摆运动状态的时候,用的是笛卡尔坐标系的 x,y 两个变量去描述。 然而由于绳子的约束存在,本该独立的变量 x,y 变得不独立了,比如说 y 完全可以用含 x 的式子来描述。 也就是说,已经不需要两个变量描述单摆运动,只需要选其中一个变量即可。 那么我们是不是用含 x 的式子来替代 y 就可以了? 你真这样做就会发现,这和上面的解法本质上还是没有区别。 有一种很自然的想法是,单摆的位置通过上摆的角度就能够确定下来,那我们就可以用这个角度来对应摆球的位置。 也就是说,我们把原来的直角坐标系拿掉,用新的坐标角度 \theta 来描述摆球位置。 之前解方程的难点在于张力 T 未知,现在我们选择用角度来描述位置,而且张力 T 对角度 \theta 没有影响,问题变得好办许多了。 为避开张力 T,可以沿着绳子的垂直方向列牛顿第二定律,即 -mg\sin\theta=m\dot{v}=ml\ddot{\theta}。 对于一般的单摆问题,我们只能求解角度比较小的情况,这时候有近似 \sin \theta \approx \theta,于是上述方程可化简为 \ddot{\theta}+\frac{g}{l} \theta=0 这种类型的方程我们很容易求解,具体求解我们就不去探究了。 这里引入的角度 \theta 是极坐标,但它还属于一个更大的类别——广义坐标。 广义坐标指的是不特定的坐标,只要它能够描述力学系统的状态即可,像我们常见的极坐标、球坐标、柱坐标都属于广义坐标。 通过引入广义坐标 \theta,张力 T 就神奇地消失了。合理推广一下,对于有约束力的问题,只要我们选取合适的广义坐标来替代直角坐标,约束力带来的麻烦就能够很容易解决。 4 理想约束在更复杂的问题中要消去约束力,实际操作中需要用到约束力的一个重要性质——约束力不做功。 这个比较好理解,因为有很多约束力往往是和质点运动方向垂直的。 比如说,单摆问题中的绳子拉力与摆球运动方向垂直;质点沿光滑曲面运动时,曲面的支持力是约束力,方向为曲面法向,也与质点运动方向垂直。 不过我们刚刚谈到的例子还是有局限性,约束力不做功也是不完整的说法。 要完整描述这句话需要引入一个新的概念——虚位移。 在我们一般认识中的位移,也称为实位移,即真实存在的位移。虚位移,顾名思义,是不存在的位移,或者说假想的任何位移。 打个比方,假设你现在位于故宫中央的太和殿,你的目的地是正北方的神武门。按照最近的原则,你应该往正北方向迈出第一步,这一步是实位移。 而如果你有一种“瞬间传送”的超能力,可以不消耗时间,就能往任意方向迈出无限小的一步,这样的位移是虚位移。 但这种“瞬间传送”有一个限制,就是你还是只能在地面上,就算说地面给你的约束还是得遵循。 严格地说就是,在时间和空间位置确定的情况下,虚位移是符合约束条件的任意无穷小位移,用符号 \delta \vec{r} 表述。 同样,虚位移也有对应的虚功,其定义和实位移的定义是相似的,即力和虚位移的标量积。 我们现在要讨论有约束力的问题里,约束力做的虚功有什么特点。 先看一个简单的例子,一个质点被约束在光滑曲面上运动,这时的约束力就是曲面对于质点的作用力。由于曲面是光滑的,曲面对质点不存在摩擦力,只有支持力。 当这个曲面是平面时,支持力方向显然是沿平面法向。对于一般的曲面,支持力沿曲面在质点位置处的切平面的法向。 而质点的速度必定在质点位置处的切平面内,故质点的虚位移也在切平面内,这说明质点的虚位移和所受约束力相互垂直,所以约束力所做虚功为零。 现在再来看更复杂一点的情况。两个可看作质点的小球在光滑平面上运动,小球之间存在一根质量可忽略的刚性杆。 这个时候小球所受的约束力就有两个,一是平面的支持力,二是杆对小球的作用力。 从前面的论述我们知道,支持力做的虚功为零,但杆对小球的作用力和虚位移不一定垂直,所以杆作用力的虚功不一定为零。 难道说,我们刚刚得出的结论,约束力所做虚功为零,是错误的? 别着急,对于多质点的系统,要考虑约束力对整个系统的虚功。 这个两质点系统所受约束力共有四个,有两个是平面对分别这两个小球的支持力,这两个支持力的虚功一定为零。 接下来,考察一下杆作用力的虚功。在这之前,先考虑一下这两个小球的虚位移存在什么关系? 我们知道,虚位移必须满足约束条件,而刚性杆的约束方程可表达为 (\overrightarrow{r_{1}}-\overrightarrow{r_{2}})^{2}=l^{2}= Const。 因为我们想要知道的是位移无穷小的情况,考虑对这个方程进行一次微分运算,可得到 d(\overrightarrow{r_{1}}-\overrightarrow{r_{2}})^{2}=d l^{2}=0 故d(\overrightarrow{r_{1}}-\overrightarrow{r_{2}})^{2} =2(\overrightarrow{r_{1}}-\overrightarrow{r_{2}}) d(\overrightarrow{r_{1}}-\overrightarrow{r_{2}}) =2(\overrightarrow{r_{1}}-\overrightarrow{r_{2}})(d \overrightarrow{r_{1}}-d \overrightarrow{r_{2}}) =0。 有人会有疑问,虚位移用的不是 \delta 记号吗,怎么用了 d 做微分运算? 这里先用一个已知结论:\delta 和 d 的运算规则基本相同。也就是说,将式子中的 d 改换成 \delta 也是成立的。 故有 2\left(\vec{r}_{1}-\vec{r}_{2}\right)\left(\delta \vec{r}_{1}-\delta \vec{r}_{2}\right)=0。当然 \delta 和 d 的数学物理意义是不相同的,在后面会详细讲。 继续看虚功,由定义可知,虚功由牛顿第三定律可知,刚性杆对小球的作用力是等大反向的,而且和两小球连线共线。 故可设 \overrightarrow{N_{1}}=-\overrightarrow{N_{2}}=\lambda\left(\overrightarrow{r_{1}}-\vec{r}_{2}\right),其中 \lambda 是比例系数。 将此式代入虚功表达式有 \delta W=\overrightarrow{N_{1}} \cdot \delta \overrightarrow{r_{1}}+\overrightarrow{N_{2}} \cdot \delta \overrightarrow{r_{2}} =\lambda(\overrightarrow{r_{1}}-\overrightarrow{r_{2}}) \cdot \delta \overrightarrow{r_{1}}-\lambda(\overrightarrow{r_{1}}-\overrightarrow{r_{2}}) \cdot \delta \overrightarrow{r_{2}} =\lambda(\overrightarrow{r_{1}}-\overrightarrow{r_{2}}) \cdot(\delta \overrightarrow{r_{1}}-\delta \overrightarrow{r_{2}}) =0 其中最后一步是根据约束方程得来的。 至此,我们可以得出结论,在这一情景下,力学系统所受约束力的总虚功为零。 那么,我们能不能推而广之,认为三个及以上质点的系统,约束力的总虚功也一定为零? 很遗憾,答案是不能。 那么,无法推广是不是就意味着约束力做功这条路就堵死了呢? 还好,答案也不是。 事实上,前文所举过的例子都是比较理想化的模型,比如说光滑性、刚性等等都是很理想化的性质。 那好,我就将我讨论中的力学系统中的约束,都看作是理想化的,那么系统约束力的总虚功也就为零。 我们将满足这一条件的约束,称为理想约束。而且一般来说,光滑没有摩擦力就是理想约束。 到现在为止,我们得到这样一个结论:力学系统所受理想约束力的总虚功为零。 这里有一点循环论证的意思,因为理想约束就是按总虚功为零定义的,不过这也不妨碍我们理解这个事情。 5 达朗贝尔原理在上一小节开头我们谈到,要消去约束力就要用到约束力的一个性质:约束力不做功。 接着我们花很大力气,将这结论表述得更加完整:力学系统所受理想约束力的总虚功为零。 现在,我们具体来看一下如何消去约束力。 思路回到用牛顿运动定律求解质点的运动状态,由牛顿第二定律可得 \vec{F}+\vec{N}=m \ddot{\vec{r}},其中 \vec{F} 是该质点所受的主动力,\vec{N}是该质点所受的理想约束力。 为了能消去约束力,对等式两边均乘虚位移 \delta \vec{r}, 得 \vec{F} \cdot \delta \vec{r}+\vec{N} \cdot \delta \vec{r}=m \ddot{\vec{r}} \cdot \delta \vec{r} 由理想约束的性质,\vec{N} \cdot \delta \vec{r}=0,故有 (\vec{F}-m \ddot{\vec{r}}) \cdot \delta \vec{r}=0,其中 -m \ddot{\vec{r}} 也称为惯性力。 对于多(n)质点的系统,一样有 \sum_{i=1}^{n}\left(\vec{F}_{i}-m_{i} \ddot{\vec{r}}_{i}\right) \cdot \delta \vec{r}_{i}=0,其中 _{i} 代表第 i 个质点,这一方程称为达朗贝尔原理。 这也是拉格朗日力学中的第二个基本原理。(第一自然是相对性原理,相对性原理是所有力学体系的第一基本原理。) 这里有人会觉得奇怪,这不是由牛顿运动定律和理想约束推导过来的式子吗,为什么能称为原理? 我先简单解释一下什么是原理、定律和定理。 原理,在大量实践中归纳得出,具有普适性,一般是不会失效的。定律,全称是客观定律,被大量实践所证明,描述的是特定尺度下的世界,在其他尺度不一定成立。定理,由原理和定律推导出来,目的是方便解决具体问题。 从达朗贝尔原理出发,其实也可以推导出质点的牛顿第二定律。 在无约束的情况下,质点间无相互影响,达朗贝尔原理 \sum_{i=1}^{n}\left(\vec{F}_{i}-m_{i} \ddot{\vec{r}}_{i}\right) \cdot \delta \vec{r}_{i}=0 中的 \delta \vec{r}_{i} 实质上是相互独立的,且 \delta \vec{r}_{i} 不为零,故各 \delta \vec{r}_{i} 前的乘数必全为零,即 \vec{F}_{i}-m_{i} \ddot{\vec{r}}_{i} \equiv 0,这也就是牛顿第二定律。 而在有约束的情况下,只凭牛顿运动定律不能解决问题,必须引入约束方程,但达朗贝尔原理无须其它方程,便能适用于有约束的情况。 从这一角度来看,达朗贝尔原理更为简洁,也比牛顿运动定律更加基本,故称为“原理”。 另外,达朗贝尔原理对于非理想约束也适用,这时只须将非理想约束力纳入主动力即可,具体如何求解后面会讲解。 由于达朗贝尔原理广泛的适用性,因此可以称之为分析力学的基本原理。 另外,达朗贝尔原理有一特殊情况。当系统处于平衡态,也即 \sum_{i=1}^{n}\left(\vec{F}_{i}-m_{i} \ddot{\vec{r}}_{i}\right) \cdot \delta \vec{r}_{i}=0 中的 \ddot{\vec{r}}_{i}\ 等于零时,有 \sum_{i=1}^{n} \vec{F}_{i} \cdot \delta \vec{r}_{i}=0 ,这一原理称为虚功原理。 6 虚位移的困扰我们得到达朗贝尔原理后,用于稍微复杂的实际问题会发现不是特别方便,因为达朗贝尔原理带有很大任意性的虚位移。 于是,我们可以想办法把虚位移从达朗贝尔原理中去掉。 刚刚提到,无约束情况下,达朗贝尔原理 \sum_{i=1}^{n}\left(\vec{F}_{i}-m_{i} \ddot{\vec{r}}_{i}\right) \cdot \delta \vec{r}_{i}=0 实质上是相互独立的,故 \delta \vec{r}_{i} 前的乘数必为零,即 \vec{F}_{i}-m_{i} \ddot{\vec{r}}_{i} \equiv 0。 在有约束的情况下,虽然 \delta \vec{r}_{i} 并不独立,但我们可以将它改造成可独立。 具体的改造需要用到广义坐标,我们在前面提到过广义坐标,这里对广义坐标进一步解释。 先看这样一个例子:如图所示,小球 1 被一根长度为 l_{1} 的刚性杆连接在原点 O,小球 2 通过一根长度为 l_{2} 的刚性杆连接,其余参数标注在图中。 按照笛卡尔坐标系,用 \left(x_{1}, y_{1}\right), \left(x_{2}, y_{2}\right) 描述小球 1 和小球 2 的位置。 如果没有杆的存在,也就是说在小球是独立的情况下,由于描述这两个小球需要 x_{1},y_{1},x_{2},y_{2} 共 4 个坐标,我们称这两个小球组成的力学系统自由度为 4。 考虑上刚性杆的存在,从之前单摆问题的分析可知,x_{1} 和 y_{1} 是不独立的,比如说我们可以用 x_{1} 来描述 y_{1},即 y_{1}=\sqrt{l_{1}^{2}-x_{1}^{2}}。同理, y_{2} 可以用 x_{1} 和 x_{2} 描述。 所以 x_{1}, y_{1}, x_{2}, y_{2} 中只有两个坐标是独立的,也即只需要两个坐标\left(x_{1}, x_{2} \text { 和 } y_{1}, y_{2}\right)就可以描述系统的位置,所以这个系统的自由度为2。 但是用直角坐标表示会显得异常麻烦,我们考虑用广义坐标使表示方式简化。 通过观察和想象很容易得知,只要 \theta_{1} 和 \theta_{2} 能确定,这个系统的位置也就能确定。由几何关系可以得到 x_{1}=l_{1} \sin \theta_{1}, y_{1}=l_{1} \cos \theta_{1}, x_{2}=l_{1} \sin \theta_{1}+l_{2} \sin \theta_{2}, y_{2}=l_{1} \cos \theta_{1}+l_{2} \cos \theta_{2} 从这个例子我们能得到启示,我们可以建立起直角坐标和广义坐标的定量关 系。 既然如此,达朗贝尔原理 \sum_{i=1}^{n}\left(\vec{F}_{i}-m_{i} \ddot{\vec{r}}_{i}\right) \cdot \delta \vec{r}_{i}=0 中的 \delta \vec{r}_{i},就可以用相互独立的广义坐标来定量描述。 将方程整理一番之后,各独立广义坐标前的乘数必定为零,我们就能成功地把虚位移去掉,方程得到很好简化。 接下来,我们就具体看下如何将 \delta \vec{r}_{i} 转化,并得到一个简洁的方程。 7 拉格朗日方程出世温馨提示:虽然这一小节涉及到的公式推导稍微多一点点,但也是重中之重。 再次提一下一个很有用的结论:\delta 和 d 的运算规则基本相同,这在后面的运算中仍会用到。 我们现在研究由 n 个质点组成的力学系统,且该系统存在 q 个约束力。对 n 个自由质点来说,在三维空间需要 3n 个坐标描述。 每一个约束力都对应一个约束方程,从前面的讨论中己知,每一个方程都意味着有一个坐标可以由其他坐标表述。所以,该力学系统的独立坐标个数为 3n-q。 为简易描述,令 s=3 n-q,并设这 s 个独立坐标分别为 q_{1}, q_{2}, \cdots, q_{s} 。 即 \vec{r}_{i}=\vec{r}_{i}\left(q_{1}, q_{2}, \cdots, q_{s}, t\right),其中 i=1,2, \cdots, n。 我们知道,转化 \delta \vec{r}_{i} 和转化 d\vec{r}_{i} 的运算基本是一致的,可以先转化熟悉的 d\vec{r}_{i}。由全微分概念, d \vec{r}_{i}=\frac{\partial \vec{r}_{i}}{\partial q_{1}} d q_{1}+\frac{\partial \vec{r}_{i}}{\partial q_{2}} d q_{2}+\cdots+\frac{\partial \vec{r}_{i}}{\partial q_{s}} d q_{s}+\frac{\partial \vec{r}_{i}}{\partial t} d t 利用求和符号得 d r_{i}=\sum_{\alpha=1}^{s} \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}} d q_{\alpha}+\frac{\partial \vec{r}_{i}}{\partial t} d t 用 \delta 替代 d 有 \delta \vec{r}_{i}=\sum_{\alpha=1}^{s} \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}} \delta q_{\alpha}+\frac{\partial \vec{r}_{i}}{\partial t} \delta t 这里有一个需要注意的问题。 之前我们说过虚位移不是实际走过的位移,只是位置的一个无穷小变化,也就是说实现虚位移是不需要时间的,即 \delta t=0,故 \delta \vec{r}_{i}=\sum_{\alpha=1}^{s} \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}} \delta q_{\alpha} 将此式子代入达朗贝尔原理 \sum_{i=1}^{n}\left(\vec{F}_{i}-m_{i} \ddot{\vec{r}}_{i}\right) \cdot \delta \vec{r}_{i}=0 中,可得 \sum_{i=1}^{n}\left(\left(\overrightarrow{F_{i}}-m_{i} \ddot{\vec{r}}_{i}\right) \cdot \sum_{\alpha=1}^{n} \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}} \delta q_{\alpha}\right)=0 这个式子看起来还是蛮复杂的,还需要进一步化简。 回想我们之前的目的,是为了凑出广义坐标 \delta q_{\alpha},再根据广义坐标的独立性,得到 \delta q_{\alpha} 前的乘数为零。 于是,将上一式子的求和符号交换次序,整理一下可得 \sum_{\alpha=1}^{s}\left(\sum_{i=1}^{n}\left(\vec{F}_{i}-m_{i} \ddot{\vec{r}}_{i}\right) \cdot \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}}\right) \delta q_{\alpha}=0 因为 \delta q_{\alpha}(\alpha=1,2, \cdots, s) 是相互独立的,则 \sum_{i=1}^{n}\left(\vec{F}_{i}-m_{i} \ddot{\vec{r}}_{i}\right) \cdot \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}}=0。 现在,我们距离成功更近了一步,因为虚位移已经被我们消去了。但还没完,方程中还有笛卡尔系里的 \overrightarrow{r}_{i},方程还得进一步化简。 这个方程中含有两项,我们分别进行讨论。 第一项是 \sum_{i=1}^{n} \vec{F}_{i} \cdot \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}},这一项中 \vec{F}_{i} 是我们已知的主动力,\frac{\partial \vec{r}_{i}}{\partial q_{\alpha}} 是笛卡尔坐标对一个广义坐标的偏导数,这是很容易算出来的,所以这一项我们不需要多加改造。 可以构造一个新的定义,令 Q_{\alpha}=\sum_{i=1}^{n} \vec{F}_{i} \cdot \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}},Q_{\alpha} 称为这个力学系统的广义力,且和广义坐标 q_{\alpha} 有对应关系。 这两者相乘的量纲始终为功的量纲,比如广义坐标为角度时,广义力为力矩。 第二项是 \sum_{i=1}^{n} m_{i} \ddot{\vec{r}}_{i} \cdot \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}},这一项涉及笛卡尔系的加速度 \ddot{\vec{r}_{i}},改造起来稍微麻烦点。在改造之前,我们先整理一下思路。 加速度是 \ddot{\vec{r}_{i}} 笛卡尔系的描述,若要转化成广义坐标,首先将位矢 \vec{r}_{i} 用广义坐标 q_{\alpha}(\alpha=1,2, \cdots, s) 表出,然后再对各项求两阶导。 这一过程实在太麻烦,故不按这条路走下去。 我们要明白,坐标变换中,什么量的变换更复杂,什么量的变换更简易。 像矢量,虽然矢量本身经过变换不会改变,但是我们要得到的一般是矢量的分量,分量一般是会变化的,而且在推导时会颇为复杂(就比如刚刚说的 \left.\ddot{\vec{r}}_{i}\right) 。 标量则不同,标量的本身是不变的,经坐标变换后,周然其具体形式改变了,但是标量和坐标的依赖关系比较简单。 对这一问题,我们可以考虑从力学系统的动能入手。先写出表达式,动能 T 是体系的动能,故 T=\sum_{i=1}^{n} \frac{1}{2} m_{i} \dot{\vec{r}}_{i}^{2}。 回到刚刚欲要改造的第二项 \sum_{i=1}^{n} m_{i} \ddot{\vec{r}}_{i} \cdot \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}},这里位矢仍以二阶导形式存在,而 T 中只存在一阶导。 为能用上 T,需要对二阶导进行“降阶”,其实就是不想让二阶导直接出现。 我们知道,对于相乘的两个函数进行求导,有 \frac{d(f \cdot g)}{d t}=f \cdot \frac{d g}{d t}+\frac{d f}{d t} \cdot g 移项可得 \frac{d f}{d t} \cdot g=\frac{d(f \cdot g)}{d t}-f \cdot \frac{d g}{d t} 简写为 \dot{f} \cdot g=\frac{d(f \cdot g)}{d t}-f \cdot \frac{d g}{d t} 。 观察一下这个式子,等号左边有 f 的一阶导,但是等式右边没有了,我们就利用这个式子来改造第二项。 令 f=\sum_{i=1}^{n} m_{i} \dot{\vec{r}}_{i},g=\frac{\partial \vec{r}_{i}}{\partial q_{\alpha}},则有 \sum_{i=1}^{n} m_{i} \ddot{r}_{i} \cdot \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}}=\frac{d}{d t}\left(\sum_{i=1}^{n} m_{i} \dot{\vec{r}}_{i} \cdot \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}}\right)-\sum_{i=1}^{n} m_{i} \dot{\vec{r}}_{i} \cdot \frac{d}{d t} \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}} 经过我们的代入,加速度没有直接出现了,但是式子变成了更复杂的两项。但无妨,这两项都可以通过运算来和 T 构成联系。 接下来,我们需要运用一个很显然的结论,这个结论叫拉格朗日关系,方程表达为 \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}}=\frac{\partial \dot{\vec{r}}_{i}}{\partial \dot{q}_{\alpha}} 和 \frac{d}{d t}\left(\frac{\partial}{\partial q_{\alpha}} \vec{r}_{i}\right)=\frac{\partial}{\partial q_{\alpha}}\left(\frac{d}{d t} \vec{r}_{i}\right)。 为了推导的连贯,先用这个结论,我把证明放在最后的附录。 将拉格朗日关系代入刚刚得到的式子中,可得到 \sum_{i=1}^{n} m_{i} \ddot{\vec{r}_{i}} \cdot \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}}=\frac{d}{d t}\left(\sum_{i=1}^{n} m_{i} \dot{\vec{r}_{i}} \cdot \frac{\partial \dot{\vec{r}}_{i}}{\partial \dot{q}_{\alpha}}\right)-\sum_{i=1}^{n} m_{i} \dot{\vec{r}}_{i} \cdot \frac{\partial}{\partial q_{\alpha}}\left(\frac{d}{d t} \vec{r}_{i}\right) 为往 T 去凑,整理一下符号的顺序,可得到 \sum_{i=1}^{n} m_{i} \ddot{\vec{r}}_{i} \cdot \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}}=\frac{d}{d t} \frac{\partial}{\partial \dot{q}_{\alpha}}\left(\sum_{i=1}^{n} \frac{1}{2} m_{i} \dot{\vec{r}_{i}}^{2}\right)-\frac{\partial}{\partial q_{\alpha}}\left(\sum_{i=1}^{n} \frac{1}{2} m_{i} \dot{\vec{r}_{i}}^{2}\right) 又 T=\sum_{i=1}^{n} \frac{1}{2} m_{i} \dot{\vec{r}_{i}}^{2},故 \sum_{i=1}^{n} m_{i} \ddot{\vec{r}}_{i} \cdot \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}}=\frac{d}{d t} \frac{\partial T}{\partial \dot{q}_{\alpha}}-\frac{\partial T}{\partial q_{\alpha}}。 于是,第二项也化成了一个很简洁的形式,我们将第一项和第二项代入原来得到的式子。 回顾一下,原来得到的式子是 \sum_{i=1}^{n}\left(\overrightarrow{F_{i}}-m_{i} \ddot{\vec{r}_{i}}\right) \cdot \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}}=0,而且我们定义广义力 Q_{\alpha}=\sum_{i=1}^{n} \vec{F}_{i} \cdot \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}},故式子化简为 Q_{\alpha}-\frac{d}{d t} \frac{\partial T}{\partial \dot{q}_{\alpha}}+\frac{\partial T}{\partial q_{\alpha}}=0。 移项得到 \frac{d}{d t} \frac{\partial T}{\partial \dot{q}_{\alpha}}-\frac{\partial T}{\partial q_{\alpha}}=Q_{\alpha},(\alpha=1,2, \cdots, s)。 这一组方程就是一般情况下拉格朗日方程。其中,T 为体系总动能,q_{\alpha} 为广义坐标,\dot{q}_{\alpha} 为广义速度,Q_{\alpha} 为广义力。 另外还有一个定义,广义动量 P_{\alpha}=\frac{\partial T}{\partial \dot{q}_{\alpha}},不难验证,令 T=\frac{1}{2} m v^{2},\dot{q}_{\alpha}=v,则 P_{\alpha}=m v 。 拉格朗日方程也可以推导出牛顿第二定律,这很容易证明。 取笛卡尔坐标系,有 T=\frac{1}{2} m v^{2}, \dot{q}_{\alpha}=v,又动能和坐标无直接关系,拉格朗日方程则化成 \frac{d(m v)}{d t}=F,也即牛顿第二定律。 不过到这还没完,拉格朗日方程存在另一特殊情况:力学系统所受的主动力全是保守力。 既然主动力全是保守力,那么力学系统肯定存在势能 U,而且 U 只和位矢 \vec{r}_{i}(i=1,2, \ldots, n) 有关,故 U=U\left(\vec{r}_{1}, \vec{r}_{2}, \ldots, \vec{r}_{n}\right)。 引入势能 U 之后,力的表述改变,即 \vec{F}_{i}=-\frac{\partial U}{\partial \vec{r}_{i}}。 相应地,广义力的表述也会变,即 Q_{\alpha}=\sum_{i=1}^{n}-\frac{\partial U}{\partial \vec{r}_{i}} \cdot \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}}。 仔细观察你会发现这个式子相当于 U\left(\vec{r}_{1}, \vec{r}_{2}, \ldots, \vec{r}_{n}\right) 对 q_{\alpha} 的全导数的相反数,即 Q_{\alpha}=-\frac{\partial U}{\partial q_{\alpha}} 。 将此式代入拉格朗日方程可得 \frac{d}{d t} \frac{\partial T}{\partial \dot{q}_{\alpha}}-\frac{\partial T}{\partial q_{\alpha}}=-\frac{\partial U}{\partial q_{\alpha}} 这个方程还可以进一步简化。由于 U 和广义速度无关,上式可以等价于 \frac{d}{d t} \frac{\partial(T-U)}{\partial \dot{q}_{\alpha}}-\frac{\partial(T-U)}{\partial q_{\alpha}}=0 我们引入一个定义,拉格朗日函数 L=T-U ,可得 \frac{d}{d t} \frac{\partial L}{\partial \dot{q}_{\alpha}}-\frac{\partial L}{\partial q_{\alpha}}=0 此式就是保守体系的拉格朗日方程。但更准确的说,这是保守体系下完整系统的拉格朗日方程。 接下来,我将解释一下“完整”的意思。 8 完整约束和不完整约束最开始我们谈到过约束的一种分类方法:理想约束和非理想约束。现在我需要再介绍一个分类方法:完整约束和非完整约束。 完整约束其实并不陌生,因为它也称几何约束。 几何约束,顾名思义,对物体状态的约束体现在几何上,事实上我们之前提到过的约束的例子,都属于几何约束。 几何约束的一般方程可以表述为 f(x, y, z)=0,也就是说只和物体的位置有关。 不过,还有一种例外。举个例子,圆柱在地面上纯滚动,其约束方程可以写为 \dot{x}-R \dot{\theta}=0,这种约束叫做微分约束。 观察一下可以发现,这个方程是可积的,即有 x-R\theta=0。 于是我们就将一个微分约束化为了几何约束。 不过并不是所有微分约束都可以这样操作,我们将这类约束称为可积分的微分约束,其与几何约束(完整约束)是等价的。 因为我们之前推导拉格朗日方程时,都是默认约束都为完整约束,这样的力学系统称为完整系统。 所以,\frac{d}{d t} \frac{\partial T}{\partial \dot{q}_{\alpha}}-\frac{\partial T}{\partial q_{\alpha}}=Q_{\alpha} 为完整系统的拉格朗日方程;\frac{d}{d t} \frac{\partial L}{\partial \dot{q}_{\alpha}}-\frac{\partial L}{\partial q_{\alpha}}=0 为保守体系下完整系统的拉格朗日方程。 至于非完整约束,可定义为不能积分的微分约束。 那如果一个力学系统除了有完整约束,还有非完整约束该怎么办?事实上,这样的力学系统称为非完整系统。 我们可以想象,在原来有 s 个完整约束的力学系统的基础上,再加一些( k 个)非完整约束,必然导致原来独立的 s 个广义坐标变得只有 s-k 个是独立的。 诶?这个场景似乎有些熟悉,这不就像是我们在达朗贝尔原理遇到虚位移不独立的困难吗? 同样的,我们可以想办法从非完整约束方程入手,将这些不独立的广义坐标联系起来。 接着,能通过一定技巧,将其中 k 个广义坐标前的乘数调为零,剩下的 s-k 个广义坐标便独立了,其前的乘数也为零。 可以说,非完整系统的做法和完整系统的求解过程很类似,这里不再赘述。 总结一下,我们由达朗贝尔原理出发,经过一系列的求解、化简,最终得到了完整系统的拉格朗日方程。 再加上容易推导(我未推导)的非完整系统的拉格朗日方程,经典力学的问题基本上可以由拉格朗日方程解决。 除了一些推论,拉格朗日力学似乎也就到处为止了。 可是,还没完,拉格朗日力学我们现在只窥得一半而已,甚至还不是核心的那一半。 从前面的推导来看,拉格朗日力学看起来就只是从牛顿力学逐渐过渡来而已。 但事情远远没有这么简单,为揭晓它神秘的面纱,且先从最速降线问题谈起。 9 最速降线问题最速降线问题的历史沿革还挺有意思的,给大家捋一捋,介绍一下。 最早在1630年,伽利略提出了这个问题。 问题内容是这样的:光滑小球在重力作用下从 A 处运动到 B 处,沿什么路径运动耗时最短? 有人凭直觉认为应该是直线,答案当然不会这么简单,直线是路程最短而不是时间最短。 伽利略在提出这个问题同时也给出了他自己的答案。然而,他做错了,他认为是圆。 1696年,约翰﹒伯努利向再次向整个数学界发起了整个问题的挑战,并且声称自己已经解出答案,如果年底没有人解出来,他就会公布答案。(嗯,其实他就是想证明他是最聪明的。) 1697年1月1日,约翰·伯努利正要公布答案时收到了来自老师莱布尼兹的答案,并在莱布尼兹的要求下延长时间。 当时整个欧洲数学界都被此问题吸引,纷纷投入研究。 不知道是不是因为莱布尼兹和牛顿的不融洽关系,约翰·伯努利还暗戳戳的嘲讽牛顿,并打算向他挑战这一问题。 后来,54岁的牛顿收到了来自约翰·伯努利的信,这时候牛顿已经在研究神学领域了,而且每天忙英国造币局的事务到很晚。 疲惫不堪的牛顿看到这封信时很愤怒,很不爽,然后熬夜到凌晨四点,将这个问题给解决了,次日便将答案寄给了当时的科学期刊 《Philosophical\quad Transactions》。 牛顿后来跟他朋友说,“在数学问题上,我不喜欢被外国人戏弄。” 最后,约翰·伯努利收到了四份答案,分别来自莱布尼茨(约翰·伯努利的老师)、洛必达(约翰·伯努利的学生)、雅各布·伯努利(约翰·伯努利的兄弟)及匿名的答案。 没错,匿名的正是牛顿,不过约翰·伯努利看到这封信时就说:“我看到这利爪就认出来了是头狮子。” 在这些答案中,牛顿、莱布尼兹、洛必达都是凭借深厚的微积分功底解决这个问题。 约翰·伯努利的解法比较巧妙,他将 A 到 B 的空间划分出无数层状介质,并将小球的运动和光所遵循的斯涅尔定律(折射定律)联系在一起,并得到最速降线是摆线这一答案。 但是,这个问题并没有到此结束。 1734年,约翰·伯努利的学生欧拉用全新的解法解决了这个问题,并推广出了一门学科,名变分法。 接下来,我们就看一下欧拉做了什么事情。 10 泛函极值 我们先对最速降线问题进行一般的分析。 首先,如图所示建立直角坐标系。 设最速降线的函数为 y=y(x),并将从 A 到 B 的过程划分为一系列无穷小过程。 先考察小球在一个无穷小过程的运动情况。设这个过程为从 (x, y) 到 (x+d x, y+d y),小球运动时间设为 dt 。 由于是无穷小过程,我们可以这一过程看作是匀速,速度大小均为 v。 很显然,由能量守恒定律有,\frac{1}{2} m v^{2}=m g y,故 v=\sqrt{2 g y}。 在 (x, y) 的无穷小过程的轨道弧长为 d s=\sqrt{d x^{2}+d y^{2}}=d x \sqrt{1+\frac{d y^{2}}{d x^{2}}}=d x \sqrt{1+y^{\prime 2}} 所以这个无穷小过程所需时间为 d t=\frac{d s}{v}=\frac{d x \sqrt{1+y^{\prime 2}}}{\sqrt{2 g y}} 将所有无穷小过程求和,也就是积分,可以得到运动总需时间为 t=\int_{A}^{B} d t=\int_{A}^{B} \frac{\sqrt{1+y^{\prime 2}}}{\sqrt{2 g y}} d x 从表达式中可以看出,因为 y, y^{\prime} 都是 x 的函数,所以时间 t 依赖于函数 y=y(x) 的具体形式。 从物理直观上也知道,不同函数 y=y(x) 也就是不同轨道,而不同轨道必然所需时间会不同。 我们先来思考一下,下降最快的轨道可能会有什么样的特点? 假设我们已经找到了最速降线轨道,我们对这个轨道进行一个无穷小调整,且这个调整是任意的。 可以想见,调整后的轨道对应的运动时间,必然比最速降线轨道大一个无穷小量,这和我们熟悉的极小值概念类似。 也就是说,最速降线轨道 y=y(x) 对应了是时间 t 取极值。 为进一步说明,我们将这个问题泛化一下。 设一个量 J(y(x))=\int_{a}^{b} F\left(x, y, y^{\prime}\right) d x,对于不同函数 y(x),J 有对应的不同值与之对应。 我们便将 J 称为函数 y(x) 的泛函(最简积分型泛函),函数 y(x) 称为泛函 J 的宗量,这两个概念的关系与函数和变量之间的关系是类似的。 现在,我们就将最速降线问题抽象成了泛函极值问题。 求一个函数 g(x) 的极值点,我们能够用 g^{\prime}=0 求解,更准确地说是用 d g=g^{\prime} d x=0 求解。 利用函数极值的条件可以证明,泛函取极值也有类似的充分必要条件,即 \delta J=0,这里的 \delta 称为变分记号。 这里先给出这个结论以作对比,后面我们会证明这个条件。 我们知道,\delta作用于 \vec{r} 上是虚位移,即位矢 \vec{r} 的一个任意的无穷小变化量。 一般的,\delta 作用于一个变量 x 上,也可以看作 x 的一个任意的无穷小变化量。 而 \delta 作用于函数 y(x) 和泛函 J 就难想象一点。 还是回到小球轨道问题,更加直观一些。 如图所示,设蓝色的曲线是我们已知的一条轨道 y(x)。 而橙色的曲线是在 y(x)的基础上做了无穷小变化,得到 y(x)+\delta y,而且这种变化作用在 A 到 B 整个区间上。 不过在这里要注意的是,轨道的始末端点还是固定的。 我们知道,函数微分为 d g=g(x+d x)-g(x) 类比过来,泛函变分则为 \delta J=J(y+\delta y)-J(y),即两个邻近泛函之差。 现在我们知道,泛函变分还是根据函数变分来的。 不过刚刚还没有定量地描述函数变分,现在来尝试一下。 从上边的图就能看出, \delta y 实际上是两条轨道的“距离”,而且不同 x 对应的\delta y 大小并不一致。 \delta y 的任意性让我们对它的描述变得很麻烦,我们还是要采取一个以不变应万变的方式来解决它。 设 \delta y=\varepsilon \eta(x),其中 \eta(x) 是一个不固定的函数,\varepsilon 是一个无穷小量。\eta(x) 用来描述轨道发生了怎么样的变化,因为不同的 x' 有相对应的 \eta\left(x^{\prime}\right)。 换句话说,对轨道的每一种调整都对应一个 \eta(x)。\varepsilon 是一个无穷小量,也是一个常数,它保证了 \delta y 依旧是无穷小。 最重要的是,我们将变分 \delta y 转化成了一个函数,泛函 J(y+\delta y)=J(y+\varepsilon \eta) 也就成了关于参数 \varepsilon 的函数。 好家伙,一个泛函极值问题就这样变成了我们熟悉的函数极值问题。 函数取极值时,必要条件是对自变量的导数等于 0,而且显然泛函 J(y+\varepsilon \eta ) 取极值时,有 \varepsilon=0,故 \left.\frac{d J(y+\varepsilon \eta) }{d \varepsilon}\right|_{\varepsilon=0}=0 由于 \varepsilon 是一个无穷小量,变分 \delta J=J(y+\varepsilon \eta)-J(y)=\left.\frac{d J(y+\varepsilon \eta)}{d \varepsilon}\right|_{\varepsilon=0} \varepsilon=0 所以,我们就证明了先前给出的结论:泛函取极值的充分必要条件为 \delta J=0。 现在,我们就尝试导出满足这个条件的 y(x) 11 欧拉方程泛函变分 \delta J=J(y+\delta y)-J(y) =\int_{a}^{b}\left(F\left(x, y+\delta y, y^{\prime}+\delta y^{\prime}\right)-F\left(x, y, y^{\prime}\right)\right) d x 前面我们说过, \delta 和 d 的运算规则基本相同,仿造微分运算的法则有 \delta J=\int_{a}^{b}\left(\frac{\partial F}{\partial y} \delta y+\frac{\partial F}{\partial y^{\prime}} \delta y^{\prime}\right) d x=0 麻烦的事来了,这个表达式中还有变分符号在,其任意性很难处理。 等等,这样的事情我们在前面遇到过。 只要我们能把括号里的式子提出一个 \delta y 来,那由 \delta y 的任意性,则 \delta y 前的乘数必为零才能使这个积分为零。 括号里的第一项不需要改造,我们直接改造第二项。 我们的目的是想要将第二项转化成带有 \delta y 的式子,那么我们就要想办法将 \delta y' 和 \delta y 联系起来。 这里,我们要用一个结论:\delta 和 \frac{d}{dx} 的先后顺序可以调换,也称对易,即 \delta\left(\frac{d}{d x} y\right)=\frac{d}{d x}(\delta y) 故 \int_{a}^{b} \frac{\partial F}{\partial y^{\prime}} \delta y^{\prime} d x=\int_{a}^{b} \frac{\partial F}{\partial y^{\prime}} \frac{d}{d x}(\delta y) d x=\int_{a}^{b} \frac{\partial F}{\partial y^{\prime}} d(\delta y) 为能够提出一个公因子 \delta y,利用分部积分法,上式可化为 \int_{a}^{b} \frac{\partial F}{\partial y^{\prime}} d(\delta y)=\left.\left(\frac{\partial F}{\partial y^{\prime}} \delta y\right)\right|_{a} ^{b}-\int_{a}^{b} \delta y d\left(\frac{\partial F}{\partial y^{\prime}}\right) 我们之前说过, 函数 y(x) 在端点 A, B 是固定的,故变分 \delta y 在端点的值为零,即 \left.\delta y\right|_{a}=\left.\delta y\right|_{b}=0 所以可以得到 \int_{a}^{b} \frac{\partial F}{\partial y^{\prime}} \delta y^{\prime} d x=-\int_{a}^{b} \delta y d\left(\frac{\partial F}{\partial y^{\prime}}\right) 把这个式子代入泛函变分的表达式 \delta J=\int_{a}^{b}\left(\frac{\partial F}{\partial y} \delta y+\frac{\partial F}{\partial y^{\prime}} \delta y^{\prime}\right) d x=0中 可以得到 \delta J=\int_{a}^{b}\left(\frac{\partial F}{\partial y} \delta y\right) d x-\int_{a}^{b} \delta y d\left(\frac{\partial F}{\partial y^{\prime}}\right)=0 为把两个积分放到一块,将第二项变形为 \int_{a}^{b} \frac{d}{d x}\left(\frac{\partial F}{\partial y^{\prime}}\right) \delta y d x,可得 \delta J=\int_{a}^{b}\left(\frac{\partial F}{\partial y}-\frac{d}{d x}\left(\frac{\partial F}{\partial y^{\prime}}\right)\right) \delta y d x=0 又由 \delta y 的任意性,必有 \frac{\partial F}{\partial y}-\frac{d}{d x}\left(\frac{\partial F}{\partial y^{\prime}}\right)=0,即 \frac{d}{d x}\left(\frac{\partial F}{\partial y^{\prime}}\right)-\frac{\partial F}{\partial y}=0 这个方程就叫做欧——拉方程(欧拉——拉格朗日方程)。 只要把 F=\frac{\sqrt{1+y^{\prime 2}}}{\sqrt{2 g y}} 代 入这个方程就可用于解出最速降线的方程,结果是摆线 \left\{\begin{array}{c}x=C_{1}(\theta-\sin \theta)+C_{2} \\ y=C_{1}(1-\cos \theta)\end{array}\right. 再仔细看一下欧—拉方程,你会发现,它和保守体系的拉格朗日方程 \frac{d}{d t} \frac{\partial L}{\partial \dot{q}_{\alpha}}-\frac{\partial L}{\partial q_{\alpha}}=0(\alpha=1,2, \cdots, s) 如出一辙。 可是,欧—拉方程不是泛函极值的一个条件吗?为什么和保守体系的拉格朗日方程长得一模一样? 刚刚我们谈到的泛函是一种积分型的泛函,是某个量的积分,拉格朗日方程正是这种泛函取极值时的条件。 而我们都知道,拉格朗日方程是用来描述物体的运动。 一个惊人的事实呼之欲出:物体的运动对应着某个量取极值。 12 哈密顿原理对于自由度为 s的力学系统,可设其广义坐标为 q_{1}, q_{2}, \cdots, q_{s},用 q 简化表示所有广义坐标。 系统的力学状态可由坐标和速度确定,所以每一个系统都有一个对应的拉格朗日函数(拉格朗日量) L\left(q_{1}, q_{2}, \cdots, q_{s}, \dot{q}_{1}, \dot{q}_{2}, \cdots, \dot{q}_{s}, t\right),简化表示为 L(q, \dot{q}, t)。 假设在时刻 t=t_{1} 和 t=t_{2} 系统的位置分别由两组坐标 q^{(1)} 和 q^{(2)} 确定,那么系统在这两个位置之间的实际运动使得积分 S=\int_{t_{1}}^{t_{2}} L(q, \dot{q}, t) d t \\ 取极值,或者表述为 \delta S=0,其中 S 称为作用量。 这一原理称为哈密顿原理,也是最小作用量原理的哈密顿表述。 重复上一小节的证明,很容易得到 \frac{d}{d t} \frac{\partial L}{\partial \dot{q}}-\frac{\partial L}{\partial q}=0。 对于自由度为 s 的力学系统,有 s 个不同的函数 q_{\alpha}(t)(\alpha=1,2, \cdots, s) 对应于哈密顿原理,可得到 s 个方程,即 \frac{d}{d t} \frac{\partial L}{\partial \dot{q}_{\alpha}}-\frac{\partial L}{\partial q_{\alpha}}=0(\alpha=1,2, \cdots, s),也就是拉格朗日方程。 从哈密顿原理出发和达朗贝尔原理出发推导拉格朗日方程,给人的感觉似乎是两条路,一个着眼于作用量,一个侧重于虚位移。 但事实上这两者都属于变分原理,哈密顿原理是积分形式,达朗贝尔原理则是微分形式。 这两者在经典力学的地位是相同的,是最基础的原理。只是,哈密顿原理的物理学思想却深刻很多。 细心的人会发现,刚刚用哈密顿原理推导出来的方程明明是保守体系的拉格朗日方程,非保守体系不是没有推导出来吗?那怎能说是原理呢? 我们先比较一下保守体系的拉格朗日方程和哈密顿原理推导出来的拉格朗日方程的异同。 共同点显然是方程是长得一样的,那不同点呢?都长得一样怎么还有不同的? 再回想一下,保守体系中定义了拉格朗日函数为 L=T-U,但是在哈密顿原理里,只是声明了每一个系统有对应的拉格朗日函数。 所以,我们知道的拉格朗日函数 L=T-U 只是在保守系成立。而对于非保守体系,事实上也能写出拉格朗日函数。 为了更好地解释这件事情,我们再重新理解一下,什么是拉格朗日函数。 13 拉格朗日函数的性质重述一下,只要给定可以表征力学系统的拉格朗日函数 L,由哈密顿原理就能够得到拉格朗日方程 \frac{d}{d t} \frac{\partial L}{\partial \dot{q}}-\frac{\partial L}{\partial q}=0 虽然我们现在并不知道拉格朗日函数 L 的具体形式,但不妨碍我们先了解一下它的一些性质。 设力学系统由 A 和 B 两个部分组成,每个部分都是封闭的,拉格朗日函数分别是 L_A 和 L_B。 两个部分相距足够远以至它们的相互作用可以忽略的情况下,系统的拉格朗日函数为 L=L_A+L_B。 拉格朗日函数满足的可加性说明一个事实:每一个独立部分的运动方程不可能包含与另一部分相关的物理量。 除此之外,还要进行另一个讨论。假设有两个作用量 S 和 S^{\prime},对应的拉格朗日函数分别为 L 和 L^{\prime}。 考虑一下什么情况下,这两个作用量导出的微分方程是一样的。 由哈密顿原理可知,系统的运动微分方程由方程 \delta S=0 导出,如果 S 和 S^{\prime}只相差一个常量的话,运动方程自然是一样的。 即 S^{\prime}-S=\int_{t_{1}}^{t_{2}}\left(L^{\prime}(q, \dot{q}, t)-L(q, \dot{q}, t)\right) d t=\text { Const } 观察可知,如果 L^{\prime}(q, \dot{q}, t)-L(q, \dot{q}, t)=\frac{d}{d t} f(q, t),便能符合上式。 此时 S^{\prime}-S=\int_{t_{1}}^{t_{2}} \frac{d}{d t} f(q, t) d t=f\left(q^{(2)}, t_{2}\right)-f\left(q^{(1)}, t_{1}\right)=Const 也就是说,如果 L 和 L^{\prime} 之间相差某个坐标和时间的函数 f(q, t) 对时间的全导数,运动微分方程是相同的。 14 拉格朗日函数推广好,接下来我们考察各种系统的拉格朗日函数会具有什么样的形式。 从最简单的自由运动质点开始。 由时间和空间的均匀性,拉格朗日函数 L 肯定不含位矢和时间 t。 同时空间是各向同性的,L肯定也不依赖于速度的方向,只依赖于速度的大小,也就是说 L 是 \vec{v}^{2}=v^{2} 的函数,即 L=L\left(v^{2}\right)。 很有意思的是,把 L=L\left(v^{2}\right) 代入拉格朗日方程,可以得到 \frac{\partial L}{\partial \vec{v}}=Const ,由此可得 \vec{v}= Const ,即惯性定律。 既然我们已知 L=L\left(v^{2}\right),那 L 的具体形式怎么确定呢? 这时候要用到力学的基本原理——相对性原理,即所有惯性系下物理定律相同。 设质点在 K 惯性系的速度为 \vec{v},K 惯性系相对于 K^{\prime} 惯性系有一个无穷小的速度 \vec{\varepsilon},则两惯性系下的速度关系为 \vec{v}^{\prime}=\vec{v}+\vec{\varepsilon}。 故 K'惯性系下质点的拉格朗日函数为L'=L \left(v^{\prime 2}\right)=L\left(v^{2}+2 \vec{v} \cdot \vec{\varepsilon}+\varepsilon^{2}\right) 将此式展开成 \vec{\varepsilon} 的冥级数,并忽略一阶以上小量得 L^{\prime}=L\left(v^{2}\right)+2 \frac{\partial L}{\partial v^{2}} \vec{v} \cdot \vec{\varepsilon} 要使质点在两个参考系下的运动微分方程相同, 所以 L' 和 L 只能相差一个依赖于坐标和时间的函数的全导数。 设 2 \frac{\partial L}{\partial v^{2}} \vec{v} \cdot \vec{\varepsilon}=\frac{d}{d t} f(\vec{r}, t)=\frac{\partial f}{\partial \vec{r}} \frac{d \vec{r}}{d t}+\frac{\partial f}{\partial t}=\frac{\partial f}{\partial \vec{r}} \vec{v}+\frac{\partial f}{\partial t} 等式左边可看作为一个只显含 v^{2} 的函数乘 v,右边第一项是不显含 v^{2} 的函数乘 v,所以这两个函数都一定是常数,故有 \frac{\partial L}{\partial v^{2}}= const 所以L 线性依赖于 v^{2},即 L=\frac{1}{2} m v^{2},其中 m 为一常数,物理意义则定义为质点的质量。 这也说明自由质点的拉格朗日函数其实是质点的动能。 根据拉格朗日函数的可加性,对于无相互作用的质点组成的自由质点系有 L=\sum_{i=1}^{n} \frac{1}{2} m_{i} v^{2}_{i} 现在考虑质点之间有相互作用,但不受外部作用的质点系,也叫封闭质点系。 为了描述质点之间的相互作用,可以在自由质点系的拉格朗日函数中增加坐标的某一函数,这个函数记为 -U,故有 L=\sum_{i=1}^{n} \frac{1}{2} m_{i} v^{2}-U\left(\vec{r}_{1}, \vec{r}_{2}, \cdots, \vec{r}_{n}\right),其中 U 为质点系的势能。 这也就是我们常见的保守系的拉格朗日函数的形式。 若是用广义坐标表示可化为 L=\sum_{i, k}^{s} \frac{1}{2} a_{i k}(q) \dot{q}_{i} \dot{q}_{k}-U(q),其中 a_{i k}(q) 只是广义坐标的函数,取决于广义坐标和直角坐标的变换关系。 到这里回想一下,我们刚刚想要解决的是非保守体系的拉格朗日方程。 要解决这个问题,我们先思考一下什么是非保守力? 其定义想必大家都熟悉,无非是做功与路径有关的力,比如说摩擦力。 可是,摩擦力的本质也是电磁力,电磁力不也是保守力吗? 事实上我们回顾一下四大基本力:引力、电磁力、强力、弱力,会发现这四者都是保守力。 如果从微观上去探讨,我们完全可以把所有力当作保守力,所有力学系统可以都可以看作保守系统,系统的能量也总能分为动能和势能。 也就是说我们从哈密顿原理推导出来的拉格朗日方程就是普适的方程。 可是在有些情况,要把系统的能量只划分为动能和势能并不容易,由此衍生了如内能、化学能的概念。 而且如果所有力都从微观层面的保守力去探究是很麻烦的。 比如物块在地面运动,由于存在摩擦力,物体终将停止运动。 在这个过程中,物块的动能实际上转化成了分子的动能,但宏观来看,我们把物块动能的减少看作是摩擦力做功的结果,也就是转化成了内能。 并且我们不去探讨电磁力(摩擦力的本质)如何做功,而是将摩擦力当作一种非保守力去看待,这也是经典力学里常用的处理方法。 小结一下,从哈密顿原理推导出来的拉格朗日方程原则上确实可以描述所有力学系统的状态,“原理”的地位无可撼动。 而非保守力只是在经典力学中的一种等效描述,无法由哈密顿原理直接导出。 不过,在经典力学中,非保守体系对应的拉格朗日方程也可以写出来。 非保守体系可以看作是受非保守力的“保守体系”。 比如说滑块在光滑平面运动,那么滑块可以看作是保守体系,若平面对滑块存在摩擦力,那么滑块就是受非保守力的“保守体系”。 我们知道,达朗贝尔原理推导的一般体系的拉格朗日方程可以写为 \frac{d}{d t} \frac{\partial T}{\partial \dot{q}_{\alpha}}-\frac{\partial T}{\partial q_{\alpha}}=Q_{\alpha} 其中 Q_{\alpha} 是广义力,把广义力再分为两项——广义保守力和广义非保守力 故Q_{\alpha}=Q_{\alpha}^{\text {保守}}+Q_{\alpha}^{\text {非保守}},而且显然有 Q_{\alpha}^{\text {保守}}=-\frac{\partial U}{\partial q_{\alpha}} 故方程化为 \frac{d}{d t} \frac{\partial T}{\partial \dot{q}_{\alpha}}-\frac{\partial T}{\partial q_{\alpha}}=-\frac{\partial U}{\partial q_{\alpha}}+Q_{\alpha}^{\text {非保守}} 引入保守体系的拉格朗日函数L=T-U,上式化为 \frac{d}{d t} \frac{\partial L}{\partial \dot{q}_{\alpha}}-\frac{\partial L}{\partial q_{\alpha}}=Q_{\alpha}^{\text {非保守}}, 其中 Q_{\alpha}^{\text {非保守}}=\sum_{i=1}^{n} \vec{F}_{i}^{\text {非保守}} \cdot \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}}。 这个方程也就是非保守体系对应的拉格朗日方程。 15 结语至此,拉格朗日力学的主线便梳理完了。 概括一下,我们从牛顿力学的约束难题出发,导出了达朗贝尔原理,再经推导得到了拉格朗日方程。 而后我们由哈密顿原理,重建了拉格朗日力学的框架,得到了一般形式的拉格朗日方程。 你试着用拉格朗日方程去解决经典力学问题就能够发现,在较为复杂的情况下,拉格朗日方程的表现一般比牛顿运动定律更好。 然而,拉格朗日力学的真正的价值还不在于此。 如果拉格朗日力学只是用来解决经典力学问题的话,那就是大材小用了。 哈密顿原理指出,力学系统的运动必有力学作用量取极值,然而对于其他不同的系统来说,也有相应的作用量取极值。 之前我们说,哈密顿原理也叫做最小作用量原理的哈密顿表述,我们可以概括地说一下最小作用量原理的定义,即系统必然按作用量取极值的方式运行。 最小作用量原理是适用于整个宇宙的,自牛顿以来的所用物理学理论都可以用作用量表述出来。 比如麦克斯韦的四个电磁方程以及爱因斯坦的十个引力方程都可以概括成形式简单的作用量。 也就是说无论运动方程有多复杂,都可以概括成简练的作用量。 可以说,整个世界就是用单个作用量来描述。 每当物理学家开拓了一个新的领域,就在这个描述世界的作用量上加上一项。 因而,物理学发展的任一阶段,描述世界的作用量都是分离的,我们可以指着其中的某一项说,这项是描述电磁的,那项是描述引力的,等等。 所以,理论物理学家们做的工作就是修补整个世界的作用量,比如改动一下这个项,或者增添一个新领域对应的项。 用作用量的方式描述世界,你甚至能够在一张餐巾纸上写下整个宇宙的设计。 而且,理论物理学家们正在努力把上面六项归成一个更紧凑的作用量。 另外,在网上非常唬人的一个长篇公式其实就是未合并的标准模型的拉格朗日量。 好了,拉格朗日力学的主线就写到这里,在下一篇文章中会介绍分析力学的另一分支——哈密顿力学。 没错,这个哈密顿还是提出哈密顿原理里的哈密顿。 16 附录 拉格朗日关系证明证明 \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}}=\frac{\partial \dot{\vec{r}}_{i}}{\partial \dot{q}_{\alpha}} 和 \frac{d}{d t}\left(\frac{\partial}{\partial q_{\alpha}} \vec{r}_{i}\right)=\frac{\partial}{\partial q_{\alpha}}\left(\frac{d}{d t} \vec{r}_{i}\right) 证: (1)设 \vec{r}_{i}=\vec{r}_{i}\left(q_{1}, q_{2}, \cdots q_{s}, t\right)=\vec{r}_{i}(q, t) 故 \dot{\vec{r}}_{i}=\frac{d \vec{r}_{i}}{d t}=\sum_{\alpha=1}^{s} \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}} \dot{q}_{\alpha}+\frac{\partial \vec{r}_{i}}{\partial t} 将此式子对 \dot{q}_{\beta} 求偏导得 \frac{\partial \dot{\vec{r}}_{i}}{\partial \dot{q}_{\beta}}=\frac{\partial}{\partial \dot{q}_{\beta}}\left(\sum_{\alpha=1}^{s} \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}} \dot{q}_{\alpha}+\frac{\partial \vec{r}_{i}}{\partial t}\right)=\frac{\partial}{\partial \dot{q}_{\beta}}\left(\frac{\partial \vec{r}_{i}}{\partial q_{\beta}} \dot{q}_{\beta}\right)=\frac{\partial \vec{r}_{i}}{\partial q_{\beta}} 将 \beta 替换成 \alpha 则有 \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}}=\frac{\partial \dot{\vec{r}}_{i}}{\partial \dot{q}_{\alpha}} (2)\quad \dot{\vec{r}}_{i}=\frac{d \vec{r}_{i}}{d t}=\sum_{\alpha=1}^{s} \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}} \dot{q}_{\alpha}+\frac{\partial \vec{r}_{i}}{\partial t}, 将此式子对 q_{\beta} 求偏导 \frac{\partial \dot{\vec{r}_{i}}}{\partial q_{\beta}}=\frac{\partial}{\partial q_{\beta}}\left(\sum_{\alpha=1}^{s} \frac{\partial \vec{r}_{i}}{\partial q_{\alpha}} \dot{q}_{\alpha}+\frac{\partial \vec{r}_{i}}{\partial t}\right)=\sum_{\alpha=1}^{s} \frac{\partial^{2} \vec{r}_{i}}{\partial q_{\beta} \partial q_{\alpha}} \dot{q}_{\alpha}+\frac{\partial^{2} \vec{r}_{i}}{\partial q_{\beta} \partial t} =\sum_{\alpha=1}^{s} \frac{\partial}{\partial q_{\alpha}}\left(\frac{\partial \vec{r}_{i}}{\partial q_{\beta}}\right) \dot{q}_{\alpha}+\frac{\partial}{\partial t}\left(\frac{\partial \vec{r}_{i}}{\partial q_{\beta}}\right)=\frac{d}{d t}\left(\frac{\partial \vec{r}_{i}}{\partial q_{\beta}}\right) 即 \frac{d}{d t}\left(\frac{\partial}{\partial q_{\alpha}} \vec{r}_{i}\right)=\frac{\partial}{\partial q_{\alpha}}\left(\frac{d}{d t} \vec{r}_{i}\right) 证毕。 |