In this tutorial, we construct an implementation of the superdense coding protocol via Amazon Braket's SDK. Superdense coding is a method of transmitting two classical bits by sending only one qubit. Starting with a pair of entanged qubits, the sender (aka Alice) applies a certain quantum gate to their qubit and sends the result to the receiver (aka Bob), who is then able to decode the full two-bit message.
If Alice wants to send a two-bit message to Bob using only classical channels, she would need to send two classical bits. However, with the help of quantum entanglement, Alice can do this by sending just one qubit. By ensuring that Alice and Bob initially share an entangled state of two qubits, they can devise a strategy such that Alice can transmit her two-bit message by sending her single qubit.
To implement superdense coding, Alice and Bob need to share or otherwise prepare a maximally entangled pair of qubits (i.e., a Bell pair). Alice then selects one of the four possible messages to send with two classical bits: 00, 01, 10, or 11. Depending on which two-bit string she wants to send, Alice applies a corresponding quantum gate to encode her desired message. Finally, Alice sends her own qubit to Bob, which Bob then uses to decode the message by undoing the initial entangling operation.
Note that superdense coding is closely related to quantum teleportation. In teleportation, one uses an entangled pair (an e-bit) and two uses of a classical channel to simulate a single use of a quantum channel. In superdense coding, one uses an e-bit and a single use of a quantum channel to simulate two uses of a classical channel.
Detailed Steps
- Alice and Bob initially share a Bell pair. This can be prepared by starting with two qubits in the |0⟩ state, then applying the Hadamard gate (𝐻) to the first qubit to create an equal superposition, and finally applying a CNOT gate (𝐶𝑋) between the two qubits to produce a Bell pair. Alice holds one of these two qubits, while Bob holds the other.
- Alice selects one of the four possible messages to send Bob. Each message corresponds to a unique set of quantum gate(s) to apply to her own qubit, illustrated in the table below. For example, if Alice wants to send the message "01", she would apply the Pauli X gate.
- Alice sends her qubit to Bob through the quantum channel.
- Bob decodes Alice's two-bit message by first applying a CNOT gate using Alice's qubit as the control and his own qubit as the target, and then a Hadamard gate on Alice's qubit to restore the classical message.
| Message |
Alice's encoding |
State Bob receives (non-normalized) |
After 𝐶𝑋 gate (non-normalized) |
After 𝐻 gate |
| 00 |
𝐼 |
|00⟩ + |11⟩ |
|00⟩ + |10⟩ |
|00⟩ |
| 01 |
𝑋 |
|10⟩ + |01⟩ |
|11⟩ + |01⟩ |
|01⟩ |
| 10 |
𝑍 |
|00⟩ - |11⟩ |
|00⟩ - |10⟩ |
|10⟩ |
| 11 |
𝑍𝑋 |
|01⟩ - |10⟩ |
|01⟩ - |11⟩ |
|11⟩ |
Circuit Diagram
Circuit used to send the message "00". To send other messages, swap out the identity (𝐼) gate.
Join the Discussion
Comments (0)
No comments yet. Be the first to share your thoughts!