Skip to main content
Share Your Experience: Take the 2024 Developer Survey
4 votes

Can you produce Non-Clifford gates via Lattice Surgery?

Merge and split can be performed with stabilizer operations (up to feedback due to ZX defining merge to use postselection whereas real computers have measurement instead): Therefore if merge or split ...
Craig Gidney's user avatar
  • 37.8k
3 votes
Accepted

How does one perform an $S$ gate on a surface code patch using lattice surgery?

In lattice surgery, you perform $S$ gates by preparing a $Y$ state and then permanently merging the $Y$ state into the target qubit: See "Inplace Access to the Surface Code Y Basis" for ...
Craig Gidney's user avatar
  • 37.8k
3 votes

Getting intuition on the state-injection relations for the generalized $\exp(-iP \pi/8)$ $T$-gates (ideally using ZX calculus)

TL;DR: The key idea that helps to translate these circuits into ZX diagrams is the interpretation of two strongly complementary spiders as the copy and parity operations$^1$. As expected, the ZX ...
Adam Zalcman's user avatar
  • 22.9k
2 votes

Lattice Surgery: how does lattice merging act on the physical qubits?

this measurement procedure would not involve the merge qubits introduced at the boundary at all, effectively leaving them in their initial |0⟩ state. You have to repeatedly measure the XXXX and ZZZZ ...
Craig Gidney's user avatar
  • 37.8k
2 votes

Number of logical cycles to implement $R_Z(\theta)$ gates in lattice surgery: why isn't it the number of layers $\times$ the $T$-count in $R_Z$?

This number corresponds to the sentence "...the number of logical time steps required is simply the number of measurements needed to entangle the algorithm and synthesis ancillas." - that ...
Mariia Mykhailova's user avatar
2 votes

High logical error rates when implementing Lattice Surgery with Stim

Set your physical error rate very low, like 1e-4 or 1e-5, then record shots until you get one that fails. Use stim.Circuit.explain_detector_error_model_errors to ...
Craig Gidney's user avatar
  • 37.8k
2 votes

Kraus decomposition of merging in lattice surgery

Lattice merge isn't faithfully captured by a CPTP map description (and therefore a Kraus representation). Tracking $M$, the measurement outcome, conditions what logical correction operation you will ...
rmehta's user avatar
  • 51
1 vote
Accepted

Kraus decomposition of merging in lattice surgery

CP maps for lattice surgery merge with post-selection Post-selecting on $M_{ZZ}=0$, lattice surgery merge is described by the completely positive linear map with Kraus representation \begin{align} \...
Adam Zalcman's user avatar
  • 22.9k
1 vote

Fault tolerance of turning off a stabilizer measurement for later rounds of error correction?

If you run this circuit, you will find that the error rate of the logical measurement is not improving with code distance. It only takes one stabilizer being consistently wrong to get the logical ...
Craig Gidney's user avatar
  • 37.8k
1 vote
Accepted

Lattice surgery and real-time decoding

The decoder doesn't need to be "caught up" in order to start or stop lattice surgery. You just charge forward and merge/split the patches, and the decoder will figure out the corrections ...
Craig Gidney's user avatar
  • 37.8k
1 vote
Accepted

15-to-1 distillation protocol in lattice surgery: doesn't the potential rejection of the level-1 magic states makes it last longer than $15$ timestep?

Yes, it takes slightly longer on average due to discards. If the injection error rate is 0.1%, then your first stage factory will discard 1-0.999^15 ~= 1.5% of the time. Accounting for this increases ...
Craig Gidney's user avatar
  • 37.8k
1 vote
Accepted

Using Pymatching to decode lattice surgery process

There's nothing fundamentally different about getting pymatching to decode lattice surgery instead of memory. Make a stim circuit describing the exact operations that implement the surface codes being ...
Craig Gidney's user avatar
  • 37.8k

Only top scored, non community-wiki answers of a minimum length are eligible