如何理解量子物理或统计物理中几乎无处不在的 exp(-E/kT) ?

统计物理中的\exp (-\beta E)主要在正则系综(canonical ensemble)出现,而这系综出现在粒子数恒定及可与外界交换能量的系统,而外界与系综已形成热平衡(thermal equilibrium)状态。

第一,由于已达至热平衡,外界和系统的能量/粒子数是相同的,所以系统的总能量可说已定;第二,统计力学中,所有微态(microstate)的机率都是相同的。基于这两点,可证明\exp (-\beta E)是此系综的分佈,具体证明已由 @lee aichi给出。

我们可以用一个电脑模拟实验去理解。假设有N粒子,而由热平衡所定下的总能量为E,假设能量是量子化(quantized)的,而假设\epsilon_n=n。那粒子的能量分佈是否\exp (-\beta n)?如果这假设成立,
p(\epsilon_n) = (1-\exp(-\beta)) \exp(-\beta n)
那每粒子的平均能量为\langle \epsilon \rangle = \sum_n \epsilon_n p(\epsilon_n) = \frac{e^{-\beta}}{1-e^{-\beta}}及其涨落(fluctuation)为
\langle (\Delta \epsilon)^2 \rangle = \sum_n \epsilon_n p(\epsilon_n) = \frac{e^{-\beta}}{(1-e^{-\beta})^2}
做点代数,可知
\beta = \log \frac{1+\langle \epsilon \rangle}{\langle \epsilon \rangle} …(1)

\langle (\Delta \epsilon)^2 \rangle = \langle \epsilon \rangle (1+\langle \epsilon \rangle) …(2)

大家可到canonical_ensemble/sim_mr_canonical.py at master 路 stephenhky/canonical_ensemble 路 GitHub,参第一个函数raw_sim_particle_levels看具体做法。做完模拟后分析数据,可验证(1)(参图一)和(2)(参图二)。

图一

图二

从(1)可知,\beta跟热平衡能量有关,从热力学可知,\beta = \frac{1}{k_B T}

在量子力学中,\exp\left(-\frac{i H t}{\hbar}\right)是酉矩阵(unitary matrix),描述量子态的随时间演化。由于统计力学和量子力学这一点的相似性,用Wick’s rotation,我们可以往返量子力学和统计力学。这是量子场论和统计场论的联系。由于量子场论的时间通常由0至无穷大,但统计场论的则由0至\frac{1}{k_B T},我们出现了Matsubara frequency,其场论中的和可用简单的複变(complex variable)手法计算出,要注意玻色粒子(bosons)和费米粒子(fermions)是不同的。

但如果我们想知道一个统计系统的时间的演化,我们怎样把\exp (-\beta E)\exp\left(-\frac{i H t}{\hbar}\right)放在一起?我们要借助Keldysh formalism。一个开放量子系统(open system)的时间演化,可用influence functional(参Feynman and Hibbs最后一课),当中有向前和向后两个路径的组合。如果是多粒子系统,这路径会沿着虚轴走。可参看以下书籍:

1. Condensed Matter Field Theory: Alexander Altland, Ben D. Simons: 9780521769754: Amazon.com: Books 第11课
2. Quantum Mechanics and Path Integrals: Emended Edition (Dover Books on Physics): Richard P. Feynman, Albert R. Hibbs, Daniel F. Styer: 9780486477220: Amazon.com: Books 第12课
3. Nonequilibrium Quantum Field Theory (Cambridge Monographs on Mathematical Physics): Esteban A. Calzetta, Bei-Lok B. Hu: 9780521641685: Amazon.com: Books

注:函数raw_sim_particle_levels的实现:

def raw_sim_particle_levels(N, totalE, R=float('inf')):
    """
    Simulate the energy levels for all particles, given
    there are N particles, totalE unit of energies and R
    energy levels.

    Args:
        N (int): Total number of particles.
        totalE (int): Total units of energies.
        R (int or float, optional): Number of energy levels. Defaults to float('inf').

    Returns:
        ndarray: An array (ndarray) of N elements storing the energy levels of all the
        N particles in the simulation.
    """
    partlevels = np.zeros(N)
    for i in range(totalE):
        avail_part = np.where(partlevels<(R-1))[0]
        #idx = np.random.choice(avail_part)
        idx = avail_part[np.random.randint(0, high=len(avail_part))]
        partlevels[idx] += 1
    return partlevels

来源:知乎 www.zhihu.com

作者:何史提

【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载

此问题还有 31 个回答,查看全部。
延伸阅读:
既然有大型粒子加速器,小型的有什么用?
关灯后,灯光到哪里去了?