Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ldpc-0.1.51.tar.gz (367.7 kB view hashes)

Uploaded Source

Built Distributions

ldpc-0.1.51-cp311-cp311-win_amd64.whl (533.9 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

ldpc-0.1.51-cp311-cp311-win32.whl (515.0 kB view hashes)

Uploaded CPython 3.11 Windows x86

ldpc-0.1.51-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

ldpc-0.1.51-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.3 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

ldpc-0.1.51-cp311-cp311-macosx_11_0_arm64.whl (561.0 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

ldpc-0.1.51-cp311-cp311-macosx_10_9_x86_64.whl (567.9 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

ldpc-0.1.51-cp310-cp310-win_amd64.whl (533.7 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

ldpc-0.1.51-cp310-cp310-win32.whl (516.0 kB view hashes)

Uploaded CPython 3.10 Windows x86

ldpc-0.1.51-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

ldpc-0.1.51-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

ldpc-0.1.51-cp310-cp310-macosx_11_0_arm64.whl (561.2 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

ldpc-0.1.51-cp310-cp310-macosx_10_9_x86_64.whl (567.3 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

ldpc-0.1.51-cp39-cp39-win_amd64.whl (535.4 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

ldpc-0.1.51-cp39-cp39-win32.whl (517.9 kB view hashes)

Uploaded CPython 3.9 Windows x86

ldpc-0.1.51-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

ldpc-0.1.51-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

ldpc-0.1.51-cp39-cp39-macosx_11_0_arm64.whl (562.8 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

ldpc-0.1.51-cp39-cp39-macosx_10_9_x86_64.whl (569.1 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

ldpc-0.1.51-cp38-cp38-win_amd64.whl (536.0 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

ldpc-0.1.51-cp38-cp38-win32.whl (517.9 kB view hashes)

Uploaded CPython 3.8 Windows x86

ldpc-0.1.51-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

ldpc-0.1.51-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (1.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

ldpc-0.1.51-cp38-cp38-macosx_11_0_arm64.whl (563.1 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

ldpc-0.1.51-cp38-cp38-macosx_10_9_x86_64.whl (569.6 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page