Skip to content

[Demo] FT threshold theorem#1715

Merged
drdren merged 46 commits intomasterfrom
ft-threshold-theorem
Apr 24, 2026
Merged

[Demo] FT threshold theorem#1715
drdren merged 46 commits intomasterfrom
ft-threshold-theorem

Conversation

@obliviateandsurrender
Copy link
Copy Markdown
Contributor

Title: Understanding Fault-tolerant Threshold Theorem in Practice

Summary: A hands-on guide to understanding the fault-tolerant threshold theorem and simulating surface code pseudo-thresholds.

Relevant references:

Possible Drawbacks:

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, 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)

  • Tutorial
  • Demo
  • How-to

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 5, 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!

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 17, 2026

Your preview is ready 🎉!

You can view your changes here

Deployed at: 2026-04-24 16:39:39 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.

Had a brief first read, looks very nice overall!

My main feedback is that while the content itself is great, the start after the abstract is a bit steep, and could potentially could be better motivated by providing some big picture context and anticipate what is going to happen in the demo

Comment thread demonstrations_v2/tutorial_ft_threshold/demo.py Outdated
Comment thread demonstrations_v2/tutorial_ft_threshold/demo.py Outdated
Comment thread demonstrations_v2/tutorial_ft_threshold/demo.py Outdated
@obliviateandsurrender
Copy link
Copy Markdown
Contributor Author

Had a brief first read, looks very nice overall!

My main feedback is that while the content itself is great, the start after the abstract is a bit steep, and could potentially could be better motivated by providing some big picture context and anticipate what is going to happen in the demo

@Qottmann Added these to the introduction, along with a figure for surface code, to better help readers visualize the function.

Comment thread demonstrations_v2/tutorial_ft_threshold/demo.py Outdated
Comment thread demonstrations_v2/tutorial_ft_threshold/demo.py Outdated
@Qottmann
Copy link
Copy Markdown
Collaborator

to better help readers visualize the function.

which function are you referring to?

I think it could be nice to anticipate these diagrams and what they mean already in the abstract/intro
image

i.e. creating a hand-drawn mock of them and explaining the different regions and what these diagrams say

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.

Hi @obliviateandsurrender , I really enjoyed your demo. I think the readers will love reading it. I had few issues with the flow or the wording. Rather, I think that the definitions of the two thresholds could be made clearer.

The concept is tangible at a high level: If the physical qubits are very erroneous, then encoding qubits with a QEC code using many more qubits will only create noisier results. However, introducing the two different thresholds makes that story more complicated.

Can you clarify the two thresholds? Which should a person eager to implement an algorithm on hardware care about?

Comment thread demonstrations_v2/tutorial_fault_tolerant_threshold/demo.py
Comment thread demonstrations_v2/tutorial_ft_threshold/demo.py Outdated
Comment on lines +27 to +30
error rates, computing two key metrics: (i) the pseudo-threshold, which is the break-even
point where a specific error-correcting code becomes better than doing nothing at all, and
(ii) the fault-tolerant threshold, the fundamental crossing point below which increasing our
code size provides an exponential suppression of errors.
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 would say that the two thresholds don't seem very different to each other. Surely, if increasing the code size means that errors go down, then that means that QEC is better than doing nothing at all? The other way around is true too; if applying QEC is better than doing nothing, then that implies that increasing distance d should improve errors?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, they are not very different (at least in purpose), but rather in being a property of a code family or an individual code. Since generally, you would start with a single code implementation for your hardware, the pseudo-threshold is what you would like to establish, which is also known as the break-even testing. You would proceed to observe the latter only after the former is confirmed (as per my intuitive understanding).

Comment thread demonstrations_v2/tutorial_fault_tolerant_threshold/demo.py
Comment thread demonstrations_v2/tutorial_ft_threshold/demo.py Outdated
Comment thread demonstrations_v2/tutorial_fault_tolerant_threshold/demo.py
Comment thread demonstrations_v2/tutorial_fault_tolerant_threshold/demo.py
Comment thread demonstrations_v2/tutorial_fault_tolerant_threshold/demo.py
Comment thread demonstrations_v2/tutorial_fault_tolerant_threshold/demo.py
Comment thread demonstrations_v2/tutorial_fault_tolerant_threshold/demo.py
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.

I really enjoyed reading this demo, @obliviateandsurrender! I think it is clear and well written. Amazing graphics. How? I am happy to approve this demo.

Comment thread demonstrations_v2/tutorial_fault_tolerant_threshold/demo.py
Comment thread demonstrations_v2/tutorial_fault_tolerant_threshold/demo.py
Comment thread demonstrations_v2/tutorial_fault_tolerant_threshold/demo.py
Comment thread demonstrations_v2/tutorial_fault_tolerant_threshold/metadata.json
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.

Let's be sure to add the thumbnail when it is ready!

@drdren drdren self-requested a review April 15, 2026 22:39
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.

Thumbnail!

@drdren drdren self-requested a review April 17, 2026 20:21
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.

With the thumbnails and dates changed, I am happy to approve this!

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.

Update dates

Comment thread demonstrations_v2/tutorial_fault_tolerant_threshold/metadata.json Outdated
@drdren drdren merged commit 2c9c733 into master Apr 24, 2026
12 checks passed
@drdren drdren deleted the ft-threshold-theorem branch April 24, 2026 17:12
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.

4 participants