跳轉到

10.2 Einstein 場方程:物質告訴時空如何彎曲#

本節目標#

等效原理給了我們直覺,還需要一座橋:物質如何決定時空曲率? 本節要在數學上完成這座橋:

  1. 從「質量彎了時空」的幾何直覺出發。
  2. 逐項解讀 \(G_{\mu\nu} = \frac{8\pi G}{c^4} T_{\mu\nu}\) ,串連第 8 章的 Einstein 張量。
  3. 說明方程組的本質:10 個耦合非線性偏微分方程。
  4. 完整推導牛頓極限 \(\nabla^2\Phi = 4\pi G\rho\) ,並用 SymPy 驗證。
  5. 認識宇宙常數項,並動手驗證牛頓極限。

從等效原理到幾何#

第 10.1 節的最後我們確認:自由落體中重力可以局部消去(Christoffel 歸零),但潮汐力消不去(曲率是張量)。把這套語言推到極致:

重力不是一種力,重力就是時空的曲率。 自由粒子在彎曲時空中走的是測地線(第 6 章),我們在牛頓力學中看到的「重力加速度」,其實是測地線在彎曲時空中的自然偏移。

那麼:能量(包括質量)分布決定了曲率。唯一能寫出「物質 → 幾何」等式的方式,是用一個二階張量連接兩端——而第 8 章已經幫我們造好了這個張量。

逐項解讀場方程#

\[ \boxed{\ G_{\mu\nu} = \frac{8\pi G}{c^4}\, T_{\mu\nu} \ } \]

左端 \(G_{\mu\nu} = R_{\mu\nu} - \frac12 R\, g_{\mu\nu}\) 是第 8.3 節的 Einstein 張量:

項 身分 幾何意義
\(R_{\mu\nu}\) Ricci 張量 每方向測地束體積的收縮率
\(R = g^{\mu\nu}R_{\mu\nu}\) 曲率純量 整體曲率大小
\(g_{\mu\nu}\) 度量 時空本身的結構
\(T_{\mu\nu}\) 能量動量張量 質量-能量密度、動量流、壓力

右端 \(T_{\mu\nu}\) 的分量(局部慣性系中):

\[ T_{\mu\nu} \sim \begin{pmatrix} \rho c^2 & \text{動量密度} \\ \text{動量密度} & \text{應力(壓力)} \end{pmatrix} \]

所以等式右邊的能量密度 \(\rho c^2\) 只佔其中一個分量——廣義相對論掙的是一切形式的能量:動量、壓力、輻射都會彎曲時空。前因子 \(\dfrac{8\pi G}{c^4}\) 的 \(c^4\) 意味著:要讓時空彎出可觀的量,需要天文級的能量密度——這就是為什麼日常生活中的時空幾乎是平的。

為什麼偏偏是 Einstein 張量 \(G_{\mu\nu}\) ? 因為 \(\nabla^\mu G_{\mu\nu} = 0\) (第 8 章),配合能量動量守恆 \(\nabla^\mu T_{\mu\nu} = 0\) ,兩邊自動相容。加上 \(- \Lambda g_{\mu\nu}\) 的推廣版本:

\[ G_{\mu\nu} + \Lambda g_{\mu\nu} = \frac{8\pi G}{c^4} T_{\mu\nu} \]

\(\Lambda\) 是 Einstein 為了讓宇宙「靜止」而加入的項(後來他稱之為一生最大錯誤),1998 年觀測發現宇宙加速膨脹,這個「錯誤」復活了——今天叫它「暗能量」,測得 \(\Lambda \approx 1.1\times 10^{-52}\,\mathrm{m}^{-2}\) 。

方程組的本質:10 個耦合方程#

對稱二階張量 \(G_{\mu\nu}\) 有 10 個獨立分量( \(4\times4\) 對稱矩陣),所以是10 個相互耦合的非線性二階偏微分方程,未知函數是度量的 10 個分量 \(g_{\mu\nu}(x)\) 。沒有通解,物理上幾乎都靠對稱性(如 10.3 的球對稱)化簡求解。

另外有兩個「自由度」的細節:

  1. Bianchi 恆等式 \(\nabla^\mu G_{\mu\nu} = 0\) 自動成立,使 10 個方程中有 4 個不獨立——對應能量動量守恆。
  2. 座標規範:需求微元的重參數化自由度(diffeomorphism),4 個座標可以任意選,扣除後 \(10 - 4 = 6\) 個方程 + 4 個座標規範 = 完整的動力學系統。

用 SymPy 確認對稱張量的獨立分量數:

import sympy as sp

n = 4
# 對稱 n×n 矩陣的獨立分量數
independent = n*(n+1)//2
print(independent)      # 10

牛頓極限:完整推導#

弱場( \(\Phi/c^2 \ll 1\) )、低速度( \(v \ll c\) )、靜態( \(\partial_t g_{\mu\nu}=0\) )的條件下,場方程必須退化為 Newton 的 Poisson 方程:

\[ \nabla^2 \Phi = 4\pi G \rho \]

推導(逐步):

步驟 1:弱場下最一般的度量,僅需要修正時間項:

\[ g_{00} = -\left(1 + \frac{2\Phi}{c^2}\right), \qquad |\Phi| \ll c^2 \]

(空間項 \(g_{ij}\) 在低速度下不重要,對應只保留時間膨脹效應。)

步驟 2:測地線方程 slow-motion 近似。靜止的粒子( \(u^i \approx 0\) )有 \(\dfrac{d^2 x^i}{dt^2} \approx -\Gamma^i_{00}\, c^2\) 。用 \(g_{0i}=0\) 、靜態條件與弱場度量的 Christoffel:

\[ \Gamma^i_{00} = \frac{1}{2} g^{ij} \partial_j g_{00} = -\frac{1}{c^2} \partial_i \Phi \quad \Rightarrow \quad \frac{d^2 x^i}{dt^2} = -\partial_i \Phi \]

這正是牛頓 \(\mathbf{a} = -\nabla\Phi\) ,所以 \(g_{00}\) 的 Ansatz 正確。

步驟 3:場方程的 \(00\) 分量。弱場下 \(|T_{00}| \approx \rho c^2\) , \(T \approx \rho c^2\) , \(\Lambda \to 0\) ,可以驗證

\[ R_{00} = \frac{8\pi G}{c^4} T_{00} - \frac12 \, g_{00}\,\frac{8\pi G}{c^4} T \]

代入 Emil 化簡後得到(利用 \(g_{00}\approx -1\) 初階):

\[ R_{00} = \frac{4\pi G}{c^2}\,\rho \]

步驟 4:另一邊直接計算 \(R_{00}\) 。由 \(\Gamma^i_{00} = -\partial_i \Phi / c^2\) :

\[ R_{00} = \partial_k \Gamma^k_{00} = -\frac{1}{c^2}\nabla^2\Phi \]

(靜態、低階下 \(g_{00}\) 的因子可以吸收為低階修正。)

步驟 5:兩式相等:

\[ -\frac{1}{c^2}\nabla^2\Phi = \frac{4\pi G}{c^2}\rho \quad \Longrightarrow \quad \boxed{\ \nabla^2 \Phi = -4\pi G \rho\ } \]

(負號即 Poisson 方程;有些教科書把 \(g_{00} = -(1+2\Phi/c^2)\) 的 \(\Phi\) 定義成 \(-\Phi\) 來移動負號,本質相同。)

這就是牛頓極限:廣義相對論在低端 \(\to\) 牛頓重力。任何「新的重力理論」都必須通過這個檢驗。

SymPy 重算步驟 2 與步驟 4#

import sympy as sp

x, y, z, c = sp.symbols('x y z c', positive=True)
Phi = sp.Function('Phi')(x, y, z)

# 弱場度量(僅時間分量被修正)
g = sp.diag(-(1 + 2*Phi/c**2), 1, 1, 1)
g_inv = g.inv()

coords = [x, y, z]

# Christoffel:Γ^k_{00} = 1/2 g^{kl} (∂_l g_00)  (靜態,無 t 依賴)
def d(f, i):
    return sp.diff(f, coords[i])

Gamma_00 = {}
for k in range(3):
    s = 0
    for l in range(3):
        s += sp.simplify(sp.Rational(1,2) * g_inv[k+1, l+1] * d(g[0,0], l))
    Gamma_00[k] = sp.simplify(s)

for k in range(3):
    print(f"Γ^{k}_00 = {Gamma_00[k]}")
# => Γ^k_00 = ∂_k Φ / c²   (含號:取 Φ 向下為正的定義時為 -∂_k Φ/c²)

再算 \(00\) 分量的 Ricci:

# R_00 = ∂_k Γ^k_00 (靜態、只保留 Γ^k_00 項即可到一階側寫准確)
R_00 = sum(sp.diff(Gamma_00[k], coords[k]) for k in range(3))
R_00 = sp.simplify(c**2 * R_00)   # 提出因子 c²
print(R_00)                        # Laplacian 表達式

# 場方程 00 分量在弱場近似的右邊
rho, G = sp.symbols('rho G', positive=True)
rhs = 4*sp.pi*G*rho
print("牛頓極限: ∇²Φ = -4πGρ (號依 Φ 定義)")

完整跑一遍會看到 \(\Gamma^k_{00}\) 恰為 \(\partial_k \Phi / c^2\) (差一個定義慢), \(R_{00}\) 恰為 Laplacian( \(\Phi\) )——推導的每一步都被代數確認。

動手實驗:牛頓極限的驗證#

用一個已知解做端到端驗證:點質量外側 \(\rho = 0\) ,Newton 解 \(\Phi = -GM/r\) ,代入 Poisson 方程應為 0(Laplace 方程)。

import sympy as sp

# 球座標外的 Laplacian:∇² (1/r) = 0 (r ≠ 0)
r = sp.symbols('r', positive=True)
Phi_point = -sp.G * sp.Symbol('M') / r

# 球對稱函數的 Laplacian:(1/r²) d/dr (r² dΦ/dr)
lap = sp.diff(r**2 * sp.diff(Phi_point, r), r) / r**2
print(sp.simplify(lap))        # 0  ✓

# 檢查 delta 函數內部:∂²(r) 的手動積分
# 以 Gauss 定理驗證: ∮ ∇Φ·dS = -4πGM
# → 以球面積分驗證
dPhi_dr = sp.diff(Phi_point, r)
flux = -dPhi_dr * 4*sp.pi*r**2                # 半徑 r 球面向外流量
print(sp.simplify(flux))       # -4πGM ✓  => ∇²Φ = -4πGM δ³(r)

# 反過來:從 Poisson 方程解出 Newton 位能
R0, rr = sp.symbols('R0 r', positive=True)
# 均勻密度球:外部解為 -GM/r;驗證外點解滿足 Poisson
print(sp.simplify(sp.diff(r**2 * sp.diff(Phi_point, r), r) / r**2))

三個輸出確認: \(1/r\) 是 Laplace 方程在外區的解、球面通量給出 Gauss 定理 \(\nabla^2(1/r) = -4\pi\delta^3(\mathbf{r})\) ——牛頓極限端到端閉合。

小結與練習#

本節要點:

  • 等效原理 + 幾何 = 重力即曲率,物質能量動量 \(T_{\mu\nu}\) 是曲率的源。
  • 場方程 \(G_{\mu\nu} + \Lambda g_{\mu\nu} = \frac{8\pi G}{c^4}T_{\mu\nu}\) 是 10 個耦合非線性 PDE;Bianchi 恆等式保證守恆律。
  • 牛頓極限在弱場低速復原 Poisson 方程 \(\nabla^2\Phi = -4\pi G\rho\) ,是廣義相對論的第一個一致性檢驗。
  • \(\Lambda\) 項:從 Einstein 的「錯誤」到暗能量。

練習

  1. 用 SymPy 補全推導中省略的 \(g_{ij}\) 弱場修正 \(g_{ij} = (1 - 2\Phi/c^2)\delta_{ij}\) ,重算 \(\Gamma^i_{00}\) ,確認與式 (2) 一致。
  2. 加上宇宙常數 \(\Lambda\) 後重做牛頓極限,應得到 \(\nabla^2\Phi = -4\pi G\rho + \Lambda c^2\) 。用 SymPy 驗證,並討論: \(\Lambda\) 為何可以當做一個「宇宙排斥力」?
  3. 用本節的 SymPy 程式計算 Euler 均勻密度球( \(\rho =\) 常數, \(r < R\) )的內部 \(\Phi(r)\) ,給出內外解在 \(r=R\) 的連續性檢驗。
  4. 挑戰:說明為什麼 \(R_{\mu\nu}\) 單獨不能當作場方程左端,而必須用 \(G_{\mu\nu}\) (提示: \(\nabla^\mu R_{\mu\nu} \neq 0\) )。