# Which codes can implement transversal non-Clifford gates

A paper Three-dimensional surface codes: Transversal gates and fault-tolerant architectures discusses 3D surface codes and shows that

CZ and CCZ gates are transversal in [these] codes.

They give a small example in Appendix A. I'm a bit confused by some of the parameters. There are three codes listed there; each is $$[[12,1,2]]$$.

So does that mean that the "overall code" acts on 36 qubits? In that case how are the three codes "stitched" together to form the bigger code? Alternatively, if I have some $$[[n,k,d]]$$ code, how do I check if it can implement a CZ,CCZ,CCCZ,...gate or not?

• They give $3$ different examples; $\mathcal{SC}_{r}$, $\mathcal{SC}_{g}$ and $\mathcal{SC}_{b}$. These are all, on their own, $[[12,1,2]]$ codes; figure $21$ just shows a graphical representation of $\mathcal{SC}_{g}$. Mathematically speaking, for any code any gate is possible. Physically as well, but some gates may be very 'weird/hard' to implement. The point here is that the $CZ$ and the $CCZ$ gates are transversally implementable.
– JSdJ
Nov 30 '20 at 10:34
• @JSdJ I'm pretty sure it's a single example. All three codes are used together. If you take $SC_r$ alone then that's a just a run of the mill CSS code; you can't do CCZ with it. So my understanding is that for CZ you need 2 codes (or "code blocks"); for CCZ you need 3 codes, ...my question is on how these code blocks fit into the overall picture...it could be that you just concatenate the stabilizers so each small code acts independently on separate qubits...but somehow this doesn't seem right. Nov 30 '20 at 16:05