本节摘要:把"均匀各向同性"写进宇宙学原理,场方程给出弗里德曼-罗伯逊-沃克度规与弗里德曼方程——整张宇宙海图只依赖标度因子 a(t) 与曲率 k。红移即标度因子的倒数比,临界密度与三个 Ω 参数构成宇宙的收支表;1998 年 Type Ia 超新星揭示加速膨胀,暗能量(宇宙学常数的翻案,见 3.2 节)占账本约七成。本站用数值积分回溯宇宙史,算出年龄、红移距离与命运三岔口。
航志最后一次换镜头:从黑洞航区拉到整个可观测宇宙。站在十亿秒差距的尺度上看,星系团像均匀撒开的粉末、朝哪个方向看都一样——把这条经验事实升格为宇宙学原理(均匀且各向同性),场方程的解被压缩到几乎唯一的形态(弗里德曼、罗伯逊、沃克三人的工作):
ds² = −c²dt² + a(t)²[dr²/(1 − kr²) + r²dΩ²]
全部动力学住进一个函数 a(t)(标度因子)和一个常数 k(空间曲率,取 −1、0、1)。直观读法:星系协动不动,是空间网格本身在伸缩——不是星系在空间里飞散(这也解释了为什么没有"膨胀中心":每处看到的退行都一样)。红移的账目由此改写:光在旅途中被拉伸的比例就是标度因子的比值,1 + z = a(当下)/a(发光时)——宇宙学红移不是多普勒效应,是几何记账。
把 FRW 度规代入场方程,右侧放上 3.1 节的理想流体(能量密度 ρ、压强 p),得到两条弗里德曼方程:
(a′/a)² = 8πGρ/3 − kc²/a² + Λc²/3,a″/a = −(4πG/3)(ρ + 3p/c²) + Λc²/3
第一条是能量账(膨胀率平方等于各组分贡献减曲率加宇宙学常数),第二条是力账——注意那个熟悉的组合 ρ 加 3p:普通物质与辐射使膨胀减速(源强度为正),负压成分(暗能量 p ≈ −ρc²)使膨胀加速。3.1 节排练过的"负压翻转引力符号",在这里成为宇宙加速的引擎。定义临界密度 ρ_c = 3H²/8πG(H 即 a′/a,哈勃参数),各组分占比记作 Ω_i = ρ_i/ρ_c,当代观测的收支表:物质约 0.31(其中普通物质仅 0.05,暗物质 0.26)、暗能量约 0.69、曲率近乎 0——一张"平直、以暗能量主导"的账本。

怎么知道宇宙在膨胀、还在加速?靠距离阶梯一级级往外量:近处用视差,再远用造父变星,最远用 Type Ia 超新星——5.4 节提过,白矮星摸到钱德拉塞卡极限整星引爆,光度近乎整齐划一,是天然的"标准烛光"。1998 年两个团队用高红移超新星画"距离-红移图",发现遥远超新星比减速宇宙的预期更暗更远:宇宙不是在减速,而是在加速。加速需要负压,账本上唯一的候选是宇宙学常数——3.2 节那段"最大错误"的翻案史在此收官。2011 年诺贝尔奖授予这一发现。
# 数值积分弗里德曼方程:物质加暗能量的平直宇宙 import math H0 = 2.2e-18 # 当今哈勃率,每秒 Om, OL = 0.31, 0.69 # 物质与暗能量占比 def E(a): # 弗里德曼方程右边开方(归一化) return math.sqrt(Om/a**3 + OL) a, da = 1.0, 1e-5 t = 0.0 # 从今天倒着往回积分 dt_by_da = lambda a: 1.0/(a*E(a)*H0) # dt/da,注意 a 乘 H age = 0.0 n = 20000 da_step = 1.0/n for i in range(n): # 从 a=1 积分回 a≈0 a_now = 1.0 - i*da_step age += dt_by_da(a_now)*da_step print(f"宇宙年龄约 {age/3.156e7/1e9:.1f} 十亿年(观测值 13.8)") a_decel_end = (Om/OL)**(1/3) # 物质暗能量平等的标度因子 z_transition = 1/a_decel_end - 1 print(f"加速开始于红移 z ≈ {z_transition:.2f}(约 60 至 80 亿年前)")
读数:数值积分给出宇宙年龄约 137 至 138 亿年(与普朗克卫星的 13.8 十亿年一致——误差来自 H0 与 Ω 的取值);物质与暗能量"平权"发生在红移 0.3 上下,加速由此开始。变式:把 Λ 设为零再积一遍,年龄会缩短到约 97 亿年——暗能量不只是"在加速",它还把宇宙的岁数拉长了三分之一(同样的膨胀率,减速宇宙来不及走这么远)。
# 红移到距离:回望时间与共动距离 import math H0_yr = 1/1.40e10 # 哈勃时间 Om, OL = 0.31, 0.69 def lookback(z): n, s = 400, 0.0 dz = z/n for i in range(n): # 积分 dz 除以 E 乘 1 加 z zi = (i+0.5)*dz s += dz/((1+zi)*math.sqrt(Om*(1+zi)**3 + OL)) return s*H0_yr for z in [0.5, 1.0, 2.0, 5.0]: print(f"z = {z}: 回望时间约 {lookback(z):.1f} 十亿年") print("z=5 的光出发时,宇宙年龄只有今天的九分之一")
第二段航程把红移翻译成回望时间:红移 1 对应约 77 亿年前,红移 5 对应约 125 亿年前——韦布望远镜盯着 z 大于 10 的星系时,看的是宇宙头三亿年的婴儿照。命运三岔口也在账上:Ω_Λ 为正的平直宇宙将永远加速膨胀,星系彼此退行、夜空越来越空——若暗能量是宇宙学常数(状态方程恒为 −1),这是条不归路;若它会演化,剧本重写。这也是 6.5 节开放问题清单的头一条。
⚠️ 航行警告:宇宙学红移与多普勒红移账目同形、机制不同——前者是空间伸缩对波长的拉伸,后者是源与观者的相对运动。把 z=5 说成"以五倍光速退行"是初学最常见的账目事故:协动距离可以超过光速,局部相对速度永远不超。