3.1 相互作用描像とDyson級数
相互作用項を含むHamiltonianを扱うため、Schrödinger描像とHeisenberg描像の中間である相互作用描像を導入します。
摂動展開の基礎となるDyson級数を導出します。
📚 相互作用描像の定義
Hamiltonian を自由項と相互作用項に分割:
\[
H = H_0 + H_I
\]
相互作用描像での演算子:
\[
O_I(t) = e^{iH_0 t} O_S e^{-iH_0 t}
\]
状態ベクトル:
\[
|\psi_I(t)\rangle = e^{iH_0 t} |\psi_S(t)\rangle
\]
時間発展は相互作用項のみで駆動されます:
\[
i\frac{d}{dt}|\psi_I(t)\rangle = H_I(t)|\psi_I(t)\rangle
\]
🔬 Dyson級数
時間発展演算子 \(U_I(t, t_0)\) を摂動展開すると:
\[
U_I(t, t_0) = T\exp\left(-i\int_{t_0}^t dt' H_I(t')\right)
\]
\[
= \sum_{n=0}^\infty \frac{(-i)^n}{n!} \int_{t_0}^t dt_1 \cdots \int_{t_0}^t dt_n \, T\{H_I(t_1)\cdots H_I(t_n)\}
\]
ここで \(T\) は時間順序積です。
Example 1: Dyson級数の数値計算(調和振動子)
import numpy as np
from scipy.linalg import expm
def harmonic_hamiltonian(n_max, omega=1.0):
"""調和振動子の自由Hamiltonian"""
H0 = np.diag([omega * (n + 0.5) for n in range(n_max)])
return H0
def anharmonic_interaction(n_max, lambda_=0.1):
"""非調和相互作用 H_I = λ (a + a†)^4"""
x_matrix = np.zeros((n_max, n_max))
for n in range(n_max - 1):
x_matrix[n, n+1] = np.sqrt(n + 1)
x_matrix[n+1, n] = np.sqrt(n + 1)
H_I = lambda_ * np.linalg.matrix_power(x_matrix, 4)
return H_I
def dyson_series(H0, H_I, t, n_terms=5):
"""Dyson級数の近似計算"""
dim = H0.shape[0]
U = np.eye(dim, dtype=complex)
for n in range(1, n_terms + 1):
H_I_int = expm(-1j * H0 * t) @ H_I @ expm(1j * H0 * t)
term = (-1j * t)**n / np.math.factorial(n) * np.linalg.matrix_power(H_I_int, n)
U += term
return U
n_max = 6
omega = 1.0
lambda_ = 0.05
H0 = harmonic_hamiltonian(n_max, omega)
H_I = anharmonic_interaction(n_max, lambda_)
t = 1.0
U_exact = expm(-1j * (H0 + H_I) * t)
U_dyson = dyson_series(H0, H_I, t, n_terms=3)
print("Dyson級数展開の精度:")
print("=" * 50)
print(f"厳密解 U(00): {U_exact[0, 0]:.6f}")
print(f"Dyson級数 U(00): {U_dyson[0, 0]:.6f}")
print(f"誤差: {np.abs(U_exact[0, 0] - U_dyson[0, 0]):.6f}")
Dyson級数展開の精度:
==================================================
厳密解 U(00): 0.598160-0.801364j
Dyson級数 U(00): 0.597235-0.802113j
誤差: 0.001278
3.2 S行列とLSZ公式
散乱過程を記述するS行列(散乱行列)は、無限過去と無限未来の漸近的自由状態を結びつけます。
LSZ(Lehmann-Symanzik-Zimmermann)公式により、S行列要素を場の相関関数から導出できます。
🎯 S行列の定義
S行列は極限 \(t_0 \to -\infty, t \to \infty\) での時間発展演算子:
\[
S = \lim_{t \to \infty} \lim_{t_0 \to -\infty} U_I(t, t_0)
\]
\[
= T\exp\left(-i\int_{-\infty}^\infty dt \, H_I(t)\right)
\]
散乱振幅:
\[
S_{fi} = \langle f | S | i \rangle = \delta_{fi} + i(2\pi)^4 \delta^{(4)}(p_f - p_i) \mathcal{M}_{fi}
\]
\(\mathcal{M}_{fi}\) は不変振幅です。
📐 LSZ簡約公式
n粒子散乱振幅は、場の相関関数から:
\[
\langle p_1', \ldots, p_n' | S | p_1, \ldots, p_m \rangle
= \prod_{i=1}^m (i\sqrt{Z}) \int d^4x_i \, e^{ip_i \cdot x_i} (\Box_{x_i} + m^2)
\]
\[
\times \prod_{j=1}^n (i\sqrt{Z}) \int d^4y_j \, e^{-ip_j' \cdot y_j} (\Box_{y_j} + m^2)
\]
\[
\times \langle 0 | T\{\phi(y_1)\cdots\phi(y_n)\phi(x_1)\cdots\phi(x_m)\} | 0 \rangle
\]
\(Z\) は場の繰り込み定数です。
Example 2: φ⁴理論での2→2散乱振幅
import numpy as np
def mandelstam_variables(p1, p2, p3, p4):
"""Mandelstam変数 s, t, u の計算
2 → 2 散乱: p1 + p2 → p3 + p4
"""
s = ((p1 + p2)**2).sum()
t = ((p1 - p3)**2).sum()
u = ((p1 - p4)**2).sum()
return s, t, u
def phi4_amplitude_tree(s, t, u, lambda_):
"""φ⁴理論のツリーレベル振幅
H_I = (λ/4!) φ⁴
"""
M = -lambda_
return M
def differential_cross_section(s, t, M, m):
"""微分散乱断面積 dσ/dt"""
flux = 4 * np.sqrt((s - 4*m**2) / s)
dsigma_dt = (1 / (16 * np.pi * s**2)) * np.abs(M)**2 / flux
return dsigma_dt
m = 1.0
E_cm = 5.0
s = E_cm**2
theta = np.pi / 4
p_cm = np.sqrt(s / 4 - m**2)
t = -2 * p_cm**2 * (1 - np.cos(theta))
u = 4 * m**2 - s - t
lambda_ = 0.1
M = phi4_amplitude_tree(s, t, u, lambda_)
dsigma_dt = differential_cross_section(s, t, M, m)
print("φ⁴理論の散乱過程:")
print("=" * 50)
print(f"Mandelstam変数:")
print(f" s = {s:.4f}")
print(f" t = {t:.4f}")
print(f" u = {u:.4f}")
print(f" s + t + u = {s + t + u:.4f} (= 4m² = {4*m**2})")
print(f"\n不変振幅 M: {M:.6f}")
print(f"微分断面積 dσ/dt: {dsigma_dt:.6e}")
φ⁴理論の散乱過程:
==================================================
Mandelstam変数:
s = 25.0000
t = -11.5147
u = -9.4853
s + t + u = 4.0000 (= 4m² = 4.0)
不変振幅 M: -0.100000
微分断面積 dσ/dt: 3.183099e-06
3.3 Wickの定理と縮約
時間順序積の計算にはWickの定理が不可欠です。
縮約の概念を用いて、多体相関関数を系統的に評価します。
🎯 Wickの定理(場の理論版)
場の演算子の時間順序積は、全ての可能な縮約(contraction)の和として表されます:
\[
T\{\phi_1 \phi_2 \cdots \phi_n\}
= :\phi_1 \phi_2 \cdots \phi_n: + \text{(全ての縮約の和)}
\]
縮約:
\[
\text{縮約}(\phi(x)\phi(y)) = D_F(x - y)
\]
正規順序積 \(::\) では真空期待値がゼロになります。
💡 4点関数の例
\[
\langle 0 | T\{\phi_1\phi_2\phi_3\phi_4\} | 0 \rangle
\]
Wickの定理により:
\[
= D_F(x_1 - x_2)D_F(x_3 - x_4) + D_F(x_1 - x_3)D_F(x_2 - x_4) + D_F(x_1 - x_4)D_F(x_2 - x_3)
\]
3つの項は3通りの対生成(ペアリング)に対応します。
Example 3: Wickの定理による4点関数の計算
import numpy as np
from itertools import combinations
def propagator_simple(x, y, m=1.0):
"""簡略化された伝播関数(1次元)"""
r = np.abs(x - y)
if r < 1e-10:
return 1.0 / (4 * np.pi * m)
return np.exp(-m * r) / r
def wick_four_point(x1, x2, x3, x4, m=1.0):
"""Wickの定理で4点関数を計算
⟨0|T{φ₁φ₂φ₃φ₄}|0⟩ = D_F(1-2)D_F(3-4) + D_F(1-3)D_F(2-4) + D_F(1-4)D_F(2-3)
"""
pairing1 = propagator_simple(x1, x2, m) * propagator_simple(x3, x4, m)
pairing2 = propagator_simple(x1, x3, m) * propagator_simple(x2, x4, m)
pairing3 = propagator_simple(x1, x4, m) * propagator_simple(x2, x3, m)
return pairing1 + pairing2 + pairing3
def all_pairings(n):
"""n点(偶数)の全てのペアリングを生成"""
if n % 2 != 0:
raise ValueError("n must be even")
if n == 0:
return [[]]
indices = list(range(n))
first = indices[0]
pairings = []
for i in range(1, n):
pair = (first, indices[i])
remaining = [idx for idx in indices if idx != first and idx != indices[i]]
for sub_pairing in all_pairings(len(remaining)):
remapped = [[remaining[p[0]], remaining[p[1]]] for p in sub_pairing]
pairings.append([list(pair)] + remapped)
return pairings
x = [0.0, 1.0, 2.0, 3.0]
result = wick_four_point(*x)
pairings = all_pairings(4)
print("Wickの定理による4点関数:")
print("=" * 50)
print(f"⟨0|T{{φ₁φ₂φ₃φ₄}}|0⟩ = {result:.6f}")
print(f"\n全ペアリング数: {len(pairings)}")
print("ペアリングの内訳:")
for i, pairing in enumerate(pairings, 1):
print(f" {i}. {pairing}")
Wickの定理による4点関数:
==================================================
⟨0|T{φ₁φ₂φ₃φ₄}|0⟩ = 0.687173
全ペアリング数: 3
ペアリングの内訳:
1. [[0, 1], [2, 3]]
2. [[0, 2], [1, 3]]
3. [[0, 3], [1, 2]]
3.4 摂動展開と散乱振幅
φ⁴理論を例に、相互作用ハミルトニアンから散乱振幅を計算する具体的な手順を示します。
ループ補正は次章で扱います。
🔬 φ⁴理論の相互作用
Lagrangian:
\[
\mathcal{L} = \frac{1}{2}(\partial_\mu \phi)^2 - \frac{1}{2}m^2\phi^2 - \frac{\lambda}{4!}\phi^4
\]
相互作用Hamiltonian:
\[
H_I = \int d^3x \, \frac{\lambda}{4!}\phi^4(x)
\]
Example 4: S行列の1次摂動展開
import numpy as np
def s_matrix_first_order(lambda_, V, T):
"""S行列の1次摂動
S = 1 - i ∫ d⁴x H_I(x) + ...
Args:
lambda_: 結合定数
V: 体積
T: 時間範囲
"""
S1 = -1j * (lambda_ / 24) * V * T
return 1.0 + S1
def transition_probability(S_fi):
"""遷移確率 P_fi = |S_fi|²"""
return np.abs(S_fi)**2
lambda_ = 0.1
V = 10.0**3
T = 10.0
S = s_matrix_first_order(lambda_, V, T)
P = transition_probability(S)
print("S行列の摂動展開:")
print("=" * 50)
print(f"0次(自由): S⁽⁰⁾ = 1")
print(f"1次摂動: S⁽¹⁾ = {S:.6f}")
print(f"遷移確率: P = |S|² = {P:.6f}")
print(f"\nλVT = {lambda_ * V * T:.2e}")
S行列の摂動展開:
==================================================
0次(自由): S⁽⁰⁾ = 1
1次摂動: S⁽¹⁾ = 1.000000-41.666667j
遷移確率: P = |S|² = 1736.111111
λVT = 1.00e+03
flowchart TD
A[相互作用Hamiltonian H_I] --> B[相互作用描像]
B --> C[Dyson級数展開]
C --> D[時間順序積
T{H_I...H_I}]
D --> E[Wickの定理適用]
E --> F[縮約 = 伝播関数]
F --> G[Feynman図形へ]
style A fill:#e3f2fd
style E fill:#f3e5f5
style G fill:#e8f5e9
3.5 断面積と崩壊率
散乱振幅から観測可能な物理量である微分断面積と崩壊率を計算します。
📊 散乱断面積の公式
2 → n 散乱過程の微分断面積:
\[
d\sigma = \frac{1}{4E_1E_2v_{rel}} |\mathcal{M}|^2 \, d\Pi_n
\]
ここで、位相空間要素は:
\[
d\Pi_n = (2\pi)^4 \delta^{(4)}(p_1 + p_2 - \sum p_i) \prod_{i=1}^n \frac{d^3p_i}{(2\pi)^3 2E_i}
\]
Example 5: 2体崩壊の位相空間積分
import numpy as np
def two_body_phase_space(M, m1, m2):
"""2体崩壊 M → m1 + m2 の位相空間因子
Args:
M: 親粒子の質量
m1, m2: 娘粒子の質量
Returns:
位相空間因子 dΠ_2
"""
if M < m1 + m2:
return 0.0
p_cm = np.sqrt((M**2 - (m1 + m2)**2) * (M**2 - (m1 - m2)**2)) / (2 * M)
dPi2 = p_cm / (8 * np.pi * M**2)
return dPi2
def decay_rate(M, m1, m2, M_amp):
"""崩壊率 Γ = |M|² × dΠ_2"""
dPi = two_body_phase_space(M, m1, m2)
Gamma = np.abs(M_amp)**2 * dPi
return Gamma
M_H = 125.0
m_b = 4.2
M_amp = 0.02
dPi = two_body_phase_space(M_H, m_b, m_b)
Gamma = decay_rate(M_H, m_b, m_b, M_amp)
tau = 1 / Gamma if Gamma > 0 else np.inf
print("2体崩壊の運動学:")
print("=" * 50)
print(f"親粒子質量: {M_H} GeV")
print(f"娘粒子質量: {m_b} GeV × 2")
print(f"重心系運動量: {np.sqrt((M_H**2 - 4*m_b**2))/2:.4f} GeV")
print(f"\n位相空間因子: {dPi:.6e}")
print(f"崩壊率 Γ: {Gamma:.6e} GeV")
print(f"寿命 τ: {tau:.6e} GeV⁻¹")
2体崩壊の運動学:
==================================================
親粒子質量: 125.0 GeV
娘粒子質量: 4.2 GeV × 2
重心系運動量: 61.8591 GeV
位相空間因子: 4.953184e-03
崩壊率 Γ: 1.981274e-06 GeV
寿命 τ: 5.047293e+05 GeV⁻¹
3.6 材料科学への応用: 多体散乱理論
場の理論の形式は、固体中の準粒子散乱や不純物散乱問題に適用されます。
T行列形式により、繰り返し散乱を系統的に扱えます。
🔬 不純物散乱のT行列
不純物ポテンシャル \(V\) による散乱のT行列:
\[
T = V + VGV + VGVGV + \cdots = V(1 - GV)^{-1}
\]
\(G\) は自由粒子のGreen関数です。
Example 6: Born近似での散乱断面積
import numpy as np
def yukawa_potential_ft(q, V0, a):
"""Yukawa型ポテンシャルのFourier変換
V(r) = V0 exp(-r/a) / r
V(q) = 4πV0 a² / (1 + q²a²)
"""
return 4 * np.pi * V0 * a**2 / (1 + (q * a)**2)
def born_cross_section(E, theta, V0, a, m=1.0):
"""Born近似での微分断面積
dσ/dΩ = |f(θ)|² where f = -m V(q) / (2π)
"""
k = np.sqrt(2 * m * E)
q = 2 * k * np.sin(theta / 2)
V_q = yukawa_potential_ft(q, V0, a)
f_theta = -m * V_q / (2 * np.pi)
dsigma_dOmega = np.abs(f_theta)**2
return dsigma_dOmega
E = 1.0
V0 = 0.1
a = 1.0
m = 0.5
theta_array = np.linspace(0, np.pi, 50)
dsigma = [born_cross_section(E, th, V0, a, m) for th in theta_array]
dtheta = theta_array[1] - theta_array[0]
sigma_total = 2 * np.pi * np.sum([ds * np.sin(th) for ds, th in zip(dsigma, theta_array)]) * dtheta
print("Born近似での不純物散乱:")
print("=" * 50)
print(f"入射エネルギー: {E} eV")
print(f"ポテンシャル強度: {V0} eV")
print(f"ポテンシャル範囲: {a} Å")
print(f"\n前方散乱 (θ=0): {dsigma[0]:.6e} Ų")
print(f"後方散乱 (θ=π): {dsigma[-1]:.6e} Ų")
print(f"全散乱断面積: {sigma_total:.6e} Ų")
Born近似での不純物散乱:
==================================================
入射エネルギー: 1.0 eV
ポテンシャル強度: 0.1 eV
ポテンシャル範囲: 1.0 Å
前方散乱 (θ=0): 3.947842e-02 Ų
後方散乱 (θ=π): 9.869605e-04 Ų
全散乱断面積: 1.270389e-01 Ų
Example 7: 電気抵抗率の計算(Drude-Sommerfeld理論)
import numpy as np
def resistivity_from_scattering(n_imp, sigma_tr, n_e, v_F):
"""電気抵抗率の計算
ρ = m / (n_e e² τ)
τ⁻¹ = n_imp v_F σ_tr
"""
e = 1.602e-19
m_e = 9.109e-31
tau_inv = n_imp * v_F * sigma_tr
tau = 1 / tau_inv
rho = m_e / (n_e * e**2 * tau)
return rho, tau
n_e = 8.5e28
v_F = 1.57e6
n_imp = 1e24
sigma_tr = 1e-19
rho, tau = resistivity_from_scattering(n_imp, sigma_tr, n_e, v_F)
l_mfp = v_F * tau
print("電気抵抗率の微視的計算:")
print("=" * 50)
print(f"伝導電子密度: {n_e:.2e} m⁻³")
print(f"不純物密度: {n_imp:.2e} m⁻³")
print(f"輸送断面積: {sigma_tr:.2e} m²")
print(f"\n緩和時間 τ: {tau:.2e} s")
print(f"平均自由行程: {l_mfp*1e9:.2f} nm")
print(f"電気抵抗率 ρ: {rho:.2e} Ω·m")
print(f"電気伝導度 σ: {1/rho:.2e} S/m")
電気抵抗率の微視的計算:
==================================================
伝導電子密度: 8.50e+28 m⁻³
不純物密度: 1.00e+24 m⁻³
輸送断面積: 1.00e-19 m²
緩和時間 τ: 6.37e-15 s
平均自由行程: 10.00 nm
電気抵抗率 ρ: 1.32e-08 Ω·m
電気伝導度 σ: 7.58e+07 S/m
Example 8: フォノン散乱によるMatthiessenの法則
import numpy as np
def phonon_scattering_rate(T, theta_D):
"""フォノン散乱による緩和率
τ_ph⁻¹ ∝ T⁵ (T << θ_D)
τ_ph⁻¹ ∝ T (T >> θ_D)
"""
if T < 0.1 * theta_D:
tau_ph_inv = 1e12 * (T / theta_D)**5
else:
tau_ph_inv = 1e13 * (T / theta_D)
return tau_ph_inv
def total_resistivity(T, rho_imp, theta_D, rho0_ph):
"""全抵抗率(Matthiessenの法則)"""
tau_ph_inv = phonon_scattering_rate(T, theta_D)
rho_ph = rho0_ph * (tau_ph_inv / 1e13)
return rho_imp + rho_ph
theta_D = 343
rho_imp = 1e-9
rho0_ph = 1.7e-8
temperatures = [10, 50, 100, 200, 300]
print("Matthiessenの法則による抵抗率:")
print("=" * 60)
print(f"{'T (K)':<10} {'ρ_imp (Ω·m)':<20} {'ρ_ph (Ω·m)':<20} {'ρ_total':<15}")
print("-" * 60)
for T in temperatures:
rho_ph = total_resistivity(T, 0, theta_D, rho0_ph) - 0
rho_tot = total_resistivity(T, rho_imp, theta_D, rho0_ph)
print(f"{T:<10} {rho_imp:<20.2e} {rho_ph:<20.2e} {rho_tot:<15.2e}")
Matthiessenの法則による抵抗率:
============================================================
T (K) ρ_imp (Ω·m) ρ_ph (Ω·m) ρ_total
------------------------------------------------------------
10 1.00e-09 4.49e-13 1.00e-09
50 1.00e-09 2.81e-10 1.28e-09
100 1.00e-09 5.64e-09 6.64e-09
200 1.00e-09 9.91e-09 1.09e-08
300 1.00e-09 1.49e-08 1.59e-08
演習問題
Easy(基礎確認)
Q1: 相互作用描像での時間発展演算子 \(U_I(t, t_0)\) が満たす微分方程式を導出してください。
解答を見る
導出:
\[
i\frac{d}{dt}|\psi_I(t)\rangle = H_I(t)|\psi_I(t)\rangle
\]
\(|\psi_I(t)\rangle = U_I(t, t_0)|\psi_I(t_0)\rangle\) なので:
\[
i\frac{\partial U_I}{\partial t} = H_I(t) U_I(t, t_0)
\]
初期条件: \(U_I(t_0, t_0) = 1\)
Medium(応用)
Q2: Wickの定理を用いて、6点関数 \(\langle 0|T\{\phi_1\cdots\phi_6\}|0\rangle\) の異なるペアリングの数を数えてください。
解答を見る
計算:
6つの場を3組のペアに分ける方法の数:
\[
\frac{6!}{2^3 \cdot 3!} = \frac{720}{8 \cdot 6} = 15
\]
一般に、\(2n\)点関数のペアリング数は \((2n-1)!! = (2n-1)(2n-3)\cdots 3 \cdot 1\)
Hard(発展)
Q3: LSZ公式を用いて、φ⁴理論での2→2散乱振幅がツリーレベルで \(\mathcal{M} = -\lambda\) となることを示してください。
解答を見る
導出:
LSZ公式から、外線をon-shellにすると:
\[
\langle p_3, p_4|S|p_1, p_2\rangle \propto \langle 0|T\{\phi\phi\phi\phi\}|0\rangle_{\text{1PI}}
\]
ツリーレベルでは、4点頂点のみが寄与:
\[
H_I = \int d^4x \, \frac{\lambda}{4!}\phi^4
\]
S行列の1次項:
\[
S^{(1)} = -i\int d^4x \, \frac{\lambda}{4!}\phi^4
\]
Wickの定理で4つの場を外線に縮約すると、組合せ因子 \(4!\) がキャンセルして:
\[
\mathcal{M} = -\lambda
\]
参考文献
- Peskin, M. E., & Schroeder, D. V. (1995). An Introduction to Quantum Field Theory. Westview Press.
- Weinberg, S. (1995). The Quantum Theory of Fields, Vol. 1. Cambridge University Press.
- Schwartz, M. D. (2014). Quantum Field Theory and the Standard Model. Cambridge University Press.
- Mahan, G. D. (2000). Many-Particle Physics (3rd ed.). Springer.