The aim of this article is to understand how the quantum teleportation algorithm works. It assumes basic knowledge of quantum computing, in particular X, Z, H and CNOT gates, as well as Bell states and how to create them. If any of this seems unfamiliar see the first part in this series here that covers all of the basics. The final part, here, covers how to run the algorithm on a real IBM quantum device using their SDK, Qiskit.
You may be familiar with the word teleportation from pop culture such as the ‘beam me up’ technology from Star Trek. Unfortunately, Quantum teleportation does not mean physically teleporting a qubit from one place to another. Instead, quantum teleportation is the transfer of a quantum state from one qubit to another. We are transferring quantum information rather than the actual physical qubit. In a classical computer copying information is trivial and we do it every day. However, for quantum computers we cannot transfer by copying as in the process of copying we are implicitly making a measurement and therefore collapsing the state we are attempting to transfer in the first place. In order to get around this we use a quantum teleportation circuit.
Setting up the problem, let’s say we have two people, call them Alice and Bob. Alice wants to send her unknown state |phi> to Bob. She can only send him classical bits. They each have a qubit in the |0> state.
We can recognise the circuit above as the creation of a bell state. This means that Alice’s and Bob’s qubits are now entangled in the 00 bell state.
Alice then takes her qubit and Bob takes his. They can now be on complete other sides of the world, as long as they can still communicate classically.
Let’s look at how we can write the initial state of the system. For Alice’s general state phi we can represent it as a general linear combination of the Z basis, note that alpha and beta must sum to 1 to maintain normality.