Skip to main content

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

Release files for requsim 0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for requsim 0.4
File Size Uploaded
requsim-0.4.tar.gz 63.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for requsim 0.4
File Interpreter ABI Platform
requsim-0.4-py3-none-any.whl Python 3 none any Details

Total release size: 94.8 kB

Release files / requsim-0.4.tar.gz

Download URL requsim-0.4.tar.gz
Size 63.5 kB
Tags Source
SHA-256 checksum
How to use checksums
fd0850fb771a013c9d13a6ed49949139caedf0021a1e06b7edde7be0c494a146
BLAKE2b-256 checksum
How to use checksums
88ec23022f57d0b764f6323e4e4937785a22c0124f8de5aeb894057315fa6065
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release files / requsim-0.4-py3-none-any.whl

Download URL requsim-0.4-py3-none-any.whl
Size 31.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
72092037afcc3494a13397ee0e51f5088058e68c5e5ae0ded8d7a7733ef5458b
BLAKE2b-256 checksum
How to use checksums
b8ac2cb4669fcc85634e0cb13289d0a62bef94e2daa959a0a93e635ef9eab9e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.9.15

Release history Release notifications | RSS feed

This release

0.4 This release

2 release files

0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page