/quantum-network

Final project for the Distributed Systems Course @ USI University

Primary LanguagePython

Quantum Network

This is an implementation of a Quantum Network in python using the NetSquid library. The topology of the network is a Star topology, this means that the center of the network is a Quantum Source that generates entangled Bell pairs. On the other hand, the points of the star are nodes with quantum memories.

One of the points of the network is a Quantum Repeater. This repeater is connected to a remote node which has a Quantum Source as well as a quantum memory. The repeater will receive one qubit from the source, one qubit from the remote node, and will perform Entanglement Swapping on those qubits.

A more detailed report on the project can be found here

Docker

Download

A pre-built docker image can be downloaded by running the following command:

docker pull ghcr.io/edoriggio/quantum-network:main

Alternatively, you can directly include the image in your Dockerfile by using the following line:

FROM ghcr.io/edoriggio/quantum-network:main

Build

To build the docker image, use the following line of code

docker build -t quantum_network --build-arg USERNAME=<username> --build-arg PASSWORD=<password> .

Where <username> and <password> are the credentials used for accessing NetSquid

Using as Python Interpreter

If you're using PyCharm, you can do the following:

  1. Click on the bottom right where the python interpreter name usually is;
  2. Add New Interpreter > On Docker...;
  3. Select your docker server;
    • if you don't have one click on the drawer, then Create new... > Docker for Mac > OK);
  4. Select pull;
  5. Write quantum_network in the textfield;
  6. Click on Next.