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.53-cp313-cp313-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7158f6122868cb61b781afee5bb51a8adc2b5cb301716991d01bf9cf337ad389 |
|
MD5 | 9f2ce30c08726f3dae7f907725642756 |
|
BLAKE2b-256 | 0b6d06ddf5f6b572f80cb17a9e2a8935ab2c33b787a95ddd89f7ffcebb33d082 |
Hashes for ldpc-0.1.53-cp313-cp313-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 499b353bbeec40263fe41321e392d2824a6fe8ca3b4bbac94f73fba380177cc6 |
|
MD5 | b96846211a91a16050c2ceb0d0ec222c |
|
BLAKE2b-256 | 9c1b609bbbef018cf4da6c05f44f7845ad3b4b5e465ef7cfda66066fa7d8ec1c |
Hashes for ldpc-0.1.53-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 407ce4323df98f5a42462eb6e4516934db34e0626093389dcfaa729cb2e64e52 |
|
MD5 | b34d94af4513ee2776ee342f3369fd44 |
|
BLAKE2b-256 | 4582b6f94631108ccc47b555c26941974a3d0c71ac8324c26994b902ab7eb2ea |
Hashes for ldpc-0.1.53-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15c0bd51252cdddad325617b38655d2e2fb654e5e19dfd6a1b511a999f86b396 |
|
MD5 | 348bc98c12a2aa084ebfb19837826a67 |
|
BLAKE2b-256 | fcfcddb729d8d8d674bcd7365ceb3f3b6cfe8ae92a7c3682e610a45a6e0b18b3 |
Hashes for ldpc-0.1.53-cp313-cp313-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 220234f455b58c356e4fa9630b71cdf65c6bf1567e6fd24cbdc0c8e2b2f09aed |
|
MD5 | c3e0e79330c5697f9bb2133703580260 |
|
BLAKE2b-256 | 6da0a8dc1a516704f23198acbd0625390f945c55b3416cb4059899dccb7a3463 |
Hashes for ldpc-0.1.53-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c55bd33c42f8dcc9c9df5384342dc9d160fd4e9b5d9f20492dfbe797b9a0d20 |
|
MD5 | 44c75b1c77183ebefca820b0bd6422ad |
|
BLAKE2b-256 | 233a3eeb45995d57cd8186eacccdfc82e92f2ba50704539642e37bc7e8927961 |
Hashes for ldpc-0.1.53-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e60d7825765cd3cd44aeca6d630916add1577aaee64c1793f5b2874b8eecd113 |
|
MD5 | a682ef0044ebdc15b0704331373046ee |
|
BLAKE2b-256 | b732700ea7863351f2038d9c923f01004f355862d1be0b334328550ee888ad54 |
Hashes for ldpc-0.1.53-cp312-cp312-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52c48b859364820db336fd3efc759684ca0968a2258f7c39759f8d322ac53991 |
|
MD5 | d407f8f8c87d32f16c6c2519a6a1d7df |
|
BLAKE2b-256 | a2da5fb1ed5f7fca309443da5eef2e63c726eca809faaef29efd30393a723e94 |
Hashes for ldpc-0.1.53-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 43101b49b361732b38360e30bbd2abc46fda06f713ddf5e23443f8a0e295bd00 |
|
MD5 | e8454d58b5c5758582477c4dc0aa4d29 |
|
BLAKE2b-256 | 93da4c74f79457ec5970f842d1ed02394986b6fd8ca6316d804c9121f8f5c276 |
Hashes for ldpc-0.1.53-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 698818c461be1ca51eb38f4540d05f1cb667f30c7d109b99c5afcc1056507408 |
|
MD5 | b5a19e0079a6a5cb85eda8fe3be07d60 |
|
BLAKE2b-256 | ec136ae552ab1bf53f7c101a225db60733544bd0273f6a3c0de0abef5c22350f |
Hashes for ldpc-0.1.53-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e77420ad6d05e0f2addd2a6c9c15915e8ef40234b83741f944e509b314cca5c5 |
|
MD5 | 2bb09d155d4ada223d6f155f0be87608 |
|
BLAKE2b-256 | da06b0b3daa1a04d76a5f9b4142c1dafc9015d00081b0ab4dc0d39fbbca303ec |
Hashes for ldpc-0.1.53-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b871e0325f07f340791beaef5cc868e7938b5ae5b5a324a3c03ef64639d9e95a |
|
MD5 | 078b71dee81a62aafe2b8179b11f0583 |
|
BLAKE2b-256 | 0b21ed2533ffc15cc0a5c2079d6ce9da0e7c2e51013e07844fddb0bc07646766 |
Hashes for ldpc-0.1.53-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c440480a036043d1736cb6d8cb03c0228f91acdd6bb9696820b316b1bca1b668 |
|
MD5 | f9f6022b5d4e041ce4a32852bd2cf493 |
|
BLAKE2b-256 | 3f9236f166de6166cc12cbadfdc5af64aee0884f811c07d889cf51f93049a6a8 |
Hashes for ldpc-0.1.53-cp311-cp311-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96d2b25b19a2f9611efb5a906539be4d6c05d97ba6056ccf19ca231eb7269d5b |
|
MD5 | 750dda011c45ebb9ffdcf5ef85c1feff |
|
BLAKE2b-256 | c1c4fb8b27714e4ed00cdb19ff137757723790d38cc50f36f138a128dad6c744 |
Hashes for ldpc-0.1.53-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52a7f98058d4aa58b808622a579f5a6fd6c88386b3a47836440d340d956b8904 |
|
MD5 | ca3451040809257bef20d9830e0bd964 |
|
BLAKE2b-256 | c89a86f4257388d91c60b73ab9bc01f274d66b63539ae36d515a8d2fab6a377a |
Hashes for ldpc-0.1.53-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3d32128c3d15bf5d4a0d54e780ce9b7153c142e0427dcc47b7aaa7c660c7a70 |
|
MD5 | d162111252d01047c57a4f7e18638e32 |
|
BLAKE2b-256 | 93a4e288555c6da43c15760665519516f6ad940bdd932cedc7e41c1742ae843a |
Hashes for ldpc-0.1.53-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ba27f94ddc448a148f4a704450c100ca12d3b74fa3b189ca8614b857572e4fb |
|
MD5 | 6d67a2b2620a0c9a837a65c4632f84ee |
|
BLAKE2b-256 | 18caefbd671974265b4e4d0293496de3d43966c282d639013e30937ec5785acd |
Hashes for ldpc-0.1.53-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91e6e85101ee200ff6adc6dc799a0b09de570d6a47ebd5e32eeaebd3420cc958 |
|
MD5 | d024077af7e8c0bda93ac658056a1359 |
|
BLAKE2b-256 | 9a2bbc11189fd3581ff081b04aef4b92aaecaa2dbf1d4515fc4c733cb36879d6 |
Hashes for ldpc-0.1.53-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff2d099dd2bb9935dd07549fbbddfc9e6c3c8a8caf004ce4d22746aec952bb77 |
|
MD5 | be7a31e8f99647863acf6a9bcd675c0c |
|
BLAKE2b-256 | dc7469672658475372c55492f584f9bdbd49078624609c9c09d6892c72be5c13 |
Hashes for ldpc-0.1.53-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 305cd3f9562e9f8123fb8d281a522805b64cd4daf2da7336fe86c6df9d530923 |
|
MD5 | 9a74194a8790019850e95bf31b9ee206 |
|
BLAKE2b-256 | 3b7d70e244c54584f6ce56f1ff40a6bd64717a43d6a9b080d0dfffd4d737d29a |
Hashes for ldpc-0.1.53-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 007f89032f8908613e4c0d4367542a5856ef594fcf8c82848764cb161a7b8a51 |
|
MD5 | 43ba2ad2ced5445a586182970b6e6f30 |
|
BLAKE2b-256 | 881004e7128957079ee280e9449aae5a0d40c68ed6e6b0b275f16b7cd5a79ba4 |
Hashes for ldpc-0.1.53-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c20fea3e9ad38c4dfbc85fb06c13d698465935e454a40fc1a77528dfff3329b5 |
|
MD5 | bc5ce24c2a168f659c06b959af8c9595 |
|
BLAKE2b-256 | c3ac5ee4503ed76eedcb302af0cb4a18d9b790d91ad986c540eafd10edf0757b |
Hashes for ldpc-0.1.53-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 400c0f8c92600e417610c971808f164b44828e9af3a4214f46a87ee9b1192dd8 |
|
MD5 | 86538d0490d531d0fdb6c8af1f3fb3f7 |
|
BLAKE2b-256 | d7a2eceedb0daa32843ad844e5a14f757e7c08250ba06ae8c8565a5897320634 |
Hashes for ldpc-0.1.53-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 006089db8dfbde35df98151cb6f3f9e31249f987603382a81ed4393e3322eb86 |
|
MD5 | fd2a38b46812d69fc336b30524d7e9d3 |
|
BLAKE2b-256 | 60f25ac84e3b98a96fa90875c6c50441dc2e826642e44bc78eccd5de2de6e4f1 |
Hashes for ldpc-0.1.53-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb75cf55cbbdc5ba339ffe1df007fab16bc1da3954d2304e6f2ce47d79151d1c |
|
MD5 | 3e36448f55206101863bb3c6708c8ee8 |
|
BLAKE2b-256 | 33c3939eed51dd0f6efcb3545bfb69c7167f2d02bc387ad8192c76ea89da5b39 |
Hashes for ldpc-0.1.53-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f3ced65813ca33293a4f809d5cd9f587fee857722c521590208395e1e1be055e |
|
MD5 | a91a09269da33cdf2b3339ae782cf585 |
|
BLAKE2b-256 | 98fb3ebe1c04245a88fb57d4e9dbe6bf4441180dc93ebf743f6f6959917609e3 |
Hashes for ldpc-0.1.53-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 76413bf4636ff0c3f3e8a4d90338a7c1b21f39f579304f32db46c759019d1d4a |
|
MD5 | 11b25745f10d13474b2a128bf5559eaf |
|
BLAKE2b-256 | 09b29fee0686b2ad5a4eb1b14afaf3c50b35e9df17e4d0f43f3607b957cac01a |
Hashes for ldpc-0.1.53-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4d8a8ae9368beafd5049fde027074111ef360d4cef13a3f0059adc0e38d2386 |
|
MD5 | d6872776b59e512a52752a3e1b7317e5 |
|
BLAKE2b-256 | 550542032b3fca857e87f4a005dd9c6698d8d1293e81d607e3ea778ebf15f4c0 |
Hashes for ldpc-0.1.53-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8fd7bd3194ee025b7fd996006c24cb5530d89347528a9083ab494ee9fd3c59c |
|
MD5 | e6157600c2c8370ae8e9171fa429d1cf |
|
BLAKE2b-256 | 283be12dbb0ec1651d651c66fac25cea9b6540587d1dbcebf5fc94f4a46d2d6d |
Hashes for ldpc-0.1.53-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 344ebd709382e627689dfee3217e4050a5cd32713224aa17fd371f5febed9a18 |
|
MD5 | 2ee952a1b5bb380f418f34fdf8fab6f3 |
|
BLAKE2b-256 | 1149ded48cf15069f545ee15a0236d70939387a42191578852e21cb6b5541f38 |
Hashes for ldpc-0.1.53-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8aab2ebe16cb5e76385e2a403d0160059d9954608dd738a1fedc6c25eaac1707 |
|
MD5 | cd8ecddc9793fcfad1f2ab669d3ad869 |
|
BLAKE2b-256 | 364504623833c00cb6790a58b0e1f8562f1de8c6657a7d82d2f08d70404be68b |
Hashes for ldpc-0.1.53-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4cbfabadee8b04dbf4af819177f0a332ffd9c1d845b7dc0aeb7f645c2b03942b |
|
MD5 | 5db86f2eff01aa173f966a64da99068b |
|
BLAKE2b-256 | 54ce75e813dec16320854cbdf103acb13d45b4032a7d38b697cdc995b122a2ea |
Hashes for ldpc-0.1.53-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6dc03294d5d01177b36051c0539ecb01057d7673c9fcc4b611925de63234ccf |
|
MD5 | a51696a3e79884e0779120ade6c133c1 |
|
BLAKE2b-256 | e276b60a3453d1b904530a8f369f79553939bd1cc47e1c1d3f2f9c08d21c6bf5 |
Hashes for ldpc-0.1.53-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 333f54b2ac5555c75a41d19a5d823a8619c23a9fbc94106352bb89c5a8cd6aab |
|
MD5 | d7470f94ed4828b40e1144404083c49d |
|
BLAKE2b-256 | 74099e2487df39b1a870cd68e14f9082a1c555d058b464415224c5a95eae4941 |