This article is the mathematical companion to Light Does Not Travel in a Straight Line. Its goal is to build, from first principles, a proof that photon helicity is Lorentz invariant — and to understand exactly why the same claim fails for massive particles. We assume familiarity with vectors and matrices, but no prior knowledge of special relativity.
Inertial coordinate systems
To make precise statements about what different observers measure, we need to be precise about what a "coordinate system" is. A Minkowski coordinate system (also called an inertial coordinate system) is a bijection \(\varphi\) from the set of spacetime events to \(\mathbb{R}^4\), assigning each event four coordinates \((t, x, y, z)\), such that two conditions hold:
- Force-free worldlines are linear. Any particle subject to no net force has a worldline \(t \mapsto (t, x_0 + u_x t, y_0 + u_y t, z_0 + u_z t)\) in these coordinates — that is, straight lines at constant velocity.
- The Minkowski metric takes the standard form. For any two infinitesimally nearby events, the spacetime interval satisfies \(ds^2 = -c^2\,dt^2 + dx^2 + dy^2 + dz^2\).
Physically, the first condition says that Newton's first law holds in these coordinates without correction terms. The second condition encodes the geometry of spacetime: unlike Euclidean geometry, spacetime has a mixed-signature metric with a minus sign on the time component. The speed of light \(c\) converts the time coordinate into the same units as the spatial coordinates, making the metric dimensionally uniform.
A lab bolted to the Earth's surface at rest is an excellent approximation to a Minkowski coordinate system for most experiments — tidal forces and gravitational gradients introduce corrections that are negligible at laboratory scales. An accelerating rocket, by contrast, is not a Minkowski coordinate system: force-free particles appear to accelerate backward in the rocket's frame, which violates the first condition. The rocket's occupants feel a pseudo-force (the "rocket's gravity") precisely because their coordinate system is non-inertial.
Inertial frames as equivalence classes
Two different Minkowski coordinate systems \(K\) and \(K'\) can describe the same physical situation from the same physical vantage point: \(K'\) might simply have its origin placed differently, or its spatial axes rotated, or its time zero shifted. It is useful to collect all such systems into a single equivalence class and call that class an inertial frame.
Formally, we say \(K \sim K'\) if and only if the coordinate transformation \(\varphi' \circ \varphi^{-1} : \mathbb{R}^4 \to \mathbb{R}^4\) is a rigid transformation — a combination of a spatial translation, a spatial rotation, and a time translation, but not a Lorentz boost or a time reversal. In components:
\[ t' = t + \tau, \qquad \mathbf{x}' = R\mathbf{x} + \mathbf{a}, \]for some \(\tau \in \mathbb{R}\), \(R \in SO(3)\) (a proper rotation matrix), and \(\mathbf{a} \in \mathbb{R}^3\). This relation is an equivalence relation:
- Reflexive. \(K \sim K\) because the identity transformation (\(\tau = 0\), \(R = I\), \(\mathbf{a} = \mathbf{0}\)) is a rigid transformation.
- Symmetric. If \(K \sim K'\) via \((\tau, R, \mathbf{a})\), then \(K' \sim K\) via \((-\tau, R^{-1}, -R^{-1}\mathbf{a})\), which is also a rigid transformation since \(R^{-1} = R^T \in SO(3)\).
- Transitive. If \(K \sim K'\) via \((\tau_1, R_1, \mathbf{a}_1)\) and \(K' \sim K''\) via \((\tau_2, R_2, \mathbf{a}_2)\), then \(K \sim K''\) via \((\tau_1 + \tau_2, R_2 R_1, R_2\mathbf{a}_1 + \mathbf{a}_2)\), which is again a rigid transformation.
An inertial reference frame is an equivalence class \([K]\) under this relation.
The physical meaning is straightforward. Two observers standing next to each other in the same lab share the same inertial frame even if one has their \(x\)-axis pointing north and the other has it pointing east, or if they set their stopwatches at different times. Those differences are mere coordinate conventions. An observer on a train moving at constant velocity past the lab occupies a different inertial frame — the transformation relating the two coordinate systems is a Lorentz boost, which is deliberately excluded from the equivalence. Einstein's first postulate of special relativity — that the laws of physics are the same in every inertial frame — means precisely that the form of every physical law is identical in every equivalence class \([K]\).[5]
The energy-momentum four-vector
Consider a particle of mass \(m\) moving at velocity \(\mathbf{u}\) relative to coordinate system \(K\). Define the Lorentz factor:
\[ \gamma_u = \frac{1}{\sqrt{1 - |\mathbf{u}|^2/c^2}}. \]At low speeds \(\gamma_u \approx 1\). As \(|\mathbf{u}| \to c\), \(\gamma_u \to \infty\). The relativistic momentum and total energy of the particle as measured in \(K\) are:
\[ \mathbf{p} = \gamma_u m \mathbf{u}, \qquad E = \gamma_u m c^2. \]When the particle is at rest (\(\mathbf{u} = \mathbf{0}\), \(\gamma_u = 1\)), the energy formula reduces to the famous \(E = mc^2\): every massive object carries an intrinsic energy proportional to its mass, even when completely at rest. This rest energy is real — it is released in nuclear fission and fusion. As the particle speeds up, \(\gamma_u > 1\) and \(E\) grows without bound.
For a massless particle such as a photon, the above formulas are \(0/0\) at \(|\mathbf{u}| = c\) and must be replaced by the limiting relation \(E = |\mathbf{p}|\,c\). The photon has nonzero energy and momentum; it simply has zero rest mass. Its four-momentum has zero Minkowski norm: \((E/c)^2 - |\mathbf{p}|^2 = 0\).
Why combine energy and momentum into a single four-component object? Momentum \(\mathbf{p}\) has units of kg·m/s. Energy \(E\) has units of J = kg·m²/s². Dividing energy by \(c\) gives kg·m/s — the same units as momentum. The combination
\[ p^\mu = \left(\frac{E}{c},\; p_x,\; p_y,\; p_z\right) \]has all four entries in the same units and transforms under Lorentz boosts as a four-vector, meaning it mixes components in the same way that the spacetime displacement \((c\,dt, dx, dy, dz)\) does. The \(x\), \(y\), \(z\) components are momentum components — not velocity components — and \(E/c\) is paired with them because it plays the role of the "time component" of momentum in relativistic mechanics.
The Lorentz boost
Suppose inertial coordinate systems \(K\) and \(K'\) are set up so that \(K'\) moves at constant speed \(v = \beta c\) in the \(+z\) direction relative to \(K\), with origins coinciding at \(t = 0\). For any particle, the energy and momentum measured in \(K'\) are related to those in \(K\) by the Lorentz boost:[2]
\[ \begin{pmatrix} E'/c \\ p_x' \\ p_y' \\ p_z' \end{pmatrix} = \underbrace{\begin{pmatrix} \phantom{-}\gamma & 0 & 0 & -\gamma\beta \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ -\gamma\beta & 0 & 0 & \phantom{-}\gamma \end{pmatrix}}_{\Lambda(\beta)} \begin{pmatrix} E/c \\ p_x \\ p_y \\ p_z \end{pmatrix}, \qquad \gamma = \frac{1}{\sqrt{1-\beta^2}}. \]The transverse components \(p_x\) and \(p_y\) are unchanged — only the energy and the momentum component parallel to the boost direction mix. This is a key structural fact: it will appear in both helicity proofs below.
The boost matrix \(\Lambda(\beta)\) preserves the Minkowski inner product. To verify this explicitly, compute \((E'/c)^2 - |\mathbf{p}'|^2\) using the transformation:
\[ \left(\frac{E'}{c}\right)^{\!2} - |\mathbf{p}'|^2 = \left(\gamma\frac{E}{c} - \gamma\beta p_z\right)^2 - p_x^2 - p_y^2 - \left(\gamma p_z - \gamma\beta\frac{E}{c}\right)^2. \]Expanding both squared terms and noting that the cross terms \(\mp 2\gamma^2\beta(E/c)p_z\) cancel:
\[ = \gamma^2\!\left[\left(\frac{E}{c}\right)^{\!2}(1-\beta^2) - p_z^2(1-\beta^2)\right] - p_x^2 - p_y^2 = \left(\frac{E}{c}\right)^{\!2} - |\mathbf{p}|^2, \]using \(\gamma^2(1-\beta^2) = 1\). The Minkowski norm is preserved, confirming that the boost is indeed a Lorentz transformation.
Proof: rest mass is Lorentz invariant
Theorem. For any particle with rest mass \(m\), and for any two inertial observers A and B in constant-velocity motion in any direction, \((E_B/c)^2 - |\mathbf{p}_B|^2 = (E_A/c)^2 - |\mathbf{p}_A|^2 = m^2c^2\).
Proof. We work in the frame of observer A first. From \(E = \gamma_u mc^2\) and \(|\mathbf{p}| = \gamma_u m|\mathbf{u}|\):
\[ \left(\frac{E}{c}\right)^{\!2} - |\mathbf{p}|^2 = \gamma_u^2 m^2 c^2 - \gamma_u^2 m^2 |\mathbf{u}|^2 = \gamma_u^2 m^2 c^2\!\left(1 - \frac{|\mathbf{u}|^2}{c^2}\right) = m^2 c^2. \tag{A} \]This establishes the invariant in A's frame. Now let B move at speed \(\beta c\) in an arbitrary direction \(\hat{\boldsymbol{\beta}}\) relative to A. Decompose \(\mathbf{p}\) into components parallel and perpendicular to \(\hat{\boldsymbol{\beta}}\):
\[ p_\parallel = \hat{\boldsymbol{\beta}}\cdot\mathbf{p}, \qquad \mathbf{p}_\perp = \mathbf{p} - p_\parallel\hat{\boldsymbol{\beta}}, \qquad |\mathbf{p}|^2 = p_\parallel^2 + |\mathbf{p}_\perp|^2. \]The general Lorentz boost in direction \(\hat{\boldsymbol{\beta}}\) acts on the energy-momentum four-vector as:
\[ \frac{E'}{c} = \gamma\!\left(\frac{E}{c} - \beta p_\parallel\right), \qquad p_\parallel' = \gamma\!\left(p_\parallel - \beta\frac{E}{c}\right), \qquad \mathbf{p}_\perp' = \mathbf{p}_\perp. \]The perpendicular components are unchanged — only the energy and the parallel component mix, exactly as in the \(z\)-axis matrix but now valid for any boost direction. Compute B's invariant:
\[ \left(\frac{E'}{c}\right)^{\!2} - |\mathbf{p}'|^2 = \gamma^2\!\left(\frac{E}{c} - \beta p_\parallel\right)^{\!2} - \gamma^2\!\left(p_\parallel - \beta\frac{E}{c}\right)^{\!2} - |\mathbf{p}_\perp|^2. \]Expand both squared terms:
\[ \gamma^2\!\left[\left(\frac{E}{c}\right)^{\!2} - 2\beta\frac{E}{c}p_\parallel + \beta^2 p_\parallel^2 - p_\parallel^2 + 2\beta p_\parallel\frac{E}{c} - \beta^2\!\left(\frac{E}{c}\right)^{\!2}\right] - |\mathbf{p}_\perp|^2. \]The cross terms \(\mp 2\beta(E/c)p_\parallel\) cancel. Collecting the remaining terms:
\[ = \gamma^2(1-\beta^2)\!\left[\left(\frac{E}{c}\right)^{\!2} - p_\parallel^2\right] - |\mathbf{p}_\perp|^2 = \left(\frac{E}{c}\right)^{\!2} - p_\parallel^2 - |\mathbf{p}_\perp|^2 = \left(\frac{E}{c}\right)^{\!2} - |\mathbf{p}|^2 \overset{(A)}{=} m^2c^2. \quad\blacksquare \]This holds for any velocity of the particle and any boost direction and speed of observer B. The rest mass \(m\) is therefore the same number in every inertial frame.[4]
Proof: linear momentum is not Lorentz invariant
Two proofs show that linear momentum — and energy — are frame-dependent.
Massive particle. Consider a particle at rest in \(K\): \(p_z = 0\), \(E = mc^2\). Under a boost with \(\beta \ne 0\):
\[ p_z' = \gamma\!\left(0 - \beta\frac{mc^2}{c}\right) = -\gamma\beta mc \ne 0. \]The particle that was at rest in \(K\) appears to move in \(K'\), and carries nonzero momentum. Since \(p_z = 0 \ne p_z'\), momentum is not invariant.
Massless particle (photon). A photon moving in \(+z\) with energy \(E_0\) has \(p_z = E_0/c\). Under a boost:
\[ p_z' = \gamma\!\left(\frac{E_0}{c} - \beta\frac{E_0}{c}\right) = \gamma\frac{E_0}{c}(1-\beta). \]Since \(\beta \ne 0\), \(p_z' = \gamma(1-\beta) E_0/c \ne E_0/c = p_z\). The photon's momentum changes. This change in momentum corresponds directly to the change in frequency measured by B: since \(E = hf\) and \(p_z = E/c\), the Doppler shift in frequency is the Doppler shift in momentum. A photon moving away from a receding source has lower momentum (and lower energy, lower frequency) in the receiver's frame — this is the cosmological redshift. Galaxies moving away from us are not merely "slow" by any absolute measure; they occupy different inertial frames, and the photon's energy-momentum four-vector transforms accordingly.
The conclusion is that neither linear momentum nor energy is Lorentz invariant. Different inertial observers genuinely measure different values. Only the combination \((E/c)^2 - |\mathbf{p}|^2 = m^2c^2\) is the same for all.
Angular momentum and helicity: definitions
In relativistic mechanics, angular momentum is described by the rank-2 antisymmetric tensor \(J^{\mu\nu} = x^\mu p^\nu - x^\nu p^\mu\). For our purposes, the relevant component is \(J^{12}\), which corresponds to the \(z\)-component of spin angular momentum — the angular momentum of the particle about the \(z\)-axis. For a photon, this is the spin angular momentum of the electromagnetic field, which we identified in the companion article as \(\pm\hbar\) per photon.
Helicity is defined as the projection of spin angular momentum onto the direction of motion. For a particle moving along the \(+z\) axis, the direction of motion is \(+\hat{z}\), and helicity is:
\[ h = J^{12} \cdot \operatorname{sign}(p_z). \]If the spin and the momentum are aligned (\(J^{12} > 0\) and \(p_z > 0\)), the helicity is positive. If they are anti-aligned, the helicity is negative. The helicity encodes whether the particle is "right-handed" or "left-handed" in a rotationally invariant way.
We now prove two theorems about helicity:
- For a massive spinning particle, helicity is not Lorentz invariant: different observers disagree about its sign.
- For a photon, helicity is Lorentz invariant: every observer measures the same value.
Proof: massive particle helicity is not Lorentz invariant
Setup. Let a particle of mass \(m > 0\) have spin \(J^{12} = +\hbar\), and move in the \(+z\) direction with momentum \(p_z = p > 0\) and energy \(E = \sqrt{m^2c^4 + p^2c^2}\). Observer A measures helicity \(h_A = J^{12} \cdot \operatorname{sign}(p_z) = (+\hbar)(+1) = +\hbar\).
Let observer B move in the \(+z\) direction at speed \(\beta c\) relative to A.
Step 1: \(J^{12}\) is preserved under a \(z\)-boost. The angular momentum tensor transforms as:
\[ J'^{\mu\nu} = \sum_{\alpha,\,\sigma} \Lambda^\mu_{\ \alpha}\,\Lambda^\nu_{\ \sigma}\,J^{\alpha\sigma}. \]For the component \(J'^{12}\), we need \(\Lambda^1_{\ \alpha}\) and \(\Lambda^2_{\ \sigma}\). Inspecting the boost matrix: row 1 (the \(x\)-row) is \((0, 1, 0, 0)\) and row 2 (the \(y\)-row) is \((0, 0, 1, 0)\). Therefore \(\Lambda^1_{\ \alpha}\) is nonzero only for \(\alpha = 1\) (giving \(\Lambda^1_{\ 1} = 1\)), and \(\Lambda^2_{\ \sigma}\) is nonzero only for \(\sigma = 2\) (giving \(\Lambda^2_{\ 2} = 1\)). So:
\[ J'^{12} = \Lambda^1_{\ 1}\,\Lambda^2_{\ 2}\,J^{12} = 1 \cdot 1 \cdot (+\hbar) = +\hbar. \]The spin component is unchanged by the boost — this is true for any \(\beta\), not just small \(\beta\).
Step 2: \(p_z\) can reverse sign. Applying the boost to \(p_z\):
\[ p_z' = \gamma\!\left(p_z - \beta\frac{E}{c}\right) = \gamma\!\left(p - \beta\frac{\sqrt{m^2c^4 + p^2c^2}}{c}\right). \]The factor in parentheses is zero when \(\beta = pc/E\). Since the particle is massive, its speed \(v_{\text{particle}} = pc^2/E < c\), so \(pc/E < 1\). This means there exist valid boosts with \(\beta \in (pc/E,\, 1)\) — a non-empty interval. For any such \(\beta\), the factor \((p - \beta E/c) < 0\), giving \(p_z' < 0\). In B's frame, the particle moves in the \(-z\) direction.
Step 3: helicity flips. With \(J'^{12} = +\hbar\) and \(p_z' < 0\):
\[ h_B = J'^{12} \cdot \operatorname{sign}(p_z') = (+\hbar)(-1) = -\hbar \ne h_A. \quad\blacksquare \]The physical interpretation is transparent: observer B is moving faster than the particle in the same direction, so the particle moves backward in B's frame. The spin axis is fixed in space; only the momentum has reversed. Helicity — spin projected onto momentum — has flipped. Because \(pc/E < 1\) for any massive particle, there always exists a valid inertial observer who overtakes the particle and sees it moving backward, thereby measuring the opposite helicity.
Proof: photon helicity is Lorentz invariant
Setup. A photon moves in the \(+z\) direction with \(J^{12} = +\hbar\). For any valid observer B, \(\beta \in [0, 1)\).
Step 1: \(J^{12}\) is preserved. The argument is identical to the massive case: rows 1 and 2 of the boost matrix are always the identity rows, so \(J'^{12} = +\hbar\) for every valid boost, at every speed \(\beta < 1\).
Step 2: \(\operatorname{sign}(p_z)\) is preserved. For a photon, \(E = p_z c\) (all momentum in the \(+z\) direction). Applying the boost:
\[ p_z' = \gamma\!\left(p_z - \beta\frac{E}{c}\right) = \gamma\!\left(p_z - \beta\frac{p_z c}{c}\right) = \gamma\, p_z(1 - \beta). \]Since \(\beta < 1\), the factor \((1-\beta) > 0\). Since \(p_z > 0\) and \(\gamma > 0\), we have \(p_z' > 0\) for every valid observer. The photon's momentum is rescaled by \(\gamma(1-\beta)\) — a real, positive factor encoding the Doppler shift — but its sign is invariant.
Step 3: helicity is preserved.
\[ h_B = J'^{12} \cdot \operatorname{sign}(p_z') = (+\hbar)(+1) = +\hbar = h_A. \quad\blacksquare \]The key contrast between the two cases is:
\[ \underbrace{p_z'^{\,\text{(massive)}} = \gamma\!\left(p - \beta\frac{E}{c}\right)}_{\text{negative for } \beta \in (pc/E,\,1),\ \text{an open interval}} \qquad \text{vs} \qquad \underbrace{p_z'^{\,\text{(photon)}} = \gamma\, p_z(1-\beta)}_{\text{always positive: }(1-\beta)>0\text{ for all }\beta < 1}. \]For a massive particle, \(pc/E = v_{\text{particle}}/c < 1\), which opens an interval \((pc/E, 1)\) of valid boosts that reverse the sign of \(p_z\). For a photon, \(E = p_z c\) means \(pc/E = 1\), closing that interval entirely — the only "boost" that would reverse \(p_z\) would require \(\beta \ge 1\), which exceeds the speed of light and is forbidden. The \(\beta \to 1\) barrier is the mathematical boundary that makes photon helicity invariant.
The Wigner little group
The proofs above handle boosts along the \(z\)-axis — the direction the photon is already travelling. To claim that helicity is invariant under every Lorentz transformation, including oblique boosts and transverse boosts, we need a more general argument. This is provided by the Wigner little group.[3]
Definition. The little group \(G(p)\) of a four-momentum vector \(p^\mu\) is the subgroup of the proper orthochronous Lorentz group \(SO^+(3,1)\) that leaves \(p^\mu\) invariant:
\[ G(p) = \bigl\{ \Lambda \in SO^+(3,1) \;\big|\; \Lambda p = p \bigr\}. \]Every Lorentz transformation \(\Lambda\) can be decomposed as \(\Lambda = L(\Lambda p) \cdot W \cdot L(p)^{-1}\), where \(L(p)\) is a standard boost that takes a reference momentum (the particle at rest, or a standard null momentum for massless particles) to \(p\), and \(W = L(\Lambda p)^{-1} \Lambda L(p) \in G(p)\) is the Wigner rotation. The action of \(\Lambda\) on a one-particle state \(|p, \sigma\rangle\) is therefore determined entirely by how the little group element \(W\) acts on the spin label \(\sigma\).
For massive particles (\(p^2 = m^2c^2 > 0\)): the little group is \(G(p) \cong SO(3)\), the rotation group in three dimensions. \(SO(3)\) has spin-\(j\) representations of dimension \(2j+1\), with states labelled by \(m_J = -j, -j+1, \ldots, +j\). Crucially, general \(SO(3)\) rotations mix these states: a rotation about an axis transverse to \(\hat{z}\) will transform a state with helicity \(+j\) into a superposition of helicity states. Helicity is therefore not preserved under general Lorentz transformations — it is a frame-dependent label for massive particles.
For massless particles (\(p^2 = 0\)): the little group is \(G(p) \cong ISO(2)\), the Euclidean group of the plane — the symmetry group of a two-dimensional flat plane, consisting of rotations and translations in 2D. This is a non-compact group. Its unitary representations are classified: the finite-dimensional unitary representations are labelled by a single helicity eigenvalue \(\lambda\), with no freedom to mix different values. The "translation" generators \(\hat{I}_x\) and \(\hat{I}_y\) of \(ISO(2)\) must annihilate any physical one-particle state (otherwise the state would correspond to a continuous spectrum of "internal" degrees of freedom with no classical analogue — an unphysical infinite tower). This consistency requirement singles out states \(|p, \lambda\rangle\) that are eigenstates of \(\hat{J} \cdot \hat{p}\) with eigenvalue \(\lambda\hbar\).
The consequence: since \(W \in ISO(2)\) for any Lorentz transformation applied to a massless particle, and since \(ISO(2)\) can only produce a phase rotation on \(|p, \lambda\rangle\) (no change of \(\lambda\)), every Lorentz transformation maps \(|p, \lambda\rangle \to e^{i\theta} |\Lambda p, \lambda\rangle\) for some phase \(\theta\). The helicity \(\lambda\) is unchanged.[4]
This also explains why the photon has no \(\lambda = 0\) mode. The photon is a spin-1 particle: classically, a spin-1 particle in three dimensions has three polarisation states \(\lambda = -1, 0, +1\) (and the massive \(W\) boson, for instance, does have all three). For a massless spin-1 particle, however, the \(ISO(2)\) constraint forces the two "translation" generators to annihilate the state, which eliminates the \(\lambda = 0\) mode. The \(\hat{I}_x\) and \(\hat{I}_y\) generators act on a massive particle's three-component spin space and mix all three states; for a massless particle, demanding that they annihilate the physical state picks out only \(\lambda = \pm 1\). Light therefore has exactly two independent polarisation states — left circular and right circular — and not three.
References
- Wikipedia contributors. Helicity (particle physics). Wikipedia, The Free Encyclopedia. en.wikipedia.org/wiki/Helicity_(particle_physics)
- Wikipedia contributors. Lorentz transformation. Wikipedia, The Free Encyclopedia. en.wikipedia.org/wiki/Lorentz_transformation
- Wikipedia contributors. Wigner's classification. Wikipedia, The Free Encyclopedia. en.wikipedia.org/wiki/Wigner's_classification
- Kaplunovsky, Vadim. "Lorentz Symmetry of Particles and Fields." UT Austin Physics lecture notes (2022). web2.ph.utexas.edu/~vadim/Classes/2022f/Lorentz.pdf
- Wikipedia contributors. Inertial frame of reference. Wikipedia, The Free Encyclopedia. en.wikipedia.org/wiki/Inertial_frame_of_reference
Comments