Skip to main content

A simulation framework for quantum repeaters

Project description

ReQuSim

PyPI Docs Tests, Artifacts and Release

ReQuSim is a simulation platform for quantum repeaters. It allows to evaluate quantum repeater strategies for long-distance quantum key distribution and entanglement distribution protocols, while taking into account arbitrary error models.

Installation

You can install ReQuSim into your python environment from the Python Package Index:

pip install requsim

As with all python packages this can possibly overwrite already installed package versions in your environment with its dependencies, which is why installing it in a dedicated virtual environment may be preferable.

Documentation

The Documentation is hosted on readthedocs and includes some example setups of how to use ReQuSim to simulate basic key distribution protocols.

Documentation: https://requsim.readthedocs.io

Scope

The aim of ReQuSim is to model quantum repeater protocols accurately and gain insight where analytical results are hard to obtain.

The level of abstraction is chosen such that one can consider very general error models (basically anything that can be described as a quantum channel), but not modeling down to the actual physical level.

The abstractions used in ReQuSim lend themselves to describing protocols as high-level strategies (e.g. if two pairs are present, perform entanglement swapping), but in principle any strategy can be used to schedule arbitrary events in the event system.

Classical communication plays an important role in quantum repeater protocols, and cannot be ignored. Especially, because the timing of when quantum operations need to be performed for a protocol is the central thing the simulation wants to capture. ReQuSim allows to take into account the timing information from classical communication steps, but does not model them down to the level of individual messages being passed.

In summary, ReQuSim can be used for:

  • Modelling a variety of setups for quantum repeaters, like fiber based and free-space based repeater, through flexible loss and noise models.
  • Obtaining numerical key rates for repeater protocols that are challenging to evaluate analytically.
  • Testing the effect of strategies for repeater protocols at a high level, e.g.
    • Should one discard qubits that sit in storage for too long?
    • Does adding an additional repeater station help for a particular setup?
  • Evaluating the effect of parameters on the overall performance of a repeater setup. (e.g. if the error model is based on experimental data, this could assist in determining whether improving some experimental parameter is worthwhile.)

but it is not intended to:

  • Develop code that directly interacts with future quantum hardware.
  • In detail, model effects at the physical layer and some aspects of link layer protocols. (However,they can be incorporated indirectly via quantum channels and probability distributions.)
  • Simulate huge networks with 1000s of parties.

Support for elementary building blocks other than Bell pairs is considered for future versions (e.g. distribution of GHZ states via a multipartite repeater architecture).

Other quantum network simulators

ReQuSim has a different scope and aim from some other simulation packages for quantum networks (list obviously not exhaustive):

  • NetSquid: Includes performance of physical and link layer in greater detail. Supports multiple ways to store quantum states (e.g. pure states, mixed states, stabilizers).
  • QuISP: Tracks errors instead of full states. While lower level operations are supported, the focus is on networking aspects.
  • QuNetSim: Supports multiple backends for simulating quantum objects, which can support lower level operations. QuNetSim itself focuses on the networking aspects.

ReQuSim's level of abstraction works very well for exploring and comparing strategies for quantum repeaters. While it aims to be flexible and extendable, another set of abstractions might work better for other questions.

Publications and related projects

An earlier (unreleased) version of requsim was used for this publication:

Simulating quantum repeater strategies for multiple satellites
J. Wallnöfer, F. Hahn, M. Gündoğan, J. S. Sidhu, F. Krüger, N. Walk, J. Eisert, J. Wolters
Commun Phys 5, 169 (2022); DOI: 10.1038/s42005-022-00945-9
Preprint: arXiv:2110.15806 [quant-ph]; Code archive: jwallnoefer/multisat_qrepeater_sim_archive

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

requsim-0.4.tar.gz (63.5 kB view details)

Uploaded Source

Built Distribution

requsim-0.4-py3-none-any.whl (31.3 kB view details)

Uploaded Python 3

File details

Details for the file requsim-0.4.tar.gz.

File metadata

  • Download URL: requsim-0.4.tar.gz
  • Upload date:
  • Size: 63.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for requsim-0.4.tar.gz
Algorithm Hash digest
SHA256 fd0850fb771a013c9d13a6ed49949139caedf0021a1e06b7edde7be0c494a146
MD5 af51648ecd802efab260f3afed0bcbca
BLAKE2b-256 88ec23022f57d0b764f6323e4e4937785a22c0124f8de5aeb894057315fa6065

See more details on using hashes here.

File details

Details for the file requsim-0.4-py3-none-any.whl.

File metadata

  • Download URL: requsim-0.4-py3-none-any.whl
  • Upload date:
  • Size: 31.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for requsim-0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 72092037afcc3494a13397ee0e51f5088058e68c5e5ae0ded8d7a7733ef5458b
MD5 02e642b0b1912a3ff80912d3c14276a6
BLAKE2b-256 b8ac2cb4669fcc85634e0cb13289d0a62bef94e2daa959a0a93e635ef9eab9e5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page