本站摘要:把洛伦兹变换当日常工具用——批量搬运事件时刻表、从换算式一步重推三大效应、验证"两次换算等于一次换算"的群性质。本站产出一张业务速查表,此后各章遇到换算一律按手册执行。
3.2 造表、3.3 试单,本站把换算室整备成规范作业流程。下一章的时空图、第六章的双生子结算,都按本手册操作。
一块列车时刻表由若干事件构成,逐条换算即可。设掠光号 0.8c,车上三个事件:车尾发车信号、车厢中点开灯、车头收到信号——坐标都是列车系记录。
# 演算 1:整表搬运(v = 0.8c) import math c = 299_792_458 v = 0.8 * c g = 1 / math.sqrt(1 - (v/c)**2) def to_platform(t_p, x_p): t = g * (t_p + v*x_p/c**2) # 逆变换:S' → S x = g * (x_p + v*t_p) return t, x # 列车系时刻表:三盏灯在列车系第 1 微秒"同时"点亮(单位:秒、米) timetable = [("车尾灯", 1.0e-6, -150.0), ("中点灯", 1.0e-6, 0.0), ("车头灯", 1.0e-6, 150.0)] for name, t_p, x_p in timetable: t, x = to_platform(t_p, x_p) print(f"{name}: 列车系({t_p*1e6:.2f}微秒, {x_p:+.0f}米) → 站台系({t*1e6:.3f}微秒, {x:+.0f}米)") # 输出: # 车尾灯: 列车系(1.00微秒, -150米) → 站台系(1.000微秒, +150米) # 中点灯: 列车系(1.00微秒, +0米) → 站台系(1.667微秒, +400米) # 车头灯: 列车系(1.00微秒, +150米) → 站台系(2.333微秒, +650米)
读表的要点:列车系里"同时"的三盏灯,站台系里排成间隔 0.667 微秒的序列——车尾先亮、车头最后。位移量与灯的位置成正比,正是时间式里位置项的作业层表现(2.1 的 0.75 微秒错位是 0.6c 情形,此处 0.8c 数值更大)。一串事件各自位置不同,换算后必须逐条重排,整表乘同一个γ是违规操作。
第二章用思想实验逐个推出的结论,在换算式里只是三种特定代入:
# 演算 2:三种代入,三个效应 import math c = 299_792_458 v = 0.8 * c g = 1 / math.sqrt(1 - (v/c)**2) # ① 时间膨胀:同一只钟(Δx' = 0)两次读数 dt_p = 1.0e-6 # 列车系同地事件对 dt = g * dt_p # Δt = γ·Δt'(逆变换中 Δx'=0) print("① 钟慢:固有时 1 微秒 → 站台测", dt*1e6, "微秒") # 输出: 1.667 微秒 # ② 长度收缩:站台系同时读两端(Δt = 0)的一对事件 dx_p = 300.0 # 列车固有长度 dx = dx_p / g # 由正变换 Δt=0 ⟹ Δx' = γ·Δx print("② 尺缩:固有 300 米 → 站台测", dx, "米") # 输出: 180.0 米 # ③ 同时性错位:列车系异地同时(Δt' = 0)的一对事件 dx_p2 = 300.0 dt2 = g * v * dx_p2 / c**2 # 正变换给出 Δt = γ·v·Δx'/c² print("③ 错位:车头车尾'同时'事件在站台系差", dt2*1e6, "微秒") # 输出: 1.33 微秒 —— 2.1 节的 0.75 微秒是 0.6c 情形,此处 0.8c 数值更大
三个效应对应三种事件对选法:同地事件对给钟慢、同时事件对给尺缩、异地同时事件对给错位。死记三张脸不如记一条规则——先问"这对事件的 Δx 与 Δt 在哪个系为零"。
从站台换到 0.5c 的列车,再换到相对该列车 0.5c 的另一列车,等价于从站台直接换到一列什么速度的列车?答案不是 1.0c,而是 3.3 节的合成速度 0.8c。换算的集合对复合封闭,这就是群性质——它保证"惯性系大家庭"没有旁支。
# 演算 3:两次换算 = 一次换算(数值验证) import math c = 299_792_458 def boost(dt, dx, v): g = 1 / math.sqrt(1 - (v/c)**2) return g*(dt - v*dx/c**2), g*(dx - v*dt) # 任意事件 dt, dx = 1.2e-6, 500.0 v1, v2 = 0.5*c, 0.5*c # 路线 A:连续两次换算 d1 = boost(dt, dx, v1) d2 = boost(*d1, v2) print("两次换算结果:", d2) # 路线 B:一次换到合成速度的列车 v_eff = (v1 + v2) / (1 + v1*v2/c**2) # 0.8c d3 = boost(dt, dx, v_eff) print("一次换算结果:", d3) print("两路相差:", abs(d2[0]-d3[0]), "秒,", abs(d2[1]-d3[1]), "米") # 输出: 两路相差: 0.0 秒, 0.0 米 —— 浮点意义上完全重合
三条效应公式(钟慢、尺缩、错位)都只是完整换算在特定事件对上的特例,用错场合就会翻车。判据一句话:只要涉及"异地的两只钟"或"两个不同位置的事件",就回到完整变换逐事件过表。单只钟的两次读数(同地事件对)、单根杆两端同时读数(同时事件对)可用效应公式;一旦场景里出现"车头钟与车尾钟比快慢"这类跨位置比较,效应公式的赛道就结束了——那正是 6.4 节双生子案的雷区,换算表是那里唯一安全的工具。
| 遇到的问题 | 用哪条 | 口诀 |
|---|---|---|
| 事件坐标跨系换算 | 完整变换式(3.2) | 位置带时间,时间带位置 |
| 只问运动的钟多慢 | Δt 等于γ乘Δτ | 同地事件对 |
| 只问运动的杆多长 | L 等于 L0 除以γ | 同时事件对 |
| 只问异地同时差多少 | Δt 等于γvΔx 除 c 平方 | 异地同时事件对 |
| 两个速度合起来多快 | 叠加公式(3.3) | 分母刹车 |
| 连续多次换系 | 先合成速度再一次换算 | 群性质免套娃 |
⚠️ 作业层高频事故:把"列车时刻表"整表乘同一个γ。只有单对事件才能一步换算;一串事件各自位置不同,换算后间隔会重排(演算 1 已示)。排图作业必须逐事件过表。
💡 手册的隐藏福利:换算式完全对称于"谁动谁静"——把 v 换负号就从站台表切到列车表。物理内容的换向不需要任何新假设,这既是相对性原理的作业层体现,也是你检查计算的双保险:反着换回去,对不上就是算错了。
第三章结案。换算表在手,第四章把它画进图里——你会发现这张表其实是一次旋转,而全宇宙的乘客都同意的那个量,正等在图的对角线上。