Skip to main content
IBM Quantum Platform

Superdense coding

Superdense coding is a protocol that, in some sense, achieves a complementary aim to teleportation. Rather than allowing for the transmission of one qubit using two classical bits of communication (at the cost of one e-bit of entanglement), it allows for the transmission of two classical bits using one qubit of quantum communication (again, at the cost of one e-bit of entanglement).

In greater detail, we have a sender (Alice) and a receiver (Bob) that share one e-bit of entanglement. According to the conventions in place for the lesson, this means that Alice holds a qubit A,\mathsf{A}, Bob holds a qubit B,\mathsf{B}, and together the pair (A,B)(\mathsf{A},\mathsf{B}) is in the state ϕ+.\vert\phi^+\rangle. Alice wishes to transmit two classical bits to Bob, which we'll denote by cc and d,d, and she will accomplish this by sending him one qubit.

It is reasonable to view this feat as being less interesting than the one that teleportation accomplishes. Sending qubits is likely to be so much more difficult than sending classical bits for the foreseeable future that trading one qubit of quantum communication for two bits of classical communication, at the cost of an e-bit no less, hardly seems worth it. However, this does not imply that superdense coding is not interesting, for it most certainly is.

Fitting the theme of the lesson, one reason why superdense coding is interesting is that it demonstrates a concrete and (in the context of information theory) rather striking use of entanglement. A famous theorem in quantum information theory, known as Holevo's theorem, implies that without the use of a shared entangled state, it is impossible to communicate more than one bit of classical information by sending a single qubit. (Holevo's theorem is more general than this. Its precise statement is technical and requires explanation, but this is one consequence of it.) So, through superdense coding, shared entanglement effectively allows for the doubling of the classical information-carrying capacity of sending qubits.


Protocol

The following quantum circuit diagram describes the superdense coding protocol:

Superdense coding circuit

In words, here is what Alice does:

  1. If d=1,d=1, Alice performs a ZZ gate on her qubit A\mathsf{A} (and if d=0d=0 she does not).

  2. If c=1,c=1, Alice performs an XX gate on her qubit A\mathsf{A} (and if c=0c=0 she does not).

Alice then sends her qubit A\mathsf{A} to Bob.

What Bob does when he receives the qubit A\mathsf{A} is to first perform a controlled-NOT gate, with A\mathsf{A} being the control and B\mathsf{B} being the target, and then he applies a Hadamard gate to A.\mathsf{A}. He then measures B\mathsf{B} to obtain cc and A\mathsf{A} to obtain d,d, with standard basis measurements in both cases.


Analysis

The idea behind this protocol is pretty simple: Alice effectively chooses which Bell state she would like to be sharing with Bob, she sends Bob her qubit, and Bob measures to determine which Bell state Alice chose.

That is, they initially share ϕ+,\vert\phi^+\rangle, and depending upon the bits cc and d,d, Alice either leaves this state alone or shifts it to one of the other Bell states by applying I,\mathbb{I}, X,X, Z,Z, or XZXZ to her qubit A.\mathsf{A}.

(II)ϕ+=ϕ+(IZ)ϕ+=ϕ(IX)ϕ+=ψ+(IXZ)ϕ+=ψ\begin{aligned} (\mathbb{I} \otimes \mathbb{I}) \vert \phi^+ \rangle & = \vert \phi^+\rangle \\ (\mathbb{I} \otimes Z) \vert \phi^+ \rangle & = \vert \phi^-\rangle \\ (\mathbb{I} \otimes X) \vert \phi^+ \rangle & = \vert \psi^+\rangle \\ (\mathbb{I} \otimes XZ) \vert \phi^+ \rangle & = \vert \psi^-\rangle \end{aligned}

Bob's actions have the following effects on the four Bell states:

ϕ+00ϕ01ψ+10ψ11\begin{aligned} \vert \phi^+\rangle & \mapsto \vert 00\rangle\\ \vert \phi^-\rangle & \mapsto \vert 01\rangle\\ \vert \psi^+\rangle & \mapsto \vert 10\rangle\\ \vert \psi^-\rangle & \mapsto -\vert 11\rangle\\ \end{aligned}

This can be checked directly, by computing the results of Bob's operations on these states one at a time.

So, when Bob performs his measurements, he is able to determine which Bell state Alice chose. To verify that the protocol works correctly is a matter of checking each case:

  • If cd=00,cd = 00, then the state of (B,A)(\mathsf{B},\mathsf{A}) when Bob receives A\mathsf{A} is ϕ+.\vert \phi^+\rangle. He transforms this state into 00\vert 00\rangle and obtains cd=00.cd = 00.

  • If cd=01,cd = 01, then the state of (B,A)(\mathsf{B},\mathsf{A}) when Bob receives A\mathsf{A} is ϕ.\vert \phi^-\rangle. He transforms this state into 01\vert 01\rangle and obtains cd=01.cd = 01.

  • If cd=10,cd = 10, then the state of (B,A)(\mathsf{B},\mathsf{A}) when Bob receives A\mathsf{A} is ψ+.\vert \psi^+\rangle. He transforms this state into 10\vert 10\rangle and obtains cd=10.cd = 10.

  • If cd=11,cd = 11, then the state of (B,A)(\mathsf{B},\mathsf{A}) when Bob receives A\mathsf{A} is ψ.\vert \psi^-\rangle. He transforms this state into 11-\vert 11\rangle and obtains cd=11.cd = 11. (The negative-one phase factor has no effect here.)

Was this page helpful?
Report a bug or request content on GitHub.