本节摘要:费曼图是威克定理整理结果的可视化:顶点代表一次相互作用,线代表一个收缩(传播子),外线接名册上的实粒子。费曼规则表把图逐元素翻译成数学因子,使振幅计算机械化。本节以 φ⁴ 理论完成第一个全流程案例:树图 2→2 的振幅 −λ、微分截面 λ²/64π²s、总截面约 387 纳靶恩,并清点对称因子的计数逻辑。
承接 4.2 的理账术:本节给它装上图形界面并跑通第一个完整算例;通往第四幕开场的截面定义——那里振幅将正式换算成探测器语言。
把 4.2 的输出逐项画下来:每个相互作用顶点是一个点,每对收缩是一条线,外场是伸出去的线头。约定俗成的画法与读法:
图的元素 物理含义 翻译因子(phi⁴ 理论) -------- -------- -------- 顶点 一次相互作用发生 -i λ × 4! 抵消/4!(组合因子) 内线(两点收缩) 一个离壳粒子传账 i/(k²-m²+iε)(2.5 的传播子) 外线(接名册) 实粒子的入射/出射 波函数归一因子 虚线(phi⁴ 惯例) 标量粒子的线型 ——(QED 用实线画费米子、波浪线画光子)
“图到公式”的翻译规则就叫费曼规则。它的合法性全部来自前两节:顶点来自戴森级数的 H_int 因子,内线来自威克收缩,外线来自名册投影。没有新假设,只有整理。需要郑重提醒读图纪律:图不是时空轨迹照片。纵轴通常不是时间,圈不是“电子绕圈飞”,虚粒子不是被拍到的实体;图是级数项的拓扑标签,每个拓扑对应一个积分。把它当漫画读是初学第一大坑。

# 演算 1:phi⁴ 树图 2→2 的振幅与截面(λ=1,√s=10 GeV,质量忽略) import math lam = 1.0 sqrs = 10.0 dsigma = lam**2/(64*math.pi**2*sqrs) # dσ/dΩ sigma_half = dsigma*4*math.pi/2 # 全立体角,末态全同再除 2 print("dσ/dΩ = %.4e GeV^-2" % dsigma) print("σ(全同修正 1/2)= %.4e GeV^-2" % sigma_half) print("换算:1 GeV^-2 = 0.3894 mb = 3.894e5 nb") print("σ = %.1f nb" % (sigma_half*3.894e5)) # 输出: # dσ/dΩ = 1.5831e-04 GeV^-2 # σ(全同修正 1/2)= 9.9472e-04 GeV^-2 # 换算:1 GeV^-2 = 0.3894 mb = 3.894e5 nb # σ = 387.3 nb
从图到纳靶恩,中间只有一次查表(费曼规则)、一次配方(微分截面公式,第四幕推导)、一次单位换算。387 纳靶恩是什么量级?大约是原子核对慢中子的几何截面的万分之一——弱耦合理论里树图过程普遍是纳靶恩到皮靶恩的生意。这个数字流程(图 → 振幅 → 截面 → 单位)是第四幕反复使用的主旋律。
高阶图里同一拓扑可能被多种威克配对重复给出,分账时要除掉重复计数。以“8 字形真空图”(单顶点、两条自收缩圈)为例:四个场两两收缩有 3 种配对,每种还各有内部对称;系统清点给出对称因子 S = 8,振幅带系数 1/8。一般规则是"交换不改变图的所有方式的数目分之一"。树图的 S 通常为 1(组合因子恰好被 4! 吸收),圈的对称因子是出错的著名高发区——多除或少除一个 2,结果直接错一半。
# 演算 2:四场收缩的等价类清点(对应三种拓扑标签) def pairings(items): if not items: yield [] return first = items[0] for i in range(1, len(items)): rest = items[1:i] + items[i+1:] for p in pairings(rest): yield [(first, items[i])] + p ps = list(pairings([1, 2, 3, 4])) print("四种场的全收缩:", ps) print("共", len(ps), "种;在单顶点真空图中它们彼此等价 -> 图只画一张,配对称因子") # 输出: # 四种场的全收缩: [[(1, 2), (3, 4)], [(1, 3), (2, 4)], [(1, 4), (2, 3)]] # 共 3 种;在单顶点真空图中它们彼此等价 -> 图只画一张,配对称因子
⚠️ 易错点:树图振幅 −iλ 里不含能量依赖(φ⁴ 顶点无导数),这是特例不是通则。QED 的顶点带 γ^μ、传播子带旋量结构,动量依赖丰富;把“树图就是常数”记忆化,到第四幕必然翻车。
💡 关键直觉:费曼图把"计算一个过程"变成"枚举所有允许的分镜"。画漏图等于漏记一笔账——高阶计算的正确性问题,大半是图枚举的完备性问题而非积分技巧问题。
对称因子最怕背错,最不怕数错。威克定理断言 2n 个场的全收缩数是 (2n−1)!!,递归枚举可以直接验证;单顶点真空泡("8 字图")的展开系数 1/8 也能一次数清:
# 演算 3:(2n-1)!! 的枚举验证与真空泡系数 import math def pairings(items): if not items: yield [] return first = items[0] for i in range(1, len(items)): rest = items[1:i] + items[i+1:] for p in pairings(rest): yield [(first, items[i])] + p for n in (1, 2, 3, 4): cnt = len(list(pairings(list(range(2*n))))) print("2n=%d 个场:全收缩 %d 种((2n-1)!! 验证 %s)" % (2*n, cnt, cnt == math.prod(range(1, 2*n, 2)))) coef = len(list(pairings([1, 2, 3, 4])))/math.factorial(4) print("单顶点真空泡:3 种收缩 / 4! = %.4f,即展开系数 1/8(对称因子 S=8)" % coef) # 输出: # 2n=2 个场:全收缩 1 种((2n-1)!! 验证 True) # 2n=4 个场:全收缩 3 种((2n-1)!! 验证 True) # 2n=6 个场:全收缩 15 种((2n-1)!! 验证 True) # 2n=8 个场:全收缩 105 种((2n-1)!! 验证 True) # 单顶点真空泡:3 种收缩 / 4! = 0.1250,即展开系数 1/8(对称因子 S=8)
0.125 的来历值得走一遍:单顶点真空振幅是 (−iλ/4!)·⟨0|Tφ⁴|0⟩,四个场两两收缩给出 3 份等价的账,于是系数 = 3/4! = 3/24 = 1/8。分母上的 8 就是"重复机位"的总数——对称因子 S=8 不是查表查来的,是 3 份收缩与 24 份顶点排列相除的结果。每一份展开系数都能用这样的枚举兜底;圈图计算出错时,先回到这个小算器清点机位,比反复检查积分技巧更能定位病灶。
分镜即算法的体系已经闭环。第四幕开机首演:电磁相互作用的完整剧目——截面语言、三大树图过程、以及圈图带来的第一份精确到小数点后多位的惊喜。