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.51-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18aabbe46dc7ff57fdacf800773b368f9fe4f3c06136a5a8ef47f6a65e32e947 |
|
MD5 | c1b5465ba7e284bf8c0b00c70f9de36e |
|
BLAKE2b-256 | 1636e671a8091809f384257bf5a771589288aa9ed2bbb5be690507626707eac8 |
Hashes for ldpc-0.1.51-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b61271bc395e9c90e1db6ecc672d2b3de635a35c8eebf0e194afc3f7bae5f3e9 |
|
MD5 | 167ad59478edf3b75681fe88b36bf459 |
|
BLAKE2b-256 | 2647fd71628775d51eff87a09b955eb3807c72e9b2a89ffcefd91de14274be7e |
Hashes for ldpc-0.1.51-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd6b82a1ea9cc62d972734b3a98f7142df4516485efb62fcf9f0613bc9eec277 |
|
MD5 | d51d342603208249617c0e83ecd039b1 |
|
BLAKE2b-256 | 3c6d31ebc007f599a5ceba6c009032c4b987b2bcfe01cc12d209513cea6160ed |
Hashes for ldpc-0.1.51-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee59b48844386323fbb73dbbe0f995334e24714803b39abcce84f34975070456 |
|
MD5 | d26fd72542a18c0c54d597216d5740f4 |
|
BLAKE2b-256 | aea56e4ecf37c8d598107461021de506f0d9a8abe02a62299847684ed0641c8e |
Hashes for ldpc-0.1.51-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a14b100d30714061e2fd5c6c27f66a4853b1893775b286dbfafbfa7d44811fe |
|
MD5 | 12f296635f0ee2dcbe1fe82688a094d4 |
|
BLAKE2b-256 | 4a59c6611c4ca62a1533fe62890901c6ae4ed5b6273d575a37fd5ead606fc5dd |
Hashes for ldpc-0.1.51-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a496af25d9bb00a50c4397cf1ade70760a154ac85e95d389b8ff906eaf19c682 |
|
MD5 | 080b966f272dc98b956ed1588845f760 |
|
BLAKE2b-256 | ab927a92259554a0aa3575663799e5cae8770b2b41cef8ca49e9bdca6deee9a3 |
Hashes for ldpc-0.1.51-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d56f55babb22c8d52c1f617e4699a519bcadbb1b38b7c71e890713d53d88816b |
|
MD5 | f892264f31c18ee01a8c56d0a6d54c49 |
|
BLAKE2b-256 | 58e42830544114532374b5507ce82042d93fa228d7331f347baa84cafba9bcbe |
Hashes for ldpc-0.1.51-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86c2d4ac33abe27194b35eeb5e990dcf427c4c6b5f5db3c48fa0513fcbe13d96 |
|
MD5 | 349ab11e4d3fe1ff4026f751ce43d9c5 |
|
BLAKE2b-256 | 13c25da418318d00be10539baf1932b2c99abf153d1076f1242f3a99712b619f |
Hashes for ldpc-0.1.51-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cac4e1047dd2e09fbfb376f2bccd66c0a0b03748afdea0a0cd6268b85882de17 |
|
MD5 | 42f4f0643e0548b9996f408e0e1c4fb9 |
|
BLAKE2b-256 | bb72f1e6d854da6db4e22c6b7bc36eb55aa8e1cfc1fa7bef3204445973fe51de |
Hashes for ldpc-0.1.51-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3ac76081b1fe05c4b96df6822e41cd416d35dad4ac5c9e2e640f38886b78054 |
|
MD5 | e695ec0940c2e10693fbde8168c1e68b |
|
BLAKE2b-256 | f14cd926e2e9eb90b774d938c3082963985582318d2cd8615e084e72a4e65dd3 |
Hashes for ldpc-0.1.51-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42f6dcc75ccadfb6265ddc11011a5269c0e06ffb2ba82518513626063b43d251 |
|
MD5 | 692eb4337ab37707f7f5aa68dbdff82e |
|
BLAKE2b-256 | 9070ac00d032a893ec83989ba1cb576594c50e1a5d0dd28332e9d4090d0be2f6 |
Hashes for ldpc-0.1.51-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6858155b99262d3c0d6383681e37393966eacb74569a0b248fdae90f3c6aecc |
|
MD5 | 2e78aa253b4b0076e4ab9025a81cd2f3 |
|
BLAKE2b-256 | 635b6e2a67ed6655eb548e2ba77342497211ee1fec03f61f670b226da67018e2 |
Hashes for ldpc-0.1.51-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06738cfe9b0f8ecc8d0c726e46c6eb0e23bdf2a859d202b262c3d9f000472c5c |
|
MD5 | 8910fa690d4b020e1c6b3b2ca4128e0e |
|
BLAKE2b-256 | 87d892133afdcf04217631959cd5ec4695373dbb1a6fc016ad8a35151a737486 |
Hashes for ldpc-0.1.51-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cf280152b4a67ddbdb07c802cc2f4d8e43e9805bf195732da3d7d72e85a3a4e |
|
MD5 | b89ca8543ad22106b37b47fba26cb55c |
|
BLAKE2b-256 | b43589cd38ca1bfda91d5a600d95de800e22b38e74f067e38059d68746d2ebd2 |
Hashes for ldpc-0.1.51-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b03a984706e781b3f97690b41894d13452daa0bdf52e47ca35aa84eecdd20854 |
|
MD5 | 65ce18631a9b569f528bb0deacbe94ed |
|
BLAKE2b-256 | d9a88b0041ded20b3853dde72e6acaa74249748cf5056f7030bb957ac123ca5d |
Hashes for ldpc-0.1.51-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6cc707864c62ea8a227f5d3009efb16248516daceda2e4bc0b11759898d23cd |
|
MD5 | d04612094dd2b87374fa9cba24f4ec38 |
|
BLAKE2b-256 | b376d46487f8fd6910393849015d306ce7708a8945ae9563f8f7a1a6bc5cb94a |
Hashes for ldpc-0.1.51-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65d6336d56fc9f396061a1b4f8b93b394641f87dc2e2a7c6130020a8c22bac2d |
|
MD5 | 87736b4ae0c1970b2518f87329c40192 |
|
BLAKE2b-256 | e33690c676a7c2281413b5de2199068a7e336680d054f1095381494e8577087c |
Hashes for ldpc-0.1.51-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe91d583435ba6b767d590ef3b56a250284fceac95e4f4e6d0fd3227190f8306 |
|
MD5 | 4a6d54aa943e7ff052eb990652aa4e8f |
|
BLAKE2b-256 | cd935646b65c8f997e7bdbace93c4e98f9f1c40c6f00a86bc8a98f4f1706ff32 |
Hashes for ldpc-0.1.51-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bae840ee5944bc21eb736dbf314affbda4cb102c83f7404175c4a2d71b49ff6c |
|
MD5 | 99d6a299e8f55bb02edb3f0f9a55ee8d |
|
BLAKE2b-256 | a265ade4fd550007539a8ef24b64c6bd5ee65613c62293c9c15b9da587405d1d |
Hashes for ldpc-0.1.51-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d6a0243831d140cbc9b240310c3a18c24695ffaecfb626164ed51d92e8608004 |
|
MD5 | 929b4679038629bd098beac0e96957bc |
|
BLAKE2b-256 | 68756382fa036e944c65c73e8e4d5bed49ad605ebbbf57b97f4f16370a2020b9 |
Hashes for ldpc-0.1.51-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96a028d6c2418872d9e3b91fdaf6f1d73d31792293d0da2db010dadfeba22448 |
|
MD5 | 583db75c0cf8d5bcb5c56b8a9e19c909 |
|
BLAKE2b-256 | 5417abefdc0d80024bec76331c13c8b96698fe9d9d7125300ad8c3a0a131af7b |
Hashes for ldpc-0.1.51-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0768f25a01be46ff33f8542afbb50c1ec58126b7f7ff6604538eae4fd87ff9e |
|
MD5 | b1b6e1ce45566223792359d73a8ee0c4 |
|
BLAKE2b-256 | 315042615e7d195382cf3a49325a79656858264ba24a309ff526031b53bbbdd2 |