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.45-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5efb88ae16df891367f37640a4597cf11f436263c3e4fc1468e683cd627c9c9b |
|
MD5 | 95eaac7d052a1d3f1881ba1573b5e3a4 |
|
BLAKE2b-256 | 236c1cc505ad303a4f57cb6fb97ef164f120b49cfb28ba8fc643d665712c6906 |
Hashes for ldpc-0.1.45-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74da0140c6b45f77a87b90de1b31709615c17493cd98ecd2d60074e695cfffb6 |
|
MD5 | b4e64ddb97607406bb1321d2f7f57859 |
|
BLAKE2b-256 | b8c893989e2387db3458bfac36b17a0082b857894bf9b5bf2fa95cfbb80541dc |
Hashes for ldpc-0.1.45-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d782a92d942f98e23dfd21d8b31bee806969062099085425fceb070a940c45a |
|
MD5 | 5a5f6fa1be8d83747f65f15c19090dd2 |
|
BLAKE2b-256 | 495642d7f712cc87f3cfa1f0fe723e635dd33641edf1a4a5ae018082c16c9733 |
Hashes for ldpc-0.1.45-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8936ea2f69b55bf09ccbcab554563d3e4b95d8eed0b114d8ff824d78cb603b77 |
|
MD5 | a384aff9ffe0530ba9acf33e94e6c0c5 |
|
BLAKE2b-256 | 4e44187ab585ead2973aae4ebce90be07fdf650ee842fe8a521bd53baf975806 |
Hashes for ldpc-0.1.45-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4293754d5ee5f61a381a4debfb06602956a61284e2f7ec1550b9a0b52862217 |
|
MD5 | 7bd261b66382881a5c004c7499746ccc |
|
BLAKE2b-256 | 861569184a85c98ec99b8e744f9de7141c4a108f695242d6947cfcca6d8f8836 |
Hashes for ldpc-0.1.45-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7285d6ccb8e87f76280059823a8600b02c4b35a19c53698cb211fe6f58c5ebd9 |
|
MD5 | 16711d79baa45ea064797aaeaea89bc5 |
|
BLAKE2b-256 | 8b138f071b4fc9dcfef264bacc3243aff283b464ac39240490068909e0fcee61 |
Hashes for ldpc-0.1.45-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fc2a3147a2aa0c7985f3f5bf991da1fd2b0fb3c036f1c311f74415f561f19ad |
|
MD5 | c45fb41e39d8ec1b005c84058987bf4a |
|
BLAKE2b-256 | eacb6e4421569c2aedad0069d394309eaa40d4c3996fb0ab8ff535a73e54d252 |
Hashes for ldpc-0.1.45-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eacfab0015a133032d350a27913a42dcb6b63e0219a9fedcadebf7e9f1f170ec |
|
MD5 | 512d9f3df69cae9bc6ff39feb4e7b6ec |
|
BLAKE2b-256 | 9b84e820415c7b8bdd28087bc729a43a051817f20ee761553de24acc9621e2e9 |
Hashes for ldpc-0.1.45-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b174966b6ac1df96a7f847ec24c090140d029223607b02d6772de5119e7c8fe5 |
|
MD5 | 154e4503720afc6f7896eba76c07e83f |
|
BLAKE2b-256 | 3792d8c0f577da50c1bfd22d1e37d0c7d710af154ef90013d47f1d9b46f75fdb |
Hashes for ldpc-0.1.45-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c3831958121e3018c17b1daf836d1ede0a55e5c3663dc47125d377108fd43cd |
|
MD5 | bcf9c7ca32e515528bc7125712204f1e |
|
BLAKE2b-256 | ec67a023d7dfc3dfa1da30a64f02ed19817b6be03b814070f34856d2e547f2f6 |
Hashes for ldpc-0.1.45-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc33820cc3e76d790aed930d28ceaa2e09ac9a49323589a243fd065ea137ee6f |
|
MD5 | 9d01616d79e7b9279dd43fa954df1990 |
|
BLAKE2b-256 | 325fc4df2a0db86e70d4497a7f467c13bb11f5f9535b6871f4bfbe3f08d17a21 |
Hashes for ldpc-0.1.45-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a750a1c06f14e0d839ffdd8e4ae41b6a8bb209a1bf7a939ceecaa093d631e8e9 |
|
MD5 | f9e900bcaab92770c4550f93227a0e5e |
|
BLAKE2b-256 | cecfadd73d9d8ce8f53e25627b979a47bcbf7723947cfa36432535bc06ac5944 |
Hashes for ldpc-0.1.45-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e258f5d12211ca1d445d002ce40891ded414621f68a5ad45d4d7a23faf8bea8 |
|
MD5 | 39c10422c711d590c4ccfb3e5a5cd5ba |
|
BLAKE2b-256 | 194c63e87719fbc0684162bf1c235984a1691c9a8a75d32497f5d86f6f60ec44 |
Hashes for ldpc-0.1.45-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 923168173fc7101c6283b002e7591ffcd170c3a1db7d30dc2ae832f76a8b79c8 |
|
MD5 | ef3a3d5620e33518613ed684801f1828 |
|
BLAKE2b-256 | 2e0d7e21b53d2ad2941bdea4d2e7475fa9a58aaaa8160fc8a2b18b779967bb81 |
Hashes for ldpc-0.1.45-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 963315955a73a217a13a56c0e93f4a466eff4719ccdbcda76c7285b4ca2c194e |
|
MD5 | 51b13eb12440fe609f3b88719b03999f |
|
BLAKE2b-256 | 3123f992af77b291dbe8c3284574339014e05ba269645e869696747fa036504c |
Hashes for ldpc-0.1.45-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0dff67485329a3329f53a2ee41bf931776e70e753432e49ba6d5c0a340e84f03 |
|
MD5 | e0d28cb71084e50d140081adcfb17985 |
|
BLAKE2b-256 | 385e07b1208b71e6693534f0f0092a79e18c1f6671fc959a4cf2c5cb3e21e89f |
Hashes for ldpc-0.1.45-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea3ff9e7d18b12e9b1223b058fe913282223dbbff563d2b679f6e461b9955c74 |
|
MD5 | 7fbb610b4792b310224fe4f8c801fd30 |
|
BLAKE2b-256 | 35c4706546315cc0bd38739fcdedc5d04305193f9cdeee5d8ad001678cb56378 |
Hashes for ldpc-0.1.45-cp37-cp37m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaabe40f94e711b0f62039a805912e0d733ec3f853210ccb0fd88d6bc828c3a7 |
|
MD5 | a26354790e265b1e5c8f25043ec4f452 |
|
BLAKE2b-256 | 0e359aacbdd50ee35b472e4aaf6f2fe5734bad235cb9ab54001369dcbd58af06 |
Hashes for ldpc-0.1.45-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 061f8215372bfc2a5421cb1fd5c54c7b7abd1bf8e8c4b3d1edf484f4ea69e396 |
|
MD5 | d4aaa41d2b18d326e3dd69f4eab869be |
|
BLAKE2b-256 | 8724a6986ddad8bcbb364aa1abb48dc4d5a534533aff5a43ba30dd1f969a8666 |
Hashes for ldpc-0.1.45-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1e0357e11a4a4f5bdbb283e844b844976c47a549191db5e117cd65ca30a6a6c |
|
MD5 | d0c8814320414c9aa8af9fee668fad93 |
|
BLAKE2b-256 | 0e2018a5308751756c345f934bf8297d99ee9150d61b1bd95ba4f94edecf11d5 |
Hashes for ldpc-0.1.45-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3a3896eaea2cf2681d82cbac939110ec5ae9eb15a1f371dd3e6f876beea3455 |
|
MD5 | fc8327400706f9979d147505e4610425 |
|
BLAKE2b-256 | 29cc6886f3ce65e1473f7b9fce079727323e2715dde6759da954ace257f5cdf9 |
Hashes for ldpc-0.1.45-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ca184d23e6d3d247b4b2bbc6a770eba32f30915b897c0455179368f2766074b |
|
MD5 | f5df900ddf3c60ec349bca9d5c6d7b25 |
|
BLAKE2b-256 | 209719502cd712d5d236f5cfe5f33db6801c882f5e9ed052c3db250106f11351 |
Hashes for ldpc-0.1.45-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1f19546bcae63fa7da7d73f823cd88dd6b9431aa47b7d7f3f094e4df279c320 |
|
MD5 | ca98dfb3efcfc52d9f1fa8e6307e70cd |
|
BLAKE2b-256 | c91ab93425c1ca3707a7e00b96f0ea383ce920cac9898723abb90b2f5f46d61b |
Hashes for ldpc-0.1.45-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73b49a2e5484e43b5ead8fef9cf9a25ffbeabc85673592963104bc23b621f9fb |
|
MD5 | e788beb6d049fc042dd9208597cd7ec8 |
|
BLAKE2b-256 | 5a702d9e6092e55b8c43f0143fd8fa39bb34f67e75332414010dd40e0562853f |
Hashes for ldpc-0.1.45-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0580b4a3b86109fde604a0c758f320c18844d8bd759d7d99235ff957ce6f1c4b |
|
MD5 | 9d1b7d3a6e62b8e92364e93e8894c78c |
|
BLAKE2b-256 | 61425112c955667e14af05bb9a60cdeeb4250acb76039d3b6e83a4b3d2496610 |
Hashes for ldpc-0.1.45-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c0b8f91e8b62e2ff5beae81d394c2482951f174bb1fff01138063a7870c72dc |
|
MD5 | 49418c1e9abde4b46096fe6ad8445e21 |
|
BLAKE2b-256 | fc295c452b2070978166305aeabc85f165adbdcc90e0f404dcb10f1f163c3217 |