The Bloch Sphere
The Bloch Sphere
Two real numbers describe a qubit's state — and two real numbers are the latitude and longitude of a point on a sphere. The Bloch sphere turns the algebra of into geometry you can see: states are points, gates are rotations, orthogonal states are antipodes. It is the single most useful picture in all of single-qubit quantum computing, and we'll lean on it constantly.
Learning Objectives
After this lesson you will be able to:
- Derive the Bloch-sphere parametrization .
- Compute the Bloch vector of a pure state.
- Locate the standard states () on the sphere.
- Explain why antipodal points are orthogonal and why gates act as rotations.
- Map states to Bloch vectors in NumPy.
Intuition
In 1.1.1 E5 we counted a qubit's degrees of freedom: four real numbers in , minus one for normalization, minus one for the unobservable global phase, leaving two. Two angles parametrize a sphere. So the set of pure qubit states is (geometrically) the surface of a unit ball — the Bloch sphere. The north and south poles are and ; the equator holds the "equal-superposition" states whose only difference is a relative phase. Once you internalize this, single-qubit gates stop being matrices and become rotations of a sphere, which is far easier to reason about.
Theory
The parametrization
Start from a general . Write in polar form and factor out the global phase of (which is unobservable, 1.1.1). Normalization lets us set , for a unique . The only surviving phase is the relative phase between and . Hence
The half-angle is not a typo — it's what makes the map to the sphere exact (and why a rotation in takes you only halfway, the famous spin- sign; see Exercises).
The Bloch vector
Map to the point
The components are exactly the expectation values of the Pauli operators:
Derivation of the -component. $\langle Z\rangle = \langle\psi|Z|\psi\rangle = |\alpha|^2 - |\beta|^2 = \cos^2\tfrac\theta2 - \sin^2\tfrac\theta2 = \cos\theta = r_z$. ✓ Similarly (Exercise E1) and . For a pure state (on the surface); mixed states (1.5.3) live inside the ball with , and (Appendix E).
Landmarks on the sphere
+z = |0> (north pole, θ=0)
|
|-i> ----- + ----- |+i> (±y on the equator)
/ | \
|-> ---/ | \--- |+> (±x on the equator, φ=0 and φ=π)
|
-z = |1> (south pole, θ=π)| State | Bloch vector | Axis | |
|---|---|---|---|
Antipodes are orthogonal; gates are rotations
Two key geometric facts:
- Orthogonal ⟺ antipodal. A state and its orthogonal partner sit at opposite points of the sphere (, ). E.g. are the two poles; are . (Note: a physical angle between measurement axes corresponds to a angle on the Bloch sphere — the half-angle again.)
- Unitaries are rotations. Every single-qubit unitary acts on as a rotation in ; in particular rotates the Bloch vector by angle about axis (Appendix E). So is a flip about , about , the Hadamard about . This is the geometric heart of Term 2's gate algebra, and the picture behind Rabi precession (1.6.2).
Worked Examples
Example 1 — Bloch vector of
has , so and relative phase . Then $\vec r = (\sin\tfrac\pi2\cos0,\ \sin\tfrac\pi2\sin0,\ \cos\tfrac\pi2) = (1,0,0)+x\langle X\rangle = \langle+|X|+\rangle = 1\langle Y\rangle = \langle Z\rangle = 0$. ✓
Example 2 — From Bloch angles to a state vector
The point corresponds to
Check ✓, and ✓.
Hands-on (Python)
import numpy as np
X = np.array([[0, 1], [1, 0]], dtype=complex)
Y = np.array([[0, -1j], [1j, 0]], dtype=complex)
Z = np.array([[1, 0], [0, -1]], dtype=complex)
def state(theta, phi):
return np.array([np.cos(theta/2), np.exp(1j*phi)*np.sin(theta/2)], dtype=complex)
def bloch_vector(psi):
"""(<X>,<Y>,<Z>) for a single-qubit pure state."""
return np.array([np.real(psi.conj() @ M @ psi) for M in (X, Y, Z)])
# Landmarks:
print(np.round(bloch_vector(state(0, 0)), 3)) # |0> -> [0 0 1] (north pole)
print(np.round(bloch_vector(state(np.pi, 0)), 3)) # |1> -> [0 0 -1] (south pole)
print(np.round(bloch_vector(state(np.pi/2, 0)), 3)) # |+> -> [1 0 0]
print(np.round(bloch_vector(state(np.pi/2, np.pi/2)),3))# |+i>-> [0 1 0]
# Pure states have |r| = 1:
r = bloch_vector(state(1.1, 2.0))
print(round(np.linalg.norm(r), 6)) # 1.0# Antipodal = orthogonal. |+> at +x, |-> at -x:
plus = state(np.pi/2, 0)
minus = state(np.pi/2, np.pi)
print(np.round(bloch_vector(plus), 3), np.round(bloch_vector(minus), 3)) # [1 0 0] [-1 0 0]
print(abs(np.vdot(plus, minus))) # 0.0 -> orthogonal
# A gate is a rotation: X flips the Bloch vector 180° about x (z -> -z).
psi0 = state(0, 0) # |0>, r=(0,0,1)
print(np.round(bloch_vector(X @ psi0), 3)) # |1>, r=(0,0,-1)For a rendered 3-D Bloch sphere,
qutip'sBlochclass is excellent (pip install qutip); we keep to the lightweightbloch_vectorhere to avoid an extra dependency, as in Appendix B §7.2.
Exercises
E1 (easy). Derive for .
Solution
. Then $\langle\psi|X|\psi\rangle = \cos\tfrac\theta2,e^{i\varphi}\sin\tfrac\theta2 + e^{-i\varphi}\sin\tfrac\theta2\cos\tfrac\theta2 = 2\sin\tfrac\theta2\cos\tfrac\theta2\cos\varphi = \sin\theta\cos\varphi\tfrac{e^{i\varphi}+e^{-i\varphi}}2=\cos\varphi$ and the double-angle identity. ∎
E2 (easy). Where on the sphere is ?
Solution
(equal magnitudes), relative phase so (or ). — the axis.
E3 (medium). Show that orthogonal states map to antipodal Bloch vectors ().
Solution
The orthogonal partner of is (check ). Its Bloch vector: but , , and . So . ∎
E4 (medium). The gate acts on . Compute the new Bloch vector and describe the geometric action.
Solution
, with . So rotated the Bloch vector from to — a rotation about the -axis (indeed , Appendix E).
E5 (hard). Show that (not ), and interpret: why does a "full rotation" return the Bloch vector to itself but multiply the state by ?
Solution
; at this is . The Bloch vector is built from expectation values, which are invariant under the global phase , so it returns to itself after . But the state vector picks up the global and only returns to itself after — the defining signature of spin- and the reason the parametrization uses the half-angle . (This sign is unobservable for an isolated qubit but becomes a real relative phase in a controlled operation — Term 2.4.) ∎
Checkpoint
- Write the Bloch parametrization and explain the half-angle .
- What are the three components of the Bloch vector in terms of observables?
- Give the Bloch vectors of .
- How are orthogonality and antipodality related on the sphere?
- How do single-qubit unitaries act geometrically?
Answers
- ; the half-angle makes the map to exact and reflects the periodicity of spin-.
- .
- , , , .
- Orthogonal states are exactly antipodal (); a axis angle = on the sphere.
- As rotations in : rotates by about axis .
Further Reading
- [NC] Nielsen & Chuang, §1.2, §4.2 — the Bloch sphere and single-qubit rotations.
- [Pre] Preskill, Ph219, Ch. 2 — qubit geometry.
- [QuTiP] QuTiP
Blochclass docs — for 3-D visualization.
← Prev: The Qubit · Up: Term 1 · Next: Bases & Expectation Values →