本节摘要:度规张量是时空舞台上一切"距离、时长、间隔"读数的总汇率表:线元写成度规与坐标微分的缩并,固有时、光锥、因果结构全部由它给出。本站演练平直闵可夫斯基账本的读法,用数值实验验证"测地航行使固有时最长",再预览史瓦西账本——引力场中的钟慢效应直接写在度规的分量里。
海图分好页(2.1),下一件上船的仪器是标尺。问题看似朴素:时空中两个相邻事件,"隔了多远"?难点在于四维里混着时间与空间,而坐标数(比如史瓦西的 r 与 t)本身没有距离含义——它们只是页码。真正回答"多远"的,是一张汇率表:
ds² = g_μν dx^μ dx^ν
度规 g_μν 是一个 4 乘 4 的对称张量,十个独立分量。它把八个坐标微分(上下指标求和)兑换成一个不依赖坐标选择的间隔 ds²。间隔才是物理量:ds² 为负对应"类时",可以用随身钟量出固有时 dτ;为零对应"类光",正是光线的航线;为正对应"类空",任何信号禁行。度规的十个分量就是引力场的全部内容——第 3 章场方程解的就是它们。张量指标记号的求和约定(重复上下标隐式求和)这里顺带用熟,之后不再解释。

第一本账最简单:无引力时,直角坐标下度规只有四个非零分量 g_μν = diag(−1, 1, 1, 1)(取 c 等于 1 的单位制)。间隔读作 ds² = −dt² + dx² + dy² + dz²。别小看这行字——狭义相对论的全部运动学都藏在里面。用它算一个经典案例,同时验证航志的口号"自由航行 = 固有时最长的航线":
# 双程对账:留在原地 vs 出航折返,谁的钟走得久? c = 1.0 # 光速取 1,时间与距离同单位 # 出发与重逢都在 x=0;旅行者去程 3 单位距离用 5 单位时间 # 世界线分段线性:固有时 = 积分 根号下 dt 方减 dx 方 import math def proper_time(segments): tau = 0.0 for dt, dx in segments: arg = dt*dt - dx*dx/c**2 if arg < 0: raise ValueError("超光速航段") tau += math.sqrt(arg) return tau stay = [(10.0, 0.0)] go = [(5.0, 3.0), (5.0, -3.0)] print(f"留守者固有时: {proper_time(stay):.3f}") print(f"旅行者固有时: {proper_time(go):.3f}") print(f"留守者多读出 {proper_time(stay)-proper_time(go):.3f} —— 折返航行者更年轻") print("留守者走的是测地线(全程固有时最大);折返必经加速,偏离最直航线")
日志记录:留守者固有时 10,旅行者 2 乘根号 16 等于 8,差 2 单位。注意这个计算完全没用引力——平直账本已经给出"折返者变年轻"。而它的几何本质值得写进航志总纲:测地线是固有时取极值的航线。旅行者中途折返,偏离了最直航线,所以随身钟少走;这与你"绕远路里程表反而少转"的直觉相反,恰是闵可夫斯基汇率的负时间项造成的。第 2.4 节把这句极值陈述化成微分方程,就是测地线方程。
度规的分量直接就是钟速的读数。引力场中最常用的一本账——史瓦西度规(第 5.1 节完整开箱)——其时间汇率是 g_tt = −(1 − r_s/r),其中 r_s = 2GM/c² 是史瓦西半径。静止在半径 r 处的钟,每单位坐标时走过 dτ = 根号(1 − r_s/r) dt 的固有时:
# 不同轨道高度上的钟速比(史瓦西汇率表读数,忽略速度效应) import math G = 6.674e-11; c = 3.0e8; M = 5.97e24; R = 6.371e6 r_s = 2*G*M/c**2 print(f"地球史瓦西半径 {r_s:.4f} m —— 只有 9 毫米") spots = [("地表", R), ("空间站 420 km", R+4.2e5), ("同步轨道", R+3.58e7), ("中子星表面", 1.2e4)] for name, r in spots: mass = M if "中子" not in name else 1.4*1.989e30 rs = 2*G*mass/c**2 rate = math.sqrt(max(0.0, 1 - rs/r)) print(f"{name:<10s} 钟速相对无限远: {rate:.12f}") print("地表到空间站的差只有亿分之一量级——但 GPS 卫星每天因此快约 38 微秒(第 4.3 节对账)")
除了钟速,度规还兼任测绘局:空间部分的分量告诉你"这套坐标里一个格子的真实边长"。拿史瓦西账本的空间页做个练习——同一份径向坐标增量 dr,在不同 r 处对应的真实长度是 dr 除以根号(1 − r_s/r),越靠近引力源,一格越"深";而角向一格的周长仍是 2πr 不变。径向与角向的汇率不一致,正是"弯曲"在测绘上的直接表现:靠近太阳的地方,画一个以 r 为半径的圆,圆周率还是 2π,但半径方向的真实距离比平直空间里的同一坐标差更长——三角形内角和不再守恒(1.3 节的几何预告在账本上兑现)。
# 测绘练习:径向一格与角向一格的真实长度对比 import math G = 6.674e-11; c = 3.0e8; M = 1.989e30; r_s = 2*G*M/c**2 for r_over_rs in [100, 20, 5, 1.5]: r = r_over_rs*r_s dr_true = 1.0/math.sqrt(1 - r_s/r) # 径向:单位坐标增量的真实长度 circ_true = 2*math.pi*r # 角向:整圈的周长按 2 pi r 记账 print(f"r = {r_over_rs:>4} r_s:径向一格真实长 {dr_true:.4f},角向周长按 2 pi r 记账") print("径向汇率大于 1 且随深度增加——同样一格坐标,深处'更宽',") print("靠近太阳的圆,其真实半径大于坐标差:内角和守恒被打破的根源")
读表:径向真实长度因子从 1.005(r 等于 100 倍 r_s 处)涨到 1.73(1.5 倍处)——空间被拉伸的账目与 2.2 节钟速账并行,两者合起来才是完整的"弯曲"。这也提前解释了 4.4 节夏皮罗延迟的主体来源:信号穿越的"每格更深"的区域,光行时间自然多出一截。
读表结果:地表钟速 0.9999999993 上下,空间站略快,中子星表面只剩约 0.81——强引力区里"钟慢"不再是小数点后的修饰。两个要点写进日志:其一,引力时间膨胀不是动力学效应而是汇率本身,静止钟之间无需任何相对运动也会出现钟速差;其二,"无限远处的钟"是这本账的参考基准,坐标时 t 的页码意义由此而来。第 4.3 节的引力红移实验与 GPS 对账,全都只用这一行汇率读数。
⚠️ 航行警告:最常见的读表错误是把坐标时当成"真实时间"。坐标时只是页码,固有时才是钟的读数;两本日志比较钟速时,必须先说清各自的汇率位置(在哪个 r 处、有没有运动)。