Skip to main content

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 over finite fields.
  • QuditCode: general class for constructing Galois-qudit codes.
  • CSSCode: general class for constructing quantum CSS codes out of two mutually compatible ClassicalCodes.
    • CSSCode.get_logical_ops: method to construct a complete basis of nontrivial logical operators for a CSSCode.
    • CSSCode.get_distance: method to compute the code distance (i.e., the minimum weight of a nontrivial logical operator) of a CSSCode. Includes options for computing a lower bound (determined by the distances of the underlying ClassicalCodes), an upper bound (with the method of arXiv:2308.07915), and the exact code distance (with an integer linear program).
    • Includes options for applying local Hadamard transforms, which is useful for tailoring a CSSCode to biased noise (see arXiv:2202.01702). Options to apply more general Clifford code deformations are pending.
  • 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 two ClassicalCodes.
  • 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 subsets A and B of a group G, and (b) two ClassicalCodes 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.

If you have any questions, feedback, or requests, please open an issue on GitHub or email me at michael.perlin@infleqtion.com!

⚓ 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

qldpc-0.0.7.tar.gz (42.3 kB view details)

Uploaded Source

Built Distribution

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

qldpc-0.0.7-py3-none-any.whl (45.4 kB view details)

Uploaded Python 3

File details

Details for the file qldpc-0.0.7.tar.gz.

File metadata

  • Download URL: qldpc-0.0.7.tar.gz
  • Upload date:
  • Size: 42.3 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

Hashes for qldpc-0.0.7.tar.gz
Algorithm Hash digest
SHA256 d4ec6a502edae3856022b606572cc3ecfc7b4c24fc4435e9c03f5bce53afc042
MD5 fbcbc60bc0becac4a13ef4db41d9921b
BLAKE2b-256 682e3be25f13bac7a363e6e3ceeaefef6dc0415cf9302a347c6ba249c4e7d003

See more details on using hashes here.

File details

Details for the file qldpc-0.0.7-py3-none-any.whl.

File metadata

  • Download URL: qldpc-0.0.7-py3-none-any.whl
  • Upload date:
  • Size: 45.4 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

Hashes for qldpc-0.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 8c3417059b2372854d137b8c0cdddea0ddf2526d0310df9edb755d15bacbed4c
MD5 0c9c098b45f8308c5ef8c03b019c40ee
BLAKE2b-256 e9c46c8e08917702aa512c2e61647d21c7205267da090b1838a08169d7d6b27b

See more details on using hashes here.

Release history Release notifications | RSS feed

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.9

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.1

2 files

0.2.0

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.29

2 files

0.0.28

2 files

0.0.27

2 files

0.0.26

2 files

0.0.25

2 files

0.0.24

2 files

0.0.23

2 files

0.0.22

2 files

0.0.21

2 files

0.0.20

2 files

0.0.19

2 files

0.0.18

2 files

0.0.17

2 files

0.0.16

2 files

0.0.15

2 files

0.0.14

2 files

0.0.13

2 files

0.0.12

2 files

0.0.11

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

This release

0.0.7 This release

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page