Skip to content

[Demo] qLDPC codes#1714

Open
obliviateandsurrender wants to merge 45 commits intodevfrom
qldpc-codes
Open

[Demo] qLDPC codes#1714
obliviateandsurrender wants to merge 45 commits intodevfrom
qldpc-codes

Conversation

@obliviateandsurrender
Copy link
Copy Markdown
Contributor

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.

    • To have resources regarding quantum error correction.
  • AUDIENCE — Who is this for?
    Eg. Chemistry researchers, PL educators, and beginners in quantum computing.

    • Error correction researchers and enthusiasts.
  • KEYWORDS — What words should be included in the marketing post?

    • qLDPC codes, quantum error correction
  • Which of the following types of documentation is most similar to your file?
    (more details here)

  • Tutorial
  • Demo
  • How-to

@obliviateandsurrender obliviateandsurrender requested review from a team as code owners March 3, 2026 12:48
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 3, 2026

👋 Hey, looks like you've updated some demos!

🐘 Don't forget to update the dateOfLastModification in the associated metadata files so your changes are reflected in Glass Onion (search and recommendations).

Please hide this comment once the field(s) are updated. Thanks!

@obliviateandsurrender obliviateandsurrender removed request for a team March 3, 2026 12:49
@obliviateandsurrender obliviateandsurrender changed the base branch from master to dev March 3, 2026 13:04
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 3, 2026

Your preview is ready 🎉!

You can view your changes here

Deployed at: 2026-03-30 16:04:32 UTC

Copy link
Copy Markdown
Collaborator

@Qottmann Qottmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Collaborator

@Qottmann Qottmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

@Qottmann
Copy link
Copy Markdown
Collaborator

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)

Copy link
Copy Markdown
Contributor

@daniela-angulo daniela-angulo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great demo!
The structure flows really well.
I left comments.

Copy link
Copy Markdown
Collaborator

@Qottmann Qottmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

great demo @obliviateandsurrender !

just some small things left to polish, otherwise seems good to go as my major concerns are all lifted :)

Copy link
Copy Markdown
Contributor

@daniela-angulo daniela-angulo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few comments to polish minor things.
This is great work! very informative demo.

Copy link
Copy Markdown
Contributor

@drdren drdren left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
(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
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's start a new paragraph here!

Suggested change
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
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# 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.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
# 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
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this PennyLane demo is relevant?

Suggested change
# 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
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)`,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is \mathbb{F}_2 obvious to the reader?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants