Skip to content

[WIP] A game of surface codes demo #1355

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 26 commits into
base: dev
Choose a base branch
from
Open

[WIP] A game of surface codes demo #1355

wants to merge 26 commits into from

Conversation

Qottmann
Copy link
Collaborator

@Qottmann Qottmann commented Apr 22, 2025

P0 Game of Surface Codes Demo 2025 Q2 [sc-87600]

open question:

  • do I understand it correct that single X and Z measurements are free, but joint measurements cost 1 🕒? >> yes
  • What does it mean that the error probability of the distillation of 15 faulty magic states with $p$ leads to a faulty magic state with probability $35p^3$, yet, the probability of failure is $(1-p)^n$? 🤔 >> p is the infidelity of the state, and $35p^3$ is the infidelity of the distilled state. The success chance of not having an error is $(1-p)^n$

Copy link

👋 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!

Copy link

github-actions bot commented Apr 22, 2025

Thank you for opening this pull request.

You can find the built site at this link.

Deployment Info:

  • Pull Request ID: 1355
  • Deployment SHA: 68d3d436bf28eac1d1daac46e626902c8a588d9b
    (The Deployment SHA refers to the latest commit hash the docs were built from)

Note: It may take several minutes for updates to this pull request to be reflected on the deployed site.

Copy link
Contributor

@dime10 dime10 left a comment

Choose a reason for hiding this comment

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

Nice demo! 🤩

Nothing much to say except minor editing and a few questions/suggestions.

r"""A Game of Surface Codes: Large-Scale Quantum Computing with Lattice Surgery
===============================================================================

abstract
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there an abstract to be added?


The game of surface codes [#Litinski]_ is a high-level framework for designing surface code quantum computing architectures.
The game helps us understand space-time trade-offs, where e.g. designs with a higher qubit overhead allow for faster computations and vice versa.
E.g., a space-efficient design might allow a computation with :math:`10^8` T gates to run in :math:`4` hours using :math:`55k` physical qubits,
Copy link
Contributor

Choose a reason for hiding this comment

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

some diversity

Suggested change
E.g., a space-efficient design might allow a computation with :math:`10^8` T gates to run in :math:`4` hours using :math:`55k` physical qubits,
For example, a space-efficient design might allow a computation with :math:`10^8` T gates to run in :math:`4` hours using :math:`55k` physical qubits,

The game helps us understand space-time trade-offs, where e.g. designs with a higher qubit overhead allow for faster computations and vice versa.
E.g., a space-efficient design might allow a computation with :math:`10^8` T gates to run in :math:`4` hours using :math:`55k` physical qubits,
whereas an intermediate design may run the same computation in :math:`22` minutes using :math:`120k` physical qubits,
or a time-optimized design in :math:`1` second using :math:`1500` interconnected quantum computers with :math:`220k` physical qubits, each.
Copy link
Contributor

Choose a reason for hiding this comment

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

Just curious, are these real estimates or arbitrary numbers? :D

However, it still helps to understand the correspondences in physical fault tolerant quantum computing (FTQC) architectures.
First of all it is important to note that we consider surface codes that implement `(Clifford + T) <https://pennylane.ai/compilation/clifford-t-gate-set>`__ circuits.
In particular, these circuits can be compiled to circuits that just perform `Pauli product measurements <https://pennylane.ai/compilation/pauli-product-measurement>`__.
This is because all Clifford operations can be moved to the end of the circuit and merged with measurements.
Copy link
Contributor

@dime10 dime10 Apr 30, 2025

Choose a reason for hiding this comment

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

Not sure if it is too much detail at this point, but Clifford operations can also be implemented via measurements.

We also note that the patches that represent qubits correspond to surface code qubits.
There is a detailed explanation in Appendix A in [#Litinski]_ that describes the surface code realizations of all operations that we are going to see.
These are useful to know in order to grasp the full depth of the game, but are not essential to understanding its rules and concluding design principles that we cover in this demo.
For further reading on these subjects, we recommend the `blog posts on the surface code and quantum error correction <https://arthurpesah.me/blog/>`__ by Arthur Pesah, our :doc:`demo on the toric code <tutorial_toric_code>`, as well as the three-part series on the `toric code <https://decodoku.blogspot.com/2016/03/6-toric-code.html>`__ by James Wooton
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
For further reading on these subjects, we recommend the `blog posts on the surface code and quantum error correction <https://arthurpesah.me/blog/>`__ by Arthur Pesah, our :doc:`demo on the toric code <tutorial_toric_code>`, as well as the three-part series on the `toric code <https://decodoku.blogspot.com/2016/03/6-toric-code.html>`__ by James Wooton
For further reading on these subjects, we recommend the `blog posts on the surface code and quantum error correction <https://arthurpesah.me/blog/>`__ by Arthur Pesah, our :doc:`demo on the toric code <tutorial_toric_code>`, as well as the three-part series on the `toric code <https://decodoku.blogspot.com/2016/03/6-toric-code.html>`__ by James Wooton.

Quantum computer designs
------------------------

The 15-to-1 distillation protocol is the simplest of a variety of protocols with each their different characteristics.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
The 15-to-1 distillation protocol is the simplest of a variety of protocols with each their different characteristics.
The 15-to-1 distillation protocol is the simplest of a variety of protocols each with different characteristics.

------------------------

The 15-to-1 distillation protocol is the simplest of a variety of protocols with each their different characteristics.
The best choice for distillation protocol heavily depends on the error probabilities of the quantum computer in use,
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
The best choice for distillation protocol heavily depends on the error probabilities of the quantum computer in use,
The best choice of distillation protocol heavily depends on the error probabilities of the quantum computer in use,

The 15-to-1 distillation protocol is the simplest of a variety of protocols with each their different characteristics.
The best choice for distillation protocol heavily depends on the error probabilities of the quantum computer in use,
as well as the overall tolerance for errors we allow to still occur.
For example, assume we tolerate T infidelity of :math:`10^{-10}` and have :math:`p=10^{-4}`, then
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
For example, assume we tolerate T infidelity of :math:`10^{-10}` and have :math:`p=10^{-4}`, then
For example, assume we tolerate a T infidelity of :math:`10^{-10}` and have :math:`p=10^{-4}`, then

Intermediate setup consisting of the intermediate data block and two 15-to-1 distillation blocks on each end.
**

In this case we require 222 tiles, so :math:`222 \cdot 2 \cdot d^2 \approx 75k` physical qubits, and the same computation mentioned before would finish in half the time after about :math:`2h`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Nice! I like this section with the different time constraints :)

Conclusion
----------

We've been introduced to a high-level description that allows us to reason about space-time trade-offs in FTQC architecture designs.
Copy link
Contributor

Choose a reason for hiding this comment

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

... high-level description of what?

Suggested change
We've been introduced to a high-level description that allows us to reason about space-time trade-offs in FTQC architecture designs.
We've been introduced to a high-level description that allows us to reason about space-time trade-offs in FTQC architecture designs.

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.

2 participants