统计物理中的主要在正则系综(canonical ensemble)出现,而这系综出现在粒子数恒定及可与外界交换能量的系统,而外界与系综已形成热平衡(thermal equilibrium)状态。
第一,由于已达至热平衡,外界和系统的能量/粒子数是相同的,所以系统的总能量可说已定;第二,统计力学中,所有微态(microstate)的机率都是相同的。基于这两点,可证明是此系综的分佈,具体证明已由 @lee aichi给出。
我们可以用一个电脑模拟实验去理解。假设有N粒子,而由热平衡所定下的总能量为E,假设能量是量子化(quantized)的,而假设。那粒子的能量分佈是否?如果这假设成立,
。
那每粒子的平均能量为及其涨落(fluctuation)为
做点代数,可知
…(1)
和
…(2)
大家可到canonical_ensemble/sim_mr_canonical.py at master 路 stephenhky/canonical_ensemble 路 GitHub,参第一个函数raw_sim_particle_levels看具体做法。做完模拟后分析数据,可验证(1)(参图一)和(2)(参图二)。
图一
图二
从(1)可知,跟热平衡能量有关,从热力学可知,。
在量子力学中,是酉矩阵(unitary matrix),描述量子态的随时间演化。由于统计力学和量子力学这一点的相似性,用Wick’s rotation,我们可以往返量子力学和统计力学。这是量子场论和统计场论的联系。由于量子场论的时间通常由0至无穷大,但统计场论的则由0至,我们出现了Matsubara frequency,其场论中的和可用简单的複变(complex variable)手法计算出,要注意玻色粒子(bosons)和费米粒子(fermions)是不同的。
但如果我们想知道一个统计系统的时间的演化,我们怎样把和放在一起?我们要借助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 个回答,查看全部。
延伸阅读:
既然有大型粒子加速器,小型的有什么用?
关灯后,灯光到哪里去了?