Skip to main content

qLDPC (PREVIEW)

This repository 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 -U qldpc

To install from source:

git clone ...
cd qLDPC
pip install -e .

Features

Notable features include:

  • abstract.py: module for basic abstract algebra (groups, algebras, and representations thereof).
  • BitCode: class for representing {classical, linear, binary} error-correcting codes.
  • CSSCode: general class for constructing quantum CSS codes out of two classical BitCodes.
    • Includes options for applying local Pauli transformations (i.e., Pauli deformations of the code), which is useful for tailoring a CSSCode to biased noise (see arXiv:2202.01702).
    • CSSCode.get_logical_ops: method (from arXiv:0903.5256) to construct a basis of nontrivial logical operators for a CSSCode.
    • CSSCode.get_distance: method to compute the code distance (i.e., the smallest weight of a nontrivial logical operator). Includes options for computing a lower bound (determined by the distances of the underlying BitCodes), an upper bound (see arXiv:2308.07915), and the exact code distance (with an integer linear program).
  • HGPCode: class for constructing hypergraph product codes out of two classical BitCodes. 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.
  • QuasiCyclicCode: class for constructing the quasi-cyclic codes in arXiv:2308.07915.
  • QTCode: class for constructing quantum Tanner codes out of (a) two symmetric subsets A and B of a group G, and (b) two classical BitCodes with block lengths |A| and |B|. See arXiv:2202.13641 and arXiv:2206.07571.

Questions and issues

If this project gains interest and traction, we'll add a documentation webpage to help users get started quickly. In the meantime, you can explore the extensive documentation and explanations available in the source code. qldpc/codes_test.py in particular contains examples of using the classes and methods described above.

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 = {q{LDPC}},
  year = {2023},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/...}},
}

This may require adding \usepackage{url} to your LaTeX source file. Alternatively, you can cite

Michael A. Perlin. qLDPC. https://github.com/..., 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.1.tar.gz (7.9 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.1-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: qldpc-0.0.1.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.12 Linux/6.3.1-zen1

File hashes

Hashes for qldpc-0.0.1.tar.gz
Algorithm Hash digest
SHA256 64f2e8447b056a9200c8852cf7450396601ec9bbba5aa9f59df72d5f6df5ff70
MD5 eb146a3e4b8860bd943b1fe08e64e62e
BLAKE2b-256 e3a0a0f1fba98124b51c1a8c5fd23c5dfbf994332ec70e2e23487d1ed4c57c97

See more details on using hashes here.

File details

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

File metadata

  • Download URL: qldpc-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.12 Linux/6.3.1-zen1

File hashes

Hashes for qldpc-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5e7ead4140e8820be2c66ea576b13582d72f67b33e8fd55c37aeab6687b6d95b
MD5 96b86dcdbec90c6f2999857877d94c78
BLAKE2b-256 1440947f2b828644116bcf6cdf086faa5e675b76283a85fa1ec36969b3d028a0

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

0.0.7

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

This release

0.0.1 This release

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