DiracDirac

Part I · The Quantum Break · Chapter 4

The Postulates

Three chapters of experiments have written the rules for us — we only have to read them off, state them precisely, and then cash two promissory notes: a proof of the uncertainty principle, and the honest difference between a superposition and a coin flip.

Sources: Cohen-Tannoudji I, Ch. III · Ballentine, Chs. 2 & 9 · Sakurai §1.4 · Susskind, Lectures 3–5

What this chapter covers

  • 4.1The rulebook. the five postulates of quantum mechanics, each one traced back to the experiment in Chapters 1–3 that forced it on us.
  • 4.2Collapse, by hand. a measurement engine you operate click by click — repeatability, mutual disturbance, and state-steering, felt in the fingers.
  • 4.3Uncertainty, proved. the Robertson inequality ΔA·ΔB ≥ |⟨[A,B]⟩|/2, derived in six lines from the Cauchy–Schwarz inequality — the microscope hand-wave of Chapter 1 becomes a theorem.
  • 4.4The density operator. superposition versus ignorance: why they differ, the operator ρ that describes both, purity Tr(ρ²), and the experiment that tells them apart.
  • 4.5Quantum Zeno. measurement as a steering wheel — dragging a spin through 90° with questions alone, at a cost that vanishes as the steps shrink.
  • 4.6The lab. a Rust measurement engine with collapse, a density-matrix module, and a referee report — including a Pauli-algebra reference path that no ket touches — that aborts the run before writing data if any postulate is violated numerically.

Physics does not get to invent its axioms; it gets them dictated. Here are the five postulates of quantum mechanics — and, for each, the experiment from the last three chapters that leaves us no choice. Nothing on this list is new; that is the point.

Postulate 1 — States. The condition of a system is completely described by a normalized vector in a complex Hilbert space (states differing by an overall phase are the same state). Forced by: the filter chains of Chapter 2 — an atom's entire memory was two amplitudes; nothing else about its history ever mattered.

Postulate 2 — Observables. Every measurable quantity corresponds to a Hermitian operator on that space. Forced by: Chapter 3 — real answers and mutually exclusive outcome-states are exactly the content of Hermiticity.

Postulate 3 — Outcomes (Born rule). A measurement of yields one of its eigenvalues , at random, with probability

(4.1)

where projects onto the eigenstate. Forced by: the two spots of Chapter 2 (only eigenvalues occur) and the fringe statistics of Chapter 1 (squared amplitudes, verified against 50,000 photons).

Postulate 4 — Collapse. Immediately after the outcome is found, the state is

(4.2)

Forced by: repeatability — ask the same question twice and the answer never changes. The lab below runs that pair of measurements on a hundred thousand fresh random states and counts the disagreements; the referee's tolerance is zero, not a small number. The state after a measurement must be the state the measurement certifies.

Postulate 5 — Dynamics. Between measurements, the state evolves smoothly and deterministically,

(4.3)

where is the Hamiltonian, the observable of energy. This is the Schrödinger equation, and it is the one postulate Part I has not yet earned from experiment — which is precisely why it gets Chapter 5 (and all of Part II) to itself. Notice the strange dual government these rules set up: two kinds of change, the reversible waltz of (4.3) and the irreversible jump of (4.2). Where exactly one hands over to the other is the measurement problem — we flag it honestly now, and return armed in Chapter 18.

Postulates read like law; they should feel like machinery. The engine below is postulates 3 and 4 with a button: every press of measure samples the Born rule and snaps the state onto the eigenstate it found. Run the three little protocols suggested underneath — especially the third one, which will ambush you with a preview of Section 4.5. Figure 4.1 is the wiring diagram of a single press: a state goes in, one eigenvalue comes out, and the state that survives is the one the reading certifies.

|ψ⟩input stateÂmeasureapparatus for observable ÂBorn probabilityreading → state after|⟨a₁|ψ⟩|²|⟨a₂|ψ⟩|²a₁collapse → |a₁⟩a₂collapse → |a₂⟩aₙ⋮ one per eigenvalue
Figure 4.1. Measurement as a process (Postulates 3 and 4). An input state enters an apparatus for the observable and branches into its possible eigenvalue readings . The Born rule assigns each branch the probability ; on the branch that actually fires, the state collapses to the measured eigenstate .
the x–z great circle of the Bloch sphere+z+x+|ψ⟩
prepare:analyzer:0°
next: P(+) = 0.910
measurement record (newest first)
no measurements yet

Three experiments to run by hand. One: measure along the same axis repeatedly — after the first click, P(+) locks to 1.000 or 0.000; collapse makes measurements repeatable. Two: alternate z, x, z, x — each question re-randomizes the other, and no sequence ever settles. Three: prepare |+z⟩ and walk the analyzer 0° → 30° → 60° → 90°, measuring at each step — you will usually drag the state all the way to |+x⟩ using nothing but questions. That third trick is the quantum Zeno effect, and the lab below runs it 20,000 times.

In Chapter 1 we argued with a microscope; in Chapter 3 we promised a theorem. Time to pay. For any observable define the spread in a state as , and center the operators: , so . Now the entire proof is one observation: norms are never negative. For every real number ,

(4.4)

where the cross terms became the commutator. Expand and watch it happen: the bra side of the same vector carries , so the two cross terms are . That single factor of is the whole trick — the difference, not the sum, is what survives, so no anticommutator appears anywhere in this line. (Robertson keeps only the imaginary part of . Keep the real part too and you get the stronger Schrödinger inequality, whose extra term is — that is the one place the anticommutator does belong.) Note that is Hermitian, so its expectation is real, and (constants commute with everything). Equation (4.4) says a certain upward parabola in never dips below zero — so its discriminant cannot be positive:

(4.5)

That discriminant step is exactly the Cauchy–Schwarz inequality wearing a disguise: apply it to and and you get (4.5) directly, since a non-negative parabola in and Cauchy–Schwarz are two ways of saying the same thing. That is the inequality the overview promised.

Six lines, no physics beyond the postulates — uncertainty is a theorem of the algebra, not a statement about clumsy apparatus. For spins, gives — the bound Chapter 3's lab tested on random states and never beat. For position and momentum (Part II), has a constant on the right, so no state anywhere escapes — the microscope argument of Chapter 1, now with the wind of a proof behind it. And equality holds exactly when the vector in (4.4) vanishes for the minimizing λ — the minimum-uncertainty states, which will turn out to be Gaussian wave packets and, later, the coherent states of light.

Now the subtlest idea in Part I, approached as a puzzle. Machine A emits atoms in the superposition . Machine B flips a fair coin and emits either or . Interrogate both along z: fifty-fifty, identical. Are they the same source? Your double-slit instincts should say no — machine A's amplitudes can still interfere, machine B's probabilities cannot. Where does the difference show?

Measure along x instead. Machine A answers every single time — is its state of certainty. Machine B: each atom really is , and either one answers the x-question 50/50. A coin has no axis of certainty at all. The Rust lab ran both machines all the way around the circle in 15° steps:

Loading /data/ch04/measure.json… (run cargo run --release in Rust-QP/ch04-measure)

To describe machine B we need a new object — no ket can shrug. Package “state with classical probability ” into the density operator:

(4.6)

One formula now covers both machines: a pure state is (one term, ), and machine B is . Always (probabilities), always Hermitian and positive. The litmus test is the purity : exactly 1 for any superposition, sinking to for the perfect shrug. And the geography is lovely: writing , pure states live on the Bloch sphere () and mixtures fill its interior — machine B sits at the dead center. Chapter 2's sphere was only the skin of a solid ball.

One more debt settled: Chapter 1's decoherence dial is nothing but the off-diagonal element of in the path basis — . “Watching the electron” slides the state from the surface of the ball toward its axis: superposition decaying into ignorance, continuously. That is what decoherence is, and why the classical world feels classical.

Collapse sounds like pure destruction — the postulate that breaks things. Here is the twist that turns it into a tool. Ask a atom the 90°-question in one go: it survives the + port half the time. Now ask it gently — tilt the analyzer by 90°/N, keep the survivors, tilt again, N times. Each step costs only , and the total survival as N grows. The survivors haven't merely survived — each collapse re-prepared them along the new axis, so measurement alone has walked them from up to sideways:

Loading /data/ch04/measure.json…

That closed form deserves a moment of respect, because it is the best cross-check this chapter has. It is derived with no simulation at all — N independent survival factors, multiplied — while the white points come from a chained Monte Carlo that never sees it: twenty thousand atoms, each one collapsed step by step onto whatever axis the analyzer happened to certify. Two completely separate roads to the same number. So the lab asserts it, in units of the binomial standard error — the only honest currency for twenty thousand coin flips:

Rust-QP/ch04-measure/src/main.rs — the Zeno chain and its referee
1fn zeno(n_atoms: u32, rng: &mut StdRng) -> Vec<ZenoPoint> {
2 [1u32, 2, 3, 5, 10, 20, 50, 100]
3 .iter()
4 .map(|&n_steps| {
5 let step = (PI / 2.0) / n_steps as f64;
6 let mut survived = 0u32;
7 'atom: for _ in 0..n_atoms {
8 let mut psi = plus_ket(0.0); // start at +z
9 for s in 1..=n_steps {
10 let (pass, collapsed) = measure(&psi, s as f64 * step, rng);
11 if !pass {
12 continue 'atom; // absorbed
13 }
14 psi = collapsed;
15 }
16 survived += 1;
17 }
18 let f = survived as f64 / n_atoms as f64;
19 let sigma = (f * (1.0 - f) / n_atoms as f64).sqrt();
20 // The closed form is reached with no simulation whatsoever: N
21 // independent survival factors cos^2(step/2). It is the lab's
22 // strongest independent cross-check, so it gets asserted.
23 let theory = (step / 2.0).cos().powi(2 * n_steps as i32);
24 ZenoPoint {
25 n_steps,
26 survived_frac: f,
27 sigma,
28 theory,
29 sigma_dev: sigma_dev(f, theory, sigma, n_atoms),
30 }
31 })
32 .collect()
33}
34
35// …
36
37 // R9 — the headline. A chained-collapse Monte Carlo against the closed
38 // form [cos^2(45/N)]^N, which no part of the simulation ever sees.
39 let mut worst_zeno = 0.0f64;
40 for z in &zeno_pts {
41 assert!(
42 z.sigma_dev.is_finite(),
43 "Zeno deviation is not finite at N={}",
44 z.n_steps
45 );
46 worst_zeno = worst_zeno.max(z.sigma_dev);
47 }
48 referees.push(Referee {
49 name: "Zeno chain MC vs [cos^2(45/N)]^N: worst dev, in sigma".into(),
50 value: worst_zeno,
51 tol: MC_SIGMA_TOL,
52 pass: worst_zeno < MC_SIGMA_TOL,
53 });

Delete the collapse from measure — return the incoming state instead of the eigenstate — and this referee blows up by thousands of . Without collapse each atom is still when the tilt reaches step s, so it faces the full angle rather than the gentle , and the survival product falls far below . Steering is not decoration; it is the entire mechanism. The claim of this section rests entirely on that one line, and the referee is what holds it up.

You already felt this in the measurement engine. Stop and appreciate how strange a piece of engineering it is: nothing touched the atom but questions, and the questions carried it 90 degrees. Try to build the classical analogue — a coin you flip toward heads by peeking at it — and you will see what the collapse postulate is actually worth. Baidyanath Misra and George Sudarshan named this the quantum Zeno effect in 1977 — after Zeno's arrow, which never moves because at every instant you look, it is still — and the “steering” cousin you just watched is often called the quantum Zeno dynamics. It closes Part I on the right note: the postulates are not philosophical furniture. They are levers, and the rest of this book pulls them.

The lab Rust-QP/ch04-measure runs all three experiments of this chapter. Its heart is postulates 3 and 4 in seven lines — sample the Born rule, overwrite the state:

Rust-QP/ch04-measure/src/main.rs — collapse, executable
1/// One projective measurement WITH collapse: returns (outcome, new state).
2/// The postulate in executable form: outcome +/- with the Born rule, and
3/// the state afterwards is the eigenstate that was found.
4fn measure(psi: &Ket, alpha: f64, rng: &mut StdRng) -> (bool, Ket) {
5 let plus = plus_ket(alpha);
6 let p = plus.dot(psi).norm_sqr();
7 if rng.gen_range(0.0..1.0) < p {
8 (true, plus)
9 } else {
10 (false, plus_ket(alpha + PI)) // |-alpha> = |+(alpha+180deg)>
11 }
12}

The density-operator module computes every probability a second way, as :

Rust-QP/ch04-measure/src/main.rs — the density operator
1impl Rho {
2 /// The maximally mixed state I/2 — "a coin, not a superposition".
3 fn mixed() -> Rho {
4 Rho([[c(0.5, 0.0), c(0.0, 0.0)], [c(0.0, 0.0), c(0.5, 0.0)]])
5 }
6 /// P(+) for an analyzer at alpha: Tr(rho |+a><+a|) = <+a| rho |+a>.
7 fn p_plus(&self, alpha: f64) -> f64 {
8 let a = plus_ket(alpha);
9 let mut acc = c(0.0, 0.0);
10 for i in 0..2 {
11 for j in 0..2 {
12 acc += a.0[i].conj() * self.0[i][j] * a.0[j];
13 }
14 }
15 acc.re
16 }
17 /// Purity Tr(rho^2): 1 for pure states, 1/2 for the maximal mixture.
18 fn purity(&self) -> f64 {
19 let mut acc = c(0.0, 0.0);
20 for i in 0..2 {
21 for j in 0..2 {
22 acc += self.0[i][j] * self.0[j][i];
23 }
24 }
25 acc.re
26 }
27}

And here is a trap worth walking into deliberately, because it is the kind of thing that quietly ruins a numerical result. Compare those two blocks: the Monte Carlo asks plus_ket for the analyzer state, and so does p_plus. Both roads run through the same convention. Write where belongs — a mistake anyone makes once — and both sides move together, so they still agree beautifully and the answer is still wrong. Two code paths are not independent just because they are two code paths.

So the lab keeps a third road that knows nothing about kets or half-angles. Build the Pauli matrices entry by entry and read the Born rule off the Bloch-ball geometry instead: , , so . For that is with no half-angle in sight — and a direct check that really is the eigenvector of pins the convention outright:

Rust-QP/ch04-measure/src/main.rs — the reference path, without plus_ket
1/// (1 + v.sigma)/2. Read as a density matrix when |v| <= 1, and as the
2/// projector onto the +1 eigenstate of v.sigma when |v| = 1 — one formula,
3/// two readings, and the whole of the Bloch-ball picture in one line.
4fn half_one_plus(v: [f64; 3]) -> Mat {
5 let s = dot_sigma(v);
6 let mut m = [[c(0.0, 0.0); 2]; 2];
7 for i in 0..2 {
8 for j in 0..2 {
9 m[i][j] = (pauli(0)[i][j] + s[i][j]) * 0.5;
10 }
11 }
12 m
13}
14
15// …
16
17/// P(+) with no kets anywhere: Tr[ (1+r.sigma)/2 . (1+n.sigma)/2 ].
18fn p_plus_bloch(r: [f64; 3], alpha: f64) -> f64 {
19 trace_prod(&half_one_plus(r), &half_one_plus(n_hat(alpha)))
20}
21
22/// max_i |[ (n(alpha).sigma) |+alpha> ]_i - [ |+alpha> ]_i|, which vanishes
23/// exactly when plus_ket really returns the +1 eigenvector of n.sigma.
24/// THIS is the referee that pins the half-angle convention: write cos(alpha)
25/// where cos(alpha/2) belongs and this residual jumps to O(1), while every
26/// check that runs both of its paths through plus_ket stays happy.
27fn eigen_residual(alpha: f64) -> f64 {
28 let ns = dot_sigma(n_hat(alpha));
29 let k = plus_ket(alpha);
30 let mut worst = 0.0f64;
31 for (i, row) in ns.iter().enumerate() {
32 let mut acc = c(0.0, 0.0);
33 for (j, e) in row.iter().enumerate() {
34 acc += *e * k.0[j];
35 }
36 worst = worst.max((acc - k.0[i]).norm());
37 }
38 worst
39}

Run it and you get the scoreboard below, read live out of measure.json — the same file behind both charts above. The exact rows are two-path checks that land on the last bit of a double; the -valued rows are Monte Carlo, and their tolerance is a number of standard errors, because a finite pile of coin flips does not give machine precision and pretending otherwise would be a lie. A failing referee aborts the run before the JSON is written, so whatever this page is showing you came out of a run that passed. Seed 4; your digits will match.

Loading /data/ch04/measure.json… (run cargo run --release in Rust-QP/ch04-measure)

Chapter 4 — what you now own

  • The rulebook: five postulates — states, observables, Born rule, collapse, Schrödinger dynamics — each one pinned to the experiment that forced it.
  • The theorem: from Cauchy–Schwarz in six lines; minimum-uncertainty states saturate it.
  • The distinction: superposition has an axis of certainty, ignorance has none; describes both, purity tells them apart, and the Bloch sphere gained an interior.
  • The full circle: Chapter 1's decoherence dial γ is an off-diagonal element of ρ — watching a path pushes states from surface to center.
  • The lever: collapse steers — the Zeno protocol drags a spin through 90° with questions alone, at vanishing cost.

4.7Exercises

F · FormalismC · ConceptsP · Practice
  1. (F) From definition (4.6), prove the three stated properties of : Hermitian, unit trace, positive ( for all ).
  2. (C) In the measurement engine, prepare |+z⟩ and run the sequence z, x, z, x, … twenty times. Tally how often consecutive same-axis answers agree versus consecutive different-axis answers. Explain both numbers with postulates 3 and 4.
  3. (F) Machine C emits with θ uniform on the circle. Compute its density operator and show it equals machine B's . Moral: infinitely many different recipes, one ρ — and no experiment can ever tell the recipes apart. Why does this justify calling ρ (not the recipe) the state?
  4. (F, hard) Show that every 2×2 density operator can be written with , that , and that ρ is pure iff . Then prove that the γ-dial of Chapter 1, applied to an equal superposition, traces the straight chord from surface to center.
  5. (F, hard) Find all states saturating . (Start from the equality condition of (4.4): the vector must vanish; show the solutions are exactly the eigenstates of σ_z and the equator states, and interpret both geometrically on the Bloch sphere.)
  6. (P) Extend the Zeno experiment with imperfect analyzers: each step passes a correct atom only with efficiency η = 0.98 (independent loss). Sweep N and find the optimum N* that maximizes end-to-end survival. Why does an optimum exist at all?
  7. (P, hard) Replace the projective measurement in the lab with a weak measurement of strength ε: with probability ε the atom is projectively measured, otherwise untouched. Show — by simulation and then on paper via ρ — that after one weak z-measurement an equal superposition has coherence γ = 1 − ε, reproducing Chapter 1's partial-erasure curve. (You are two definitions away from Kraus operators — the professional language of open quantum systems.)

The bridgeChapter 5: Time and Change

Where you stand. You hold the complete rulebook: states, observables, the Born rule, collapse, and the density operator — every rule certified by an experiment and a Rust self-check.

The open question. But four of the five postulates describe a frozen world. Postulate 5 — the Schrödinger equation — sat untouched: what makes a quantum state MOVE, and why is the generator of motion the energy?

What comes next. Part II opens by setting states in motion: unitary evolution, why Hermitian H makes probability immortal, and the two-level systems — ammonia's maser oscillation, spin precession, Rabi flopping — where all of quantum dynamics already lives.

Continue to Chapter 5