Metadata-Version: 2.3
Name: autdec
Version: 0.1.0
Summary: Automorphism Ensemble Decoder for Quantum Stabilizer Codes
License: MIT
Keywords: quantum computing,quantum error correction,quantum low-density parity check codes,decoding,LDPC
Author: Hasan Sayginel
Author-email: hasan.sayginel.17@ucl.ac.uk
Requires-Python: >=3.11,<4.0
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Dist: igraph (>=0.11.8,<0.12.0)
Requires-Dist: ldpc (==2.1.2)
Requires-Dist: matplotlib (>=3.10.1,<4.0.0)
Requires-Dist: numba (>=0.61.0,<0.62.0)
Requires-Dist: numpy (>=2.1.3,<3.0.0)
Requires-Dist: scipy (>=1.15.2,<2.0.0)
Requires-Dist: statsmodels (>=0.14.4,<0.15.0)
Requires-Dist: stim (>=1.14.0,<2.0.0)
Requires-Dist: sympy (>=1.13.3,<2.0.0)
Project-URL: Repository, https://github.com/hsayginel/autdec
Description-Content-Type: text/markdown

# AutDEC: Quantum Automorphism Ensemble Decoder 
Python package for implementation of the Quantum Automorphism Ensemble Decoder, "AutDEC".

AutDEC is designed for parallel ensemble decoding of quantum error-correcting codes with large automorphism groups. It works by creating an ensemble of automorphism guided BP, BP+OSD or BP+LSD decoders. For Bivariate Bicycle Codes under circuit-level noise, using only a BP-based ensemble, we approach and match BP+OSD0 performance without postprocessing. On the other hand, using a BP+OSD0-based ensemble, we achieve similar decoding performance to BP+OSD10. It is inspired by the work of M. Geiselhart et al for classical codes [1]. 


Note: AutDEC is currently a work in progress and a serial implementation is provided with parallelization in future plans.

## Installation
PyPI: `pip install autdec`

Source code: Download this repository and run `pip install .`

## Overview
Below we have an overview of the AutDEC online decoding phase:

<img src="autdec.png" width="600">

The effectiveness of BP is limited by the presence of short-cycles on the Tanner graph. Automorphisms allow AutDEC to bypass this problem as seen below: 

<img src="rm_15_aut_e_colouredcycles.png" width="600">

We provide functions for finding the graph automorphism group of arbitrary codes. 

## Results
In [Code Capacity](./code_capacity/) we provide a notebook and simulation results for [[15,1,3]] punctured Reed-Muller code in depolarising code capacity noise model. 

For [Bivariate Bicycle Codes](./bivariate_cycle_codes) we provide a notebook and simulation results under circuit-level noise simulations. Currently, simulations can take a long time for large codes because of the serial implementation. 

## Citation 

```
@misc{Sayginel_AutDEC_2025,
author = {Sayginel, Hasan and Koutsioumpas, Stergios},
license = {MIT},
month = mar,
title = {{AutDEC}},
url = {https://github.com/hsayginel/autdec},
version = {1.0.0},
year = {2025}
}
```

## References
[1] M. Geiselhart, A. Elkelesh, M. Ebada, S. Cammerer and S. t. Brink, "Automorphism Ensemble Decoding of Reed–Muller Codes", in IEEE Transactions on Communications, vol. 69, no. 10, pp. 6424-6438, Oct. 2021, doi: 10.1109/TCOMM.2021.3098798.

