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.60-cp313-cp313-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f277ea524ab80c59dc6ee6a95373e91b9fcae63abbb0f3979998d5aa6f608cf9 |
|
MD5 | f5a249ed1603b61635c31d37490b319e |
|
BLAKE2b-256 | e1d8f38f4c323beb2124880d9672668759a1c23185a4769b87144a001bb8022a |
Hashes for ldpc-0.1.60-cp313-cp313-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb56fbfc2dc6ee3c13ead819c9c9c18d6aa6025b21cf583fd5ac29c7fa2492bc |
|
MD5 | 48250c1a81dd9ffbedf43759955d43b8 |
|
BLAKE2b-256 | fa50dc4bd6efac99fa817f18a5501dbfc4b35daa7f40aad76de038a19d664e8d |
Hashes for ldpc-0.1.60-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ccb020863d62b51553431cd7986a85c4f6a7024ed5f7992796db7ac38672023 |
|
MD5 | 96ad3672e109dfdab85bb4d7a217a4ae |
|
BLAKE2b-256 | 07a8f3c08e292c6dbf544a76a422cebeb1228d660663330c5202eca04719dd44 |
Hashes for ldpc-0.1.60-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e32662918590b59fc16283e59f4be26f6011b16bc966de3eff93664a6a6eb858 |
|
MD5 | 190f1a5c23ef7f00da45e84d3a55b0a5 |
|
BLAKE2b-256 | 7d31645b0f4e3f1ca1a493739d0de83c29321d53ab80127cee1910a89490679b |
Hashes for ldpc-0.1.60-cp313-cp313-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42808fcf37ea58e2e61cc90c1f0dfe2326ef57f302ddbf80c9937963b7811159 |
|
MD5 | 6bc62dbfae1c93b7bf767b64e5aafea3 |
|
BLAKE2b-256 | 3913b4a8560d76c9b623facf7450ec6055a3ccab4905edcdf829d6d3c9d20f12 |
Hashes for ldpc-0.1.60-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a108c65a00e8e064e627c09565e95b18ba9c9b7b309cfe1fa405285ef17d6832 |
|
MD5 | dee0de15e48ec3a4b53d00c59b602fa6 |
|
BLAKE2b-256 | 6ba7e970595e94cfbfe6c66a6df0deff7425b754b2ac618eac0413c7055f0627 |
Hashes for ldpc-0.1.60-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d3d422ba4d2d9b8a94f3beed4888f6daa7e61c779dc905a030c39afea4a8708 |
|
MD5 | e204f20cda285a3d038626ade6688ab1 |
|
BLAKE2b-256 | eaeca1abad143c61f08b1bd6aff180a4e7030b2e782ac152b1f43c3a2b5dd784 |
Hashes for ldpc-0.1.60-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0c82887ede968b34eae89fe1ca8d98170586dfeefafee1bfee2f773d94469fe |
|
MD5 | 942ec31c1bc374efe8cd339cd32aacfc |
|
BLAKE2b-256 | 091c75d0a99b6efa2b8fb3a59b26999ca74e532df4244691168c6f05532886b9 |
Hashes for ldpc-0.1.60-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f101742220f52d5fcd7cbe282d26b924bbfe4823feaa01c2da2aa7aa54e0318 |
|
MD5 | d3872ee92d39526c07adc246cf3ee3f0 |
|
BLAKE2b-256 | cf5474bab08c53059f94a1608eeb04f429efb5c1dd1d1d596de9f5a556bc44d9 |
Hashes for ldpc-0.1.60-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdecbf7aa294066e5f0cab4f2b257980ddab910899a654a930a35c3dbc769974 |
|
MD5 | 737ec44537973be2cf83b4b7061a405f |
|
BLAKE2b-256 | 9dd2eb83817184d8e07f43b0f3c8a1928298282e8bd7cf59ca4c2e38719da248 |
Hashes for ldpc-0.1.60-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bf499917617fda559160635d49f88ff8402de0b10e82121087f3c5c081dac4a |
|
MD5 | ac1cd55a92597d0720604ea8fd7a08cd |
|
BLAKE2b-256 | 48fd917f8ec5ace1eb1e666a6cf00981b029417822983daa1a72fbbdfa21fa43 |
Hashes for ldpc-0.1.60-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85cd76ec06834bf4c1ccd69577328782e4cd7524f3cc15a92f220debabf86ce6 |
|
MD5 | 7ea9d6f0bd40883e852ae71c3fc9bd84 |
|
BLAKE2b-256 | f7a46d3b61e813ae14be8357ea6c5d182ae17147fb87ae7f7313a0ccae85880f |
Hashes for ldpc-0.1.60-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18b721d0a25b4b149e8b5cdbd8cae7d327c9eb445bdfaa84878f4e7ee87702a5 |
|
MD5 | 2f4e916796fd6677023c2cb1762f3480 |
|
BLAKE2b-256 | 0925c7cbbc4089eac07b5b335735370192ed87268ad52374f3c73b137cc31082 |
Hashes for ldpc-0.1.60-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaa7fe7d813a1935908e4730605595c000f20efa3541f9ee0aa3cdb98c33de5f |
|
MD5 | c066cbdc78b1429b0bb84807d13d0ad8 |
|
BLAKE2b-256 | 1934955b40e8313817ad6853412f9207fdac5dfc94e061988554bf1b07345222 |
Hashes for ldpc-0.1.60-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1896ef67af5be3998aebba5e0b6110dbd02b119fed2e6bdc5f2738d26eccb7ea |
|
MD5 | 107da4820be2de47892809fd991860ee |
|
BLAKE2b-256 | 401ab05618c9533b4c4d0de8be8f23a68b69e311110d0e7d7e9a23ccf8b65056 |
Hashes for ldpc-0.1.60-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f83cda648d68998e98e817eae0e84b5057ebb3d6941db9855adf3f0286000bd5 |
|
MD5 | 80e6f80c429d41dbd5b44d8c3cbe21ee |
|
BLAKE2b-256 | 8a240578140b2ed4c6ba3d56f03949c8e1a868c3060a240d9215b7665f637a5c |
Hashes for ldpc-0.1.60-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 411584c084470288d95737eb6de94cde2571459c15b880d9e8a4e552cd942393 |
|
MD5 | 226cdc84768387fe8c44af8a0c718d84 |
|
BLAKE2b-256 | ad77383c6cdb2ef3818362a9654e6bafb5c7415c49f1fbb5c6dc9f988e8aa7b2 |
Hashes for ldpc-0.1.60-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 35c8326f6ad7d8017ba89ec9fb9c2b2fdfc3cdbefebaedc17423519bd70d1a71 |
|
MD5 | 65998b33227d408561e64dda4ae94593 |
|
BLAKE2b-256 | 4a9ae4e6d70f7c1c2d4faf1bcd3b1666e183b24fd581a6169cacfb3dab6f3e03 |
Hashes for ldpc-0.1.60-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a29445a339b9069df96b2545cb9216034683ae85b5a5b59712c330327d320f23 |
|
MD5 | 26b131b7bbf86631452a447ee18ef7b8 |
|
BLAKE2b-256 | 46cbded17d77fbfb4a1e75270e93a5e7688252f76a05a773659835b61a767035 |
Hashes for ldpc-0.1.60-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd42d119a0bb1b8ff70088adfe4266ba5f8c5768e81d6db989e818abacc857db |
|
MD5 | 0db3e06ebf9214a418ff8b8ee733d034 |
|
BLAKE2b-256 | a236ff2c26dc96fd33f124f080d90b4aa6540e792589213c6deadd1910a913df |
Hashes for ldpc-0.1.60-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28066a55b855de08da4a33c1349a486f79ee3e5f9883a42a14357320a71bf7e0 |
|
MD5 | 1ba6fffc38a49b3b3b1d5aaa1427f85d |
|
BLAKE2b-256 | d1314364f966bc834cfb7012b68debb65f75f2d78acbb4ead70c858330b2ce99 |
Hashes for ldpc-0.1.60-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79e045cb7a03ec2d4eaf8405fe37f6f9b27c733a66de0f41a453a930b16a40d5 |
|
MD5 | 9436fd2f0a2afd6f78e6cab832253a8d |
|
BLAKE2b-256 | 0280deec8a03cf75043d791db61240139ce57bd35d4d6172b1add1f7a6a1a3ee |
Hashes for ldpc-0.1.60-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5103cce5713a338c7d2319ace5a555cfdefd9a33e81a4491c1e3973cc602bbad |
|
MD5 | 102e5a7cf80030f2477ac57f26c3f4f4 |
|
BLAKE2b-256 | 6ecc3b337f258e72e486924e6c5a5d723d0a03a81c0339f1ab5bbd7365a0788d |
Hashes for ldpc-0.1.60-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b17c58620d96c7003f4d5428d8199d7807446ff0e6fc0c39832affa967370243 |
|
MD5 | 3a00a8b8dbbb4733536c2ad3ef41efae |
|
BLAKE2b-256 | 3a93dbc2b7d95e05f0066b61598e1d74dda322dee5a6542972b074c61cc61116 |
Hashes for ldpc-0.1.60-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9a1f26465b95d5b732c3dbdaf1556275c34fc4b115aef40a9e3b3d99bbf460a |
|
MD5 | 5fefd262c3920c5459d53e60c416bb95 |
|
BLAKE2b-256 | c90b1db19bcfb798464d5eee91eb87aa309bac694171c20e444cc8e2bc6b8af6 |
Hashes for ldpc-0.1.60-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6241d9b34488323df07dfc10ddbb218098cb29c4329ab2b6aab214f2467a0dc |
|
MD5 | a4e7c1fdb31f67448b569765c45cf2fa |
|
BLAKE2b-256 | fc80256b6e3799635534b0aada94d75d2b01cf1db932e3e06c57982fade30982 |
Hashes for ldpc-0.1.60-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1456605f3abdb34f05ecbe7496c7847546caa70801e875e01120791abd558cc2 |
|
MD5 | 6fb5126061fd67cdd868be1b7c950318 |
|
BLAKE2b-256 | 4f71792c4c007219c26b69c72f00a340f227513f9eec9fc7b68d7a5cd1c987b5 |
Hashes for ldpc-0.1.60-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dde97f0d18a2c84bb7c6ef29f753e56a8114e7b49b7d11f34aa1bde2f3b4db43 |
|
MD5 | 2cd0d3c07e0c6c2410d89f8241b4449b |
|
BLAKE2b-256 | 3b3c22b6dc6fefd6b59f2edaa20b21190058f3d17cf30b7b19d2fb25cc3c6434 |
Hashes for ldpc-0.1.60-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c14cc88df29208a5d538e9d64567d27c2994dc2e8030eecd7f9c35aa5ff1da0e |
|
MD5 | dc72babb607ae151a22b0ec62812f4fe |
|
BLAKE2b-256 | 51304c4ebe5dae12a475c0f04ffcd24891ba58910a5fa4748b8fc73c522ffe6c |
Hashes for ldpc-0.1.60-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22152ed53f0d872e122fea7f0ae2e72baae1aafffc1c46579feff9e5ec2c216a |
|
MD5 | f2c317f4e50f73d03f5c0501c04ddf69 |
|
BLAKE2b-256 | b14f4573116ebceaaac83ae3b99f0101664b81873796f3107a7369bfbfa4023c |
Hashes for ldpc-0.1.60-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df544827b191e9a43cbc3a0ff53163300ed5402c3c1a8b09af183ccf1fa02c9d |
|
MD5 | fe6f2914588883084635cac3fa5e9b4c |
|
BLAKE2b-256 | c375872350800e556f5a0b688628f0540e6330adc08d4ce29d03c6ed2b782412 |
Hashes for ldpc-0.1.60-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74da01d288590a1e13ff541ebc8f4e3fa1c75b8f9f7f403a12757f8a41d380dc |
|
MD5 | 139f909697200346ace42d49b8f5f13b |
|
BLAKE2b-256 | 6031240f15947f59edb6c7e5391265d738c2f3d3de78ca6ef36c994f96c1d665 |
Hashes for ldpc-0.1.60-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c647a13dae8f744122a36eb72f74c2b2c1ce2659196216ffdebe81631ad6fc2d |
|
MD5 | 39664f6ac6b4f03ffd30112201fb2a30 |
|
BLAKE2b-256 | 12cd3fdaf38efae69fe3f6cd8dafa14f3a417a53decc9a459516559be907a4de |
Hashes for ldpc-0.1.60-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8c9f81e776bb4f6e3513879f1c3c3dacf9bdb971bf3f8131c4db4c6caf58373 |
|
MD5 | c936d1adb40fcf0b583cccd83ab150cd |
|
BLAKE2b-256 | 774adf83c0ebe1bdafc63dbbb11bed9b23beb63b921f8b00032e8b3249611cf9 |