
# The Bloch Ball & Purity

> In Course 1.2 you learned that every *pure* qubit state lives on the surface of the **Bloch
> sphere**. Density matrices complete the picture: every qubit state — pure or mixed — is a point in
> the solid **Bloch ball**. Pure states are the skin ($|\vec r| = 1$), mixed states fill the interior,
> and the maximally mixed state $I/2$ sits dead center. This is not a cute analogy: the entire
> single-qubit state space *is* a unit ball in $\mathbb R^3$, the algebra is an exact dictionary
> $\rho\leftrightarrow\vec r$, and purity is a one-line function of the radius. It is the geometry you
> will reason with for every qubit noise channel in Term 4.

## Learning Objectives

After this lesson you will be able to:

1. **Derive** the single-qubit form $\rho = \tfrac12(I + \vec r\cdot\vec\sigma)$ from Hermiticity and
   unit trace using the Pauli basis.
2. **Identify** the **Bloch vector** $\vec r = (\langle X\rangle, \langle Y\rangle, \langle Z\rangle)$
   and recover it from $\rho$ via $r_k = \operatorname{Tr}(\rho\,\sigma_k)$.
3. **Prove** the constraint $|\vec r|\le 1$ from positivity, and that $|\vec r| = 1$ iff $\rho$ is pure.
4. **Derive** the purity identity $\operatorname{Tr}(\rho^2) = \tfrac12(1 + |\vec r|^2)$ and use it to
   classify states.
5. **Connect** the Bloch *ball* to the pure-state Bloch *sphere* of Course 1.2, mapping mixed states
   inward toward the center.

---

## Intuition

A single qubit's density matrix is a $2\times2$ Hermitian matrix with trace $1$. Count its real
degrees of freedom: a $2\times2$ Hermitian matrix has $4$ real parameters (two real diagonal entries,
one complex off-diagonal), and fixing the trace to $1$ removes one — leaving **exactly $3$**. Three
real numbers, one constraint to keep eigenvalues nonnegative: that is precisely the data of a point
inside a ball in $\mathbb R^3$. The Pauli matrices $\{I, X, Y, Z\}$ are the natural axes for that
space, and the three coordinates are the expectation values $\langle X\rangle, \langle Y\rangle,
\langle Z\rangle$ — directly measurable.

Geometrically: pure states are the *extreme points* of the convex state set (Lesson 1), and the extreme
points of a ball are its surface — the sphere of Course 1.2. Mixing pure states means taking convex
combinations, which move you *inside* the ball. The deepest interior point, reachable from every
antipodal pair $\tfrac12|\hat n\rangle\langle\hat n| + \tfrac12|{-}\hat n\rangle\langle{-}\hat n|$, is
the center $I/2$ — maximal mixing, total ignorance. Purity, which Lesson 1 defined abstractly, becomes
literally "how far from the center are you," squared.

---

## Theory

### Deriving $\rho = \tfrac12(I + \vec r\cdot\vec\sigma)$

We use the key fact from [Appendix E §1](../../appendix/E-math-identities.md): the Pauli set
$\{I, X, Y, Z\}$ is an **orthogonal basis** for the real vector space of $2\times2$ Hermitian matrices,
under the Hilbert–Schmidt inner product $\langle A, B\rangle = \operatorname{Tr}(A^\dagger B)$, with

$$
\operatorname{Tr}(I) = 2,\quad \operatorname{Tr}(\sigma_j) = 0,\quad
\operatorname{Tr}(\sigma_j\sigma_k) = 2\delta_{jk}\quad (j,k\in\{x,y,z\}).
$$

**Step 1 — Hermiticity gives a real Pauli expansion.** Since $\rho = \rho^\dagger$ (Lesson 1) and any
$2\times2$ Hermitian matrix is a *real* linear combination of the Pauli basis, write

$$
\rho = a_0 I + a_x X + a_y Y + a_z Z, \qquad a_0, a_x, a_y, a_z \in \mathbb R .
$$

(Reality of the coefficients is exactly what Hermiticity buys: $X, Y, Z$ are Hermitian, and a complex
coefficient on a Hermitian matrix would break $\rho^\dagger = \rho$.)

**Step 2 — Unit trace fixes $a_0$.** Take the trace of both sides and use $\operatorname{Tr}\sigma_j =
0$:

$$
1 = \operatorname{Tr}\rho = a_0\operatorname{Tr}(I) + 0 = 2a_0 \;\Longrightarrow\; a_0 = \tfrac12 .
$$

**Step 3 — extract the Pauli coefficients by orthogonality.** Multiply $\rho$ by $\sigma_k$ and trace,
using $\operatorname{Tr}(\sigma_j\sigma_k) = 2\delta_{jk}$ and $\operatorname{Tr}(I\sigma_k) = 0$:

$$
\operatorname{Tr}(\rho\,\sigma_k) = a_0\underbrace{\operatorname{Tr}(\sigma_k)}_{0}
+ \sum_j a_j\underbrace{\operatorname{Tr}(\sigma_j\sigma_k)}_{2\delta_{jk}} = 2a_k
\;\Longrightarrow\; a_k = \tfrac12\operatorname{Tr}(\rho\,\sigma_k) .
$$

**Step 4 — name the coordinates.** By the expectation formula $\langle A\rangle = \operatorname{Tr}(\rho A)$
of Lesson 1, $\operatorname{Tr}(\rho\,\sigma_k) = \langle\sigma_k\rangle$. Define the **Bloch vector**
$r_k := \langle\sigma_k\rangle = \operatorname{Tr}(\rho\,\sigma_k)$, so $a_k = \tfrac12 r_k$.
Substituting $a_0 = \tfrac12$ and $a_k = \tfrac12 r_k$:

$$
\boxed{\;\rho = \tfrac12\big(I + \vec r\cdot\vec\sigma\big)
= \tfrac12\big(I + r_x X + r_y Y + r_z Z\big),\qquad
\vec r = \big(\langle X\rangle, \langle Y\rangle, \langle Z\rangle\big)\;}
$$

This is an **exact, invertible dictionary**: every qubit density matrix $\leftrightarrow$ a vector
$\vec r\in\mathbb R^3$. Writing it out as a matrix,

$$
\rho = \frac12\begin{pmatrix} 1 + r_z & r_x - i r_y \\ r_x + i r_y & 1 - r_z \end{pmatrix} .
$$

The diagonal carries the $Z$-statistics ($P(0) = \tfrac{1+r_z}{2}$, $P(1) = \tfrac{1-r_z}{2}$) and the
off-diagonal carries the $X, Y$ coherences.

### The positivity constraint: $|\vec r|\le 1$

Hermiticity and unit trace are automatic in the parametrization; the remaining requirement,
$\rho\succeq0$, is what carves out the *ball*.

> **Proposition.** $\rho = \tfrac12(I + \vec r\cdot\vec\sigma)$ is a valid density operator (i.e.
> $\rho\succeq0$) **iff** $|\vec r|\le 1$.

**Proof.** A $2\times2$ Hermitian matrix is positive semidefinite iff $\operatorname{Tr}\rho\ge0$ and
$\det\rho\ge0$ (then both eigenvalues are $\ge0$). The trace is $1>0$, so positivity reduces to
$\det\rho\ge0$. Compute the determinant from the matrix form:

$$
\det\rho = \frac14\big[(1 + r_z)(1 - r_z) - (r_x - i r_y)(r_x + i r_y)\big]
= \frac14\big[1 - r_z^2 - (r_x^2 + r_y^2)\big] = \frac14\big(1 - |\vec r|^2\big).
$$

Hence $\det\rho\ge0 \iff |\vec r|^2\le 1 \iff |\vec r|\le 1$. ∎

So the single-qubit state space is **exactly the closed unit ball** $\{\vec r\in\mathbb R^3 : |\vec
r|\le1\}$ — the **Bloch ball**. The eigenvalues fall out of the same computation: from $\operatorname{Tr}\rho
= \lambda_+ + \lambda_- = 1$ and $\det\rho = \lambda_+\lambda_- = \tfrac14(1 - |\vec r|^2)$,

$$
\lambda_\pm = \frac{1 \pm |\vec r|}{2}\;\in[0,1],
$$

which are manifestly valid probabilities precisely when $|\vec r|\le1$.

### Pure on the sphere, mixed inside, maximally mixed at the center

The eigenvalues $\lambda_\pm = \tfrac{1\pm|\vec r|}{2}$ instantly classify every qubit state by radius:

| $|\vec r|$ | Eigenvalues $\lambda_\pm$ | State |
|---|---|---|
| $|\vec r| = 1$ (surface) | $1, 0$ | **pure** |
| $0 < |\vec r| < 1$ (interior) | $\tfrac{1\pm|\vec r|}{2}$, both in $(0,1)$ | **mixed** |
| $|\vec r| = 0$ (center) | $\tfrac12, \tfrac12$ | **maximally mixed**, $\rho = I/2$ |

> **Pure ⟺ surface.** $\rho$ is pure iff $|\vec r| = 1$.

**Proof.** $\rho$ pure $\iff$ one eigenvalue is $1$ and the other $0$ (Lesson 1) $\iff \lambda_+ = 1$,
i.e. $\tfrac{1+|\vec r|}{2} = 1 \iff |\vec r| = 1$. ∎ At the center $\vec r = \vec 0$, the formula gives
$\rho = \tfrac12 I$ directly — the maximally mixed state of Lessons 1–2 (and the Bell reduced state).

This *is* the Bloch sphere of [Course 1.2](../c02-qubits-bloch/02-bloch-sphere.md), now seen as a
boundary. There, a pure qubit $|\psi\rangle = \cos\tfrac\theta2|0\rangle + e^{i\phi}\sin\tfrac\theta2|1\rangle$
sits at the unit-sphere point $\hat r = (\sin\theta\cos\phi, \sin\theta\sin\phi, \cos\theta)$; you can
check $\langle X\rangle = \sin\theta\cos\phi$, etc., so that $\hat r$ is exactly the Bloch vector with
$|\hat r| = 1$. Density matrices add the *radial* direction: the interior. A mixed state with Bloch
vector $\vec r = |\vec r|\,\hat n$ ($0\le|\vec r|<1$) points in the *same direction* $\hat n$ as the
pure state on the surface but is "shrunk" toward the center by the factor $|\vec r|$ — the geometric
meaning of decoherence.

### Purity as a quadratic in the radius

Finally, the abstract purity of Lesson 1 becomes a clean function of $|\vec r|$.

> **Purity–radius identity.**
> $$ \operatorname{Tr}(\rho^2) = \tfrac12\big(1 + |\vec r|^2\big). $$

**Proof (algebraic).** Square the parametrization and expand using
$(\vec r\cdot\vec\sigma)^2 = |\vec r|^2 I$ — which follows from
$\sigma_j\sigma_k = \delta_{jk}I + i\varepsilon_{jkl}\sigma_l$
([Appendix E §1](../../appendix/E-math-identities.md)): the symmetric sum kills the antisymmetric
$\varepsilon$ term, leaving $\sum_{jk}r_j r_k\sigma_j\sigma_k = \sum_{jk}r_j r_k\delta_{jk}I = |\vec
r|^2 I$. Then

$$
\rho^2 = \tfrac14\big(I + \vec r\cdot\vec\sigma\big)^2
= \tfrac14\big(I + 2\,\vec r\cdot\vec\sigma + (\vec r\cdot\vec\sigma)^2\big)
= \tfrac14\big((1 + |\vec r|^2)I + 2\,\vec r\cdot\vec\sigma\big).
$$

Take the trace, using $\operatorname{Tr}(I) = 2$ and $\operatorname{Tr}(\vec r\cdot\vec\sigma) = 0$:

$$
\operatorname{Tr}(\rho^2) = \tfrac14\big((1 + |\vec r|^2)\cdot 2 + 0\big) = \tfrac12\big(1 + |\vec r|^2\big). \qquad\blacksquare
$$

**Consistency check (eigenvalues).** $\operatorname{Tr}(\rho^2) = \lambda_+^2 + \lambda_-^2 =
\big(\tfrac{1+|\vec r|}{2}\big)^2 + \big(\tfrac{1-|\vec r|}{2}\big)^2 = \tfrac{2 + 2|\vec r|^2}{4} =
\tfrac12(1 + |\vec r|^2)$. ✓ The identity reproduces Lesson 1's bounds for $d = 2$: at $|\vec r| = 1$,
purity $= 1$ (pure); at $|\vec r| = 0$, purity $= \tfrac12 = 1/d$ (maximally mixed). Purity is a
**monotonic dial on the radius** — knowing $\operatorname{Tr}\rho^2$ is equivalent to knowing $|\vec
r| = \sqrt{2\operatorname{Tr}(\rho^2) - 1}$, the distance from center.

Drag $|\vec r|$ and watch the purity and eigenvalues follow the radius. Then apply gates to a mixed
state: every one turns the ball rigidly, so none of them can change $|\vec r|$, and none can change the
purity:

```qm-demo bloch-sphere
{ "mixed": true, "initial": "+" }
```

---

## Worked Examples

### Example 1 — From $\rho$ to $\vec r$ to classification

Let $\rho = \begin{psmallmatrix} 3/4 & 1/4 \\ 1/4 & 1/4 \end{psmallmatrix}$ (Hermitian, trace $1$).
Read off the Bloch vector via $r_k = \operatorname{Tr}(\rho\,\sigma_k)$, or directly by matching to the
matrix form $\rho = \tfrac12\begin{psmallmatrix}1+r_z & r_x - ir_y\\ r_x + ir_y & 1 - r_z\end{psmallmatrix}$:

$$
\tfrac{1+r_z}{2} = \tfrac34 \Rightarrow r_z = \tfrac12,\qquad
\tfrac{r_x - i r_y}{2} = \tfrac14 \Rightarrow r_x = \tfrac12,\ r_y = 0 .
$$

So $\vec r = (\tfrac12, 0, \tfrac12)$ and $|\vec r| = \sqrt{\tfrac14 + \tfrac14} = \tfrac1{\sqrt2}\approx
0.707 < 1$ — a **mixed** interior state. Purity:

$$
\operatorname{Tr}(\rho^2) = \tfrac12(1 + |\vec r|^2) = \tfrac12\big(1 + \tfrac12\big) = \tfrac34 .
$$

Cross-check directly: $\rho^2 = \begin{psmallmatrix}3/4&1/4\\1/4&1/4\end{psmallmatrix}^2 =
\begin{psmallmatrix}10/16 & 4/16\\ 4/16 & 2/16\end{psmallmatrix}$, trace $= \tfrac{12}{16} = \tfrac34$. ✓
Eigenvalues $\lambda_\pm = \tfrac{1\pm1/\sqrt2}{2}\approx 0.854,\,0.146$, both in $(0,1)$ — consistent
with "mixed."

### Example 2 — Decoherence as radial shrinkage

Start from the pure equator state $|+\rangle$, with $\vec r = (1, 0, 0)$ on the surface ($\langle
X\rangle = 1$, the rest $0$). Suppose a **dephasing** process (Term 4 preview) damps the off-diagonal
coherence by a factor $p\in[0,1]$:

$$
\rho_p = \begin{pmatrix} \tfrac12 & \tfrac{p}{2}\\[2pt] \tfrac{p}{2} & \tfrac12 \end{pmatrix}
= \tfrac12\big(I + p\,X\big), \qquad \vec r = (p, 0, 0).
$$

The Bloch vector keeps its *direction* $\hat x$ but its length collapses from $1$ to $p$: the state
slides straight in from the surface point $|+\rangle$ toward the center along the $x$-axis. Purity
tracks the radius exactly:

$$
\operatorname{Tr}(\rho_p^2) = \tfrac12(1 + p^2),
$$

falling from $1$ (pure $|+\rangle$, $p = 1$) to $\tfrac12$ (maximally mixed, $p = 0$). This single
picture — *coherence loss = radial shrinkage = purity decrease* — is the geometric heart of how noise
acts on a qubit, and you will meet it formally as the dephasing channel in
[Term 4](../../term-4-noise-hardware/c01-open-systems/03-common-noise-channels.md).

---

## Hands-on (Python)

We build the exact $\rho\leftrightarrow\vec r$ dictionary both directions, compute purity from the
radius, and classify states.

```python
import numpy as np

I = np.eye(2, dtype=complex)
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)
PAULI = [X, Y, Z]

def bloch_vector(rho):
    """r_k = Tr(ρ σ_k) = ⟨σ_k⟩, for k = x, y, z.  (Real for a valid state.)"""
    return np.array([np.trace(rho @ s).real for s in PAULI])

def density_from_bloch(r):
    """ρ = ½ (I + r·σ).  Valid density matrix iff |r| ≤ 1."""
    rx, ry, rz = r
    return 0.5 * (I + rx * X + ry * Y + rz * Z)

def purity(rho):
    return np.trace(rho @ rho).real
```

```python
# Round-trip the dictionary: ρ -> r -> ρ.
rho = np.array([[3/4, 1/4], [1/4, 1/4]], dtype=complex)   # Worked Example 1
r = bloch_vector(rho)
print("Bloch vector r =", np.round(r, 4))                 # [0.5  0.   0.5]
print("round-trip ok?", np.allclose(density_from_bloch(r), rho))  # True

print("|r| =", round(np.linalg.norm(r), 4))               # 0.7071
print("purity (from radius) =", 0.5 * (1 + np.linalg.norm(r)**2))  # 0.75
print("purity (direct)      =", round(purity(rho), 4))    # 0.75  -> identity confirmed
```

```python
def classify(rho, tol=1e-9):
    """Classify a single-qubit state by its Bloch radius."""
    r_norm = np.linalg.norm(bloch_vector(rho))
    if r_norm > 1 + tol:
        return "INVALID (|r| > 1, not positive semidefinite)"
    if abs(r_norm - 1) <= tol:
        return "pure (on the Bloch sphere)"
    if r_norm <= tol:
        return "maximally mixed (center, I/2)"
    return "mixed (inside the Bloch ball)"

states = {
    "|0⟩":        density_from_bloch([0, 0, 1]),     # north pole, pure
    "|+⟩":        density_from_bloch([1, 0, 0]),     # equator, pure
    "I/2":        density_from_bloch([0, 0, 0]),     # center, maximally mixed
    "WE1 mixed":  np.array([[3/4, 1/4], [1/4, 1/4]], dtype=complex),
}
for name, rho in states.items():
    print(f"{name:10s} |r|={np.linalg.norm(bloch_vector(rho)):.3f}  "
          f"purity={purity(rho):.3f}  -> {classify(rho)}")
```

```python
# Decoherence as radial shrinkage (Worked Example 2): |+⟩ dephasing toward center.
for p in [1.0, 0.7, 0.3, 0.0]:
    rho_p = density_from_bloch([p, 0, 0])             # ρ = ½(I + p X)
    print(f"p={p:.1f}  |r|={p:.1f}  purity={purity(rho_p):.3f}  "
          f"(= ½(1+p²) = {0.5*(1+p*p):.3f})")
# Coherence damps -> Bloch vector shrinks along x -> purity falls 1.0 → 0.5.

# A point with |r| > 1 is NOT a valid state (eigenvalue would be negative):
bad = density_from_bloch([1.0, 1.0, 0.0])             # |r| = √2 > 1
print("eigvals of an invalid 'state':", np.round(np.linalg.eigvalsh(bad), 3))  # one < 0
```

> **Geometry, not metaphor.** `bloch_vector` and `density_from_bloch` are exact inverses on valid
> states — the Bloch ball is a faithful coordinate system for the qubit, not a visualization aid. Every
> single-qubit noise channel in Term 4 is, geometrically, an *affine map of the ball* (a shrink + shift
> of $\vec r$); having the dictionary in code means you can read off purity and validity for any of
> them with the functions above.

---

## Exercises

**E1 (easy).** Find the Bloch vectors of $|0\rangle$, $|1\rangle$, $|+\rangle$, $|-\rangle$, $|{+}i\rangle$,
$|{-}i\rangle$. Confirm each has $|\vec r| = 1$.

<details><summary>Solution</summary>

Using $r_k = \langle\sigma_k\rangle$ (or matching matrices): $|0\rangle\to(0,0,1)$,
$|1\rangle\to(0,0,-1)$, $|+\rangle\to(1,0,0)$, $|-\rangle\to(-1,0,0)$, $|{+}i\rangle\to(0,1,0)$,
$|{-}i\rangle\to(0,-1,0)$. These are the six poles of the three Pauli axes ([Appendix C](../../appendix/C-notation-glossary.md)),
each with $|\vec r| = 1$ — all pure, all on the sphere, as expected.
</details>

**E2 (easy).** A qubit has Bloch vector $\vec r = (0, 0, 0.6)$. Write $\rho$ as a matrix, compute its
purity two ways, and classify it.

<details><summary>Solution</summary>

$\rho = \tfrac12(I + 0.6\,Z) = \begin{psmallmatrix}0.8 & 0\\ 0 & 0.2\end{psmallmatrix}$. Purity from
the radius: $\tfrac12(1 + 0.36) = 0.68$. Directly: $0.8^2 + 0.2^2 = 0.64 + 0.04 = 0.68$. ✓ Since
$0 < |\vec r| = 0.6 < 1$, it is a **mixed** interior state (eigenvalues $0.8, 0.2$).
</details>

**E3 (medium).** Prove that the eigenvalues of $\rho = \tfrac12(I + \vec r\cdot\vec\sigma)$ are
$\tfrac{1\pm|\vec r|}{2}$, and use this to re-derive $\operatorname{Tr}(\rho^2) = \tfrac12(1 + |\vec
r|^2)$.

<details><summary>Solution</summary>

$\vec r\cdot\vec\sigma = |\vec r|(\hat n\cdot\vec\sigma)$ with $\hat n = \vec r/|\vec r|$, and
$(\hat n\cdot\vec\sigma)^2 = I$ (from $(\vec r\cdot\vec\sigma)^2 = |\vec r|^2 I$), so $\hat n\cdot\vec\sigma$
has eigenvalues $\pm1$. Hence $\vec r\cdot\vec\sigma$ has eigenvalues $\pm|\vec r|$, and $\rho =
\tfrac12(I + \vec r\cdot\vec\sigma)$ has eigenvalues $\tfrac{1\pm|\vec r|}{2}$. Then $\operatorname{Tr}(\rho^2)
= \big(\tfrac{1+|\vec r|}{2}\big)^2 + \big(\tfrac{1-|\vec r|}{2}\big)^2 = \tfrac{2 + 2|\vec r|^2}{4}
= \tfrac12(1 + |\vec r|^2)$. ∎
</details>

**E4 (medium).** Show that the Bloch vector of a 50/50 mixture of two pure states with Bloch vectors
$\vec a$, $\vec b$ (both on the sphere) is $\tfrac12(\vec a + \vec b)$, and that the result is pure iff
$\vec a = \vec b$. Interpret geometrically.

<details><summary>Solution</summary>

If $\rho_a = \tfrac12(I + \vec a\cdot\vec\sigma)$ and $\rho_b = \tfrac12(I + \vec b\cdot\vec\sigma)$,
then $\rho = \tfrac12\rho_a + \tfrac12\rho_b = \tfrac12\big(I + \tfrac{\vec a + \vec b}{2}\cdot\vec\sigma\big)$,
so the mixture's Bloch vector is the **midpoint** $\vec r = \tfrac12(\vec a + \vec b)$ — convex mixing
of states is convex combination of Bloch vectors (the map is affine). With $|\vec a| = |\vec b| = 1$,
$|\vec r| = \tfrac12|\vec a + \vec b| = 1$ iff $\vec a, \vec b$ point the same way (the triangle
inequality is tight only when collinear and equal), i.e. iff $\vec a = \vec b$. Geometrically: the
chord between two distinct surface points lies strictly *inside* the ball, so any nontrivial mixture is
mixed; antipodal points ($\vec b = -\vec a$) mix to the center $\vec r = 0$.
</details>

**E5 (hard).** Prove that $\rho = \tfrac12(I + \vec r\cdot\vec\sigma)$ is a valid density operator iff
$|\vec r|\le1$ **without** computing the determinant — instead use the eigenvalue characterization of
positivity directly.

<details><summary>Solution</summary>

$\rho\succeq0$ iff both eigenvalues are $\ge0$. As in E3, the eigenvalues are $\lambda_\pm =
\tfrac{1\pm|\vec r|}{2}$ (using $(\hat n\cdot\vec\sigma)^2 = I \Rightarrow$ eigenvalues $\pm1$ of
$\hat n\cdot\vec\sigma$). The smaller one is $\lambda_- = \tfrac{1 - |\vec r|}{2}$, which is $\ge0$ iff
$|\vec r|\le1$; $\lambda_+ = \tfrac{1+|\vec r|}{2}\ge0$ always. Hermiticity and $\operatorname{Tr}\rho =
1$ hold by construction. So $\rho$ is a valid state iff $|\vec r|\le1$. ∎ (This matches the determinant
route, since $\det\rho = \lambda_+\lambda_- = \tfrac14(1 - |\vec r|^2)$.)
</details>

**E6 (hard).** The **trace distance** between two qubit states is $D(\rho,\sigma) =
\tfrac12\operatorname{Tr}|\rho - \sigma|$ (half the sum of the singular values of $\rho - \sigma$).
Show that for single qubits $D(\rho,\sigma) = \tfrac12|\vec r - \vec s|$ — i.e. trace distance is just
half the Euclidean distance between Bloch vectors.

<details><summary>Solution</summary>

$\rho - \sigma = \tfrac12((\vec r - \vec s)\cdot\vec\sigma) =: \tfrac12(\vec d\cdot\vec\sigma)$ with
$\vec d = \vec r - \vec s$. This is traceless Hermitian; as in E3 its eigenvalues are $\pm\tfrac12|\vec d|$
(eigenvalues of $\vec d\cdot\vec\sigma$ are $\pm|\vec d|$). The singular values are the absolute
eigenvalues $\tfrac12|\vec d|, \tfrac12|\vec d|$, so $\operatorname{Tr}|\rho - \sigma| = |\vec d|$ and
$D(\rho,\sigma) = \tfrac12|\vec d| = \tfrac12|\vec r - \vec s|$. ∎ So the Bloch ball with *half* the
Euclidean metric is the trace-distance geometry — distinguishability of qubit states is literally how
far apart their Bloch vectors are. (Trace distance is developed in Term 4 / [Wil].)
</details>

---

## Checkpoint

1. Derive $\rho = \tfrac12(I + \vec r\cdot\vec\sigma)$ from Hermiticity and unit trace. How do you
   extract $r_k$ from $\rho$?
2. Why is the single-qubit state space a *ball* of radius $1$? Where does $|\vec r|\le1$ come from?
3. Which states are on the surface, in the interior, and at the center?
4. State and derive the purity–radius identity, and give purity at $|\vec r| = 0, \tfrac12, 1$.
5. How does the Bloch *ball* relate to the pure-state Bloch *sphere* of Course 1.2?

<details><summary>Answers</summary>

1. Hermiticity $\Rightarrow \rho = a_0 I + \sum_k a_k\sigma_k$ with real coefficients; unit trace fixes
   $a_0 = \tfrac12$; orthogonality $\operatorname{Tr}(\sigma_j\sigma_k) = 2\delta_{jk}$ gives $a_k =
   \tfrac12\operatorname{Tr}(\rho\sigma_k) = \tfrac12 r_k$. Recover $r_k = \operatorname{Tr}(\rho\sigma_k) =
   \langle\sigma_k\rangle$.
2. Positivity is the only remaining constraint; $\det\rho = \tfrac14(1 - |\vec r|^2)\ge0$ (equivalently
   $\lambda_\pm = \tfrac{1\pm|\vec r|}{2}\ge0$) forces $|\vec r|\le1$ — the closed unit ball.
3. Surface $|\vec r| = 1$: pure; interior $0<|\vec r|<1$: mixed; center $|\vec r| = 0$: maximally mixed
   $\rho = I/2$.
4. $\operatorname{Tr}(\rho^2) = \tfrac12(1 + |\vec r|^2)$ (square $\rho$, use $(\vec r\cdot\vec\sigma)^2
   = |\vec r|^2 I$, trace). Values: $\tfrac12$ at $|\vec r| = 0$; $\tfrac58$ at $|\vec r| = \tfrac12$;
   $1$ at $|\vec r| = 1$.
5. The sphere ($|\vec r| = 1$) is the pure-state boundary of Course 1.2; the ball adds the radial
   direction for mixed states, which point the same way but are shrunk toward the center as they lose
   purity/coherence.

</details>

---

## Further Reading

- **[NC]** Nielsen & Chuang, §2.4.2 and Exercise 2.72 — the Bloch-vector form $\rho = \tfrac12(I +
  \vec r\cdot\vec\sigma)$ and the $|\vec r|\le1$ condition.
- **[Pre]** Preskill, *Ph219*, Ch. 2–3 — the Bloch ball, purity, and (forward to) qubit channels as
  affine maps of the ball.
- **[Wil]** Wilde, *Quantum Information Theory*, Ch. 4–9 — trace distance and the Bloch picture.
- **[Appendix E §1, §3](../../appendix/E-math-identities.md)** — Pauli completeness, $(\vec
  r\cdot\vec\sigma)^2 = |\vec r|^2 I$, and rotation exponentials.

---

← Prev: [Partial Trace & Reduced States](02-partial-trace-reduced-states.md) · Up: [Term 1](../README.md) · Next: [Time Evolution](../c06-dynamics/01-time-evolution.md) →
