Skip to content

Clifford hierarchy demo#1723

Open
drdren wants to merge 20 commits intomasterfrom
dren-Clifford-hierarchy
Open

Clifford hierarchy demo#1723
drdren wants to merge 20 commits intomasterfrom
dren-Clifford-hierarchy

Conversation

@drdren
Copy link
Contributor

@drdren drdren commented Mar 16, 2026

Before submitting

Please complete the following checklist when submitting a PR:

  • Ensure that your tutorial executes correctly, and conforms to the
    guidelines specified in the README.

  • Remember to do a grammar check of the content you include.

  • All tutorials conform to
    PEP8 standards.
    To auto format files, simply pip install black, and then
    run black -l 100 path/to/file.py.

When all the above are checked, delete everything above the dashed
line and fill in the pull request template.


Title:

Summary:

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

@drdren drdren requested review from a team as code owners March 16, 2026 18:44
@github-actions
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!

@github-actions
Copy link

github-actions bot commented Mar 16, 2026

Your preview is ready 🎉!

You can view your changes here

Deployed at: 2026-03-25 19:08:14 UTC

@drdren drdren requested a review from dwierichs March 25, 2026 17:29
Copy link
Contributor

@dwierichs dwierichs left a comment

Choose a reason for hiding this comment

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

Amazing work @drdren! It was really easy to follow and the scope, structure and flow really work out very nicely! 🎉
I had a serious of comments and questions, but nothing dramatic/major :)
I think the "largest" is that the semi-Clifford section could use some additional connectors to the remaining demo; 1) anticipate its usefulness for the question "Why T gates?" and 2) highlight that the cheaper teleportation circuit can be used for $T$ gates.

The trouble with universality and quantum error correction
---------------------------------

It would be nice if we were certain that applying a finite sequence of gates could lead to any arbitrary quantum state -- a property called universality [#universality]_. However, Clifford gates such as the `Hadamard <https://docs.pennylane.ai/en/stable/code/api/pennylane.Hadamard.html>`__ $H$, `Phase <https://docs.pennylane.ai/en/stable/code/api/pennylane.S.html>`__ $S$, or `CNOT <https://docs.pennylane.ai/en/stable/code/api/pennylane.CNOT.html>`__ gates and all Pauli gates :math:`\{X,Y,Z\}` are not enough because they can only achieve :math:`90^{\circ}` or :math:`180^{\circ}` rotations.
Copy link
Contributor

Choose a reason for hiding this comment

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

I feel like in this statement:

It would be nice if we were certain that applying a finite sequence of gates could lead to any arbitrary quantum state

we are missing some relaxation; either, the sequence is not required to be finite, or we are happy with approximate states. Any discrete gate set can arguably only produce a discrete set of states for sequences of length $\leq N$ for some finiteness $N$, so they can't produce all states.


It turns out that all you need to achieve universal quantum computing are the Clifford gates and at least one non-Clifford gate [#qecbook]_! In principle, you could select any non-Clifford gate, but a common gate set is `{Clifford}+T <https://pennylane.ai/compilation/clifford-t-gate-set>`__.

The `T gate <https://docs.pennylane.ai/en/stable/code/api/pennylane.T.html>`__ applies a :math:`45^{\circ}` rotation about the $Z$ axis. On the surface, this doesn’t seem too special. But with the additional of a non-Clifford gate, the `Solovay-Kitaev theorem <https://en.wikipedia.org/wiki/Solovay%E2%80%93Kitaev_theorem>`__ guarantees that any state can be reached by a finite sequence of gates, and the gate sequence can be found with the Solovay-Kitaev algorithm [#SK_alg]_ or gridsynth algorithms [#gridsynth]_. So, you can finally obtain, say, a :math:`1^{\circ}` rotation about the $Z$ axis to a :math:`10^{-2}` error with a sequence of $T$, $H$, and $S$ gates.
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 `T gate <https://docs.pennylane.ai/en/stable/code/api/pennylane.T.html>`__ applies a :math:`45^{\circ}` rotation about the $Z$ axis. On the surface, this doesnt seem too special. But with the additional of a non-Clifford gate, the `Solovay-Kitaev theorem <https://en.wikipedia.org/wiki/Solovay%E2%80%93Kitaev_theorem>`__ guarantees that any state can be reached by a finite sequence of gates, and the gate sequence can be found with the Solovay-Kitaev algorithm [#SK_alg]_ or gridsynth algorithms [#gridsynth]_. So, you can finally obtain, say, a :math:`1^{\circ}` rotation about the $Z$ axis to a :math:`10^{-2}` error with a sequence of $T$, $H$, and $S$ gates.
The `T gate <https://docs.pennylane.ai/en/stable/code/api/pennylane.T.html>`__ applies a :math:`45^{\circ}` rotation about the $Z$ axis. On the surface, this doesnt seem too special. But with the addition of a non-Clifford gate, the `Solovay-Kitaev theorem <https://en.wikipedia.org/wiki/Solovay%E2%80%93Kitaev_theorem>`__ guarantees that any state can be reached by a finite sequence of gates, and the gate sequence can be found with the Solovay-Kitaev algorithm [#SK_alg]_ or gridsynth [#gridsynth]_. So, you can finally obtain, say, a :math:`1^{\circ}` rotation about the $Z$ axis to a :math:`10^{-2}` error with a sequence of $T$, $H$, and $S$ gates.

I think?

Copy link
Contributor

Choose a reason for hiding this comment

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

And same comment about finite sequence + "any state can reached" (without "approximately" or so) as above. All statements I know are of the form "Given a target and some precision $\varepsilon$ you need, here is the sequence length you'll need at most to produce a state/unitary that deviates from the target by at most $\varepsilon$ (in whatever norm)".


The `T gate <https://docs.pennylane.ai/en/stable/code/api/pennylane.T.html>`__ applies a :math:`45^{\circ}` rotation about the $Z$ axis. On the surface, this doesn’t seem too special. But with the additional of a non-Clifford gate, the `Solovay-Kitaev theorem <https://en.wikipedia.org/wiki/Solovay%E2%80%93Kitaev_theorem>`__ guarantees that any state can be reached by a finite sequence of gates, and the gate sequence can be found with the Solovay-Kitaev algorithm [#SK_alg]_ or gridsynth algorithms [#gridsynth]_. So, you can finally obtain, say, a :math:`1^{\circ}` rotation about the $Z$ axis to a :math:`10^{-2}` error with a sequence of $T$, $H$, and $S$ gates.

But to achieve fault-tolerant universal quantum computing, quantum states must be encoded with quantum error correction (QEC) codes. Many QEC codes such as the `CSS <https://pennylane.ai/qml/demos/tutorial_stabilizer_codes>`__, colour, surface, and qLDPC [link to Utkarsh's upcoming demo] codes have transversal (therefore fault-tolerant) implementations of Clifford gates. However, the `Eastin-Knill theorem <https://arxiv.org/pdf/0811.4262>`__ dictates that there can be no quantum error correction code that can implement both Clifford and non-Clifford gates transversally. Therefore, it appears that universal quantum computing is impossible to do with error correction.
Copy link
Contributor

Choose a reason for hiding this comment

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

Having some background knowledge, I understand this paragraph. However, to a reader less familiar with the topic, it might not be clear at this point what transversality is, and whether/why it would be the only way to get fault tolerance.
Maybe you could spend one more sentence on introducing transversality, not on a technical level but in terms of its properties: they're simple realization of logic gates that do not propagate errors too quickly, so they are an easy way to get a fault-tolerant gate.

Connected to this:
Currently, with the little knowledge a reader might have, they might be confused by the strong premise

Therefore, it appears that universal quantum computing is impossible to do with error correction.

Following up on the above change, maybe the twist can be more like "what other way could there be to include non-Clifford gates if Eastin-Knill tells us it can't be transversal? -> If only there was some relationship..."

You've probably seen a similar idea before
---------------------------------

The core idea of the Clifford hierarchy lurks beneath many of the concepts you may know: relationships between different gates can be exploited to simplify computation. For example, Clifford-only quantum circuits are known to be efficiently simulateable classically, as proven by the `Gottesman-Knill theorem <https://en.wikipedia.org/wiki/Gottesman%E2%80%93Knill_theorem>`__.
Copy link
Contributor

Choose a reason for hiding this comment

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

simulateable

Either "simulable" or "simulatable", I think?

Pauli group ($C_1$)
^^^^^^^^^^^^^^

At the bottom of this hierarchy is the Pauli group, which contains the familiar Pauli gates :math:`C_1 = \{X, Y, Z\}`.
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
At the bottom of this hierarchy is the Pauli group, which contains the familiar Pauli gates :math:`C_1 = \{X, Y, Z\}`.
At the bottom of this hierarchy is the Pauli group, which contains the familiar Pauli gates and their tensor products :math:`C_1 = \{X, Y, Z\}^{\otimes n}`

Something like this? :)


S.X. Cui, D. Gottesman, and A. Krishna
"Diagonal gates in the Clifford hierarchy"
`1608.06596v1 <https://arxiv.org/abs/1608.06596v1>`__, 2016.
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
`1608.06596v1 <https://arxiv.org/abs/1608.06596v1>`__, 2016.
`1608.06596 <https://arxiv.org/abs/1608.06596>`__, 2016.


C. Chamberland, P. Iyer, and D. Poulin
"Fault-tolerant quantum computing in the Pauli or Clifford frame with slow error diagnostics"
`1704.06662v2 <https://arxiv.org/pdf/1704.06662>`__, 2017.
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
`1704.06662v2 <https://arxiv.org/pdf/1704.06662>`__, 2017.
`1704.06662 <https://arxiv.org/abs/1704.06662>`__, 2017.


J. Hu, Q. Liang, and R. Calderbank
"Climbing the Diagonal Clifford Hierarchy"
`2110.11923v2 <https://arxiv.org/pdf/2110.11923>`__, 2021.
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
`2110.11923v2 <https://arxiv.org/pdf/2110.11923>`__, 2021.
`2110.11923 <https://arxiv.org/abs/2110.11923>`__, 2021.


J.T. Anderson and M. Weippert
"Controlled Gates in the Clifford Hierarchy"
`2410.04711v3 <https://arxiv.org/pdf/2410.04711>`__, 2025.
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
`2410.04711v3 <https://arxiv.org/pdf/2410.04711>`__, 2025.
`2410.04711 <https://arxiv.org/abs/2410.04711>`__, 2025.


L. Bastioni, S. Glandon, T. Pllaha, M. Stewart, and P. Waitkevich
"Climbing the Clifford Hierarchy"
`2603.12088v1 <https://arxiv.org/pdf/2603.12088>`__, 2026.
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
`2603.12088v1 <https://arxiv.org/pdf/2603.12088>`__, 2026.
`2603.12088 <https://arxiv.org/abs/2603.12088>`__, 2026.

Copy link
Contributor

@dwierichs dwierichs left a comment

Choose a reason for hiding this comment

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

Amazing work @drdren! It was really easy to follow and the scope, structure and flow really work out very nicely! 🎉
I had a serious of comments and questions, but nothing dramatic/major :)
I think the "largest" is that the semi-Clifford section could use some additional connectors to the remaining demo; 1) anticipate its usefulness for the question "Why T gates?" and 2) highlight that the cheaper teleportation circuit can be used for $T$ gates.

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