JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

勞侖茲變換與雙生子佯謬

一條總規則,在兩位觀察者之間換算空間與時間;由它自然導出永遠追不上光速的速度疊加,並乾淨俐落地化解著名的雙生子佯謬。

在觀察者之間換算的一條總規則

到目前為止,每個驚奇——時間膨脹長度收縮、鐘的錯位——都來自各自的一個小小思想實驗。勞侖茲變換把它們全部收攏成一條總規則。把一個事件在*你*這裡測得的位置和時間告訴它,再告訴它一位朋友正以速度 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.)
勞侖茲變換。注意 t' 依賴於 x:正是這個含 x 的項,使遠處的鐘失去同步。

速度不能簡單相加——而光永遠勝出

這裡有個謎題,總規則必須解開。你在一列時速 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.
下方的分母悄悄馴服了每一次疊加,使結果永不超過 c——而只要其中一項是 c,結果就恰好是 c。

雙生子佯謬:到底誰老得慢?

兩個雙胞胎,愛麗絲和鮑勃。愛麗絲乘火箭高速飛向一顆恆星又返回;鮑勃留在家裡。時間膨脹說愛麗絲運動的鐘走得慢,所以她回來時比鮑勃更年輕。可是——這正是著名的雙生子佯謬——從愛麗絲的座位看,是*鮑勃*飛走又飛回,那不該是*鮑勃*更年輕嗎?兩人面對面站著時,不可能都對。總有一個人真的更年輕。

看清誰勝出的最乾淨辦法是固有時——沿某條路徑攜帶的真實鐘所記錄的時間。鮑勃穿越時空的路徑,是從分別到重逢的一段筆直行程。愛麗絲的路徑則在中途拐了彎。在連接同樣兩個相會事件的所有路徑中,筆直的那一條記錄的時間總是最多。所以待在家的鮑勃老得更多;走了彎路的愛麗絲回來時更年輕。沒有佯謬——只是同樣兩點之間兩條不同的路線而已。

給這趟旅程算上數字

我們把它具體化。愛麗絲以 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
愛麗絲回來時比她的雙胞胎年輕 8 歲——這是算出來的,而粒子鐘與 GPS 每天都在精神上印證著它。