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.2-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cdaa8e990c7e612f21aac219a046cebf41cd49e32471851165e49002454da341 |
|
MD5 | cc27e8664fe6d0de8cf93aa06954a38c |
|
BLAKE2b-256 | b9e29e8580a8267d18b3ee368174db1b07457680fb073a4dba809a92daccb0a3 |
Hashes for ldpc-0.1.2-cp310-cp310-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c65f947b74c9fb5cbc23480d3c9b925a2b05abb48854510a299731d3464e1f6 |
|
MD5 | ffbff2026357d0cc5c990d4dc963683c |
|
BLAKE2b-256 | 248ca3a1c0cc5bde13326ecfe1de5eaaf4daf8321ea4a676f6ab4cbdabd0cbea |
Hashes for ldpc-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d148fd6acece05bbd91cd3907bab61d113e99f8c315e276f2c8380145fbf8745 |
|
MD5 | 86eda6995881b9b3596cbb556d92f46c |
|
BLAKE2b-256 | 7e802ab435b13b69c8ba7110634b6ce308492d6742460926965b3fecb40888a1 |
Hashes for ldpc-0.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8871c8b367222d36d8f34907e58d5b1c1a174eb77fb2d515b1c0b05d606933e1 |
|
MD5 | 8158a3ad9e6de56fa991cc0d963b21e5 |
|
BLAKE2b-256 | 828904a0b8123b95918c27cad20111541abdc9685cb46a325599c80f464468f1 |
Hashes for ldpc-0.1.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f23110f41980a12ac98efca336956e1c1f9b495fc92872dc87b0d415f321eeba |
|
MD5 | 15d369ab4dff2e144efa94a7d1947db4 |
|
BLAKE2b-256 | 71590ac5076a2acba25804f8a60541a64b97dc39d7dfd848cf1b73d9aac48dab |
Hashes for ldpc-0.1.2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 576f926237d5cb1933974e2396ace14497317a9234bf42de76e118b4e21512b8 |
|
MD5 | 1ef6740cae9f6e3555a66df92df598a1 |
|
BLAKE2b-256 | 82fac124ea4dd4aa6f755b314aea4649f30be6f89e14dc263617ea0c15915d0f |
Hashes for ldpc-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 333ca7a8dbe08fbc66b3a9507ea27cf0de76dd6bd25b9dad82f218e6794b5d10 |
|
MD5 | a8dfa77dce3108856b5fbce040c72555 |
|
BLAKE2b-256 | a9c35d48ae816b2c1405087de2f679595f8f11440ebe70a6007054acd760d2e8 |
Hashes for ldpc-0.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1df20d92c54a782243a8b37936c1c6f2564527469b084546cb443bbcb801d51 |
|
MD5 | a061a8879adfa33f57c4448b6e66b9a5 |
|
BLAKE2b-256 | 30a5bc14c11299f71c861ffe99340161c7908b17091a70a9a8f3fec2d4dd9917 |
Hashes for ldpc-0.1.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2a0a434c1f550f807a503df23a2237b99fe7855c0cddea065dd6fa96303a2398 |
|
MD5 | 54c4cd9dd1a4cd24cdc1c890975ebc7a |
|
BLAKE2b-256 | e4531f7e1f7bf271b959c76b686e926ebad778043eefaf45080bcd7191e04367 |
Hashes for ldpc-0.1.2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee2a19eadeb3548874e901456a0ff00261784646e6d355e86b1e3ff5c5fb7eab |
|
MD5 | a5ceaca73dc4e261dbbb12b6274a41d2 |
|
BLAKE2b-256 | 2c92b4773e66d7011ad0e0ae1d8d9d8da47b4d94d6c2fb156c4f6016a7fad57a |
Hashes for ldpc-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ede13feb5b43c9efbe104c67d0fff577b893f89ae1ee7a30d130d352c09f9d6 |
|
MD5 | d74a0ee45cf66587bd0e66d588c4fe1e |
|
BLAKE2b-256 | 5078dfc4d8bc4beb88e9fd7b2cf6a3c1592770c00c6d68070b9c5bfc11f25255 |
Hashes for ldpc-0.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee406be349e84b00ccf6959149a36901e8eb00ecb3bc52b789dd31bc7298d0b9 |
|
MD5 | 164993692a3ab44254d9487cabc1025d |
|
BLAKE2b-256 | 4944f6a187d12666db4751ea939cd4ba31541c50e7d44426ca1b51d11edc7490 |
Hashes for ldpc-0.1.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 680ab4f4ef5a49fa965e0a2fed34a3b3221260a812b7acabc8d4f727b10fb36b |
|
MD5 | 805017bb692c35018b2260cb2633c73f |
|
BLAKE2b-256 | ccfc954647991e5261d279d0f10dd741431fa15d266298dd0d5f4d15763d6792 |
Hashes for ldpc-0.1.2-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cf0a41415f3c57cd294c59d778b42f5cf07f727b3b5b3a76197f84d34cd9ba68 |
|
MD5 | d038c299a054dd06174b881a039b7a97 |
|
BLAKE2b-256 | 1f14193fc24a49aee494dfd57cad255b55b0da2b21e2d7bf96da41d544ffb0c0 |
Hashes for ldpc-0.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e16b9dfdda9dfd99175cf7a659739a52f2dcf0d6e9b4e185b6ecca00a69255da |
|
MD5 | 0f1da105ae6ae46c68d87919222794ac |
|
BLAKE2b-256 | 03be8bfe5ec7c1c6493ce107a4e9ed611b9fb01e13f3e1445365ebc8353c84de |
Hashes for ldpc-0.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b52b724820daddff18dc94e0f9fc2587d0fa8c65c0bcf0cc922e2e8434e7bc6d |
|
MD5 | e77559afe45fcc933fba2a1e0438c853 |
|
BLAKE2b-256 | b6474e5996182453067cd8cb8278a3920c671bceccc4303fb99bc6f07ae56eb9 |
Hashes for ldpc-0.1.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7b0c0350d1f81f02628d7490b08b2af2ed4e121c71a7d714c4a8550171e2e1d |
|
MD5 | b7bb2aa77049f7f37b152055a10488c9 |
|
BLAKE2b-256 | 31c92286e848c021d72b6cedc76e148e663b3dc657e9878a4833e0865cf516a5 |
Hashes for ldpc-0.1.2-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c532744e0b2a3c9009e85a4516d85856e4b13e5d692b1ffb16a729bee610c383 |
|
MD5 | 5b23768921d3f26b9e3467b34aaeb62d |
|
BLAKE2b-256 | b2b19be9988398c95e4f4aceac16657a0db50e622fbfe9e6d394c73f7eedce38 |
Hashes for ldpc-0.1.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cbfaf17b99bcd290077270b24fed7adc125d8db8a3ea67e303f782d2e9b23b6 |
|
MD5 | eac29d85739267063edee53f97bad130 |
|
BLAKE2b-256 | f5def8b7faf95cd980ec872ee7d7887198278c9e99b070a0201e0d38a9ea225a |
Hashes for ldpc-0.1.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea3434048f1cd5eb84ad8e0e61a18e919926d5dbe069a93070a3d3fe8642822b |
|
MD5 | 42d64f4ca4f6dd5259f7d36572b5ca54 |
|
BLAKE2b-256 | 2f5482879ce80cec81236fb272638b4033fa77fd0a125e868c03903cea649ce0 |
Hashes for ldpc-0.1.2-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5abd3b7e3c47654ba676d47bbecdd1bebf88d4d19c0ed185b8fc1fed6ecafac1 |
|
MD5 | 7f9710dcd2b37bdd44c79aa6095c950f |
|
BLAKE2b-256 | 84066e036fcab9e72b0c58c29a9c91e3cd342eb3e12c34c99a5b03b9cf8ffd58 |