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.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a15211fb50dc585aa472e93d5a98f8d915ed842d94d6411374f2e6d1531a49d |
|
MD5 | 9a050220248798b9e9dd788092cf9352 |
|
BLAKE2b-256 | 946719b880a380ff091c6a9193457739830c0fa43d8cac2a49b989ecf80987bd |
Hashes for ldpc-0.1.1-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1983c10c64602e3d90184ca9572a7e45ced94618d8489d7274695e0e40cebdb |
|
MD5 | a6f5236968901aec9ae181e3b75995f4 |
|
BLAKE2b-256 | 4479b79cf1192c72153fabccb4ef52ca14cbe50a0df361bac8258480e7ee8101 |
Hashes for ldpc-0.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a325cc96894c4895e8f1244a78178ee5ec73210c76ec15ee3151b8331a99963b |
|
MD5 | 4c738fe4514eef5c7e491094cbf32483 |
|
BLAKE2b-256 | 345589292d62d213dabf045124c9ecdc8fdaba6a92b0eb49a2f4c177ad2d11c3 |
Hashes for ldpc-0.1.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bba404d4ed3b7d8b6c9f654ba48fccf688d040e867d8bf26ae0c0e15b05720d7 |
|
MD5 | 1fd6e2ed6e12b8a705f7ce38e704cf16 |
|
BLAKE2b-256 | 11ac0a2e5786f768072b21f7b89b4a0ed77499007df66daa9f80b849fec40dce |
Hashes for ldpc-0.1.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f2849a5da1cb2aa317bce55fc1c2fa0b55244f771f050de1dd9988727fa11fee |
|
MD5 | b3b607542038eb5538f575d7ce5c6b33 |
|
BLAKE2b-256 | 61f6566e0d8ca72c8da65f74597a41e71f559ac4e7610b11da6265b149d136c4 |
Hashes for ldpc-0.1.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 862e9abb88b7a35580ed61bd9d2b284f94e703ebf374de6c36131a51048459b4 |
|
MD5 | 2d638a27e76d7e7762ac19c0f066e07b |
|
BLAKE2b-256 | ae593bce4196ebe07011858b3e74a363b67a6d580b677fe6531ad7e5775d5fc8 |
Hashes for ldpc-0.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca9378f9df81a4c14198fd58a34a1f87a5735620e1c57376477999b49886a05c |
|
MD5 | f2a4a008cc52de4b0791717a8f91efd4 |
|
BLAKE2b-256 | a990967fef81179329f96a36175e87bdcb3737c0fc89a16fd6c0ffa60fe342ae |
Hashes for ldpc-0.1.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83ffbdd38d4131c75d3448cd980249082c2d9137c0902c480cc4826d2816d77d |
|
MD5 | 14cf0b4b2ca2dcb9b4ede005eee321d5 |
|
BLAKE2b-256 | 028bae9c309f80c9fb733d1a0618f5eb4b6b0f471ad332db6314f49a3b136fed |
Hashes for ldpc-0.1.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a685385b56f4612e66718f4c86e5aac6292b3cfb90219ad45e13fe332b4e5d4 |
|
MD5 | 1eeedc0c8f91307d59c8a96c6e3acf03 |
|
BLAKE2b-256 | 0e834142d6e19f868dd0ed518a896b9ade3afcacaec8b6f3bc8f349ed1704059 |
Hashes for ldpc-0.1.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fe380f447c38c9089d39fcc9ec89a34ef77d22f3005065cc4efdeb337487e29 |
|
MD5 | e39d2130bf9209e374c04a81c0ef0b1d |
|
BLAKE2b-256 | 6e41f3a4d8459a6a63fe1a803dd1bb906f37ae6900cff14f3642d0030d307e4d |
Hashes for ldpc-0.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b1d78b50b259f83614e38c037af08258fb78c8fcd1206cba639de3352a59c697 |
|
MD5 | f1742e6ec8c4a9dc4bda3175c24cf9ee |
|
BLAKE2b-256 | 2802f40d31bea7c8722e4797b2c31024a7efd32ba897114d1a1e131a0bd862af |
Hashes for ldpc-0.1.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 777cf8564b712ea9c009fac7cfe442ea5ed6f7104456be5c52ccc97ca15b2968 |
|
MD5 | 948a5b070332c31cde5b30806a163568 |
|
BLAKE2b-256 | ed488985b11dfe669de58f5493d2015f1c9bb7731e6741581683f9b08d3c945a |
Hashes for ldpc-0.1.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 794e907a6e824cba565997fb648450c1153e0b5f49b3d5dfc7aece5ab7fcdf01 |
|
MD5 | 8b918d9d599b5deaacb5ec6b2535ff6e |
|
BLAKE2b-256 | 7c198d179f595d7abea6c81f416b07f5ef2f9b6e1c9c1f96adda14108b822204 |
Hashes for ldpc-0.1.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69068137c2bd27dee8f9091d3cf4c512ff6935af671482157dc68399a123baac |
|
MD5 | 7c70d3257cc0386d231eee71ff840f4d |
|
BLAKE2b-256 | 8e1d3aa75e2b62b7f511c40de7aea655c1ea0d96bdbf49d7a0fbb4dcc13f18fa |
Hashes for ldpc-0.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2ccf804372b4e81b7d2f21541e3fc9bfea16db6e39796089daaced13e12988c |
|
MD5 | 3ff2dac5dfcae3a8e86f89e51acde171 |
|
BLAKE2b-256 | b32d164a14d7dd193662e49a398a0f53acd64997329b862b01c72fcabb902df2 |
Hashes for ldpc-0.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d072c691459bb82b7a992789d24e4581e22be425b67fa604b2cc1d32407a564 |
|
MD5 | a19534950a28da064de62d06aa304f6f |
|
BLAKE2b-256 | a0d1e09b4b161458616b499d7547a34851cc36f490b6d61ac46d2769ed9dfeed |
Hashes for ldpc-0.1.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6c5fc605cd83d7377c3516e27850bd304c8e1c6c87da625337a9744997d6256 |
|
MD5 | 2316672458bb7a607106530a309dd42f |
|
BLAKE2b-256 | da6e971fad099ff458ee086836dce25b7aadaf94c7551a8af30930ddeda2194f |
Hashes for ldpc-0.1.1-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd8c9590d0646dcb13951a211a267f7a7142c47fc4729576d3d4937b1da7fcf1 |
|
MD5 | 4ab2db8368441b05610295cea4dcb7cf |
|
BLAKE2b-256 | 78e297ab7a594a6e00e1aa5c07946ad10c8e6d2d4872a6ad02afd10955ca58c1 |
Hashes for ldpc-0.1.1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11925ecf010e799a68110101a077e7a9a53fd7ad8d9e7a6872670621f50689a5 |
|
MD5 | 073f11e990d662c4f328a9e89c5d0ac5 |
|
BLAKE2b-256 | a1ca87ad21312076e0575808374fe6c2dbc0f8b3805db4bd1ab85cbb2b0ae272 |
Hashes for ldpc-0.1.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bc0cb017c42e1abad9195b1ecaf9f46ffd1b2f69c022b2fef0bead1a6937419 |
|
MD5 | 3f37c97509dc538b1a00004576edfefc |
|
BLAKE2b-256 | 636430db852d7316540fa170e44f994ca26a988882a88540d359e6f5dd3d554d |
Hashes for ldpc-0.1.1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 499371dc9a9f71905008713f0de091e46f310bbae27d0cfa59aff9a4f33cc93f |
|
MD5 | 446c944c9b0ec5008321ba1841c27cba |
|
BLAKE2b-256 | 15ca5ec59b10bb9b4e913f059d7a9834d092f47dda80dc076aea560f5a46d786 |