University Physics V · Quantum Spin · 10.4
Spin States & Eigenspinors Along Any Axis
You already own the Sz eigenbasis. This lesson builds the eigenbasis of S along any direction you can name, and teaches you to read a spinor's two complex numbers as one point on a sphere. After that, every 'probability of spin-up along that tilted magnet' question is a single overlap, and the half-angle stops looking like a trick.
Build the model
Connect the measurement to the mechanism.
Pick any unit vector n̂ = (sinθ cosφ, sinθ sinφ, cosθ) and form the operator n̂⋅σ in the basis that diagonalises Sz. It is Hermitian, traceless, and squares to the identity, so before you solve anything you know its eigenvalues are +1 and −1, one each: spin along any axis is ±ħ/2, exactly as along z. Solving the 2 × 2 problem produces the eigenspinor |n,+⟩ = (cos(θ/2), e(iφ) sin(θ/2)), and the half-angle in it is the whole lesson.
A direction turned through θ in the room is a state turned through θ/2 in C², so antipodal directions are orthogonal states, a 360° turn hands the spinor back multiplied by −1, and the map from SU(2) to rotations is two-to-one. Run the construction backwards and it becomes a census: any normalised spinor, once its unobservable global phase is stripped, has exactly two real parameters left, which is exactly what a direction costs — so every pure spin-½ state is |n,+⟩ for one n̂ and carries ⟨S⟩ = (ħ/2) n̂ at full length. No ket is unpolarised.
What the model costs is convention and care: the phase you must fix by hand, coordinates that break down at the poles, and a numerical eigensolver that returns a legal eigenvector in a phase of its own choosing. It also stops at s = ½: for spin 1 there are pure states with ⟨S⟩ = 0 that point nowhere at all.
- Simple definition
- The eigenspinors along a unit vector n̂ are the two orthonormal vectors in C² that n̂⋅σ sends to ±1 times themselves — |n,+⟩ = (cos(θ/2), e(iφ) sin(θ/2))ᵀ and its orthogonal partner — the states with spin definitely ±ħ/2 along n̂.
- Example
- For n̂ at θ = 45° in the x–z plane, |n,+⟩ = (cos 22.5°, sin 22.5°) = (0.924, 0.383): an atom prepared spin-up along z passes an analyser on that axis with probability cos² 22.5° = 0.854, not cos 45° = 0.707.
Hermitian, traceless and (n̂⋅σ)² = I, so the eigenvalues are ±1 before any solving: spin along any axis is ±ħ/2.
n̂ = (sinθ cosφ, sinθ sinφ, cosθ), θ from +z, φ from +x; dimensionless, so S⋅n̂ = (ħ/2) n̂⋅σ
The orthonormal basis every 'measure along n̂' question is expanded in; |n,−⟩ is |−n̂,+⟩ up to a phase.
components are amplitudes on |↑⟩ and |↓⟩; phase fixed by making the first component real and ≥ 0
One line answers every Born-rule question in the unit; γ = 180° gives 0, so opposite directions are orthogonal states.
γ is the angle between the unit vectors n̂ and m̂ in real space; the result is a probability, unitless
Full length for every normalised spinor: this is the statement that no pure spin-½ state is unpolarised.
ħ/2 = 5.27 × 10⁻³⁵ J s; components (ħ/2)(sinθ cosφ, sinθ sinφ, cosθ) carry the full angle, not the half
Two real parameters survive, exactly the two a direction needs, so the pure-state space of a spin-½ is a sphere.
normalised, modulo global phase; θ ∈ [0, π], φ ∈ [0, 2π); φ is undefined at θ = 0 and θ = π
180° in the room is 90° (orthogonal) in C², 360° is a sign: the reason SU(2) covers SO(3) twice.
n̂ itself returns after 2π and reverses after π; the spinor lags by the factor ½ in the angle
Write n̂⋅σ down and read its eigenvalues before solving
Take n̂ = (sinθ cosφ, sinθ sinφ, cosθ) and assemble n̂⋅σ = nₓ σₓ + ny σy + nz σz in the basis where Sz is diagonal. The off-diagonal entries collect into sinθ e(∓iφ) and the diagonal is ±cosθ, so n̂⋅σ = [[cosθ, sinθ e(−iφ)], [sinθ e(iφ), −cosθ]]. Three facts are visible without a calculation. It is Hermitian, so its eigenvalues are real and its eigenvectors orthogonal. Its trace is zero, so the eigenvalues sum to zero. And the Pauli identity gives (n̂⋅σ)² = nᵢ nⱼ σᵢ σⱼ = (n̂⋅n̂) I = I, so every eigenvalue squares to 1. Together: the spectrum is exactly (+1, −1), one of each, and S⋅n̂ = (ħ/2) n̂⋅σ returns ±ħ/2 along any axis whatever. For θ = 45°, φ = 90° the matrix is [[0.707, −0.707i], [0.707i, −0.707]]; check its trace and its square before you trust an eigenvector.
Solve the 2 × 2 problem and let the half-angle appear
Put (n̂⋅σ − I)χ = 0 with χ = (a, b). The first row reads (cosθ − 1) a + sinθ e(−iφ) b = 0, so b/a = e(iφ)(1 − cosθ)/sinθ. The half-angle identities 1 − cosθ = 2 sin²(θ/2) and sinθ = 2 sin(θ/2) cos(θ/2) reduce that ratio to e(iφ) tan(θ/2). The second row gives the same ratio — it must, since the determinant vanishes — so one equation fixes the direction of χ in C² and normalisation fixes its length: a = cos(θ/2), b = e(iφ) sin(θ/2), with the free global phase spent on making a real and non-negative. That is |n,+⟩. For |n,−⟩ either repeat with +I, or take the vector orthogonal to |n,+⟩: (sin(θ/2), −e(iφ) cos(θ/2)). At θ = 45° the ratio is tan 22.5° = 0.414 and the spinor is (0.924, 0.383 e(iφ)). The half-angle has entered through a trigonometric identity, not through a postulate.
Expand the state in that basis and square the coefficients
A spinor prepared along m̂ and measured along n̂ has probabilities |⟨n,±|m,+⟩|², and the whole art is expanding in the analyser's basis first. Simplest case, m̂ = ẑ: ⟨n,+|↑⟩ = cos(θ/2) and ⟨n,−|↑⟩ = sin(θ/2), so P₊ = cos²(θ/2) and P₋ = sin²(θ/2), summing to one. For two general directions the same algebra collapses to a single angle: |⟨m,+|n,+⟩|² = (1 + n̂⋅m̂)/2 = cos²(γ/2), with γ the real-space angle between the two axes. Try m̂ = x̂ (θ = 90°, φ = 0) measured along n̂ at θ = 45°, φ = 0. Component by component, ⟨n,+|x,+⟩ = 0.924 × 0.707 + 0.383 × 0.707 = 0.924, squared 0.854; and n̂⋅x̂ = sin 45° = 0.707 gives (1 + 0.707)/2 = 0.854 by the shortcut. Squaring the z-basis components of the state, 0.5 and 0.5, answers a different question — what a z analyser would do — and is the standard way to get this wrong.
Compute ⟨S⟩ and find it always has length ħ/2
With α = cos(θ/2) and β = e(iφ) sin(θ/2), the three expectation values follow from the Pauli matrices directly: ⟨σz⟩ = |α|² − |β|² = cos²(θ/2) − sin²(θ/2) = cosθ; ⟨σₓ⟩ = 2 Re(α*β) = 2 cos(θ/2) sin(θ/2) cosφ = sinθ cosφ; ⟨σy⟩ = 2 Im(α*β) = sinθ sinφ. So ⟨n,+|σ|n,+⟩ = n̂ and ⟨S⟩ = (ħ/2) n̂, a vector of full length ħ/2 pointing along the axis the state was built on. Notice what appears where: the amplitudes carry θ/2, but the expectation values carry the full θ, because they are quadratic in the amplitudes. The state (|↑⟩ + |↓⟩)/√2, so often called 'half up and half down', has θ = 90°, φ = 0 and hence ⟨S⟩ = (ħ/2) x̂: it is |x,+⟩, transmitted with certainty by an x analyser. A genuinely unpolarised beam has ⟨S⟩ = 0, and no ket can produce that; it needs the mixture ρ = I/2 that arrives two lessons from now.
Half-angle geometry: opposite directions, orthogonal states
Every real-space angle is halved on the way into C². Rotate |↑⟩ about ŷ through θ and the components become (cos(θ/2), sin(θ/2)): at θ = 180° that is (0, 1) = |↓⟩, so a half-turn in the room is a quarter-turn in Hilbert space, and antipodal directions are orthogonal states — |n,−⟩ is |−n̂,+⟩ up to phase. At θ = 360° the components are (−1, 0) = −|↑⟩: the direction is back where it started and the spinor is not. That sign is the double cover, SU(2) → SO(3) two-to-one, unobservable on a state alone (a global phase) yet observable as a relative phase when only one arm of an interferometer is rotated. The census closes the argument. Normalisation and the global phase remove two of the four real numbers in (α, β), leaving θ = 2 arccos|α| and φ = arg β − arg α, the coordinates of a point on a sphere. Every pure spinor is therefore some |n,+⟩. The Bloch sphere is not a picture of the state space; it is the state space.
Check it in NumPy, and fix the phase eigh leaves free
In NumPy, build sig = [σₓ, σy, σz], form M = sum(n[i]*sig[i]), and call w, v = np.linalg.eigh(M). Two things need care. eigh sorts eigenvalues ascending, so w = [−1, +1] and the +1 eigenvector is the second column, v[:, 1]. And an eigenvector is defined only up to a phase: the routine may return it with a negative or complex first component, which is still correct and still disagrees with (cos(θ/2), e(iφ) sin(θ/2)) entry by entry. Impose the convention yourself, v *= exp(−i arg v[0]), and only then compare. At θ = π the first component is zero and the convention has nothing to act on: that is the coordinate singularity at the pole, not a bug. Then run the checks that are basis-free: v†Mv = +1, and |⟨m,+|n,+⟩|² against (1 + n̂⋅m̂)/2 for a few random pairs of axes. Agreement to 10⁻¹⁵ is what a correct spinor looks like; agreement of the components alone is what a phase convention looks like.
Change one variable at a time
Make the relationship visible.
Leave m̂ at 0° and drag n̂ to 180°: the space arrows point opposite ways while the spinor arrows are perpendicular and P drops to 0.000. Keep going to 360°: n̂ is back on +z but the spinor sits at 180° with amplitude −1.000 — the double cover, drawn.
AMPLITUDE ⟨n,+|m,+⟩0.866
P(+ħ/2 ALONG n̂)0.750
P(−ħ/2 ALONG n̂)0.250
⟨σz⟩ IN |n,+⟩0.500
Live interpretationAMPLITUDE ⟨n,+|m,+⟩: 0.866. P(+ħ/2 ALONG n̂): 0.750. P(−ħ/2 ALONG n̂): 0.250. ⟨σz⟩ IN |n,+⟩: 0.500
Catch the common trap
Explain before calculating.
A beam is prepared spin-up along +z and enters an analyser whose axis n̂ is tilted θ = 40° from +z (φ = 0). What fraction of the beam leaves in the +ħ/2 channel of the analyser?
Choose an answer to test the model.
Practice & worked examples
Reason from the model, then test the result.
EasyTake n̂ along +y (θ = 90°, φ = 90°). Write n̂⋅σ, state its eigenvalues without solving, then write both normalised eigenspinors from the general formula and verify one of them directly.
- n̂ = (0, 1, 0), so n̂⋅σ = σy = [[0, −i], [i, 0]]. It is Hermitian and traceless and σy² = I, so the eigenvalues are +1 and −1, one each, before any algebra.
- General formula with θ/2 = 45° and e(iφ) = e(iπ/2) = i: |y,+⟩ = (cos 45°, i sin 45°) = (1, i)/√2 and |y,−⟩ = (sin 45°, −i cos 45°) = (1, −i)/√2.
- Verify: σy (1, i)/√2 = ((−i)(i), (i)(1))/√2 = (1, i)/√2, eigenvalue +1 as claimed. Orthogonality, conjugating the bra: ⟨y,+|y,−⟩ = ½[(1)(1) + (−i)(−i)] = ½(1 − 1) = 0.
- Read off the physics: each has |α|² = |β|² = ½, so a y-polarised atom splits 50/50 on a z analyser, and the only thing separating |y,+⟩ from |y,−⟩ is the relative phase ±i between the components.
AnswerEigenvalues ±1 (spin ±ħ/2 along y); |y,±⟩ = (|↑⟩ ± i|↓⟩)/√2, orthonormal, each splitting 50/50 on a z analyser.
MediumA spin-½ is prepared in |n,+⟩ with θ = 60°, φ = 0. From the components alone, compute ⟨Sₓ⟩, ⟨Sy⟩ and ⟨Sz⟩, confirm |⟨S⟩| = ħ/2, and find the probability that an analyser along +x returns +ħ/2.
- Components: α = cos 30° = 0.866 and β = e(i⋅0) sin 30° = 0.500, both real.
- ⟨σz⟩ = |α|² − |β|² = 0.750 − 0.250 = 0.500 = cos 60°. ⟨σₓ⟩ = 2 Re(α*β) = 2 × 0.866 × 0.500 = 0.866 = sin 60°. ⟨σy⟩ = 2 Im(α*β) = 0.
- So ⟨S⟩ = (ħ/2)(0.866, 0, 0.500) and |⟨S⟩| = (ħ/2)√(0.750 + 0.250) = ħ/2 = 5.27 × 10⁻³⁵ J s: full length, along n̂. The full angle 60° sits in the expectation values, the half-angle 30° in the amplitudes.
- Expand in the x eigenbasis: |x,+⟩ = (1, 1)/√2, so ⟨x,+|n,+⟩ = (0.866 + 0.500)/√2 = 1.366/1.414 = 0.966, and P₊ = 0.966² = 0.933.
- Cross-check with the overlap formula: the angle between n̂ and x̂ is 90° − 60° = 30°, so cos² 15° = (1 + cos 30°)/2 = (1 + 0.866)/2 = 0.933. The two routes must agree, and they do.
Answer⟨S⟩ = (ħ/2)(0.866, 0, 0.500), magnitude exactly ħ/2; P(+ħ/2 along x) = 0.933, with 0.067 in the −x channel.
HardPrepare |a,+⟩ with θₐ = 30°, φₐ = 0 and measure along b̂ with θb = 90°, φb = 60°. Compute the amplitude ⟨b,+|a,+⟩ explicitly from the components, confirm |amplitude|² against (1 + â⋅b̂)/2, state ⟨S⟩ after each outcome, and say how you would verify it in NumPy.
- |a,+⟩ = (cos 15°, sin 15°) = (0.9659, 0.2588). |b,+⟩ = (cos 45°, e(iπ/3) sin 45°) = (0.7071, 0.7071 × (0.500 + 0.866i)) = (0.7071, 0.3536 + 0.6124i).
- Conjugate the bra: ⟨b,+|a,+⟩ = 0.7071 × 0.9659 + (0.3536 − 0.6124i) × 0.2588 = 0.6830 + 0.0915 − 0.1585i = 0.7745 − 0.1585i. The phase φb = 60° has made the amplitude complex; only its modulus is physical.
- |amplitude|² = 0.7745² + 0.1585² = 0.5999 + 0.0251 = 0.625. Shortcut: â = (sin 30°, 0, cos 30°) = (0.500, 0, 0.866) and b̂ = (cos 60°, sin 60°, 0) = (0.500, 0.866, 0), so â⋅b̂ = 0.250 and (1 + 0.250)/2 = 0.625. Agreement to the third decimal.
- Read γ: cos γ = 0.250 gives γ = 75.5°, and cos²(37.8°) = 0.625 — half of a 75.5° angle in the room is what the amplitude sees. The −ħ/2 channel takes the remaining 0.375 = sin²(37.8°).
- After a +ħ/2 result the state is |b,+⟩ and ⟨S⟩ = (ħ/2) b̂ = (ħ/2)(0.500, 0.866, 0); after −ħ/2 it is |b,−⟩ with ⟨S⟩ = −(ħ/2) b̂. Nothing of â survives in either state except through the 0.625 statistic across many atoms.
- NumPy: build a⋅σ and b⋅σ, take v[:, 1] from np.linalg.eigh of each, multiply each by exp(−i⋅angle(v[0])) to match the convention, then abs(np.vdot(vb, va))**2 should print 0.625 to machine precision; check also that vb.conj() @ (b⋅σ) @ vb returns +1.
Answer⟨b,+|a,+⟩ = 0.7745 − 0.1585i, |amplitude|² = 0.625 = (1 + 0.25)/2; after +ħ/2 the spin expectation is (ħ/2)(0.500, 0.866, 0), after −ħ/2 its negative (probability 0.375).