在觀察者之間換算的一條總規則
到目前為止,每個驚奇——時間膨脹、長度收縮、鐘的錯位——都來自各自的一個小小思想實驗。勞侖茲變換把它們全部收攏成一條總規則。把一個事件在*你*這裡測得的位置和時間告訴它,再告訴它一位朋友正以速度 v 從你身邊滑過,它就會交還出*那位朋友*為同一個事件測得的位置和時間。之前的每一個結論,都只是這一條公式的某個特例罷了。
You measure an event at position x, time t.
A friend glides past in the +x direction at speed v.
They measure the SAME event at x', t':
x' = gamma * ( x - v * t )
t' = gamma * ( t - v * x / c^2 )
with gamma = 1 / sqrt(1 - v^2/c^2)
(Old common sense said simply x' = x - v*t and t' = t.
That is what you get when v is tiny, so gamma -> 1.)速度不能簡單相加——而光永遠勝出
這裡有個謎題,總規則必須解開。你在一列時速 0.6c 的火車上,朝前方以相對火車 0.6c 的速度射出一顆球。舊算術說 0.6c + 0.6c = 1.2c——比光還快!這不可能對。勞侖茲變換用相對論速度疊加取代了簡單的相加:
Train moves at u = 0.6c. Ball thrown at w = 0.6c (relative to train).
Ground speed is NOT u + w, but:
u + w 0.6c + 0.6c 1.2c
V = ------------- = ----------------- = ------ = 0.882c
1 + u*w/c^2 1 + (0.6)(0.6) 1.36
Now shine a flashlight instead (w = c):
u + c 0.6c + c 1.6c
V = ----------- = -------------- = ------ = c
1 + u*c/c^2 1 + 0.6 1.6
Light comes out at c. It always does.雙生子佯謬:到底誰老得慢?
兩個雙胞胎,愛麗絲和鮑勃。愛麗絲乘火箭高速飛向一顆恆星又返回;鮑勃留在家裡。時間膨脹說愛麗絲運動的鐘走得慢,所以她回來時比鮑勃更年輕。可是——這正是著名的雙生子佯謬——從愛麗絲的座位看,是*鮑勃*飛走又飛回,那不該是*鮑勃*更年輕嗎?兩人面對面站著時,不可能都對。總有一個人真的更年輕。
看清誰勝出的最乾淨辦法是固有時——沿某條路徑攜帶的真實鐘所記錄的時間。鮑勃穿越時空的路徑,是從分別到重逢的一段筆直行程。愛麗絲的路徑則在中途拐了彎。在連接同樣兩個相會事件的所有路徑中,筆直的那一條記錄的時間總是最多。所以待在家的鮑勃老得更多;走了彎路的愛麗絲回來時更年輕。沒有佯謬——只是同樣兩點之間兩條不同的路線而已。
給這趟旅程算上數字
我們把它具體化。愛麗絲以 v = 0.8c 飛往一顆 8 光年外的恆星再返回。按鮑勃的鐘,這趟往返耗時 16 / 0.8 = 20 年。在 0.8c 時,勞侖茲因子 gamma = 1/sqrt(1 - 0.64) = 1.667,所以愛麗絲隨身鐘記錄的——她的固有時——只有 20 / 1.667 = 12 年。這兩個數字都是事實,他們重新擁抱的那一刻就能拿來對照。
import math
v = 0.8 # in units of c
dist = 8.0 # light-years to the star (one way)
gamma = 1 / math.sqrt(1 - v**2)
bob_years = 2 * dist / v # stay-at-home, the straight path
alice_years = bob_years / gamma # traveler's proper time
print(f"gamma = {gamma:.3f}") # gamma = 1.667
print(f"Bob ages = {bob_years:.1f} years") # Bob ages = 20.0 years
print(f"Alice ages = {alice_years:.1f} years") # Alice ages = 12.0 years
print(f"Difference = {bob_years - alice_years:.1f} years") # 8.0 years