qLDPC
This package contains tools for constructing and analyzing quantum low density partity check (qLDPC) codes.
📦 Installation
This package requires Python>=3.10, and can be installed from PyPI with
pip install qldpc
To install a local version from source:
git clone git@github.com:Infleqtion/qLDPC.git
pip install -e qLDPC
You can also pip install -e 'qLDPC[dev]' to additionally install some development tools.
🚀 Features
Notable features include:
abstract.py: module for basic abstract algebra (groups, algebras, and representations thereof).ClassicalCode: class for representing classical linear error-correcting codes.CSSCode: general class for constructing quantum CSS codes out of twoClassicalCodes.- Includes options for applying local Pauli transformations (i.e., Pauli deformations of the code), which is useful for tailoring a
CSSCodeto biased noise (see arXiv:2202.01702). CSSCode.get_logical_ops: method (from arXiv:0903.5256) to construct a basis of nontrivial logical operators for aCSSCode.CSSCode.get_distance: method to compute the code distance (i.e., the minimum weight of a nontrivial logical operator). Includes options for computing a lower bound (determined by the distances of the underlyingClassicalCodes), an upper bound (with the method of arXiv:2308.07915), and the exact code distance (with an integer linear program, which has exponential complexity).
- Includes options for applying local Pauli transformations (i.e., Pauli deformations of the code), which is useful for tailoring a
GBCode: class for constructing generalized bicycle codes, as described in arXiv:1904.02703.QCCode: class for constructing the quasi-cyclic codes in arXiv:2308.07915.HGPCode: class for constructing hypergraph product codes out of twoClassicalCodes. Follows the conventions of arXiv:2202.01702.LPCode: class for constructing lifted product codes out of two protographs (i.e., matrices whose entries are elements of a group algebra). See arXiv:2012.04068 and arXiv:2202.01702.QTCode: class for constructing quantum Tanner codes out of (a) two symmetric subsetsAandBof a groupG, and (b) twoClassicalCodes with block lengths|A|and|B|. See arXiv:2202.13641 and arXiv:2206.07571.
🤔 Questions and issues
If this project gains interest and traction, I'll add a documentation webpage and material to help users get started quickly. I am also planning to write a paper that presents and explains this project. In the meantime, you can explore the documentation and explanations in the source code. qldpc/codes_test.py contains some examples of using the classes and methods described above.
In the meantime, if you have any questions or requests, please open an issue!
⚓ Attribution
If you use this software in your work, please cite with:
@misc{perlin2023qldpc,
author = {Perlin, Michael A.},
title = {{qLDPC}},
year = {2023},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/Infleqtion/qLDPC}},
}
This may require adding \usepackage{url} to your LaTeX file header. Alternatively, you can cite
Michael A. Perlin. qLDPC. https://github.com/Infleqtion/qLDPC, 2023.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qldpc-0.0.6.tar.gz.
File metadata
- Download URL: qldpc-0.0.6.tar.gz
- Upload date:
- Size: 37.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
poetry/1.7.1 CPython/3.10.13 Linux/6.5.9-zen2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c75c883fc9154eb5c0b8c840aec3e75b4313df99b43049bc5c2be3c55f55506
|
|
| MD5 |
8ccab992d7e2e1e76de7a56566a32583
|
|
| BLAKE2b-256 |
1224ace4ba1f1966871f9301a241ab704e32bf923aea0b4aeafa4a553c856f0a
|
File details
Details for the file qldpc-0.0.6-py3-none-any.whl.
File metadata
- Download URL: qldpc-0.0.6-py3-none-any.whl
- Upload date:
- Size: 41.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
poetry/1.7.1 CPython/3.10.13 Linux/6.5.9-zen2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fbf2a987c1e1e54075592afd2a16886f090c06bbc32a80b28c5326580e699f64
|
|
| MD5 |
c844f53d26580c16bd623b77f6ba03de
|
|
| BLAKE2b-256 |
cb772294bbfb35f10a83a5eb1baf5b3b5fc2d3358cde9e469db072f7a47efe52
|