-
Notifications
You must be signed in to change notification settings - Fork 69
Description
To implement the quantum versions of the classical codes, namely:
- Quantum BCH from BCH
- Quantum Goppa from Goppa
- Quantum Convolutional from Convolutional (if feasible)
- Quantum Reed Solomon from Reed Solomon
- Quantum Reed Muller from Reed Muller (CSS construction) (finished)
- Quantum codes from the literature surveys
These codes rely of their classical counterparts so we can hit two targets with one stone, by first defining their classical versions, and using them to for smoothly define the quantum versions. As I go along reading more and more literature, there will be other interesting codes that can be found, so I will add them as well.
For this, I need to go through the classical books (which I am currently doing) and build the classical version of these codes as classical versions are used to develop their quantum analogues. Also, there is an entire book on convolutional codes since it uses Laurent Series and incorporate it as Finite Laurent Field (pending task). In the quantum convolutional case, I had discussed this with nemo devs, Maybe we can implement all the tooling necessary using Oscar (not sure about it's feasibility). I would have to go through the book that was suggested to me by one of the authors of Quantum Convolutional codes some time back. But for the rest of the codes, I am positive that they can be implemented using Nemo and Oscar.
PRs ready for review are:
- Bug fix to the
parity_checks(ReedMuller(r, m))along withRecursiveReedMullercode for cross-reference #277 - Binary Golay codes: [24, 12, 8] and [23, 12, 7] #276
- Goppa code #266
[[2ᵐ - 1, 1, 3]]quantum Reed-Muller code #302 (completed, waiting for 277 to be reviewed, as it's based of 277)[2ᵐ + 1 - 3, k, 2ᵐ ⁺ ¹ - 3 - k]shortenedMDS code #254[[2ʲ, 2ʲ - 2j - 2, 4]]Gottesman code #282
The other PRs are in draft form. I will restart working on them.
Furthermore, I would be delighted to reshape it according to your needs and requirements.
Describe the solution you’d like
Heavily testing the classical counterpart helps to form a reliable quantum code. Cross verification between different formalism of the code helps in this regard as well as observed by testing whether binomial formulation of Reed Muller matches with the recursive definition, as example. This will help us solve the issue of #268 Extensive literature surveys will be carried out, and as you mentioned, the tests, docstrings, documentation will be as per the required standards. It would take 6-8 months as the initial months would be spent of accurately defining their classical versions, and performing tests on them, and then proceeding to the quantum versions.
If you like, I would be pleased to incorporate suggestions that you have in mind before and during the project.
Work on project is in progress as I have started working on classical versions that will be used for quantum codes. I hope you find the project plausible.
I would be delighted to assist in conducting literature reviews of the core papers like 'Improved Simulation of Stabilizer circuits'. I liked this paper a lot. There are a lot of core papers in References section which can be read one by one. Please feel free to assign me papers so I read and collect points about them so that it's easy to know which paper is about what (and where to use as reference) when we get to writing. Also, there will be a lot of new papers that would be appearing in next 2 years, so better to have the earlier ones fully covered so there is time to look at the new papers when writing about the paper.