哈密顿力学用广义坐标 qiq_i 和共轭动量 pip_i 来改写经典力学。它不再只用一个关于位置的二阶方程,而是给出两个相互联系的一阶方程,描述系统如何在相空间中运动。

对于一个具有坐标 qiq_i、动量 pip_i 和哈密顿量 H(q,p,t)H(q,p,t) 的系统,其运动方程为

q˙i=Hpi,p˙i=Hqi\dot{q}_i = \frac{\partial H}{\partial p_i}, \qquad \dot{p}_i = -\frac{\partial H}{\partial q_i}

如果你搜索过“什么是哈密顿力学”,核心答案就是这个:它是经典力学的一种相空间表述,其中 HH 生成 qiq_ipip_i 的时间演化。

哈密顿量表示什么

哈密顿量是由描述系统状态的变量构成的函数。它最主要的作用是生成运动方程。

在许多标准力学例子中,HH 也等于用坐标和动量表示的总能量。不过这种对应关系需要满足一定条件,因此更稳妥的说法是:哈密顿量在很多情况下等于总能量,但并非所有表述中都如此。

相空间展示了什么

相空间是一个以坐标及其共轭动量为坐标轴的空间。对于一个自由度,系统状态是一个点 (q,p)(q,p),因此相空间是二维的。对于 NN 个自由度,相空间有 2N2N 维。

这就是相空间有用的原因。普通空间只告诉你粒子在哪里,而相空间同时告诉你它的位置以及与该坐标配对的动量。相空间中的一个点,就代表模型在某一时刻的一个完整状态。

随着时间推移,这个点会描出一条曲线。哈密顿方程决定了沿这条曲线运动的方向。

为什么哈密顿方程有帮助

哈密顿方程把动力学清晰地分成两部分:

  • q˙i\dot{q}_iHH 对动量的变化决定
  • p˙i\dot{p}_iHH 对位置的变化决定

这种结构很有用,因为它把力学转化为一个统一的状态空间问题。在高等力学、统计力学中尤其重要,也是在通向量子力学时的一座桥梁。

即使在入门课程中,它的价值也在于清晰。你可以在同一个框架下看到坐标、动量、守恒定律和几何结构是如何联系在一起的。

例题:一维简谐振子

考虑一个质量为 mm 的物体连接在理想弹簧上,弹簧劲度系数为 kk。设坐标为 qq,共轭动量为 pp

对于这个系统,

H(q,p)=p22m+12kq2H(q,p) = \frac{p^2}{2m} + \frac{1}{2}kq^2

第一项是用动量表示的动能,第二项是弹簧的势能。

现在应用哈密顿方程:

q˙=Hp=pm\dot{q} = \frac{\partial H}{\partial p} = \frac{p}{m} p˙=Hq=kq\dot{p} = -\frac{\partial H}{\partial q} = -kq

这两个一阶方程已经完整描述了运动。为了把它们和熟悉的二阶形式联系起来,对 q˙=p/m\dot{q} = p/m 关于时间求导:

q¨=p˙m\ddot{q} = \frac{\dot{p}}{m}

再代入 p˙=kq\dot{p} = -kq

q¨=kmq\ddot{q} = -\frac{k}{m}q

于是就恢复了通常的简谐运动方程。

这个例子的关键结论是:哈密顿力学描述的并不是一个不同的振子。它描述的是同样的物理,只是采用了一种通常更容易推广的形式。

哈密顿力学中的常见错误

认为哈密顿量总是总能量

对于许多标准力学系统,这样说是对的,但它不是普遍规律。更稳妥的说法是:哈密顿量生成时间演化,而在很多常见情况下它也等于总能量。

把相空间和普通空间混为一谈

相空间不仅包含位置坐标,还包含动量坐标。相空间中的一个点,不只是房间中的某个位置或一条直线上的某个点。

在所有坐标系中都把 pp 当成 mvmv

在简单的笛卡尔坐标情形下,动量常常写成 p=mvp = mv。但在更一般的坐标中,共轭动量必须由模型来定义,不能直接套用这个公式。

认为一阶方程不够完整

哈密顿方程虽然是一阶的,但它们合在一起,包含了与同一系统熟悉的二阶方程完全相同的动力学信息。

什么时候使用哈密顿力学

当你希望以一种结构化方式理解经典动力学时,哈密顿力学就很有用,尤其适用于具有多个自由度、守恒量或对称性的系统。它也是通向统计力学和量子理论相关思想的自然桥梁。

对于更简单的问题,牛顿定律可能是最快的路径。但当系统的几何结构与受力计算同样重要时,哈密顿力学就会显得特别有价值。

试着做一道类似的哈密顿力学题

H(q,p)=p22m+mgqH(q,p) = \frac{p^2}{2m} + mgq

出发,考虑一个粒子在地球表面附近沿竖直方向运动。用哈密顿方程求出 q˙\dot{q}p˙\dot{p},然后把结果与你已经熟悉的匀加速度模型进行比较。

如果你想顺着这个主题继续学下去,一个自然的下一步是把本页与简谐运动对照阅读。这样有助于你看到同一个振子在牛顿语言和哈密顿语言中的不同表达。

需要解题帮助?

上传你的问题,几秒钟内获得经过验证的分步解答。

打开 GPAI Solver →