Chapter 17: Quantum Channels
Part VI: Quantum Information
Completely Positive Trace-Preserving Maps
A quantum channel is a linear map \(\mathcal{E}: \rho \mapsto \mathcal{E}(\rho)\)on density matrices satisfying:
- Trace preserving: \(\text{Tr}(\mathcal{E}(\rho)) = 1\) (probabilities sum to 1)
- Completely positive: \((\mathcal{E} \otimes \mathcal{I})(\sigma) \geq 0\) for any extension with identity (physical positivity)
The Stinespring dilation theorem guarantees every CPTP map arises from unitary evolution on a larger system followed by partial trace — every noise channel can be modeled as entanglement with an environment.
Kraus Representation
Every CPTP map has a Kraus decomposition:
\( \mathcal{E}(\rho) = \sum_k K_k \rho K_k^\dagger \quad \text{with} \quad \sum_k K_k^\dagger K_k = I \)
Depolarizing Channel
\(\mathcal{E}(\rho) = (1-p)\rho + \frac{p}{3}(X\rho X + Y\rho Y + Z\rho Z)\)
Bloch vector shrinks uniformly: \(\vec{r} \to (1 - \tfrac{4p}{3})\vec{r}\)
Amplitude Damping
\(K_0 = \begin{pmatrix}1 & 0 \\ 0 & \sqrt{1-\gamma}\end{pmatrix}, K_1 = \begin{pmatrix}0 & \sqrt{\gamma} \\ 0 & 0\end{pmatrix}\)
Models spontaneous emission (\(T_1\) decay). \(\gamma\) = decay probability.
Holevo Bound & Channel Capacity
The Holevo bound limits the classical information extractable from a quantum ensemble. For encoding classical message \(x\) into quantum state \(\rho_x\)with probability \(p_x\):
\( I(X:B) \leq \chi = S\!\left(\sum_x p_x \rho_x\right) - \sum_x p_x S(\rho_x) \)
The Holevo capacity \(\chi\)(chi) is achieved by measuring in the optimal basis. For a depolarizing channel with noise \(p\), the classical capacity approaches \(1 - H_b(p)\)per qubit transmission.
The quantum channel capacity \(Q\) (for transmitting quantum information) is generally lower and given by the coherent information. For degraded channels,\(Q = 0\) when the channel is too noisy.
Python: Quantum Channel Simulation
Simulate the depolarizing channel (Bloch sphere shrinkage), plot classical capacity vs noise, and show amplitude damping trajectory on the Bloch sphere cross-section.
Click Run to execute the Python code
Code will be executed with Python 3 on the server