跳轉到

09.1 Minkowski 幾何#

本節目標#

  • 走過從 1905 年 Lorentz 的「變換公式」到 1908 年 Minkowski 的「時空幾何」這一段思想史,理解 Minkowski 那句名言:「從今以後,空間與時間將各自沉淪為陰影,唯有兩者的結合才能保有獨立的實在性。」
  • 學會用 \((ct, x, y, z)\) 表示時空點,弄清楚為什麼時間要乘上 \(c\) 。
  • 建立符號約定 \((-,+,+,+)\) 下的 Minkowski 度量與間隔 \(ds^2\) 。
  • 畫出光錐圖,區分類時、類光、類空事件,理解相對論的因果結構。
  • 用 SymPy 與 matplotlib 做動手實驗:畫多個參考系的光錐,並為下一節的雙生子論證預作準備。

歷史:從 Lorentz 的公式到 Minkowski 的幾何#

1905 年愛因斯坦提出狹義相對論時,是靠「動尺收縮、動鐘變慢」這類一堆公式在說話。1908 年,他的數學老師 Minkowski 發表演講,做了關鍵的一步:

「空間本身與時間本身將沉淪為純粹的陰影,只有兩者的某種結合才能保全獨立的實在性。」

Minkowski 的洞察是:把時間 \(t\) 乘上光速 \(c\) ,得到一個「長度」 \(ct\) ,於是

\[ (t, x, y, z) \longrightarrow (x^0, x^1, x^2, x^3) = (ct, x, y, z) \]

四個分量同單位了,時空成為一個真正的四維幾何空間。Lorentz 變換從此不再是「物理定律的補打補丁」,而是這個幾何空間裡的一種「旋轉」——就像歐氏幾何中繞原點旋轉不改變長度一樣。

時空坐標與 Minkowski 度量#

時空中兩個鄰近事件之間的間隔定義為

\[ ds^2 = -c^2\,dt^2 + dx^2 + dy^2 + dz^2 \]

這裡採用**符號約定 \((-,+,+,+)\) **(另一些書用 \((+,-,-,-)\) ,兩者只差整體正負號與慣性粒子歸一化的差異,本書統一用前者,因為它讓有質量粒子的原時間隔恰好為正)。

用 SymPy 把這個「度量」寫成矩陣形式:

import sympy as sp

c, dt, dx, dy, dz = sp.symbols('c dt dx dy dz', positive=True)

# Minkowski 度量矩陣(坐標順序:ct, x, y, z)
eta = sp.Matrix([
    [-1, 0, 0, 0],
    [ 0, 1, 0, 0],
    [ 0, 0, 1, 0],
    [ 0, 0, 0, 1],
])
dX = sp.Matrix([c*dt, dx, dy, dz])
ds2 = (dX.T * eta * dX)[0]
print(ds2)   # -c**2*dt**2 + dx**2 + dy**2 + dz**2

注意與歐氏幾何最大的差別:時間項帶負號。這一個負號,改寫了整個因果與測量的結構。

間隔的三種類型與光錐#

\(ds^2\) 可正、可零、可負,由此把事件分成三類(設兩事件分離向量為 \(\Delta X=(c\Delta t,\ \Delta \mathbf{x})\) ):

分類 條件 意義
類時 (timelike) $c^2\Delta t^2 > \Delta \mathbf{x}
類光 (lightlike/null) $c^2\Delta t^2 = \Delta \mathbf{x}
類空 (spacelike) $c^2\Delta t^2 < \Delta \mathbf{x}

在一維空間( \(x\) - \(ct\) 平面)畫 \(x = \pm ct\) ,得到斜率 \(\pm 1\) 的兩條直線,它們張開的就是光錐:

  • 未來光錐內部(類時且 \(\Delta t>0\) ):這裡的事件是「你在原點此時此刻的行為未來可能影響到的事件」。
  • 過去光錐內部:可能影響到現在的你的事件。
  • 光錐之外(類空區):無論你現在做什麼,都不可能影響那裡的事件——除非能打破光速上限。

這就是相對論的因果結構:因果影響只能停留在光錐之內。

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(6, 6))

# 光錐邊界:x = ±ct
ct = np.linspace(-5, 5, 100)
ax.plot(ct, ct, 'k--', lw=1)
ax.plot(ct, -ct, 'k--', lw=1)

# 填色:未來光錐(類時未來)、過去光錐、類空左右兩側
tt = np.linspace(0, 5, 50)
ax.fill_betweenx(tt, -tt, tt, color='skyblue', alpha=0.5)      # 未來
ax.fill_betweenx(-tt, -tt, tt, color='mistyrose', alpha=0.5)   # 過去
xx = np.linspace(-5, 0, 50)
ax.fill(xx, -xx, color='lightgray', alpha=0.7)                 # 類空(左)
ax.fill(-xx, -xx, color='lightgray', alpha=0.7)                # 類空(右)

ax.text(1.2, 4.5, '未來光錐\n(類時)', fontsize=11)
ax.text(1.2, -4.8, '過去光錐\n(類時)', fontsize=11)
ax.text(-4.6, 0.4, '類空區', fontsize=11)
ax.text(3.4, -4.2, '類空區', fontsize=11)

ax.set_xlim(-5, 5); ax.set_ylim(-5, 5)
ax.set_xlabel('空間 $x$'); ax.set_ylabel('時間 $ct$')
ax.set_title('光錐與因果結構')
ax.axhline(0, color='k', lw=0.8); ax.axvline(0, color='k', lw=0.8)
plt.show()

動手實驗:多個參考系的光錐#

關鍵實驗:以速度 \(v\) 相對運動的參考系,其時間軸與空間軸會「朝光錐傾斜」,但光錐本身不變——所有觀察者都同意因果邊界。

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(7, 7))
ax.axhline(0, color='k', lw=0.8); ax.axvline(0, color='k', lw=0.8)

# 原系統光錐
t = np.linspace(-5, 5, 100)
ax.plot(t, t, color='k', lw=1.5, label='光錐 $x=\\pm ct$(所有參考系不變)')
ax.plot(t, -t, color='k', lw=1.5)

# 三個參考系 v = 0.3c, 0.6c, 0.8c
for v, color in zip([0.3, 0.6, 0.8], ['tab:blue', 'tab:orange', 'tab:green']):
    beta = v  # 以 c 為單位
    # 新時間軸:ct' → 斜率 1/beta;新空間軸:x' → 斜率 beta
    s = np.linspace(-5, 5, 50)
    ax.plot(beta * s, s, color=color, lw=1.2)        # ct' 軸
    ax.plot(s, beta * s, color=color, lw=1.2)        # x' 軸(反過來傾斜)
    ax.text(4.2, 4.2/beta + 0.15, f'$v={v}c$', color=color, fontsize=10)

ax.set_xlim(-5, 5); ax.set_ylim(-5, 5)
ax.set_xlabel('$x$'); ax.set_ylabel('$ct$')
ax.set_title('光錐不隨參考系傾斜,坐標軸才會傾斜')
ax.legend(loc='upper left', fontsize=9)
plt.show()

你會看到:參考系速度越接近 \(c\) ,其時間軸與空間軸越往光錐「收攏」,但永遠無法穿越光錐。這也偷偷預告了「雙生子」:圖上任何連續的類時曲線(世界線)永遠待在光錐內,直線(慣性)路徑反而是類時曲線中累積本徵時最長的一條——待在慣性系的雙生子變老最多。

Minkowski 幾何 vs. 歐氏幾何#

比較 歐氏平面 Minkowski 時空 \((1+1)\) 維
度量 \(ds^2=dx^2+dy^2\) \(ds^2=-c^2dt^2+dx^2\)
「單位圓」 \(x^2+y^2=r^2\) (圓) \(-c^2t^2+x^2=\pm a^2\) (雙曲線)
保長變換 旋轉(角度 \(\theta\) ) Lorentz 變換(快度 \(\varphi\) ,見 09.2)
三角函數 \(\cos^2\theta+\sin^2\theta=1\) \(\cosh^2\varphi-\sinh^2\varphi=1\)

「雙曲線圓」與 cosh/sinh 是下一節的主角,光錐圖就是它們的舞台。

小結與練習#

本節重點

  1. Minkowski 把時間乘 \(c\) 後,時空成為四維幾何空間;Lorentz 變換是此空間的「等距變換」。
  2. 間隔 \(ds^2 = -c^2dt^2 + dx^2 + dy^2 + dz^2\) ,符號約定 \((-,+,+,+)\) 。
  3. \(ds^2\) 的正負把事件分成類時/類光/類空;光錐是因果的絕對邊界,與參考系無關。
  4. 運動參考系的坐標軸會傾斜向光錐收攏,但光錐本身不變。
  5. 世界線的直線性(慣性)與「最長本徵時」關聯,是雙生子論證的幾何根據。

練習

  1. 兩事件在参考系 \(S\) 中為 \((ct=3,\ x=4)\) (單位取 \(c=1\) )與 \((0, 0)\) 。用 SymPy 判斷 \(ds^2\) 的符號,說明它屬於哪一類。
  2. 把目標事件 \((1, 2)\) 的 \(x\) 坐標改成多大時,它會從類時變成類光?改用 sp.solve 代言方程。
  3. (本征時間預告)對參數曲線世界線 \(\gamma(\tau) = (\tau\cosh\varphi,\ \tau\sinh\varphi)\) 計算 \(ds^2\) 沿此曲線的積分,驗證 \(ds=d\tau\) 與 \(\varphi\) 無關。(提示: \(\cosh^2-\sinh^2=1\) 。)
  4. 修改實驗程式,加入 \(v=0.95c\) 與 \(0.99c\) 的參考系軸,觀察軸繪出後多麼接近光錐。
  5. (思考)「你無法改變三光年外的星星今晚的命運」——畫一張光錐圖解釋這句話。