The Quantum Teleportation Circuit
Move an unknown qubit state across a shared Bell pair using two classical bits and local corrections.
Setup
Alice holds an unknown state |psi> = a|0> + b|1> she wants to send to Bob. They pre-share a Bell pair. No qubit physically travels; only two classical bits do, plus the pre-shared entanglement.
Steps
- Alice entangles |psi> with her half of the Bell pair using a CNOT, then a Hadamard on the message qubit.
- Alice measures her two qubits, getting classical bits (m0,m1).
- Alice sends (m0,m1) to Bob over a classical channel.
- Bob applies X^m1 then Z^m0 to his qubit, recovering |psi> exactly.
import numpy as np
H=np.array([[1,1],[1,-1]])/np.sqrt(2)
# after CNOT+H, Alice's outcome (m0,m1) tells Bob his correction:
corr={(0,0):'I',(0,1):'X',(1,0):'Z',(1,1):'ZX'}
for k,v in corr.items(): print(k,'-> apply',v)
Why it is not faster-than-light
Bob's qubit before he hears from Alice is in a completely mixed state - useless on its own. Only the two classical bits, limited to light speed, let him pick the right correction. No information moves faster than the classical channel.
What is consumed
Teleportation destroys the original: Alice's measurement collapses |psi>, so there is no cloning. Each run uses up one Bell pair and two classical bits to transmit one qubit. It underpins quantum repeaters and gate teleportation in fault-tolerant architectures.