Home

Awesome

All checks

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

<img src="docs/figures/quantum-internet-hackathon-2022-logo.png" width="300"/>

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:

NameLinkedInGitHub
Bruno RijsmanLinkedInGitHub
Tyler CowanLinkedInGitHub
Sai Ganesh MandaLinkedInGitHub
Abdullah KGitHub
B Akash ReddyLinkedInGitHub
Kiran KaurLinkedInGitHub

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:

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:

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:

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:

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:

  1. 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.

  2. A distributed version of the quantum Fourier transformation based on teleportation.

  3. 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.