Skip to main content

A modular Qldpc code circUIT Simulator

Project description

🚀 New Release Available! v0.4.0 - Canonical logical codewords of HGP code fixed - please check the release note if you have already been using QUITS. gf2_util.py and test functions added. Check out the latest release notes »

v0.3.0 - Logical codewords of HGP and BPC codes are now given in the "canonical" form. Check out the latest release notes »

v0.2.0 - base matrices of QLP codes can now be polynomial entries. Check out the latest release notes »

v0.1.0 – important bug is fixed, so please check the release note if you have already been using QUITS. Check out the release notes »

QUITS: A modular Qldpc code circUIT Simulator

QUITS is a modular and flexible circuit-level simulator for quantum low-density parity check (QLDPC) codes. Its design allows users to freely combine LDPC code constructions, syndrome extraction circuits, decoding algorithms, and noise models, enabling comprehensive and customizable studies of the performance of QLDPC codes under circuit-level noise. QUITS supports several leading QLDPC families, including

  • HyperGraph Product (HGP) codes
  • Quasi-cyclic Lifted Product (QLP) codes, and
  • Balanced Product Cyclic (BPC) codes.

Check out arXiv:2504.02673 for a detailed description of our package.

QUITS is best used together with the following libraries:

  • Stim (fast stabilizer circuit simulator)
  • LDPC (BP-OSD, BP-LSD decoders for QLDPC codes)

See doc/intro.ipynb to get started!

Since the release of QUITS, we acknowledge the feedback and suggestions from Ryan Tiew, Josias Old, and qodesign that helped improve the package. If you’re working on QLDPC codes, decoders, or noise modeling, it'd be great if you could try QUITS, file issues, or contribute features. Let’s build better tools for scalable, fault-tolerant quantum computing together ⚛️

License

This project is licensed under the MIT License.

Installation

To install this package from GitHub, use the following steps:

  1. Clone the repository:

    git clone https://github.com/mkangquantum/quits.git
    
  2. Navigate to the repository

  3. Run installation command

    pip install -e .
    

How to Cite Our Work

If you use our work in your research, please cite it using the following reference:

@article{Kang2025quitsmodularqldpc,
  doi = {10.22331/q-2025-12-05-1931},
  url = {https://doi.org/10.22331/q-2025-12-05-1931},
  title = {{QUITS}: {A} modular {Q}ldpc code circ{UIT} {S}imulator},
  author = {Kang, Mingyu and Lin, Yingjia and Yao, Hanwen and G{\"{o}}kduman, Mert and Meinking, Arianna and Brown, Kenneth R.},
  journal = {{Quantum}},
  issn = {2521-327X},
  publisher = {{Verein zur F{\"{o}}rderung des Open Access Publizierens in den Quantenwissenschaften}},
  volume = {9},
  pages = {1931},
  month = dec,
  year = {2025}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quits-0.4.0.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quits-0.4.0-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

Details for the file quits-0.4.0.tar.gz.

File metadata

  • Download URL: quits-0.4.0.tar.gz
  • Upload date:
  • Size: 26.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for quits-0.4.0.tar.gz
Algorithm Hash digest
SHA256 833210dc81519ea8410496c1bf6beccc0e8e7d85565a8f1f1642855299ba58bc
MD5 98f0250c52b2d2bbe0ccb8d28c730923
BLAKE2b-256 97479baec70d4763894326ceefe406346ca6f56de5c61f4fd41479348566e523

See more details on using hashes here.

File details

Details for the file quits-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: quits-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 28.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for quits-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 56fe01c60e8f74e2deef93ce02e49578c47d4bb4c4403408b2100403e054fd93
MD5 7a6238ace233512b5ffcd5a7eebe4ffd
BLAKE2b-256 a66f43b72e789d99c2e66c881cf60a542aa921a5661c82e5f53e15b81e0b2551

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page