Python tools for low density parity check (LDPC) codes
Project description
LDPC
This module provides a suite of tools for building and benmarking low density parity check (LDPC) codes. Features include functions for mod2 (binary) arithmatic and a fast implementation of the belief propagation decoder.
Documentation
The full documentation can be found here.
Installation from PyPi (recommended method)
Installtion from PyPi requires Python>=3.8. To install via pip, run:
pip install -U ldpc
Installation (from source)
Installation from source requires Python>=3.6 and a local C compiler (eg. 'gcc' in Linux or 'clang' in Windows). The LDPC package can then be installed by running:
git clone https://github.com/quantumgizmos/ldpc.git
cd ldpc
pip install -e ldpc
Dependencies
This package makes use of the mod2sparse
data structure from Radford Neal's Software for Low Density Parity Check Codes C package.
Attribution
If you use this software in your research please cite as follows:
@software{Roffe_LDPC_Python_tools_2022,
author = {Roffe, Joschka},
title = {{LDPC: Python tools for low density parity check codes}},
url = {https://pypi.org/project/ldpc/},
year = {2022}
}
If you have used the BP+OSD class for quantum error correction, please also cite the following paper:
@article{roffe_decoding_2020,
title={Decoding across the quantum low-density parity-check code landscape},
volume={2},
ISSN={2643-1564},
url={http://dx.doi.org/10.1103/PhysRevResearch.2.043423},
DOI={10.1103/physrevresearch.2.043423},
number={4},
journal={Physical Review Research},
publisher={American Physical Society (APS)},
author={Roffe, Joschka and White, David R. and Burton, Simon and Campbell, Earl},
year={2020},
month={Dec}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for ldpc-0.1.50-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad975f4ef88869dcdfb9dea1b1548c4df7cd69518173d9e7051c7d3852aff42c |
|
MD5 | bfb91ce9597a65db884a0dc7992ad0c0 |
|
BLAKE2b-256 | ee0d3ee1fd45273e166489dfb57234d9b0dcb75221280001a2dcf5f134440871 |
Hashes for ldpc-0.1.50-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4642ec18a2251b5cb947ae2f3bbb9676eae51aaa5277b102b3fef3a30a3fdd8b |
|
MD5 | 5124de11f62328592155d5a47413e28e |
|
BLAKE2b-256 | 614ee578d24fcca5bef80b9f5a83dbf7a3d70e082964df255e8c103d6b46eca3 |
Hashes for ldpc-0.1.50-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79492b449916f70398cc63d27163d6752b2cc852afef85bbe4efa0b2f4848ace |
|
MD5 | 969cf32ac2e123b9bc994e88373d473b |
|
BLAKE2b-256 | 4652825a6f9ede389426694199fbed26efa4e11acf88f065507aedc4dab833cc |
Hashes for ldpc-0.1.50-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cab4d38e2d101c32197334002b7bbdaa4d5b396f1abf603fe4f61a905e1b99ad |
|
MD5 | 3b2f34727300c1c249842d466488a961 |
|
BLAKE2b-256 | 2a03c5cc646148105d66c143f267db64f574fdd79405134233699bf02f1dcd85 |
Hashes for ldpc-0.1.50-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b870ffa9c3ff56011dc70d6c7f85ebcde341f34d7566a75790a04dd065a3f21b |
|
MD5 | 113590606086bd4441878682279cddf8 |
|
BLAKE2b-256 | 4078afe567fe449571ad67e200ca64d76781775772fcd5a2535e1eb4831f6df6 |
Hashes for ldpc-0.1.50-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1876d507b686e68310b4c32d02047ec704c1d581c54447d5187e608de92be67e |
|
MD5 | 1d3bda153e53398e29b8d042bd7fa2dc |
|
BLAKE2b-256 | c17e0b8e015ebe2e945eae7c8ee608ebac92dfe87c7384beafbe1371ccd194b7 |
Hashes for ldpc-0.1.50-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07a1c3e2943aba381d681ef59834a77810a4a99b81484d836dad8fea4454090b |
|
MD5 | c2a1d3acf72c4b67c33306cd1648bfb0 |
|
BLAKE2b-256 | 7526349d221881e3374c4c21a9c18bb80ce875af2255d2cba89e8b9bad8cfedf |
Hashes for ldpc-0.1.50-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8d359e19705c31055133ac508c45606bedc8e1f4679a15df45b7953322a629c |
|
MD5 | 9d230bc0dbe5bc80cfd940f1ab91b995 |
|
BLAKE2b-256 | a96c73876cf9a8c59a5f480c0f77e5cafd7812765073f5aefd658a7c52adeabd |
Hashes for ldpc-0.1.50-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83fb6aa05f0c92523a9f68a3c47dae1819e26f05564d0c4fb44318259acb2790 |
|
MD5 | 0edee2eb73d4540b5637f3b36f2d890b |
|
BLAKE2b-256 | 46f62cf49186614a03a40299eefb9dec61351b519b895a5c5df7b494b26484ec |
Hashes for ldpc-0.1.50-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a4586723b5f04b16fbe27482ec21a43a36e90874019e6180f892b1825a87c50 |
|
MD5 | 0443ed994e8263564b0888e4ecd5246e |
|
BLAKE2b-256 | 541debce107cff386020050528a31a0fcce2ecf2c3722859f979a64ada629419 |
Hashes for ldpc-0.1.50-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 94ee1cc1d3435fc2fc185a1847a6b130c408e4466dc5fb2d2b9ad9a005e9c609 |
|
MD5 | d38f1e92ada2f6993da63daf07204d38 |
|
BLAKE2b-256 | 08601fb3d313a6488100a5c513a319a1e9179d95b54e854a0b918db987ef3307 |
Hashes for ldpc-0.1.50-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a6142984fc40d86f4aad96138514da37eed15f7143e9d78e9f068d3ee7e7575 |
|
MD5 | f527b8db6f808cfcbfb10fcf64853af8 |
|
BLAKE2b-256 | cdc6f372ae9ac924f2287c5c5eaf4dcba045b5051c242db9a194bef4fb303444 |
Hashes for ldpc-0.1.50-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5e219e0f1b79f91aca60bd90abae52412e9b2cf996bee464b794922ff9d39fe |
|
MD5 | 2dfdcd204dea0343b997cb8183055a32 |
|
BLAKE2b-256 | b1e52e7065c201382aae93e758e5f45253506f650e1563cded8fc2aa1399e03c |
Hashes for ldpc-0.1.50-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c24c526fd9434d29a4d7c9a89280a255c43f2a494a2036bfa2933a42647ca22b |
|
MD5 | 5406902f711ae62ccc27614c5476a7e3 |
|
BLAKE2b-256 | bb5ea71c3d8dd027189da94a2072bda1f7e47897f7037d097ba7296d23325586 |
Hashes for ldpc-0.1.50-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1afa942048a3305a31c119e6c41a89d07a4c1e5f8c68fbcab39ef3dfcce92dc5 |
|
MD5 | 93310eba0ba326b499c0718a170a3627 |
|
BLAKE2b-256 | c93875e093e789fd11503448df5b0351eec32482de5c11917bd25a8fa4b96e45 |
Hashes for ldpc-0.1.50-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12e2250650c77ea41a550129305a42b968baff94868945fb9d71d89b23853091 |
|
MD5 | 673b5ca649af738cb2ecd89d2dfe3121 |
|
BLAKE2b-256 | 9ae87297fc9ce6bb27a58a58d6b6fab13b0c44de8803ddc5bc18a237467dfcd7 |
Hashes for ldpc-0.1.50-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03eeef257b5934c5b64afab05c03b1022792a4e948a2bd62f0fcfcc0b586449b |
|
MD5 | 9c8f5064cf5961c2c2b705c0d283cf3f |
|
BLAKE2b-256 | f66e2c929b0b9086a5df83b2312c08b203b195d821cce587db7d46f9b73a7445 |
Hashes for ldpc-0.1.50-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bc0412ab98ef7f0db60dbda906537190cb2db31e84b38c65e92cc4bf66f5480 |
|
MD5 | 6d6b23aeff585462a1c147768657f4cc |
|
BLAKE2b-256 | 029091d5c2a7cfef6e9e4c1add187d67066cd2e8e57dcd4e45f24aaa523a6ed9 |
Hashes for ldpc-0.1.50-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f70eeb1d26655457a67837793acce7d4c169e8bbe48f34b8b68e480de7dfda4 |
|
MD5 | a489531a17809293dcbdb0f746c8f79e |
|
BLAKE2b-256 | 5b836a9dc30b040dcb7eb81a1e54aa69e4da9c16349f175f56cbfd0fde4c3292 |
Hashes for ldpc-0.1.50-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02f5cedde502621276788f2892fb55073ad024419295134159518a8375e1795e |
|
MD5 | 55943bfde32d7c449e48541f2a733c43 |
|
BLAKE2b-256 | d9fe3382f35c4f03389871b359ef42fd14d79d75f6cc673c81952551beb2bdf1 |
Hashes for ldpc-0.1.50-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 484590b13bb4ee7cca8bab899b104aebeff8633e39f848517f83c8e6e7320aab |
|
MD5 | 87c27f3ce8b912848e5593fb03fad1ad |
|
BLAKE2b-256 | f2cec09c606b1b57895adcffa58bbd55b7120015fbb529059d6f3ac4b83abcf2 |
Hashes for ldpc-0.1.50-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cc8aff2c51211478e38ca2f3c0f04f124f55d39c152d086099e851356a53f9b |
|
MD5 | 350dd270bebc361149099ebe65a89f7d |
|
BLAKE2b-256 | 88bcba1dafd03ba3fdeb19aa6aa29dc3089052667fcc7572cd2353031f073058 |