用光搭起來的鐘
想像一台最簡單的鐘:兩面相對的鏡子,一道閃光在它們之間筆直地上下彈跳。每往返一次就是一次滴答。這台鐘一點也不神祕——它只是在數光的彈跳次數。但因為光速對每位觀察者都相同(這正是相對論兩條基本假設之一),這台不起眼的鐘即將揭示某種奇異的現象。
看它飛掠而過:光走了更長的路
如果你隨著鐘一起運動,光就筆直上下走——這是一條短路徑。但如果鐘以速度 v 從你身邊飛過,你看到光走的是一條斜向的之字形,因為在光到達之前,上面那面鏡子已經橫向移動了。斜線比筆直的上下線更長。既然光不能加速來彌補這段額外距離,它就只能多花你的時間——於是飛掠而過的鐘,每一次滴答都拉長了。這就是時間膨脹。
Clock at rest (you ride with it): Clock flying past at speed v:
[top mirror] [top] [top] [top]
^ \ | /
| light goes \ | / diagonal
| straight up \ | / = longer
| and down \ | /
v \ | /
[bottom mirror] [bot]----[bot]----[bot]---> v
short path = short tick longer path = longer tick負責拉伸的那個數:gamma
把斜線究竟長多少算清楚,就得到一個乾淨俐落的拉伸因子,叫勞侖茲因子,通常寫作 gamma。你只要往裡面代入一個速度即可:
gamma = 1 / sqrt(1 - v^2/c^2)
moving clock's tick = gamma * (proper-time tick)- 當 v = 0.10c(光速的 10%):gamma = 1.005——鐘只慢了半個百分點。幾乎察覺不到。
- 當 v = 0.50c:gamma = 1.155——運動中的一秒,如今約等於你的 1.15 秒。
- 當 v = 0.99c:gamma = 7.09——運動的鐘慢如蝸行,滴答速度只有你的七分之一。
import math
def gamma(v_over_c):
return 1 / math.sqrt(1 - v_over_c**2)
for frac in (0.10, 0.50, 0.99, 0.999):
print(f"v = {frac}c -> gamma = {gamma(frac):.3f}")
# v = 0.1c -> gamma = 1.005
# v = 0.5c -> gamma = 1.155
# v = 0.99c -> gamma = 7.089
# v = 0.999c -> gamma = 22.366它是真的:μ子與原子鐘
這並非思想實驗裡的把戲。μ子——電子的重表親——是在宇宙射線撞擊約 15 公里高的高層大氣時產生的。靜止的μ子大約 2 微秒就會衰變,即便以接近光速運動,也遠來不及抵達地面。然而海平面的探測器卻成批地捕捉到它們。原因在於:它們以約 0.99c 飛行,內部的鐘因而慢了約 7 倍(gamma ≈ 7),把它們短暫的壽命拉長到恰好夠走完全程。
工程師們也在直接測量它。讓一台原子鐘搭乘客機繞地球飛行一圈,回來時會比留在機場的同款鐘慢上幾百奈秒——與 gamma 的預言分毫不差。你手機裡的 GPS 必須每一秒都校正這類效應,否則它給出的位置會在一天之內偏差好幾公里。
對稱,而非矛盾
只要沒人調頭,這種對稱就一直成立。當其中一位雙胞胎真的加速返航時,平局才被打破——不過那就是著名的雙生子佯謬了,是留待後續課程的故事。