ghostのLagranigan (21.52)を計算する
import sympy
量の定義
g, tw, m_W = sympy.symbols("g, \\theta_w, m_W")
h = sympy.symbols("h")
W_p, W_m, Z_0, A = sympy.symbols("W^+, W^-, Z^0, A")
phi_p, phi_m, phi_3 = sympy.symbols("\\phi^+, \\phi^-, \\phi^3")
c_p, c_m, c_Z, c_A = sympy.symbols("c^+, c^-, c^Z, c^A")
_c_p, _c_m, _c_Z, _c_A = sympy.symbols("\\bar{c}^+, \\bar{c}^-, \\bar{c}^Z, \\bar{c}^A")
v = 2*m_W / g
gp = g * sympy.tan(tw)
A_1 = (W_p + W_m) / sympy.sqrt(2)
A_2 = sympy.I * (W_p - W_m) / sympy.sqrt(2)
A_3 = A * sympy.sin(tw) + Z_0 * sympy.cos(tw)
A_Y = A * sympy.cos(tw) - Z_0 * sympy.sin(tw) # = B
phi_1 = (phi_p+phi_m) / sympy.sqrt(2)
phi_2 = -sympy.I * (phi_p-phi_m) / sympy.sqrt(2)
c_1 = (c_p+c_m) / sympy.sqrt(2)
c_2 = -sympy.I * (c_p-c_m) / sympy.sqrt(2)
_c_1 = (_c_p+_c_m) / sympy.sqrt(2)
_c_2 = sympy.I * (_c_p-_c_m) / sympy.sqrt(2)
c_3 = c_Z * sympy.cos(tw) + c_A * sympy.sin(tw)
c_Y = c_A * sympy.cos(tw) - c_Z * sympy.sin(tw)
_c_3 = _c_Z * sympy.cos(tw) + _c_A * sympy.sin(tw)
_c_Y = _c_A * sympy.cos(tw) - _c_Z * sympy.sin(tw)
phi_0 = sympy.Matrix([0, 0, 0, v])
phi = sympy.Matrix([phi_1, phi_2, phi_3, v+h])
c = sympy.Matrix([c_1, c_2, c_3, c_Y])
_c = sympy.Matrix([_c_1, _c_2, _c_3, _c_Y])
T_1 = 1/2 * sympy.Matrix([
[0, 0, 0, 1],
[0, 0, -1, 0],
[0, 1, 0, 0],
[-1, 0, 0, 0]])
T_2 = 1/2 * sympy.Matrix([
[0, 0, 1, 0],
[0, 0, 0, 1],
[-1, 0, 0, 0],
[0, -1, 0, 0]])
T_3 = 1/2 * sympy.Matrix([
[0, -1, 0, 0],
[1, 0, 0, 0],
[0, 0, 0, -1],
[0, 0, 1, 0]])
T_Y = 1/2 * sympy.Matrix([
[0, -1, 0, 0],
[1, 0, 0, 0],
[0, 0, 0, 1],
[0, 0, -1, 0]])
T = [T_1, T_2, T_3, T_Y]
特に構造定数$[T^a, T^b] = f^{abc} T^c$は$f^{12Y} = 1$のみ. Lagrangianは$g^b f^{abc} (\partial^\mu\bar{c}^a) A^b_\mu c^c$
L_ghost_gauge = - (g * _c_1 * A_2 * c_Y) - (gp * _c_2 * A_Y * c_1) - (g * _c_Y * A_1 * c_2) + (g * _c_Y * A_2 * c_1) + (g * _c_2 * A_1 * c_Y) + (gp * _c_1 * A_Y * c_2)
L_ghost_gauge = sympy.expand(L_ghost_gauge)
Lpp = L_ghost_gauge.coeff(_c_p*c_p) * _c_p * c_p
Lmm = L_ghost_gauge.coeff(_c_m*c_m) * _c_m * c_m
LZZ = L_ghost_gauge.coeff(_c_Z*c_Z) * _c_Z * c_Z
LAA = L_ghost_gauge.coeff(_c_A*c_A) * _c_A * c_A
display(sympy.expand(Lpp.simplify()))
display(sympy.expand(Lmm.simplify()))
display(sympy.expand(LZZ.simplify()))
display(sympy.expand(LAA.simplify()))
Lpm = L_ghost_gauge.coeff(_c_p*c_m) * _c_p * c_m
LpA = L_ghost_gauge.coeff(_c_p*c_A) * _c_p * c_A
LpZ = L_ghost_gauge.coeff(_c_p*c_Z) * _c_p * c_Z
display(sympy.expand(Lpm.simplify()))
display(sympy.expand(LpA.simplify()))
display(sympy.expand(LpZ.simplify()))
Lmp = L_ghost_gauge.coeff(_c_m*c_p) * _c_m * c_p
LmA = L_ghost_gauge.coeff(_c_m*c_A) * _c_m * c_A
LmZ = L_ghost_gauge.coeff(_c_m*c_Z) * _c_m * c_Z
display(sympy.expand(Lmp.simplify()))
display(sympy.expand(LmA.simplify()))
display(sympy.expand(LmZ.simplify()))
LZp = L_ghost_gauge.coeff(_c_Z*c_p) * _c_Z * c_p
LZm = L_ghost_gauge.coeff(_c_Z*c_m) * _c_Z * c_m
LZA = L_ghost_gauge.coeff(_c_Z*c_A) * _c_Z * c_A
display(sympy.expand(LZp.simplify()))
display(sympy.expand(LZm.simplify()))
display(sympy.expand(LZA.simplify()))
LAp = L_ghost_gauge.coeff(_c_A*c_p) * _c_A * c_p
LAm = L_ghost_gauge.coeff(_c_A*c_m) * _c_A * c_m
LAZ = L_ghost_gauge.coeff(_c_A*c_Z) * _c_A * c_Z
display(sympy.expand(LAp.simplify()))
display(sympy.expand(LAm.simplify()))
display(sympy.expand(LAZ.simplify()))
M = sympy.Matrix([
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]])
for a in range(3):
for b in range(3):
M[a, b] = -g**2 * (T[a]*phi_0).dot(T[b]*phi)
M[a, 3] = -g * gp * (T[a]*phi_0).dot(T[3]*phi)
for b in range(3):
M[3, b] = -g * gp * (T[3]*phi_0).dot(T[b]*phi)
M[3, 3] = -gp**2 * (T[3]*phi_0).dot(T[3]*phi)
L_ghost_goldstone = (_c.T * M * c)[0, 0]
L_ghost_goldstone = L_ghost_goldstone.expand()
Lpp = L_ghost_goldstone.coeff(_c_p*c_p) * _c_p * c_p
Lmm = L_ghost_goldstone.coeff(_c_m*c_m) * _c_m * c_m
LZZ = L_ghost_goldstone.coeff(_c_Z*c_Z) * _c_Z * c_Z
LAA = L_ghost_goldstone.coeff(_c_A*c_A) * _c_A * c_A
display(sympy.expand(Lpp.nsimplify()))
display(sympy.expand(Lmm.nsimplify()))
display(sympy.expand(sympy.simplify(LZZ.nsimplify())))
display(sympy.expand(sympy.simplify(LAA.nsimplify())))
Lpm = L_ghost_goldstone.coeff(_c_p*c_m) * _c_p * c_m
LpA = L_ghost_goldstone.coeff(_c_p*c_A) * _c_p * c_A
LpZ = L_ghost_goldstone.coeff(_c_p*c_Z) * _c_p * c_Z
display(sympy.expand(Lpm.simplify()))
display(sympy.expand(LpA.nsimplify()))
display(sympy.expand(LpZ.nsimplify()))
Lmp = L_ghost_goldstone.coeff(_c_m*c_p) * _c_m * c_p
LmA = L_ghost_goldstone.coeff(_c_m*c_A) * _c_m * c_A
LmZ = L_ghost_goldstone.coeff(_c_m*c_Z) * _c_m * c_Z
display(sympy.expand(Lmp.simplify()))
display(sympy.expand(LmA.nsimplify()))
display(sympy.expand(LmZ.nsimplify()))
LZp = L_ghost_goldstone.coeff(_c_Z*c_p) * _c_Z * c_p
LZm = L_ghost_goldstone.coeff(_c_Z*c_m) * _c_Z * c_m
LZA = L_ghost_goldstone.coeff(_c_Z*c_A) * _c_Z * c_A
display(sympy.expand(LZp.nsimplify()))
display(sympy.expand(LZm.nsimplify()))
display(sympy.expand(LZA.simplify()))
LAp = L_ghost_goldstone.coeff(_c_A*c_p) * _c_A * c_p
LAm = L_ghost_goldstone.coeff(_c_A*c_m) * _c_A * c_m
LAZ = L_ghost_goldstone.coeff(_c_A*c_Z) * _c_A * c_Z
display(sympy.expand(LAp.simplify()))
display(sympy.expand(LAm.simplify()))
display(sympy.expand(LAZ.simplify()))
sympy.simplify(_c.T * c)