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.6. 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 Distributions
Built Distributions
Hashes for ldpc-0.1.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bc8854b2ea2273af244ac8ee7063e86f25b63266bd70f9ff050b436b5b33d45 |
|
MD5 | 2a3b825e96ff68997f7f01fa9394859b |
|
BLAKE2b-256 | 4b0c0241a95c91b3bbc07af460838015c25abd155a02ff9197e41a219a2293fc |
Hashes for ldpc-0.1.0-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74ef4901e63c2f13a2c17262f5b49e971b569c10017d4984faf8d6d58396f770 |
|
MD5 | 56dd4ff6e9094763d91b9e93349a00a1 |
|
BLAKE2b-256 | 495596947b28692ad1eb95cb24ebfcdf9b6a46d89b1e12b952d1bfe92511ad56 |
Hashes for ldpc-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b228c36daa365501791caea6d8c19ee7e4b0a4a5233b29b4321435ef653907da |
|
MD5 | 1721606cc31eb8d7d096a6fa94a4b29e |
|
BLAKE2b-256 | e6b96948d07289ef8a41edfa04566ea7f4b824e9f5e28a1c628b2e9f99b6df5c |
Hashes for ldpc-0.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28b5482e35734b723acb7301edd9ca922954182e8f2c2c8cc63cc42cba1baf9c |
|
MD5 | a7652b526a2041894b285dbfd3f2240a |
|
BLAKE2b-256 | d4d6c820c8debd7f0b87816aaa938991ed70a2d03cf91462980a508ed25e6d8e |
Hashes for ldpc-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36c53eeb246659a3ac490ec13da256a5e6987ee24219abcf0636ee6d9d84c21d |
|
MD5 | 4607d1bdd82d9e4b2891ba9e29cd339a |
|
BLAKE2b-256 | 5caf8eead189af900cafb2a45759e6f90452ed7e2a512a0671e3fc546d90f8a7 |
Hashes for ldpc-0.1.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a9e4f3804ed9e641b943892eafadde8b535d3a61ba499d264c1f2a9826c7c73 |
|
MD5 | c849329c1783d776807660a2f513623e |
|
BLAKE2b-256 | 32f509d188ff7931e6223cff775d49764eada593bb09d11d41f51b65dae02d00 |
Hashes for ldpc-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f4c1c819187cb46ed292319b46db66fab1a7dc8adde2ecef5f6e9f19d5c7eae |
|
MD5 | db92275307d76b06c1f1e1012aac31ae |
|
BLAKE2b-256 | dab42350473a5e867c304f168b1f15054c02bb9c3e0fc707f97aa721429cfb9e |
Hashes for ldpc-0.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60b33284af1f1b1e8768474598022256e77fd6d46188c241df93cedc01f8854a |
|
MD5 | 717f1cd0115033612aa489151ef49469 |
|
BLAKE2b-256 | c84e86260ae8b7e82468485b43a8edaac12fbd0c287a76a7b144bd54c2083c0e |
Hashes for ldpc-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a41b893a1c0d12f6ecb78c5ff4cf317a4c7c4d515eab1a9a6698fb045f8b1881 |
|
MD5 | c634930c7a18765f412e2b144b63202b |
|
BLAKE2b-256 | bd0f027f2e01837a66e1bcf3bc7884d27a3031e4184791b3f3670fcc59331938 |
Hashes for ldpc-0.1.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca50c3f52ee9d5bd235de7cda1e3758d120a8520619ff46fc493a3997eca8d29 |
|
MD5 | 267e6d19e90762d9e31f67501d5257dc |
|
BLAKE2b-256 | 5a5e2ce42e019d6e0540d460ae2a225ef430209dee74b0739fb025e7774cb305 |
Hashes for ldpc-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 633aa79e025e4fc07381217053ae22e2a8b003a9faa90d0340fc621c5d8280fb |
|
MD5 | 805f6759b502740ebf2c44b46b4de19b |
|
BLAKE2b-256 | c6d1062a89018dfbf23bfbbc56bb03f86fd319eb18b7915998ae1b1391de0694 |
Hashes for ldpc-0.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fc44e18ee4ed1c11f00797773d8118435e9552dd964aeb8cc1d3cf67b0a6093 |
|
MD5 | 4c28afb8bcac410d0a6825bf6b1a2ed3 |
|
BLAKE2b-256 | f510496ea949b8eea3fd37ea2c1f41c5d263786bc8a2330c6af0c077d9baa843 |
Hashes for ldpc-0.1.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc6039a1a77dfb429e310978a762db0a29b9b277c6c2390e44e2fb4c82b66745 |
|
MD5 | 64f0b493dafbae0d7ccbe78eac4ca257 |
|
BLAKE2b-256 | cd64c94fb2440b12d9fc54c27fb463a5acc3def6d2e760deb469accae78fcc9d |
Hashes for ldpc-0.1.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3c2905d3dd6e7cafdb4210ef240e102a8655a753f7b2b40f75cf67d4beff690 |
|
MD5 | a40b43002675237023d437837fd6c4ab |
|
BLAKE2b-256 | 1063275d4d0a0d321ee28fef31fd7a82a7c30b52aee93b9103772ec14b5c65aa |
Hashes for ldpc-0.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b0db31cf01a05c5df20ef3d17a85311c820cf6f6ce73621bcc724db75fd54fa8 |
|
MD5 | fb5b78e1ccd37cbbd58050907071f1f8 |
|
BLAKE2b-256 | b32aae66e0ca157a80ca4fcdb47b598ea4b1f91fcf4d19c476d367e1e921f06a |
Hashes for ldpc-0.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab6e0e6b7ee68cad391bb3e37c2897222cb6b902eb2599f8fa56b4f09e39edd2 |
|
MD5 | 7bb4cf50896cb595727193aeab4f11e7 |
|
BLAKE2b-256 | d3953bdb1f55c9062e17ad10e90046b19afbbf8e6172d688091bfd31845c765c |
Hashes for ldpc-0.1.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d5fd827103156d3818a77626f19c9102c71eda150fed974d8bffe8d4f23db4a |
|
MD5 | e9667c91bc97a1c31c05b235dd3f5b56 |
|
BLAKE2b-256 | ba0be870042412d231f2cfc0acda8ea1438b6fe75b5002263232bdbe4ddff5a9 |
Hashes for ldpc-0.1.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4444612bf966966296aa5938b36fa3fdd35c54fbec69fe1fd842b0c9be63e7b3 |
|
MD5 | 83cee07948bc6e0dd230d181405312a8 |
|
BLAKE2b-256 | 2bcb76a92a1b5f98f3b1a2edb379796ca00211e99fb087682357f16452689352 |
Hashes for ldpc-0.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21d1c3f14d1b08e1dcf4b97ed8ae5211ac5421493cb2ed39eff8728e7e370235 |
|
MD5 | d2a921044264d302578c7c05a51e89de |
|
BLAKE2b-256 | 3385df5c852f6313a3a6d489f14f8efa80c60f8ca3b87ecfbcb83c8a1ee46931 |
Hashes for ldpc-0.1.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecfe445ac8a1a8820178cd49a0850f4646921a26552802a57a59f9c6a262c2d7 |
|
MD5 | 4d516dcc1900e9b11ae69326831b66d0 |
|
BLAKE2b-256 | 9cabaa0aa84cd53a3e95857206ef90795f642b2df989519cdb11dd5c885dfbdb |
Hashes for ldpc-0.1.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4f96cd47ea575e7e9bd5881cb408ef805b87fc9e4f563039fdd64408e029ab9 |
|
MD5 | 34e8b9b4aabb608ab73e2335d927cbc8 |
|
BLAKE2b-256 | 94cf26ccdf7563cc9ccf1c571bfacddbb3c123f3652a64ea4e0ec265ce28b84e |