If you are impatient and just want to see the code, jump ahead to the Qiskit implementation or the QNE ADK implementation.
RIPE Labs Quantum Internet Hackathon 2022
On 1 and 2 December 2022 the Réseaux IP Européens (RIPE) Network Coordination Center (NCC) organized the Quantum Internet Hackathon (QIH) 2022. Teams from five European cities (Amsterdam, Dublin, Padua, Sarajevo and Poznan) as well as online teams worked on quantum networking related projects.
Team Q-Harmonics
Team Q-Harmonics was one of the online teams that participated in the 2022 Quantum Internet Hackathon. The members of the team were:
Name | GitHub | |
---|---|---|
Bruno Rijsman | GitHub | |
Tyler Cowan | GitHub | |
Sai Ganesh Manda | GitHub | |
Abdullah K | GitHub | |
B Akash Reddy | GitHub | |
Kiran Kaur | GitHub |
The Distributed Quantum Fourier Transformation
The project that we chose for the hackathon was to implement a distributed version of the quantum Fourier transformation that runs on a cluster of small quantum computers connected by an entanglement-based quantum network. We did three different implementations: one using Qiskit, one using QNE-ADK, and one using Pennylane.
The name of the team, Q-Harmonics (for Quantum Harmonics) was chosen because the Fourier transformation is also known as harmonic analysis.
This GitHub Repository
This GitHub repository https://github.com/brunorijsman/quantum-internet-hackathon-2022/ contains all code and documentation that team Q-Harmonics produced for the hackathon. Everything is open source (Apache 2.0 license).
The documentation in this GitHub repository is also published on GitHub pages: https://brunorijsman.github.io/quantum-internet-hackathon-2022/.
The Quantum Fourier Transformation (QFT)
The quantum Fourier transformation is an important building block in many quantum computing algorithms including factoring prime numbers using Shor’s algorithm and phase estimation.
There are numerous resources that describe the quantum Fourier transformation and its applications, including:
-
Several sections in the Qiskit textbook
-
Chapter 5 “The quantum Fourier transformation and its applications” in the book Quantum Computation and Quantum Information.
Distributed Quantum Computation (DQC)
We are currently in the Noisy Intermediate Scale Quantum era (NISQ).
The circuit size that can be supported by current quantum computer technology is limited by the number of qubit memories and by the resilience to noise due gate infidelity and memory decoherence.
Due to these limitations existing quantum computers are not yet able to execute quantum fourier transform based algorithms such as phase estimation and Shor’s algorithm for input sizes that have practical relevance. For example, quantum computers are not yet powerful enough to use Shor’s algorithm to break RSA encryption.
Academia and industry are pursuing several different approaches to overcome this challenge:
-
Improving the capabilities of hardware platforms in terms of more qubits, better gate fidelities, and longer memory coherence times.
-
The use of Quantum Error Correction (QEC) to recover from errors.
-
The use of distributed quantum computation to implement quantum algorithms on a collection of smaller quantum computers that are interconnected by a quantum network (as opposed to a large monolithic quantum computer).
In this project we explore the path of using distributed quantum computing by implementing a distributed version of the quantum Fourier transformation.
The following blogs and papers discuss distributed quantum computing:
-
Distributed Quantum Computing: A path to large scale quantum computing
-
D-NISQ: A reference model for Distributed Noisy Intermediate-Scale Quantum computers
The Distributed Quantum Fourier Transformation (DQFT)
The goal of this project is to implement a distributed version of the quantum Fourier transformation.
We want to compute the quantum Fourier transform on an N qubit input value.
We are going to distribute the quantum Fourier transform computation over M separate smaller quantum processors, where each quantum processor has N/M qubit memories plus a few extra qubit memories for communication with other quantum processors.
We will be using two approaches for implementing the distributed quantum Fourier transformation:
-
The fist approach is based on teleportation. Whenever we want to perform a two-qubit gate where one qubit is located on one quantum processor A and the other qubit is located on another quantum processor B, we first teleport one qubit from A to B, then perform the gate locally on processor B, and then teleport one qubit back from B to A.
-
The second approach is based on quantum cat states. This approach only works for controlled-unitary gates, which is the majority of two-qubit gates in the quantum Fourier transform. We first create a cat state to share the control qubit among two quantum processors, then we perform the controlled-unitary, and then we unshare the cat state.
Some existing resources that describe the distributed quantum Fourier transformation include:
Some of these papers discuss a distributed implementation of Shor’s algorithm. The quantum Fourier transformation is one of the steps in Shor’s algorithm (not the most difficult step).
We will be implementing our distributed quantum Fourier transformation on three different simulation platforms: Qiskit, QNE-ADK, and Pennylane (all are described in more detail below).
Qiskit Implementation
Qiskit is an open-source software development kit (SDK) for working with quantum computers at the level of pulses, circuits, and application modules.
One of the components in Qiskit is Aer, which provides high-performance quantum computing simulators with realistic noise models.
In this project we use the Qiskit SDK to develop three different implementations of the quantum Fourier transformation:
-
A monolithic (non-distributed) version of the quantum Fourier transformation. We use this as a reference to check whether the results of the distributed versions (see below) are correct.
-
A distributed version of the quantum Fourier transformation based on teleportation.
-
A distributed version of the quantum Fourier transformation based on cat states.
See the Qiskit implementation chapter for more details on our implementation of the distributed quantum Fourier transformation in Qiskit.
QNE-ADK implementation
The Quantum Network Explorer (QNE) is a platform provided by QuTech where you can gain online access to our quantum internet demonstrator and learn about its applications and capabilities.
The QNE Application Development Kit (QNE-ADK) allows users to develop quantum applications that run on the quantum network explorer.
In this project we port the three implementation of the Quantum fourier transformation (see above) from Qiskit to QNE-ADK.
See the QNE-ADK implementation chapter for more details on our implementation of the distributed quantum Fourier transformation in QNE-ADK.