Quantum Teleportation
Category: Quantum Computing
Difficulty: Advanced
Time Complexity: O(1) gates
Space Complexity: O(1) — 3 qubits
Overview
Section titled “Overview”Quantum teleportation is a protocol that transfers an unknown quantum state from one party (Alice) to another (Bob) using a pre-shared entangled Bell pair and two classical bits of communication. It does not transmit matter or energy faster than light — the classical bits must travel through a normal channel. The protocol exploits three key ideas: (1) Bell pairs provide maximally entangled resources shared between Alice and Bob; (2) the no-cloning theorem forbids copying an unknown quantum state, so teleportation necessarily destroys Alice’s original; (3) LOCC (local operations and classical communication) suffices to reconstruct the state on Bob’s side. Alice entangles her unknown qubit with her half of the Bell pair via a CNOT and Hadamard, then measures both qubits, obtaining two classical bits. She sends these bits to Bob, who applies a conditional correction (X and/or Z gates) to his half of the Bell pair. After correction, Bob’s qubit is in the exact state Alice started with — verified on the Bloch sphere. Teleportation is the foundation of quantum repeaters, quantum networks, and measurement-based quantum computation.
Try It
Section titled “Try It”- Web: Open in Eigenvue →
- Python:
import eigenvueeigenvue.show("quantum-teleportation")
Default Inputs
Section titled “Default Inputs”{ "teleportState": { "theta": 0.7854, "phi": 1.0472, "label": "|\u03c8\u27e9" }, "aliceMeasurements": { "qubit0": 0, "qubit1": 1 }}Input Examples
Section titled “Input Examples”Teleport |+⟩
Section titled “Teleport |+⟩”{ "teleportState": { "theta": 1.5708, "phi": 0, "label": "|+\u27e9" }, "aliceMeasurements": { "qubit0": 0, "qubit1": 0 }}Teleport arbitrary state
Section titled “Teleport arbitrary state”{ "teleportState": { "theta": 0.7854, "phi": 1.0472, "label": "|\u03c8\u27e9" }, "aliceMeasurements": { "qubit0": 0, "qubit1": 1 }}All measurement outcomes (0,0)
Section titled “All measurement outcomes (0,0)”{ "teleportState": { "theta": 1.0472, "phi": 2.0944, "label": "|\u03c8\u27e9" }, "aliceMeasurements": { "qubit0": 0, "qubit1": 0 }}All measurement outcomes (0,1)
Section titled “All measurement outcomes (0,1)”{ "teleportState": { "theta": 1.0472, "phi": 2.0944, "label": "|\u03c8\u27e9" }, "aliceMeasurements": { "qubit0": 0, "qubit1": 1 }}All measurement outcomes (1,0)
Section titled “All measurement outcomes (1,0)”{ "teleportState": { "theta": 1.0472, "phi": 2.0944, "label": "|\u03c8\u27e9" }, "aliceMeasurements": { "qubit0": 1, "qubit1": 0 }}All measurement outcomes (1,1)
Section titled “All measurement outcomes (1,1)”{ "teleportState": { "theta": 1.0472, "phi": 2.0944, "label": "|\u03c8\u27e9" }, "aliceMeasurements": { "qubit0": 1, "qubit1": 1 }}Pseudocode
Section titled “Pseudocode”function quantumTeleportation(theta, phi, m0, m1): // 1. Alice prepares |psi> = cos(theta/2)|0> + e^{i*phi}*sin(theta/2)|1> state = |psi> tensor |0> tensor |0>
// 2. Create Bell pair between qubits 1 and 2 apply H to qubit 1 apply CNOT(1, 2) // qubits 1,2 now in Bell state |Phi+>
// 3. Alice entangles her qubit with Bell pair apply CNOT(0, 1) apply H to qubit 0
// 4. Alice measures both qubits m0 = measure qubit 0 // classical bit m1 = measure qubit 1 // classical bit
// 5. Bob applies correction: X^{m1} Z^{m0} if m1 == 1: apply X to qubit 2 if m0 == 1: apply Z to qubit 2
// 6. Bob's qubit 2 is now in state |psi> return qubit 2Python
Section titled “Python”import numpy as np
def quantum_teleportation(theta: float, phi: float, m0: int, m1: int): """Teleport |psi> = cos(theta/2)|0> + e^{i*phi}*sin(theta/2)|1>.""" # 1. Prepare initial 3-qubit state: |psi> x |0> x |0> alpha = np.cos(theta / 2) beta = np.exp(1j * phi) * np.sin(theta / 2) state = np.zeros(8, dtype=complex) state[0] = alpha # |000> state[4] = beta # |100>
# 2. Create Bell pair (H on qubit 1, then CNOT 1->2) state = apply_hadamard(state, qubit=1, n=3) state = apply_cnot(state, control=1, target=2, n=3)
# 3. Alice's operations state = apply_cnot(state, control=0, target=1, n=3) state = apply_hadamard(state, qubit=0, n=3)
# 4. Alice measures qubits 0 and 1 state = project_and_normalize(state, qubit=0, outcome=m0, n=3) state = project_and_normalize(state, qubit=1, outcome=m1, n=3)
# 5. Bob's correction: X^{m1} Z^{m0} if m1 == 1: state = apply_x(state, qubit=2, n=3) if m0 == 1: state = apply_z(state, qubit=2, n=3)
# Qubit 2 is now in state |psi> return stateJavaScript
Section titled “JavaScript”function quantumTeleportation(theta, phi, m0, m1) { // 1. Prepare |psi> x |0> x |0> const alpha = [Math.cos(theta / 2), 0]; const beta = [Math.sin(theta / 2) * Math.cos(phi), Math.sin(theta / 2) * Math.sin(phi)]; const state = Array.from({ length: 8 }, () => [0, 0]); state[0] = alpha; // |000> state[4] = beta; // |100>
// 2. Create Bell pair (H on qubit 1, CNOT 1->2) applySingleQubitGate(state, GATE_H, 1, 3); applyTwoQubitGate(state, GATE_CNOT, 1, 2, 3);
// 3. Alice CNOT(0,1) then H(0) applyTwoQubitGate(state, GATE_CNOT, 0, 1, 3); applySingleQubitGate(state, GATE_H, 0, 3);
// 4. Alice measures qubits 0 and 1 projectAndNormalize(state, 0, m0, 3); projectAndNormalize(state, 1, m1, 3);
// 5. Bob correction: X^{m1} Z^{m0} if (m1 === 1) applySingleQubitGate(state, GATE_X, 2, 3); if (m0 === 1) applySingleQubitGate(state, GATE_Z, 2, 3);
// Qubit 2 is now in state |psi> return state;}Key Concepts
Section titled “Key Concepts”Bell Pairs
Section titled “Bell Pairs”A Bell pair is a maximally entangled two-qubit state, typically |Phi+> = (|00> + |11>)/sqrt(2). It is created by applying a Hadamard gate followed by a CNOT. In teleportation, Alice and Bob each hold one qubit of the Bell pair. This shared entanglement acts as a quantum channel — it is the essential resource that enables state transfer without directly sending the qubit.
No-Cloning Theorem
Section titled “No-Cloning Theorem”The no-cloning theorem states that it is impossible to create an exact copy of an arbitrary unknown quantum state. This is a fundamental consequence of the linearity of quantum mechanics. Teleportation respects this constraint: Alice’s original state is destroyed by measurement, and the state appears on Bob’s side. The quantum information is transferred, not duplicated.
Classical Communication
Section titled “Classical Communication”After Alice measures her two qubits, she obtains two classical bits (m0, m1). She must send these bits to Bob through a classical channel (e.g., phone, internet). Without these bits, Bob’s qubit is in a random state — he cannot extract any information. This requirement ensures that teleportation does not violate the no-communication theorem or enable faster-than-light signaling.
Quantum Correction
Section titled “Quantum Correction”Bob applies a conditional correction based on Alice’s measurement results: X^{m1} Z^{m0}. If m0=0 and m1=0, no correction is needed (identity). If m1=1, Bob applies the X (bit-flip) gate. If m0=1, Bob applies the Z (phase-flip) gate. If both are 1, Bob applies X then Z. After correction, Bob’s qubit is in the exact state Alice started with.
Common Pitfalls
Section titled “Common Pitfalls”- Two classical bits are required: A common misconception is that teleportation transfers information instantly. In reality, Alice must send two classical bits to Bob for him to apply the correct correction. Without these bits, Bob’s qubit is in a mixed state with no useful information. The classical channel limits the protocol to at most the speed of light.
- The original state is destroyed: Teleportation does not create a copy of the quantum state. Alice’s measurement collapses her qubits into a definite classical state (|m0, m1>), irrevocably destroying the original superposition. This is consistent with the no-cloning theorem — quantum information is conserved, not duplicated.
- Requires pre-shared entanglement: The Bell pair must be created and distributed before teleportation can occur. Alice and Bob must each receive one qubit of the entangled pair. If they do not share entanglement, the protocol cannot proceed. Distributing entanglement over long distances is one of the main challenges in building quantum networks.
Q1: How many classical bits must Alice send to Bob for quantum teleportation?
- A) 0
- B) 1
- C) 2
- D) 3
Show answer
Answer: C) 2
Alice measures two qubits (her original qubit and her half of the Bell pair), producing two classical bits. Both bits are needed for Bob to determine the correct correction gate(s). Without both bits, Bob cannot recover the original state.
Q2: What happens to Alice’s original quantum state after teleportation?
- A) It remains unchanged on Alice’s side
- B) It is destroyed by measurement
- C) It is copied to Bob’s qubit
- D) It becomes entangled with Bob’s qubit
Show answer
Answer: B) It is destroyed by measurement
Alice’s measurement collapses her qubits into definite classical states, destroying the original superposition. This is required by the no-cloning theorem — quantum information cannot be duplicated, only moved. After teleportation, only Bob’s qubit holds the state.
Q3: If Alice’s measurement results are (m0=1, m1=1), what correction does Bob apply?
- A) No correction (identity)
- B) X gate only
- C) Z gate only
- D) X gate then Z gate
Show answer
Answer: D) X gate then Z gate
The correction formula is X^{m1} Z^{m0}. With m0=1 and m1=1, Bob applies X (bit-flip, because m1=1) followed by Z (phase-flip, because m0=1). The order matters: X is applied first, then Z, to correctly recover the original state.
Further Reading
Section titled “Further Reading”- Quantum Teleportation — Wikipedia (reference)
- No-Cloning Theorem — Wikipedia (reference)
- Qiskit Textbook: Quantum Teleportation (tutorial)
- Bennett et al., Teleporting an Unknown Quantum State (1993) (article)