Skip to content

Conversation

@perlinm
Copy link
Contributor

@perlinm perlinm commented Dec 17, 2024

No description provided.

@perlinm perlinm requested a review from ciaranra as a code owner December 17, 2024 20:26
@perlinm
Copy link
Contributor Author

perlinm commented Dec 18, 2024

@ciaranra I'm actually realizing that, in direct analogy with qec_steane_[xz] and qec_tel_[xz] in #115, there are actually four variants of the T gate with "partial QEC". This PR has a newly added t_cor with active correction of X errors, and the old t_tel with passive correction of X errors. It is also possible to construct variants of [t_cor, t_tel] that [actively, passively] correct Z errors. (UPDATE: I am no longer sure of this claim.)

I think I should add all four variants (t_[cor|tel]_[xz]) to this PR. Or maybe we can merge this PR and add a "completion" with all four variants in a follow-up PR. Should I simply rename the old t_tel (breaking backwards compatibility), or should I leave a t_tel method that calls one of t_tel_x or t_tel_z by default? (UPDATE: no longer relevant)

Ditto all of the above for the tdg_* methods, although as a separate question: to simplify and clean up the zoo of T gate methods, what do you think of making all the tdg* methods just call a matching t* method followed by sdg? This is what the method to prepare a Tdg state does, for example. (UPDATE: no longer relevant)

Copy link
Member

@ciaranra ciaranra left a comment

Choose a reason for hiding this comment

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

LGTM

@ciaranra ciaranra merged commit 3e2ef42 into PECOS-packages:development Jan 2, 2025
17 checks passed
@perlinm perlinm deleted the corrective-t branch January 3, 2025 18:06
ciaranra added a commit to ciaranra/PECOS-alt that referenced this pull request May 25, 2025
* Unroll broadcast face rotations (PECOS-packages#110)

* Upgrade to using uv instead of pip (PECOS-packages#111)

* Adding uv to Makefile

* Turn on artifact generation (PECOS-packages#117)

* Add T gates with active error correction (PECOS-packages#118)

* remove t_tel_cor

* bugfix in tdg_cor

* fix t_cor

* Permute all variables of the Steane code (PECOS-packages#114)

* compute the swap of CRegs

* Add Steane-type and teleportation-based QEC for the Steane code (PECOS-packages#115)

* fix qec_steane_z

* set flag bit correctly

* add qec_steane_.*tel templates

* fix Steane.qec_steane_tel

* permute all qubits for teleportation

* fix teleportation-based QEC

* two flag bits for Steane.qec_tel

* rename flag_bit --> flag, in agreement with elsewhere in the repo

* fix If statement

* fix Steane QEC and an incorrect type hint

---------

Co-authored-by: Michael A. Perlin <[email protected]>
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