Capacity for quantum communication
Entanglement transmission ⇅ ⋰ ⋰ ⋰ ⋰ ⋰ ⋰ ⋰ ⇅ ඌ ============ o /|\ /|\
Alice shares an entangled state with a reference system R. ⇅ ⋰ ⋰ φRA₁ ⋰ ⋰ ⋰ ⋰ ⋰ ⇅ ඌ /|\
Alice wants to transfer this entanglement to Bob. ⇅ ⋰ ⋰ φRA₁ ⋰ ⋰ ⋰ ⋰ ⋰ ⇅ ඌ o /|\ /|\
They are separated by a Quantum channel 𝒩. ⇅ ⋰ ⋰ φRA₁ ⋰ ⋰ ⋰ ⋰ ⋰ ⇅ ඌ ============ o /|\ /|\
But it's noisy.. ⇅ ⋰ ⋰ φRA₁ ⋰ ⋰ ⋰ ⋰ ⋰ ⇅ ඌ ============ o /|\ /|\
Alice performs some encoder on system A₁. ⇅ ඌ ⇅ ============ o ⇅ /|\ ⋮ /|\ ⇅ def encoded_state: ℰ_{A₁→A′ⁿ}(φRA₁)
Alice sends (𓉔𓃀𓂻) the systems through many independent uses of 𝒩. ⇅ ඌ ⇅ ============ ₁ o /|\ ๛ ⋮ ⋮ /|\ ⇅ ============ ₙ def 𝒩_{A′ⁿ→Bⁿ} := 𝒩_{A′→B}^⊗n
Bob receives the systems Bⁿ. ⇅ ඌ ============ ₁ ⇅ o ށ /|\ ⋮ ⋮ /| ============ ₙ ⇅ / \ Output state: 𝒩_{A′ⁿ→Bⁿ}(ℰ_{A₁→A′ⁿ}(φRA₁)).
Bob performs some decoding channel 𝒟_{Bⁿ→B₁}. ⇅ ඌ ============ ₁ ⇅ ༽o༼ /|\ ⋮ ⋮ ⇅ ============ ₙ ⇅ / \ Decoded state: ωRB₁ := 𝒟_{Bⁿ→B₁}(𝒩_{A′ⁿ→Bⁿ}(ℰ_{A₁→A′ⁿ}(φRA₁)))
⇅ ⋱ ⋱ ⋱ ωRB₁ ⋱ ⋱ ⋱ ⇅ ඌ O ށ /|\ /| /\
/-- qubits transmitted per channel use -/ def rate := log dim(ℋA₁) / n
We want the final state to be close to the input state, whatever it is:
∀ φ, 1/2 * ‖φ − ω‖₁ ≤ ε.
import Quantum_channel variables (𝒩 : (ℋ₁ →ₗ[ℂ] ℋ₁) →ₗ[ℂ] (ℋ₂ →ₗ[ℂ] ℋ₂)) [quantum_channel 𝒩] /-- When can channel 𝒩 transmit at rate Q? -/ def achievable_quantum_comm_rate (Q : ℝ) (𝒩) := ∀ (ε > 0) (δ > 0), ∃ k : ℕ, ∀ n ≥ k, ∃ (ℰ : (ℋ₁ →ₗ[ℂ] ℋ₁) →ₗ[ℂ] (ℋ₁^⊗n →ₗ[ℂ] ℋ₁^⊗n)) [quantum_channel ℰ], ∃ (𝒟 : (ℋ₂^⊗n →ₗ[ℂ] ℋ₂^⊗n) →ₗ[ℂ] (ℋ₂ →ₗ[ℂ] ℋ₂)) [quantum_channel 𝒟], (log dim(ℋ₁) / n = Q - δ ∧ ∀ φ, 1/2 * ‖φ − 𝒟 𝒩 ℰ φ‖₁ ≤ ε) /-- supremum of all achievable rates -/ def quantum_capacity (𝒩) : ℝ := sup {Q : ℝ | achievable_quantum_comm_rate Q 𝒩}
The Quantum capacity of a channel is equal to its regularized coherent information.