Skip to main content
University Physics V

University Physics V · Introduction to Quantum Information · 20.2

Bloch Sphere, Density Operators & Mixed States

Stop carrying a qubit as two complex amplitudes and start carrying it as one arrow. The density operator is what a measurement actually sees, the Bloch vector is its picture, and the arrow's length separates a state you have prepared from a state you only know statistically.

01

Build the model

Connect the measurement to the mechanism.

A ket describes a qubit you prepared; it cannot describe a source that hands you |0⟩ on half its runs and |1⟩ on the rest, because no single vector in C² gives those statistics. The object that does is the density operator ρ = Σ pᵢ|ψᵢ⟩⟨ψᵢ|, Hermitian, positive and of unit trace, with every expectation value ⟨A⟩ = Tr(ρA). For a qubit it has a picture.

The four matrices I, σₓ, σy, σz span the 2 × 2 Hermitian matrices and are orthogonal under Tr(σᵢσⱼ) = 2δᵢⱼ, so unit trace leaves ρ = (I + r⋅σ)/2 with rᵢ = Tr(ρσᵢ) = ⟨σᵢ⟩. The eigenvalues (1 ± |r|)/2 must be non-negative, so r lives in the closed unit ball: pure states are the surface, |r| = 1, and the purity Tr ρ² = (1 + |r|²)/2 measures the distance from the centre I/2. A unitary U = exp(−iα n⋅σ/2) turns r about n by α, so U and −U give the same rotation and SU(2) covers SO(3) twice.

The price is deliberate: ρ predicts every outcome probability and forgets how the mixture was made, and the ball itself is a two-dimensional accident — a qutrit's state space is not a ball in R⁸.

Simple definition
A density operator is a Hermitian, positive, unit-trace operator whose expectation values Tr(ρA) reproduce every measurement; for one qubit it is ρ = (I + r⋅σ)/2, and the Bloch vector r fills the unit ball with the pure states on its surface.
Example
Preparing |0⟩ with probability 0.8 and |1⟩ with 0.2 gives ρ = diag(0.8, 0.2), so r = (0, 0, 0.6): eigenvalues 0.8 and 0.2, purity (1 + 0.36)/2 = 0.68, and a σₓ measurement returns +1 with probability (1 + 0)/2 = 0.5.
Pure qubit on the sphere|ψ⟩ = cos(θ/2)|0⟩ + e(iφ) sin(θ/2)|1⟩ → r = (sin θ cos φ, sin θ sin φ, cos θ)

The half-angle is why orthogonal kets sit at antipodes: |0⟩ and |1⟩ are 180° apart on the sphere but 90° apart in Hilbert space.

θ ∈ [0, π] measured from the z axis, φ ∈ [0, 2π); both dimensionless angles in radians; |0⟩ is the north pole

Density operator of an ensembleρ = Σ pᵢ |ψᵢ⟩⟨ψᵢ| · ρ = ρ†, ρ ≥ 0, Tr ρ = 1 · ⟨A⟩ = Tr(ρA)

The object measurement sees. A pure state is the special case ρ = |ψ⟩⟨ψ| with ρ² = ρ.

pᵢ are preparation probabilities summing to 1; ρ and A are operators on C², ρ itself dimensionless

Bloch expansionρ = (I + r⋅σ)/2, rᵢ = Tr(ρσᵢ) = ⟨σᵢ⟩

Three Pauli expectation values are the whole state — measuring them is one-qubit tomography.

σ = (σₓ, σy, σz) the Pauli matrices with Tr(σᵢσⱼ) = 2δᵢⱼ; r a dimensionless real vector, |r| ≤ 1

Eigenvalues and purityλ± = (1 ± |r|)/2 · Tr ρ² = (1 + |r|²)/2

Positivity of λ₋ is what confines r to the ball; only |r| = 1 makes ρ a projector.

uses (r⋅σ)² = |r|² I; purity is dimensionless and runs from ½ at the centre to 1 on the surface

Measurement along an axis np(±1) = Tr(ρ P±) = (1 ± r⋅n)/2, with P± = (I ± n⋅σ)/2

Every qubit statistic is a dot product of two arrows — which is why r fixes all of them at once.

n a unit vector naming the Pauli observable n⋅σ; P± its two projectors; probabilities dimensionless

Gate as rotation, SU(2) → SO(3)U(n, α) = e(−iα n⋅σ/2) = cos(α/2) I − i sin(α/2) n⋅σ · r → Rₙ(α) r

Unitaries preserve |r| and therefore purity; only non-unitary evolution can shorten the arrow.

α in radians about the unit axis n; U and −U give the same R, and α = 2π gives U = −I

01

Two amplitudes, one arrow: parametrising the pure state

A ket α|0⟩ + β|1⟩ holds four real numbers. Normalisation |α|² + |β|² = 1 removes one; the global phase, which no measurement can see, removes another. Spend the two that remain as α = cos(θ/2) and β = e(iφ) sin(θ/2) and compute the three Pauli expectation values: ⟨σz⟩ = |α|² − |β|² = cos θ, ⟨σₓ⟩ = 2 Re(α*β) = sin θ cos φ, ⟨σy⟩ = 2 Im(α*β) = sin θ sin φ. Those are the Cartesian components of a unit vector at polar angle θ and azimuth φ — the Bloch vector r. The half-angle matters: |0⟩ sits at θ = 0 and |1⟩ at θ = π, so states orthogonal in C² are antipodal on the sphere, and |+⟩ = (|0⟩ + |1⟩)/√2 lands on the equator at r = (1, 0, 0). A σz measurement of |+⟩ gives ±1 with equal probability, but that is a fact about the z axis, not a sign that the state is uncertain: along x it reads +1 every time.

02

When no ket exists: the density operator

Take a source that emits |0⟩ on half its runs and |1⟩ on the rest. No vector in C² reproduces its statistics: any α|0⟩ + β|1⟩ with |α|² = |β|² = ½ has a definite axis along which it reads +1 with certainty, while this source gives 50/50 along every axis. The description that works is the density operator ρ = Σ pᵢ|ψᵢ⟩⟨ψᵢ|, the preparation-weighted sum of projectors. Averaging ⟨ψᵢ|A|ψᵢ⟩ over the pᵢ gives ⟨A⟩ = Σ pᵢ Tr(|ψᵢ⟩⟨ψᵢ|A) = Tr(ρA), so ρ carries every expectation value. It is Hermitian because each projector is, positive because each pᵢ ≥ 0, and of unit trace because Σ pᵢ = 1. For the 50/50 source, ρ = ½|0⟩⟨0| + ½|1⟩⟨1| = I/2. For |+⟩ prepared on every run, ρ = |+⟩⟨+| = ½[[1, 1], [1, 1]] = (I + σₓ)/2. The difference between the two lives entirely in the off-diagonal entries — the coherences — and ρ² = ρ holds only for the second.

03

Expand ρ in Pauli matrices and the ball appears

The 2 × 2 Hermitian matrices form a four-dimensional real vector space, and (I, σₓ, σy, σz) is an orthogonal basis for it under the Hilbert–Schmidt product: Tr(σᵢσⱼ) = 2δᵢⱼ and Tr σᵢ = 0. Expand ρ = (a I + r⋅σ)/2; unit trace forces a = 1, and taking Tr(ρσᵢ) picks out rᵢ = ⟨σᵢ⟩. So ρ = (I + r⋅σ)/2 for a real three-vector r, and positivity decides how long r may be. Because (r⋅σ)² = |r|² I, the operator r⋅σ has eigenvalues ±|r| and ρ has eigenvalues (1 ± |r|)/2; the smaller one is non-negative only for |r| ≤ 1. Every state is a point of the closed unit ball: the surface |r| = 1 is exactly the pure states of the previous section, the centre is I/2. The purity Tr ρ² = ¼ Tr(I + 2 r⋅σ + |r|² I) = (1 + |r|²)/2 rises from ½ at the centre to 1 on the surface. For ρ = diag(0.8, 0.2), r = (0, 0, 0.6), the eigenvalues are 0.8 and 0.2, the purity is 0.68, and the von Neumann entropy −0.8 log₂ 0.8 − 0.2 log₂ 0.2 = 0.72 bits says how much is unknown.

04

The arrow fixes every statistic and hides the ensemble

Measuring the Pauli observable n⋅σ along a unit vector n uses the projectors P± = (I ± n⋅σ)/2, and Tr(ρP±) = ½ Tr ρ ± ½ Tr(ρ n⋅σ) = (1 ± r⋅n)/2. The whole predictive content of a qubit is one dot product, so two preparations with the same r are indistinguishable by any measurement, however many copies you are given. That is the cost of the description. The centre I/2 is ½|0⟩⟨0| + ½|1⟩⟨1|, and equally ½|+⟩⟨+| + ½|−⟩⟨−|, and equally a pure state drawn uniformly from the whole sphere. The state r = (0, 0, 0.6) is 0.8|0⟩⟨0| + 0.2|1⟩⟨1| and also an equal mixture of the two pure states at r = (±0.8, 0, 0.6), whose average is the same arrow. Any convex combination of surface points that lands on r is a legitimate ensemble for it. The same ρ even arises with no ensemble at all, as the partial trace of an entangled pair — the improper mixture of Topic 20.4 — and no local experiment tells the cases apart. ρ fixes statistics, not its origin.

05

Gates rotate the arrow, and SU(2) covers SO(3) twice

A unitary acts as ρ → UρU†, and for U = exp(−iα n⋅σ/2) = cos(α/2) I − i sin(α/2) n⋅σ the Pauli algebra gives U(r⋅σ)U† = (R r)⋅σ with R the SO(3) rotation about n by α. Every gate is a rotation of the arrow. X = i⋅exp(−iπσₓ/2) is a half-turn about x, sending (rₓ, ry, rz) to (rₓ, −ry, −rz); the Hadamard is a half-turn about (x̂ + ẑ)/√2, swapping rₓ with rz; S and T are quarter- and eighth-turns about z. Rotations preserve |r|, so no gate changes purity: a qubit at r = (0, 0, 0.6) leaves a Hadamard at (0.6, 0, 0) with purity still 0.68. The map U → R is two-to-one, since U and −U conjugate ρ identically, and α = 2π gives U = −I — a full turn returns the arrow but flips the ket's sign, a sign only interference can see, as neutron interferometry confirmed. Shortening the arrow needs non-unitary evolution: pure dephasing multiplies rₓ and ry by e(−t/T₂) while leaving rz, so |+⟩ after one T₂ sits at (0.37, 0, 0) with purity 0.57, sliding into the ball along a path no gate can reverse.

06

Computing it, and where the ball stops

In NumPy the whole construction is four lines: build ρ as np.outer(ψ, psi.conj()) or as a weighted sum of projectors, read r off as [np.trace(ρ @ s).real for s in (sx, sy, sz)], take np.linalg.eigvalsh(ρ) for the eigenvalues and np.trace(ρ @ ρ).real for the purity — then check that |r| ≤ 1 and that the eigenvalues agree with (1 ± |r|)/2 to floating precision. The picture, though, is a two-dimensional accident. A qutrit's ρ has eight real parameters, expanding on the Gell-Mann matrices, and positivity does not carve out a ball: the pure states form a four-dimensional subset of the seven-sphere, and most points of that sphere are not states at all. The Bloch ball is the exact geometry of one qubit and nothing larger — which is why this unit builds every protocol from qubits and tensor products of them, where each factor still has its arrow.

02

Change one variable at a time

Make the relationship visible.

Interactive model
60 °
0.80
90 °

Slide |r| from 1 to 0 and watch the purity bar fall from 1 to ½ as the arrow shrinks into the centre I/2; then set n along the arrow (a equal to θ) so p(+1) reads the larger eigenvalue (1 + |r|)/2, and swing n perpendicular to it to see p(+1) drop to exactly ½ whatever the length.

Interactive physics modelCross-section of the Bloch ball in the x–z plane. The arrow is the Bloch vector r at polar angle 60° with length 0.80; the long dashed line is the measurement axis n at 90° from z, and the short dashed segment drops r onto n. Purity 0.820, larger eigenvalue 0.900, p(+1 along n) = 0.846. The bar shows Tr ρ² from ½ at its base to 1 at the top.|0⟩|1⟩x |+⟩nr = (0.69, 0, 0.40)λ± = 0.90, 0.10p(+1 on n) = 0.85pure 1I/2 ½Tr ρ² = 0.820

PURITY Tr ρ²0.820

EIGENVALUE λ₊0.900

p(+1) ALONG n0.846

ENTROPY S0.469 bits

Live interpretationPURITY Tr ρ²: 0.820. EIGENVALUE λ₊: 0.900. p(+1) ALONG n: 0.846. ENTROPY S: 0.469 bits

03

Catch the common trap

Explain before calculating.

A qubit is prepared in ρ = 0.8|0⟩⟨0| + 0.2|1⟩⟨1|, so its Bloch vector is r = (0, 0, 0.6). Which statement about it is correct?

Choose an answer to test the model.

04

Practice & worked examples

Reason from the model, then test the result.

EasyFind the Bloch vector, the density matrix and the purity of |ψ⟩ = (|0⟩ + i|1⟩)/√2, and give the probability of the +1 outcome for a σy measurement and for a σz measurement.
  1. Match to cos(θ/2)|0⟩ + e(iφ) sin(θ/2)|1⟩: cos(θ/2) = sin(θ/2) = 1/√2 gives θ = π/2, and e(iφ) = i gives φ = π/2.
  2. So r = (sin θ cos φ, sin θ sin φ, cos θ) = (0, 1, 0). Check directly with α = 1/√2, β = i/√2: ⟨σₓ⟩ = 2 Re(α*β) = 2 Re(i/2) = 0, ⟨σy⟩ = 2 Im(α*β) = 2 Im(i/2) = 1, ⟨σz⟩ = |α|² − |β|² = 0.
  3. ρ = (I + σy)/2 = ½[[1, −i], [i, 1]], which is exactly |ψ⟩⟨ψ| = ½ (1, i)ᵀ (1, −i).
  4. |r| = 1, so Tr ρ² = (1 + 1)/2 = 1: pure, on the surface. Along y, p(+1) = (1 + r⋅ŷ)/2 = (1 + 1)/2 = 1; along z, p(+1) = (1 + 0)/2 = ½.

Answerr = (0, 1, 0), ρ = ½[[1, −i], [i, 1]], purity 1; σy gives +1 with certainty and σz gives +1 with probability ½.

MediumA source emits |0⟩ with probability 0.7 and |+⟩ = (|0⟩ + |1⟩)/√2 with probability 0.3. Find ρ, its Bloch vector, its eigenvalues and purity, the probability that a σₓ measurement returns +1, and a second ensemble that gives the same ρ.
  1. ρ = 0.7|0⟩⟨0| + 0.3|+⟩⟨+| = 0.7[[1, 0], [0, 0]] + 0.3 × ½[[1, 1], [1, 1]] = [[0.85, 0.15], [0.15, 0.15]]; the trace is 1.
  2. Bloch vectors add with the same weights: r = 0.7(0, 0, 1) + 0.3(1, 0, 0) = (0.3, 0, 0.7), so |r| = √(0.09 + 0.49) = √0.58 = 0.762 — inside the ball, because mixing two surface points lands on the chord between them.
  3. Eigenvalues λ± = (1 ± 0.762)/2 = 0.881 and 0.119. Check: they sum to the trace 1 and multiply to the determinant 0.85 × 0.15 − 0.15² = 0.105.
  4. Purity Tr ρ² = (1 + 0.58)/2 = 0.79, or directly 0.85² + 2(0.15²) + 0.15² = 0.7225 + 0.045 + 0.0225 = 0.79.
  5. p(σₓ = +1) = (1 + rₓ)/2 = (1 + 0.3)/2 = 0.65.
  6. The eigen-ensemble gives the same ρ: the eigenstate along +r̂ with weight 0.881 and the one along −r̂ with weight 0.119 — a different preparation no measurement can distinguish from the original.

Answerρ = [[0.85, 0.15], [0.15, 0.15]], r = (0.3, 0, 0.7), λ = 0.881 and 0.119, purity 0.79, p(σₓ = +1) = 0.65; the eigenstates along ±r̂ weighted 0.881 and 0.119 form an indistinguishable second ensemble.

HardA qubit starts in |+⟩. A T gate is applied, then pure dephasing acts for a time t = T₂ ln 2, multiplying rₓ and ry by e(−t/T₂) and leaving rz. Find r, the purity and the von Neumann entropy afterwards, then show that rotating the qubit back onto the x axis with T† cannot restore the purity.
  1. |+⟩ has r = (1, 0, 0). T = diag(1, e(iπ/4)) equals e(iπ/8) exp(−iπσz/8), a rotation about z by α = π/4 up to a global phase, so r → (cos 45°, sin 45°, 0) = (0.707, 0.707, 0) with |r| still 1.
  2. Dephasing is not unitary. With t = T₂ ln 2 the factor is e(−ln 2) = ½, so r → (0.354, 0.354, 0) and |r| = 0.5. The off-diagonal entry of ρ in the z basis, (rₓ − i ry)/2, has shrunk to magnitude 0.25.
  3. Purity Tr ρ² = (1 + 0.25)/2 = 0.625, and the eigenvalues are λ± = (1 ± 0.5)/2 = 0.75 and 0.25.
  4. Entropy S = −0.75 log₂ 0.75 − 0.25 log₂ 0.25 = 0.311 + 0.500 = 0.811 bits: from zero entropy the qubit has lost most of its distinguishability from I/2.
  5. T† is the rotation by −π/4 about z, so T†ρT has r = (0.5, 0, 0): the arrow is back on the x axis but still half-length, with purity 0.625 and entropy 0.811 bits unchanged. Rotations preserve |r|; the only way back to the surface is a non-unitary step such as a fresh preparation.

AnswerAfter dephasing r = (0.354, 0.354, 0), |r| = 0.5, purity 0.625, S = 0.811 bits; T† returns r to (0.5, 0, 0) with purity still 0.625 — no unitary shortens or lengthens the arrow.