What's in here ?
Resources (explanations, code, jupyter notebooks) to help you get started with quantum LDPC codes.
This repository is intended for myself before I leanred quantum ECC. Hopefully, it would allow the reader who knows some classical ECC and some linear algebra to understand how to carry their knowledge from classical ECC to quantum ECC, which is what I needed a few years ago.
I found that most books that teach Quantum computing delay quantum ECC to very end, even though (I think) they could be learned and used before most of the quantum computing background.
Another thing I found is that some (very good) books rely on the reader knowing stabilizer formalism and what it means to measure a stabilizer in order to understand and use ECC which could be regarder over the binary field.
I haven't published this to pypi (although I do test with testpypi), so one option is to clone the repository locally using
Windows / linux:
git clone git@github.com:Omer-Sella/qecc.gitThen I suggest creating a virtual environment (using your available virtual environment tool) and installing the dependencies in requirements.txt
Windows / linux
pip install -r requirements.txtFinally, install the package using
pip install -e .From here you can do one of a few things:
- Look into the notebooks folder to get started on quantum error correcting codes.
- Use the codes in /src/qecc/polynomialCodes.py and in /codeMatrices/
- Use the (Reinforcement Learning) environment in /src/qecc/bicycleBivariateCodeEnvironment.py if you want to apply reinforcement learning agents to construct BB codes.