Part III · Symmetry and Structure · Chapter 9
Angular Momentum is Rotation
Everything in Part II lived on a line. Real space has no preferred direction — and the mathematics of that one fact, worked out to the end, hands us the sphere's allowed shapes, the reason atoms have the spectra they do, and — at last — the origin of the qubit's strangest number.
Sources: Cohen-Tannoudji I, Ch. VI · Sakurai §§3.1–3.6 · Ballentine, Ch. 7
What this chapter covers
- 9.1Turn a book twice. rotate a book 90° about two axes, in two different orders, at your own desk — you get two different orientations. Nature's first fact about rotation, no equipment required.
- 9.2The generator of turning. rotation operators, expanded to second order, force [Ĵx,Ĵy]=iħĴz — the mismatch you just felt, turned into algebra.
- 9.3The ladder, once more. Chapter 7's card trick, run again with three generators instead of one: J², Jz, ladder operators, and the quantization j=0,½,1,³⁄₂,...
- 9.4Orbital vs spin. single-valuedness on the sphere forces orbital l to be an integer — but the abstract algebra permits half-integers too, and nature uses them.
- 9.5The half-angle, solved. Chapter 2's cliffhanger, paid off: a spin-1/2 ket needs a full 4π to return home, even though its Bloch vector returns at 2π.
- 9.6The sphere's standing waves. spherical harmonics as the box's and oscillator's standing waves, transplanted onto a sphere — orbital shapes, nodes, and why density hides the phase.
- 9.7The lab. the SU(2) algebra and the double cover verified for a ladder of integer and half-integer j, and spherical harmonics built from scratch and cross-examined by quadrature.
9.1Turn a book twice
C · ConceptsPut this down and try it with an actual book, or your phone. Lying flat, spine toward you: tip it 90° forward (rotate about the horizontal axis running left-right), then spin it 90° on the table (rotate about the vertical axis). Note which way the cover faces. Now start over and do the same two moves in the other order. The cover ends up facing a different way.
This has nothing to do with quantum mechanics yet — it is a fact about space itself, as true for a thrown brick as for an electron, and most people have never noticed it because we rarely rotate things twice about different axes and compare. Chapter 5 found that time-translations are generated by energy; rotations, it turns out, are generated by something too — and the something is not commutative, which is going to matter enormously. Watch the mismatch appear, and watch where its own axis points as the angle grows:
Same two rotations, same angle, opposite order — different final orientation (gray = unrotated reference, for comparison). At small θ the mismatch is barely a smudge; at 90° it is unmistakable. And the mismatch is not random: work out its own rotation axis and, for small θ, you find it points along z — the one axis neither rotation touched. That is a statement about the leading order in θ, and only that: the second readout above tracks the true residual axis, which already tilts a few degrees off ẑ at θ = 5° and is more than 50° off by θ = 90°. Drive θ toward zero and both the mismatch (which shrinks like θ²) and the tilt (which shrinks like θ) go away together, and what survives that limit — exactly, with no leftover — is . The commutator is the derivative of this picture at the origin, not a description of it at 90°.
9.2The generator of turning
F · FormalismAs in Chapter 5, name the generator: a rotation by angle about axis is produced by a Hermitian operator ,
called the angular momentum along — the same name classical mechanics uses, and for good reason: for orbital motion will turn out to be exactly . What algebra must obey? Ordinary 3×3 rotation matrices settle it. Write for the classical rotation about axis generated by the real antisymmetric matrix ; direct multiplication of the familiar generators gives, cleanly and checkably by hand,
Rotating a physical system by then must give the same result whether the system is a book, a brick, or an electron — so the quantum operators must compose exactly the way the classical do. Expand to second order in a small angle and match terms against the geometric fact that composing a small rotation about with one about differs, to order , from the reverse order by precisely a small rotation about — exercise 1 walks the algebra — and the needed to keep Hermitian while stays unitary lands exactly here:
This is the noncommutativity you felt with the book, now the defining law of an entire algebra. Everything else in this chapter is a corollary.
9.3The ladder, once more
F · FormalismChapter 7 solved one commutator, , with a ladder. Equation (9.3) is three commutators at once, but the same trick works — it just needs a referee to keep track of which axis is “energy” this time. commutes with every component (check it: each term individually fails to commute, but the failures cancel in the sum), so pick as the observable to diagonalize alongside it, and build raising and lowering operators exactly as before:
raises the eigenvalue by , exactly as raised the oscillator rung — but now the ladder is bounded on both ends (angular momentum along one axis cannot exceed the total), so there must be a top state with and a bottom state with . Apply to the top state using (9.4) and the answer is forced:
Climbing from to in unit steps only closes up if is a non-negative integer: . That half-integer option is new — the oscillator's ladder had no such twin bound and only ever gave one family. Here is where the mathematics first admits the possibility of spin, before we have said one physical word about it.
9.4Orbital vs spin: one algebra, two worlds
F · FormalismFor a particle moving in ordinary space, angular momentum really is , and in position representation the operator that generates rotation about is simply . Its eigenfunctions are — but a wavefunction must return to the same value after a full turn, , and only if is an integer. Since reaches all the way up to itself, orbital (the traditional letter) is stuck at — half-integers are mathematically legal but physically forbidden for orbital motion, by the sheer requirement that a wave close up on itself.
Spin has no wavefunction winding around a physical angle — it is an internal degree of freedom, obeying the same algebra (9.3) with no such constraint attached. Nature is not shy about using the other option: electrons, protons, quarks — spin ½; photons and gravitons — spin 1 and 2 (integer, like orbital motion, and for a directly related reason we will meet in Part IV). One algebra, and space itself decides which representations get to describe motion through it, while something else entirely — Nature's particle catalogue — decides which get to describe the particles.
9.5The half-angle, solved
F · FormalismC · ConceptsChapter 2 handed you a rule — — and a promise: turn a spin-1/2 all the way around and it comes back wrong. We can finally show it. For , the spin operators are , and because , the rotation operator sums to closed form — no infinite series required:
These spin-1/2 rotation operators have a name that recurs throughout the rest of the book. Each one is a matrix that is unitary (it preserves probability) and has determinant 1; the set of all of them is the group SU(2) — “Special Unitary, 2×2.” These are precisely the rotations of a spin-1/2 spinor, the two-component object a qubit lives in. The ordinary rotations of 3D space — turning a book, orienting a compass — form a different group, SO(3) (the orthogonal matrices of determinant 1). The link between them is the punchline of this section: SU(2) is a double cover of SO(3). “Double cover” means the map from SU(2) down to physical rotations is exactly two-to-one: for every physical rotation there are two SU(2) matrices, and , that both realize it. Trace a single 360° turn in real space and SU(2) travels only halfway around its own loop, arriving at ; only a second 360° completes the SU(2) loop back to . That is the whole reason a spinor needs 720° to come home. The two panels below make it concrete — first the experiment that measures a spin at all, then the sign flip itself:
Set : , , so . A full turn returns every spin-1/2 ket to minus itself. Only at does . Compare with a system: 's eigenvalues are the integers , so for every one of them — integer- systems return home at the ordinary . The qubit's mystery was never a property of qubits; it is a property of the representation of the rotation group, which spin-1/2 particles happen to carry. Watch it directly:
for a state on the equator, |+x⟩, whose two amplitudes wind in opposite directions so their overlap is real
Drag to 360°: the outer (blue) dot is back where it started — a classical needle would say “done.” But the inner (violet) dial, tracking the ket's own phase , has swept only 180° — pointing exactly backwards. Keep going to 720° before the inner dial completes its own circle. Nothing here is a trick of notation: this literal minus sign was measured in 1975, by splitting a neutron beam, rotating one arm's spin with a magnetic field, and recombining — precisely the interference bookkeeping of Chapter 1, applied to a rotation instead of a slit.
This is not bookkeeping without teeth: a real interferometer measures it, because interference (Chapter 1's whole subject) is exactly the tool that turns an invisible overall phase into a visible fringe shift when you compare a rotated beam against an untouched one.
9.6The sphere's standing waves
F · FormalismC · ConceptsChapter 6 caged a wave between two walls and got a ladder of standing waves, . Cage a wave on the surface of a sphere instead — demand that it be single-valued and finite everywhere, including the poles — and the same idea returns with the same name: standing waves that fit the boundary. They are the spherical harmonics , the simultaneous eigenfunctions of and :
The two factors split the two angles between them. The is the same azimuthal winding around the polar axis we have already met; the associated-Legendre function carries the polar profile — how the wave rises, falls, and wiggles as you travel along a meridian from the north pole down to the south. It is nothing more exotic than the standing-wave shape of the box (Chapter 6) bent to fit between the two poles, and every latitude at which it changes sign is one nodal circle.
The count of nodes tells the whole story, exactly as it did for the box: nodal circles of latitude, and — in the real part the viewer below draws — nodal planes containing the -axis. Count them carefully: those are nodal great circles through the poles, which is meridians in the geographic sense, because each great circle is two meridians joined at the poles. (The full complex has no azimuthal nodes at all — only its real and imaginary parts do, a point the density map is about to make loudly.) More curvature, more . Play with real ones:
Set l=1, m=0: the cross-section is the familiar p-orbital dumbbell. l=2, m=0: the d-orbital's double doughnut. Now compare the top two maps at any (l,m≠0): Re(Y) ripples m times around every line of latitude — that ripple is the traveling phase. But |Y|² underneath is dead flat in φ — perfectly uniform stripes, every time, for every m. A definite-L_z state has a well-defined rate of azimuthal phase winding but no preferred place on the equator — the same lesson as Chapter 5's stationary states, now wrapped around a sphere instead of frozen in time.
Look once more at the pair of maps for any . The real part ripples times around every line of latitude — a traveling wave circling the pole. The density is dead flat in . This is Chapter 5's stationary-state lesson wrapped around a sphere: a definite- state has a sharp rate of phase winding but no preferred location on the equator — asking “where on the ring is the electron?” has no more of an answer than asking where in time a stationary state's clock hand points. Only a superposition of different 's — a wave packet in — would localize and precess, the direct sequel to Chapter 7's “single rungs are frozen, superpositions swing.”
9.7The lab: build the algebra, build the sphere
P · PracticeThe lab Rust-QP/ch09-angmom constructs the matrices directly from the ladder formulas of equation (9.4) — no differential equation, no calculus, just the raising/lowering matrix elements written down and assembled:
1/// Build Jx, Jy, Jz for angular momentum j, given as twice_j = 2j (an2/// integer, so half-integer j is represented exactly).3fn build_j(twice_j: i32) -> (Mat, Mat, Mat) {4 let j = twice_j as f64 / 2.0;5 let n = (twice_j + 1) as usize;6 // basis ordered m = j, j-1, ..., -j (index 0 = top of the ladder)7 let m_of = |i: usize| j - i as f64;89 let mut jz = Mat::zeros(n);10 for i in 0..n {11 jz.set(i, i, c(m_of(i), 0.0));12 }13 // J+ |j,m> = sqrt(j(j+1)-m(m+1)) |j,m+1> -- raises m, so moves index i -> i-114 let mut jp = Mat::zeros(n);15 for i in 1..n {16 let m = m_of(i); // starting state17 let coeff = (j * (j + 1.0) - m * (m + 1.0)).sqrt();18 jp.set(i - 1, i, c(coeff, 0.0));19 }20 // J- is the transpose of J+ (real, since our basis and phases are real)21 let mut jm = Mat::zeros(n);22 for i in 0..n - 1 {23 let m = m_of(i);24 let coeff = (j * (j + 1.0) - m * (m - 1.0)).sqrt();25 jm.set(i + 1, i, c(coeff, 0.0));26 }2728 let jx = jp.add(&jm).scale(c(0.5, 0.0));29 let jy = jp.sub(&jm).scale(c(0.0, -0.5)); // (J+ - J-) / (2i)30 (jx, jy, jz)31}
Then it settles Section 9.5's claim without any approximation at all. Because is already diagonal by construction, exponentiating it costs nothing — the rotation operator is exact to floating-point precision, no truncated series, no numerical integration. But be honest about what that buys: once build_j has written the half-integers onto the diagonal, exponentiating a diagonal matrix cannot give any answer but . That check can catch a coding slip; it cannot catch a wrong physical claim. So the lab computes the same two rotations a second time along a route that can fail — a scaling-and-squaring Taylor series for on the non-diagonal , which lands on at only if the ladder coefficients give the same spectrum . Break one coefficient and that referee breaks; the diagonal one never notices:
1// R_z(theta) = exp(-i theta Jz): Jz is diagonal, so this is EXACT2 let r_z = |theta: f64| -> Mat {3 let mut m = Mat::zeros(n);4 for i in 0..n {5 let mval = jz.get(i, i).re;6 m.set(i, i, c(0.0, -theta * mval).exp());7 }8 m9 };10 let expected_sign = if twice_j % 2 == 0 { 1.0 } else { -1.0 };11 let rz_2pi = r_z(2.0 * PI);12 let rz_4pi = r_z(4.0 * PI);13 let rz_2pi_err = rz_2pi.dist(&Mat::identity(n).scale(c(expected_sign, 0.0)));14 let rz_4pi_err = rz_4pi.dist(&Mat::identity(n));1516 // The same two rotations again, along a route that can actually fail:17 // exp(-i theta Jx) summed as a series on the NON-diagonal Jx. Getting18 // -1 at 2*pi requires Jx's eigenvalues to be exactly m = -j..j, which19 // is a statement about the ladder coefficients, not about arithmetic on20 // a diagonal we ourselves wrote down.21 let rx_2pi = expm(&jx.scale(c(0.0, -2.0 * PI)));22 let rx_4pi = expm(&jx.scale(c(0.0, -4.0 * PI)));23 let rx_2pi_err = rx_2pi.dist(&Mat::identity(n).scale(c(expected_sign, 0.0)));24 let rx_4pi_err = rx_4pi.dist(&Mat::identity(n));2526 // …2728 Referee {29 name: "R_z(2π) − (±1)·1, exact diagonal route".into(),30 value: worst_rz_2pi,31 tol: 1e-15,32 pass: worst_rz_2pi < 1e-15,33 },34 Referee {35 name: "R_z(4π) − 1, exact diagonal route".into(),36 value: worst_rz_4pi,37 tol: 2e-15,38 pass: worst_rz_4pi < 2e-15,39 },40 Referee {41 name: "exp(−i2πJx) − (±1)·1, series route".into(),42 value: worst_rx_2pi,43 tol: 6e-15,44 pass: worst_rx_2pi < 6e-15,45 },46 Referee {47 name: "exp(−i4πJx) − 1, series route".into(),48 value: worst_rx_4pi,49 tol: 1e-14,50 pass: worst_rx_4pi < 1e-14,51 },
A second, independent piece of the lab builds from the associated-Legendre three-term recurrence and checks it by quadrature over the sphere — Gauss-Legendre in (exact for these polynomial integrands) and the periodic rectangle rule in — testing normalization, orthogonality, and the eigenvalue via a finite-difference -derivative, catching any stray sign or off-by-one that the construction might have smuggled in. Every number below, tolerances included, is read live from the JSON the run just wrote:
cargo run --release in Rust-QP/ch09-angmom)Chapter 9 — what you now own
- The algebra: rotations don't commute; to leading order in a small angle the mismatch is itself a rotation about the missed axis, forcing . (Only to leading order: at large angles the residual rotation tilts away from that axis, as the widget in 9.1 reports live.)
- The spectrum: the doubly-bounded ladder forces and — pure algebra, no differential equation.
- The split: single-valuedness on the sphere restricts orbital motion to integer ; spin, unconstrained, is free to be half-integer — and is.
- The resolved mystery: spin-1/2 needs 4π to return, exactly — a fact confirmed by neutron interferometry, not a notational quirk.
- The sphere's waves: spherical harmonics are the box's standing waves transplanted onto a sphere; density hides the azimuthal phase exactly as a stationary state hides time.
9.8Exercises
F · FormalismC · ConceptsP · Practice- (F) Fill in the ε² derivation sketched in 9.2: expand and to second order, subtract, and match the result against to recover equation (9.3) with its ħ intact.
- (F) Verify, from (9.4) alone, that . Then use it to find every matrix element of for and check by hand on the resulting 3×3 matrices.
- (C) In the rotation widget, find the smallest slider setting at which the two orders disagree by more than 30°, and say whether the mismatch grows faster or slower than θ itself at small θ. Then check the small-angle story where it is supposed to break: the widget also reports the tilt of the residual rotation's own axis away from . It is a few degrees for a few degrees of θ, but by θ = 90° it is well over 50°, and the printed θ² estimate has by then overshot the true mismatch badly. Now push the slider all the way to 180°: the mismatch collapses to zero. Explain that by writing and as 3×3 matrices and asking whether those two particular rotations commute. Which of the two claims — “the mismatch is a rotation about z” or — is an exact statement, and which is only the limit of one?
- (C) In the spherical-harmonics viewer, set l=3. On the map count the nodal circles of latitude at m=0, m=1, m=3 and verify each time; then count the sign changes as you travel once around a line of latitude and check that you get of them — nodal planes through the z-axis, each crossed twice. Which (l,m) gives the “fattest doughnut around the equator, no polar caps” shape, and why does that match ?
- (F, hard) Prove the single-valuedness argument rigorously in reverse: show that if you allowed half-integer orbital , the wavefunction would be double-valued on the sphere (differs by sign after), and explain precisely why that is fatal for a position-space probability amplitude but not fatal for an abstract spin ket (which has no φ-dependence to be double-valued in).
- (F, hard) Derive equation (9.6) from scratch: expand as a power series, use to collapse it into even and odd powers of , and resum both as sine and cosine series. Then apply your formula to and recover Chapter 2's equation (2.2) directly — the half-angle law was this equation all along.
- (P) Extend the Rust lab to compute the full Wigner rotation matrix for j=1/2 and j=1 via the matrix exponential (reuse the exact-diagonal trick by first diagonalizing — it shares eigenvalues with ). Verify against equation (9.6).
- (P, hard) Simulate a crude “neutron interferometer”: prepare two copies of , rotate one by θ about z using your Rust lab's exact , and compute the recombined intensity as a function of θ from 0 to 4π. Confirm the period is 4π, not 2π, and locate the dip that a naive “spin is just a little arrow” picture would never predict.
The bridge → Chapter 10: The Hydrogen Atom
Where you stand. Rotation is fully yours: the algebra that any three-dimensional system must obey, the ladder that quantizes it, the split between orbital and spin, and the standing waves that live on a sphere.
The open question. Every atom's shape comes from electrons bound to a nucleus by a central force. You already have the angular part solved perfectly — spherical harmonics. What's left is the radial equation: how does the Coulomb 1/r potential turn into discrete, countable energy levels?
What comes next. The hydrogen atom: separate the Schrödinger equation into radial and angular pieces using this chapter's Y_l^m, solve the radial equation with a shooting method in Rust, and watch the Bohr formula E_n = -13.6 eV/n² fall out of a boundary-value problem — no orbits, no postulates, just a wave that has to fit.