Conversation
|
👋 Hey, looks like you've updated some demos! 🐘 Don't forget to update the Please hide this comment once the field(s) are updated. Thanks! |
Your preview is ready 🎉!You can view your changes here
|
Qottmann
left a comment
There was a problem hiding this comment.
Very nice demo and overview of the qLDPC landscape, @obliviateandsurrender !
My main concerns are about being able to understanding the topics in a self-consistent way. Because the demo is covering a wide range of topics, it naturally cannot go into full details. I think sometimes some examples could do wonders though, so suggested to add some here and there.
Qottmann
left a comment
There was a problem hiding this comment.
I'm a big fan of this demo, thanks so much @obliviateandsurrender !
Went over the demo again and left some comments and remaining questions.
I'm a bit confused about the part where you first introduce the CSS code, which kinda looks like a hypergraph product code (but I guess its not?)
would be good to clarify if and how they are related and make clear the distinctions
Once addressed, I think this is good for publication
|
I think one crucial point to show / highlight is how the QLDPC codes we construct assume a non-local connectivity. Somehow visualizing this with a graph would be a super nice addition imo (could be done just with an image, or with code) |
daniela-angulo
left a comment
There was a problem hiding this comment.
Great demo!
The structure flows really well.
I left comments.
Qottmann
left a comment
There was a problem hiding this comment.
great demo @obliviateandsurrender !
just some small things left to polish, otherwise seems good to go as my major concerns are all lifted :)
daniela-angulo
left a comment
There was a problem hiding this comment.
Just a few comments to polish minor things.
This is great work! very informative demo.
drdren
left a comment
There was a problem hiding this comment.
Great work, @obliviateandsurrender ! I left a few formatting suggestions.
| It still remains unclear which combination of these options would lead to the best long-term | ||
| solution. But as solving real-world problems requires scaling up to thousands of logical qubits, | ||
| moving beyond strict nearest-neighbor constraints becomes crucial. Quantum low-density parity-check | ||
| (qLDPC) codes are particularly well-suited for this, as they leverage high-connectivity |
There was a problem hiding this comment.
| (qLDPC) codes are particularly well-suited for this, as they leverage high-connectivity | |
| (qLDPC) codes are particularly well-suited for this, as they leverage high connectivity |
|
|
||
| It still remains unclear which combination of these options would lead to the best long-term | ||
| solution. But as solving real-world problems requires scaling up to thousands of logical qubits, | ||
| moving beyond strict nearest-neighbor constraints becomes crucial. Quantum low-density parity-check |
There was a problem hiding this comment.
Let's start a new paragraph here!
| moving beyond strict nearest-neighbor constraints becomes crucial. Quantum low-density parity-check | |
| moving beyond strict nearest-neighbor constraints becomes crucial. | |
| Quantum low-density parity-check |
| moving beyond strict nearest-neighbor constraints becomes crucial. Quantum low-density parity-check | ||
| (qLDPC) codes are particularly well-suited for this, as they leverage high-connectivity | ||
| between qubits to drastically reduce qubit overheads, making them the codes of choice for | ||
| the hardware platforms that support such qubit connectivity. While the low-degree constraint |
There was a problem hiding this comment.
This is the first time that "low-degree constraint" appears, and it is not explained. I think we need to explain what this is first.
| # H_X = (H_1 \otimes I_{n_2} | I_{m_1} \otimes H_2^T),\\ | ||
| # H_Z = (I_{n_1} \otimes H_2 | H_1^T \otimes I_{m_2}). | ||
| # | ||
| # Here the algebraic properties of the tensor product ensure that :math:`H_X` and :math:`H_Z` |
There was a problem hiding this comment.
| # Here the algebraic properties of the tensor product ensure that :math:`H_X` and :math:`H_Z` | |
| # Here, the algebraic properties of the tensor product ensure that :math:`H_X` and :math:`H_Z` |
| # Here the algebraic properties of the tensor product ensure that :math:`H_X` and :math:`H_Z` | ||
| # satisfy the symplectic orthogonality condition. Furthermore, the transposed matrix :math:`H_i^T` | ||
| # defines the transpose code, which has its own parameters :math:`[m_i, k_i^T, d_i^T]`, where the | ||
| # superscript :math:`T` simply labels the dimension and distance of this new code. |
There was a problem hiding this comment.
I think the notation "T" is confusing! T is the transpose operation, but it also labels the dimension and distance (both are scalars?)?
|
|
||
| ###################################################################### | ||
| # This represents the non-local connectivity, which is the defining characteristic of | ||
| # qLDPC codes. Next, we determine the code dimension :math:`k`, that follows directly |
There was a problem hiding this comment.
| # qLDPC codes. Next, we determine the code dimension :math:`k`, that follows directly | |
| # qLDPC codes. Next, we determine the code dimension, :math:`k`, that follows directly |
| # | ||
| # As mentioned earlier, Tanner graphs constructed using the parity-check matrix of the code | ||
| # can be used for decoding errors efficiently using an iterative message-passing algorithm | ||
| # like Belief Propagation (BP) [#BProp]_. This decoding process can be thought of as a |
There was a problem hiding this comment.
Maybe this PennyLane demo is relevant?
| # like Belief Propagation (BP) [#BProp]_. This decoding process can be thought of as a | |
| # like [Belief Propagation (BP)](https://pennylane.ai/qml/demos/tutorial_bp_catalyst) [#BProp]_. This decoding process can be thought of as a |
| # | ||
| # For general CSS codes, including qLDPC code families, we can systematically construct a | ||
| # canonical basis of :math:`k` logical operator pairs :math:`\{(L_X^{(i)}, L_Z^{(i)})\}_{i=1}^{k}` | ||
| # using linear algebra over :math:`\mathbb{F}_2`. The algorithm requires two sequential RREF |
There was a problem hiding this comment.
You might need to explain what RREF is because you refer to it a lot in this section.
| # | ||
| # 1. **Lifted Product (LP) Codes:** To overcome the :math:`\mathcal{O}(\sqrt{n})` distance barrier | ||
| # of standard HGP codes, LP codes replace the binary scalar entries of a classical seed matrix | ||
| # with elements of a cyclic group algebra, i.e., polynomials in :math:`\mathbb{F}_2[x]/(x^N-1)`, |
There was a problem hiding this comment.
Is \mathbb{F}_2 obvious to the reader?
Title: Quantum low-density parity-check (qLDPC) codes for quantum error correction
Summary: Explain the motivation, construction and decoding of various types of qLDPC codes.
Relevant references: [Will add]
Possible Drawbacks: N/A
Related GitHub Issues:
If you are writing a demonstration, please answer these questions to facilitate the marketing process.
GOALS — Why are we working on this now?
Eg. Promote a new PL feature or show a PL implementation of a recent paper.
AUDIENCE — Who is this for?
Eg. Chemistry researchers, PL educators, and beginners in quantum computing.
KEYWORDS — What words should be included in the marketing post?
Which of the following types of documentation is most similar to your file?
(more details here)