Show code cell content
import mmf_setup;mmf_setup.nbinit()
import logging;logging.getLogger('matplotlib').setLevel(logging.CRITICAL)
%matplotlib inline
import numpy as np, matplotlib.pyplot as plt
This cell adds /home/docs/checkouts/readthedocs.org/user_builds/physics-581-the-standard-model/checkouts/latest/src to your path, and contains some definitions for equations and some CSS for styling the notebook. If things look a bit strange, please try the following:
- Choose "Trust Notebook" from the "File" menu.
- Re-execute this cell.
- Reload the notebook.
Dirac Equation#
The Essence#
Physical objects must transform under specific representations of the Lorentz group. Here we consider four-vectors like \(x^{\mu} = (ct, \vect{x})^T\) and spinors \(\psi_a\), each of which transforms under specific, but different, representations:
where \(\mat{\Lambda}(\omega)\) and \(\mat{R}(\omega)\) are matrix representations of the Lorentz group corresponding to the same boosts and rotation parameters \(\omega\).
The Dirac equation follows from constructing a Lorentz invariant Lagrangian. Without derivatives, we can form the following term
where the matrix \(\mat{\gamma}^0\) is needed since the representation \(\mat{R}\) is not unitary.
The Lorentz transform also passively changes the arguments, so four-gradients also transform
For scalars, we can thus form Lorentz invariant terms with two derivatives, which form the basis for the Klein-Gordon equation
The additional transformation property of spinors \(\psi \rightarrow \mat{R}\psi\) provides another option if we can find matrices \(\mat{\gamma}^{\mu}\) such that
This allows us to construct a special derivative that preserves the transformation properties of spinors:
This allows us to form a Lorentz invariant Lagrangian with a single derivative that forms the basis for the Dirac equation:
Rotations#
We start with some group theory for rotations. Active rotations about the axis \(\vect{\theta}\) of magnitude \(\theta = \abs{\theta}\) in 3D can be effected by the following linear transformations, which form a faithful representation of the SO(3) group:
From this, we can determine the elements of the corresponding Lie Algebra by expanding about the origin to linear order in \(\theta\):
The three generators are \([\mat{T}_{k}]_{ij} = \varepsilon_{ikj}\):
Rotations are obtained from the algebra by exponentiating:
For rotations in 3D, this notation make sense, but in particle physics a different convention is used that more closely connects with quantum mechanics. The generators \(\mat{T}_a = - \mat{T}_a^T\) are anti-symmetric, but in physics, these will correspond to observables like angular momentum which need to be Hermitian.
Thus, the convention in particle physics is to include a factor of \(\I\):
The resulting generators are now Hermitian:
With an additional factor of \(\hbar\) (which we set to one in this course), these form a representation of angular momentum.
The group elements are formed from the algebra by exponentiating, which looks like this:
From now on, we will follow the physics convention. Note that the generators can be obtained by expanding the rotation to linear order:
For example, a rotation about the \(z\) axis has the form:
Lie Algebras#
These matrices form a basis for the Lie algebra, which can be defined in terms of the structure constants:
For \(\mathfrak{so}(3)\), we have \(f_{abc} = \epsilon_{abc}\).
Convention in Mathematics
In terms of the anti-symmetric matrices \(\mat{T}_{a}\), we have
For rotations in 3D, this notation make sense.
Each has their use. For example, since the structure constants are real, if one has a complex representation \(\mat{T}_{a}\) (not purely real), then one can form another complex representation by conjugating \(\overline{\mat{T}}_{a}\). In the second formulation, this requires an additional sign, \(-\overline{\mat{L}}_{a}\), which inequivalent only if \(\mat{L}_{a}\) is not purely imaginary.
Trivial Representation#
We start with the trivial representation, which always exists
This is he only one-dimensional representation, since finite numbers compute. It is thus referred to by the number \(\mathbf{1}\).
Adjoint Representation#
The structure constants also form a matrix representation \(\mat{L}_{a}\) called the adjoint representation (we follow the form in [Georgi, 2019]):
It is purely imaginary and has the same dimension as the number of generators. For \(\mathfrak{so}(3)\) this is \(3\) and so this representation is often referred to by the number \(\mathbf{3}\).
Do It!
Show that the adjoint representation defined by the structure factors indeed
satisfies the algebra.
Hint: use the Jacobi identity: \(\bigl[\mat{A}, [\mat{B}, \mat{C}]\bigr]
+
\bigl[\mat{B}, [\mat{C}, \mat{A}]\bigr]
+
\bigl[\mat{C}, [\mat{A}, \mat{B}]\bigr]
= \mat{0}\).
Solution
First we compute:
Summing over permutations of \(\{abc, bca, cab\}\) we can express Jacobi identity as
Now using the adjoint representation \([\mat{L}_{a}]_{bc} = -\I f_{abc}\) and the anti-symmetry \(f_{abc} = -f_{bac}\) implied by the commutator, we can rearrange this as
This proves that the adjoint representation satisfies the algebra.
Show code cell content
from scipy.linalg import expm
eps = np.zeros((3, 3, 3)) # Levi-Civita symbol.
eps[0,1,2] = eps[1,2,0] = eps[2,0,1] = 1
eps[2,1,0] = eps[1,0,2] = eps[0,2,1] = -1
Tx, Ty, Tz = T = np.einsum('iaj->aij', eps)
Lx, Ly, Lz = L = 1j*T
def com(A, B):
return A@B - B@A
assert np.allclose(com(Tx, Ty), Tz)
assert np.allclose(com(Ty, Tz), Tx)
assert np.allclose(com(Tz, Tx), Ty)
assert np.allclose(com(Lx, Ly), 1j*Lz)
assert np.allclose(com(Ly, Lz), 1j*Lx)
assert np.allclose(com(Lz, Lx), 1j*Ly)
print(T.astype(int))
[[[ 0 0 0]
[ 0 0 -1]
[ 0 1 0]]
[[ 0 0 1]
[ 0 0 0]
[-1 0 0]]
[[ 0 -1 0]
[ 1 0 0]
[ 0 0 0]]]
Pauli Matrices#
The Pauli matrices provide another two-dimensional representation of \(\mathfrak{so}(3)\). To see this, we note:
from which the following properties can be deduced:
Scaling appropriately, we thus see that the following set of matrices form a 2-dimensional representation of \(\mathfrak{s0}(3)\):
This is a complex representation referred to by the number \(\textbf{2}\).
As mentioned above, since the structure constants are real, complex representations like this always appear in pairs:
For \(\mathfrak{so}(3)\), this representation is called \(\mathbf{\bar{2}}\):
Solution
This is the 2-dimensional Levi-Civita symbol.
Show code cell source
σ = np.array([
[[0, 1],
[1, 0]],
[[0, -1j],
[1j, 0]],
[[1, 0],
[0, -1]]])
σbar = -σ.conj()
assert np.allclose(σ[0]@σ[1], 1j*σ[2])
S = np.array([
[0, 1],
[-1, 0]])
Sinv = S.T
assert np.allclose(S @ Sinv, np.eye(2))
assert np.allclose(S @ σ @ S.T, σbar)
Extended Pauli Matrices#
Note that, if we include the identity \(\mat{σ}_{0} = \mat{1}\), then Pauli matrices form a basis for Hermitian matrices:
Exponentiating the \(2\) and \(\bar{2}\) representations, we
To Do
This is incomplete.
Gamma Matrices I#
Suppose we have some wavefunction \(\psi(\vect{x})\) that transforms under rotations as follows:
where \(\mat{R}\) is some spinor representation (think \(SU(2)\)) and \(\mat{\Lambda}\) is the adjoint representation (\(SO(3)\)) so that derivatives transform as
From now on, we will suppress the arguments and just write:
If \(\mat{R}\) is unitary, then we the following is invariant:
Can we do something similar with the derivative? One obvious possibility is
Another possibility can be formed from a single derivative if we can find a set of matrices \(\mat{\gamma}_{a}\) such that
This allows us to define \(\fslash{\nabla} = \mat{\gamma}_{a}\nabla_{a}\) such that \(\fslash{\nabla}\psi \rightarrow \mat{R}\fslash{\nabla}\psi\) transforms covariantly with \(\mat{R}\):
This allows us to form the invariant
To find the matrices \(\mat{\gamma}_{a}\) we expanding the required transformation property to linear order:
Recall that the generators of the algebra satisfy
Hence, if we express the \(\mat{\gamma}_{a}\) matrices in term of the algebra generators, then we have
To further elucidate the structure here, recall that the alternative form of the adjoint representation is \([\mat{l}_{c}]_{da} = -\I f_{acd}\). Inserting this gives
In the case of rotations, \(\mat{\lambda}_{c} = \mat{l}_c\) is the adjoint representation, so we can just take \(\mat{c} = \mat{1}\).
However, we know this is not necessary, since, for the Lorentz group, there are 4-dimensional matrices \(\mat{\gamma}^{\mu}\) that do the trick, when the adjoint representation \(\mat{l}_{c}\) is 6-dimensional. The matrix \(\mat{c}\) in this case must be 6×4.
Lorentz Group#
In addition to rotations \(\vect{\theta}\), the Lorentz group has boosts. A boost along the \(x\) axis with rapidity \(\eta\) has the form
The corresponding generators are
Together, these generate the proper orthochronos Lorentz group:
where the algebra is defined by
The defining representation given above defines the 4×4 space-time transformation, but quantum fields can transform under different representations. To classify these, note that these six generators can be rearranged to form a computing \(\mathfrak{su}(2)_L\times\mathfrak{su}(2)_R\) algebra:
Thus, we can label the representations by the pair \((j_+, j_-)\) where \(j_{\pm} = 0, \tfrac{1}{2}, 1, \cdots\) are defined by the Casimirs
The spin-1/2 representations are \(\vect{\mat{J}} = \vect{\mat{\sigma}}/2\) and \(\vect{\mat{K}} = \pm \vect{\mat{\sigma}}/2\I\):
Misc.#
A scalar wavefunction \(\phi(x^{\mu})\) and its four-gradient transform as
For such a scale, the Lorentz invariant term with four-gradients has two derivatives:
The four-vector transformation satisfies (in matrix then index notation)
where \(g=\diag(1, -1, -1, -1)\) is the metric. This compactly expressed in Einstein notation where the metric is used to raise and lower indices, and Lorentz invariant quantities can be formed by contracting indices:
The wavefunction for an electron has the form \(\psi_a(x^{\mu})\), and transforms as
The Dirac equation follows from a Lorentz invariant Lagrangian constructed with a single , and the Dirac equation follows
We start
We start from Lorentz transformations which transform four-vectors \(x^{\mu} = (t, \vect{x})^T\) as \(x^{\mu} \rightarrow \Lambda^{\mu}{}_{\nu}x^{\nu}\) where \(\mat{\Lambda}\) is a real 4-dimensional representation of the Lorentz group.
into The electron wavefunction \(\psi_a(\vect{x}, t)\) needs four components
Covariant Formulation#
To formulate things covariantly, we define the following four-vectors (now choosing units such that \(c = \hbar = 1\)):
Note that the contravariant four-vectors, with a raised index, have the corresponding physical quantities. We now introduce the metric
We follow the conventions in [Langacker, 2017]:
Fig. 2 Table 1.2 from [Langacker, 2017]. Note how the metric \(g_{\mu\nu}\) is used to raise and lower indices, changing the sign of the spatial part in the process.#
Using these expressions, we can express the Lorentz transform more covariantly by packaging the angles and rapidities into 4×4 tensor \(\omega_{\rho \sigma}\):
We similarly package the matrices \(\vect{\mat{J}}\) and \(\vect{\mat{K}}\) into a 4×4 of matrices \(\mat{M}_{\rho\sigma}\):
Including the generators of translations \(\mat{P}_{\mu}\) we have the full Poincaré group, which has the algebra
#:tags: [hide-cell]
J = np.zeros((3, 4, 4), dtype=complex)
J[:, 1:, 1:] = L
K = np.zeros((3, 4, 4), dtype=complex)
for i in [0, 1, 2]:
K[i, 0, i+1] = K[i, i+1, 0] = 1j
Jx, Jy, Jz = J
Kx, Ky, Kz = K
eta = 0.1
c, s = np.cosh(eta), np.sinh(eta)
assert np.allclose(
expm(eta*K[0]/1j),
np.array([
[c, s, 0, 0],
[s, c, 0, 0],
[0, 0, 1, 0],
[0, 0, 0, 1]]))
def com_(A, B):
"""Return the full set of commutators."""
return (np.einsum('iab,jbc->ijac', A, B)
- np.einsum('ibc,jab->ijac', A, B))
def eps_(A):
"""Return eps_{ijk}A_k."""
return np.einsum('ijk,kab->ijab', eps, A)
assert np.allclose(com_(J, J), 1j*eps_(J))
assert np.allclose(com_(K, J), 1j*eps_(K))
assert np.allclose(com_(K, K), -1j*eps_(J))