A simulation framework for quantum repeaters
Project description
ReQuSim
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
Preprint: arXiv:2110.15806 [quant-ph] Code archive: jwallnoefer/multisat_qrepeater_sim_archive
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file requsim-0.3.tar.gz
.
File metadata
- Download URL: requsim-0.3.tar.gz
- Upload date:
- Size: 62.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1468962c57a1d077b5c5c8235e5e6d87ad1dfd032778a41a93a105cb5e92f1b |
|
MD5 | fdf94698fc4d8321577a1600d0dffdce |
|
BLAKE2b-256 | 581895632a93a886d0ea4d9ec5c8860b08e6123d35eff825c27542853354e747 |
File details
Details for the file requsim-0.3-py3-none-any.whl
.
File metadata
- Download URL: requsim-0.3-py3-none-any.whl
- Upload date:
- Size: 30.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83581ae5f47c9c71c0f3a2ec3b257a39d3aaead4ee8d087d6dccbcaba27abdaa |
|
MD5 | 7bf3c430e37c3f963c80ab2893c84340 |
|
BLAKE2b-256 | 6f7ec13716ad7e3b1894850a933dead613785c9a7ce07ea924c5822e16f5868a |