
Quantum information · institution-dependent · Interactive lesson
Bloch sphere, density operators and 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.
UPV-20.02 · Lesson 2 of 9 in this unit. Position is not a completion score.Quantum information · institution-dependent. Your university determines the required depth of these quantum topics, including the use of operators, differential equations and computation. Institution-dependent does not automatically mean optional.
Build the model
Every one-qubit state is an arrow inside a unit ball; its length is how much you know.
The key idea
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.
The complete physical model and assumptions
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⁸.
1Two 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.
2When 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.
3Expand ρ 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.
4The 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.
5Gates 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, sending (rₓ, ry, rz) to (rz, −ry, rₓ); 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.
6Computing 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.
Key equations
Read the units, assumptions and limits before substituting.
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 poleDensity 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 dimensionlessBloch 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| ≤ 1Eigenvalues 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 surfaceMeasurement along an axis n
p(±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 dimensionlessGate 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 = −IInteractive lab
Predict first. Explore the model. Compare the result.
Explore the model
Try this. 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.
Live results
- PURITY Tr ρ²
- 0.820
- EIGENVALUE λ₊
- 0.900
- p(+1) ALONG n
- 0.846
- ENTROPY S
- 0.469 bits
Results follow this lesson’s model and assumptions. Displayed values are rounded.
Predict → change one variable → check
Plan a change before running it. Every other input stays at the saved baseline.
Saved baseline. Polar angle θ of r from z: 60 °; Bloch length |r|: 0.80; Measurement axis n from z: 90 °
This experiment is kept only while this page is open. It does not change saved course progress.
Catch the common trap
The maximally mixed state I/2 is not a superposition whose outcome you have not looked at yet, and |+⟩ is not a qubit that is really 0 or 1 but unknown. Both give a 50/50 σz result, and the resemblance ends there. The mixture ½|0⟩⟨0| + ½|1⟩⟨1| has r = 0, purity ½, and reads 50/50 along every axis; |+⟩ has r = (1, 0, 0), purity 1, and reads +1 along x with certainty. The difference sits in the off-diagonal entries of ρ in the z basis, which a superposition has and a mixture lacks, and a single σₓ measurement can expose it. The related trap is reading probabilities as amplitudes: diag(0.8, 0.2) is not √0.8|0⟩ + √0.2|1⟩, whose arrow is (0.8, 0, 0.6) on the surface rather than (0, 0, 0.6) inside it.
Practice & worked examples
3 authored examples. Make an attempt, then reveal the reasoning one step at a time.
EasyExample 1
Find 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.
Sketch your answer or reasoning, then compare it with the authored solution. Your writing is not automatically graded or saved.
0 of 4 steps revealed.
- Match to cos(θ/2)|0⟩ + e(iφ) sin(θ/2)|1⟩: cos(θ/2) = sin(θ/2) = 1/√2 gives θ = π/2, and e(iφ) = i gives φ = π/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.
- ρ = (I + σy)/2 = ½[[1, −i], [i, 1]], which is exactly |ψ⟩⟨ψ| = ½ (1, i)ᵀ (1, −i).
- |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 = ½.
Answer. r = (0, 1, 0), ρ = ½[[1, −i], [i, 1]], purity 1; σy gives +1 with certainty and σz gives +1 with probability ½.
MediumExample 2
A 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 ρ.
Sketch your answer or reasoning, then compare it with the authored solution. Your writing is not automatically graded or saved.
0 of 6 steps revealed.
- ρ = 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.
- 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.
- 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.
- 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.
- p(σₓ = +1) = (1 + rₓ)/2 = (1 + 0.3)/2 = 0.65.
- 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.
HardExample 3
A 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.
Sketch your answer or reasoning, then compare it with the authored solution. Your writing is not automatically graded or saved.
0 of 5 steps revealed.
- |+⟩ 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.
- 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.
- Purity Tr ρ² = (1 + 0.25)/2 = 0.625, and the eigenvalues are λ± = (1 ± 0.5)/2 = 0.75 and 0.25.
- 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.
- 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.
Answer. After 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.
Quick check
Select an answer and explain it before checking.
Review & continue
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.
- Explain the relationship without looking at the equation.
- Check a sign, a unit and a model assumption in your working.
- Return to the lab or worked example if a step is still unclear.