QNPack is a simulation toolkit for modeling and analyzing both 1G (memory-based) and All-Photonic quantum repeater architectures.
It enables rapid prototyping and experimentation using NetSquid-based simulations, supporting advanced concepts such as entanglement swapping, purification, and error correction.
- Performs end-to-end entanglement and quantum error correction using photonic graph states
- Efficient and deterministic graph state generation using solid-state quantum emitters
- Utilizes Time-Division Multiple Access (TDMA) for state generation, transmission, and reception
- Implements loss-tolerant, measurement-based quantum error correction
- Traditional memory-based repeater model with ion-trap qubits
- High-rate, high-fidelity ion-photon entanglement generation
- Supports core repeater functions:
- Entanglement Generation
- Entanglement Swapping
- Entanglement Purification
- Photon-mediated entanglement links between nodes
Provided as Jupyter Notebooks:
- First 1G Simulation: Introductory simulation.
- Parameters for 1G: Guide to selecting network parameters.
- Scaling 1G Simulation: Demonstrates scaling to more repeater nodes.
Terminal Execution:
python qnpack/oneG/iontrap.pyParameters can be modified via the
parameters.ymlfile.
Provided as Jupyter Notebooks:
- First APE Simulation: Introductory simulation.
- Parameters for APE: Guide to choosing simulation parameters.
- Scaling APE Simulation: Demonstrates scaling the network with additional repeater nodes.
QNPack is pre-installed inside the JupyterHub container image.
If you're using JupyterHub, you can run the example notebooks without any setup.
-
Install NetSquid and Dependencies
Register at http://netsquid.org and install the following packages:pip3 install --extra-index-url https://pypi.netsquid.org netsquid netsquid-trappedions netsquid-netconf
-
Install QNPack
From inside the QNPack source directory:pip3 install -r requirements.txt pip install -e .