Analog Information Decoding¶
This submodule provides means to conduct decoding simulations for quantum CSS
codes with analog syndrome information as proposed in the corresponding paper
[4]. Proper integration and setup is a work in
progress. The main functionality is provided in the simulators module,
which contains the main classes that can be used to conduct several types of
simulations:
ATD_Simulator: Analog Tanner graph decoding,Single-Shot Simulator: Analog Single-Shot decoding with meta checks.QSS_Simulator: Quasi-Single-Shot decoding, and
Moreover, memory_experiment contains methods for analog overlapping
window decoding, in particular the decode_multiround method.
Results¶
The results directory contains the results used in the paper
[4].
Codes¶
The parity-check matrices of the codes used in the paper
[4] can be found in the directory
src/mqt/qecc/codes/instances/lifted_product. Three dimensional toric
codes can either be constructed with the hypergraph product construction or with
a library, e.g., panqec [5].
Code construction¶
The code_construction directory contains the code used to construct
higher-dimensional hypergraph product codes, utilizing the generator
src/mqt/qecc/codes/constructions/hypergraph_product_code.py, and used
the compute_distances.sh script to automatically compute bounds on the
distances of the constructed codes using the GAP library QDistRnd
[6].
Utils¶
Here we present an overview of the functionality of the utils package.
Plotting¶
The plotting directory contains the code used to plot the results in the
paper [4].
Data Utils¶
We have implemented several utility functions as part of this package that might
be of independent interest for decoding simulations and data analysis. These are
provided in the data_utils module.
Simulation Utils¶
This module contains functionality needed throughout different simulation types.
Dependencies¶
The used BP+OSD implementation, as well as our implementation of the soft-syndrome minimum-sum decoder are provided in the ldpc2 package a preliminary beta version of which is available on github [7].