Skip to content
forked from qLDPCOrg/qLDPC

Tools for constructing and analyzing quantum low density parity check (qLDPC) codes. Also more general quantum stabilizer and subsystem codes.

License

Notifications You must be signed in to change notification settings

ryan-kersten/qLDPC

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,971 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

qLDPC

This package contains tools for constructing and analyzing quantum low density parity check (qLDPC) codes. At least, that was the original motivation for this package. In practice, the tools here can work just as well for more general error-correcting stabilizer and subsystem codes.

📦 Installation

This package requires Python>=3.10, and can be installed from the Python Package Index (PyPI) with

pip install qldpc

To install a local version of qLDPC from source:

git clone https://github.com/qLDPCOrg/qLDPC.git
pip install -e qLDPC

You can also pip install -e 'qLDPC[dev]' to additionally install some development tools.

macOS

If you use macOS you may need to install cvxpy manually by following the instructions here before installing qLDPC. If you use conda to manage your python environment, you can obtain cvxpy by running conda install -c conda-forge cvxpy.

GAP

Some features in qLDPC require an installation of the computer algebra system GAP. If you (a) use linux or macOS, and (b) use a conda to manage your python environment, then you can obtain GAP by running conda install -c conda-forge gap. Installations without conda should also work, as long as gap is a recognized shell command (i.e., in a terminal). Unfortunately, I have not figured out how to install GAP in a qLDPC-compatible way on Windows. If you figure this out, please let me know!

🚀 Features

Notable features include:

🤔 Questions and issues

This project aspires to have a documentation page, but at the moment the documentation is out of date and auto-generated from source code that was written to be human-readable in a plain text editor. For now, I recommend looking at the source code (and comments therein) directly, as well as the examples directory. Test files (such as qldpc/codes/quantum_test.py) also contain some examples of using the classes and methods in this library.

If you have any questions, feedback, or requests, please open an issue on GitHub or email me at mika.perlin@gmail.com!

⚓ Attribution

If you use this software in your work, please cite with:

@misc{perlin2023qldpc,
  author = {Perlin, Michael A.},
  title = {{qLDPC}},
  year = {2023},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/qLDPCOrg/qLDPC}},
}

This may require adding \usepackage{url} to your LaTeX file header. Alternatively, you can cite

Michael A. Perlin. qLDPC. https://github.com/qLDPCOrg/qLDPC, 2023.

About

Tools for constructing and analyzing quantum low density parity check (qLDPC) codes. Also more general quantum stabilizer and subsystem codes.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%