The circuit
The 104\times401 matrix. Rows are wires and columns are rotations. A 1 means the wire takes part in the rotation, and the number beside each wire is its row weight. Scroll sideways to see every column.
| wire | 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 320 330 340 350 360 370 380 390 400 |
|---|---|
| out 0 (401) | 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 |
| check 1 (40) | 1······························1····111·1·111·11·1·111····11·1·111······························1····111·1·111·11·1·111····11·1·11··············································································································································································································································································· |
| check 2 (40) | ·1·····························11···1··1111··11·1111··1···1·1111··1·····························11···1··1111··11·1111··1···1·1111················································································································································································································································································ |
| check 3 (24) | ··1····························1·1··1·1··1··1·····1··1·1··1···1····1····························1·1··1·1··1··1·····1··1·1··1···1················································································································································································································································································· |
| check 4 (40) | ···1···························1··1·1·111··11111·1··111·1·1··1··1···1···························1··1·1·111··11111·1··111·1·1··1··1··············································································································································································································································································· |
| check 5 (48) | ····1··························11··11·11·111·1··11111·11·11··1111····1··························11··11·11·111·1··11111·11·11··1111··············································································································································································································································································· |
| check 6 (24) | ·····1·························111····11·······1··1····11····11·······1·························111····11·······1··1····11····11················································································································································································································································································· |
| check 7 (48) | ······1························1·11·1111··111·1111··11··1111·11·1······1························1·11·1111··111·1111··11··1111·11·1··············································································································································································································································································· |
| check 8 (40) | ·······1·······················11·111··1··1··11·1·111·1··1··111·1·······1·······················11·111··1··1··11·1·111·1··1··111·1··············································································································································································································································································· |
| check 9 (24) | ········1······················111·1··1···1·1··········1···1··1·1········1······················111·1··1···1·1··········1···1··1·1··············································································································································································································································································· |
| check 10 (48) | ·········1·····················1111··1111·1·1111·1·111··1·1111··1·········1·····················1111··1111·1·1111·1·111··1·1111··1··············································································································································································································································································· |
| check 11 (48) | ··········1····················1111111·1·11·11··1111··1··11·1·111··········1····················1111111·1·11·11··1111··1··11·1·111··············································································································································································································································································· |
| check 12 (24) | ···········1···················11111········11·1··1··1·1····················1···················11111········11·1··1··1·1························································································································································································································································································ |
| check 13 (48) | ············1··················1·111·11·1·1111·111··111·1·11·1·11············1··················1·111·11·1·1111·111··111·1·11·1·11··············································································································································································································································································· |
| check 14 (48) | ·············1·················11·11·1·1111··1·11·111·11·11·1111··············1·················11·11·1·1111··1·11·111·11·11·1111················································································································································································································································································ |
| check 15 (24) | ··············1················1·1·1·1···1··1··11······11·····1················1················1·1·1·1···1··1··11······11·····1················································································································································································································································································· |
| check 16 (40) | ···············1···············1··1··1··1··111111··111··1111·1··1···············1···············1··1··1··1··111111··111··1111·1··1··············································································································································································································································································· |
| check 17 (40) | ················1··············11··111··1111·1··1··1··1··1··11111················1··············11··111··1111·1··1··1··1··1··11111··············································································································································································································································································· |
| check 18 (24) | ·················1·············111······11·····1···1·1·1···1··1···················1·············111······11·····1···1·1·1···1··1················································································································································································································································································· |
| check 19 (48) | ··················1············1·11·111·11·11·1111·1·11·1·1111··1··················1············1·11·111·11·11·1111·1·11·1·1111··1··············································································································································································································································································· |
| check 20 (48) | ···················1···········11·111··111·1·11·1·11·111·11·1·111···················1···········11·111··111·1·11·1·11·111·11·1·111··············································································································································································································································································· |
| check 21 (24) | ····················1··········111·1··1··1·1·········1111····························1··········111·1··1··1·1·········1111······················································································································································································································································································· |
| check 22 (48) | ·····················1·········1·11··1111··1··11·1·111111111·1·11·····················1·········1·11··1111··1··11·1·111111111·1·11··············································································································································································································································································· |
| check 23 (48) | ······················1········11·1111·1·111··1·1111··1111··1111·······················1········11·1111·1·111··1·1111··1111··1111················································································································································································································································································ |
| check 24 (24) | ·······················1·······1·1·1··········1···1··1·111·1··1·························1·······1·1·1··········1···1··1·111·1··1················································································································································································································································································· |
| check 25 (40) | ························1······1··1··11·1·111·1··1··111·11·111··1························1······1··1··11·1·111·1··1··111·11·111··1··············································································································································································································································································· |
| check 26 (48) | ·························1·····11··111·1111··11··1111·11·1·11·111·························1·····11··111·1111··11··1111·11·1·11·111··············································································································································································································································································· |
| check 27 (24) | ··························1····111·······1··1····11····11··11······························1····111·······1··1····11····11··11··················································································································································································································································································· |
| check 28 (48) | ···························1···1·11·111·1··11111·11·11··11111··11···························1···1·11·111·1··11111·11·11··11111··11··············································································································································································································································································· |
| check 29 (40) | ····························1··11·111··11111·1··111·1·1··1··1··1·····························1··11·111··11111·1··111·1·1··1··1··1················································································································································································································································································ |
| check 30 (24) | ·····························1·1·1·1··1··1·····1··1·1··1···1···1······························1·1·1·1··1··1·····1··1·1··1···1···1················································································································································································································································································ |
| check 31 (40) | ······························11··1··1111··11·1111··1···1·1111·1·······························11··1··1111··11·1111··1···1·1111·1················································································································································································································································································ |
| check 32 (56) | ··1·1··1···111·111···1··11111·······1·1·1·······111··1·11·11·11····1·1··1···111·111···1··11111·······1·1·1·······111··1·11·11·11················································································································································································································································································· |
| check 33 (24) | ··································································································································1···11··11·11··1··1·1··11······················1···11··11·11··1··1·1··11······································································································································································································· |
| check 34 (32) | ··································································································································11··1·1·1·11·1·11·1111·1·1·····················11··1·1·1·11·1·11·1111·1·1······································································································································································································ |
| check 35 (32) | ··································································································································111·1··11·····111111·111··1····················111·1··11·····111111·111··1····································································································································································································· |
| check 36 (24) | ··································································································································11111······11···11·1··1····1···················11111······11···11·1··1····1···································································································································································································· |
| check 37 (24) | ···································································································································11111······11···11·1··1····1···················11111······11···11·1··1····1··································································································································································································· |
| check 38 (32) | ··································································································································1·11··1·11·11111···111·1·····1·················1·11··1·11·11111···111·1·····1·································································································································································································· |
| check 39 (32) | ··································································································································11·1·1·11·11·11·1·1··111······1················11·1·1·11·11·11·1·1··111······1································································································································································································· |
| check 40 (24) | ··································································································································111··11·······1··1111·1········1···············111··11·······1··1111·1········1································································································································································································ |
| check 41 (24) | ···································································································································111··11·······1··1111·1········1···············111··11·······1··1111·1········1······························································································································································································· |
| check 42 (32) | ··································································································································1·11·1·1·1·11··11·11·111·········1·············1·11·1·1·1·11··11·11·111·········1······························································································································································································ |
| check 43 (32) | ··································································································································11·1·11··111·1·11111··1···········1············11·1·11··111·1·11111··1···········1····························································································································································································· |
| check 44 (32) | ···································································································································11·1·11··111·1·11111··1···········1············11·1·11··111·1·11111··1···········1···························································································································································································· |
| check 45 (24) | ··································································································································1·111··1·1···1···1·1·1·1············1··········1·111··1·1···1···1·1·1·1············1··························································································································································································· |
| check 46 (24) | ··································································································································11·1·····1111·11······11·············1·········11·1·····1111·11······11·············1·························································································································································································· |
| check 47 (24) | ··································································································································111··1··111··1··1·1·1·················1········111··1··111··1··1·1·1·················1························································································································································································· |
| check 48 (24) | ···································································································································111··1··111··1··1·1·1·················1········111··1··111··1··1·1·1·················1························································································································································································ |
| check 49 (24) | ····································································································································111··1··111··1··1·1·1·················1········111··1··111··1··1·1·1·················1······················································································································································································· |
| check 50 (24) | ·····································································································································111··1··111··1··1·1·1·················1········111··1··111··1··1·1·1·················1······················································································································································································ |
| check 51 (24) | ··································································································································1·····1·1··1·111·11···11··················1····1·····1·1··1·111·11···11··················1····················································································································································································· |
| check 52 (24) | ··································································································································11··11·11··1··1·1··11······················1···11··11·11··1··1·1··11······················1···················································································································································································· |
| check 53 (24) | ···································································································································11··11·11··1··1·1··11······················1···11··11·11··1··1·1··11······················1··················································································································································································· |
| check 54 (24) | ····································································································································11··11·11··1··1·1··11······················1···11··11·11··1··1·1··11······················1·················································································································································································· |
| check 55 (24) | ·····································································································································11··11·11··1··1·1··11······················1···11··11·11··1··1·1··11······················1················································································································································································· |
| check 56 (24) | ·································································································································································································································1···················1111·11····1·111···1·1···················1111·11····1·111···1······························································································· |
| check 57 (32) | ································································································································································································································111··1··1··1········1·11·1···1··1·1··11·1111··1··1··1········1·11·1···1··1·1··11·1······························································································· |
| check 58 (32) | ································································································································································································································11·1·1··1··1········11·11····1·1···1111··11·1·1··1··1········11·11····1·1···1111································································································· |
| check 59 (32) | ································································································································································································································11··11··1··1········1···1··11·1·1··11·11·11··11··1··1········1···1··11·1·1··11·11································································································ |
| check 60 (24) | ·····································································································································································································································1···············1111·1··1··11·11·1·······1···············1111·1··1··11·11·1································································································· |
| check 61 (32) | ································································································································································································································11···11·1··1········1···1111·1··111····1·11···11·1··1········1···1111·1··111····1································································································ |
| check 62 (32) | ································································································································································································································11···1·11··1········1·111··1···1·1····11111···1·11··1········1·111··1···1·1····111······························································································· |
| check 63 (32) | ········································································································································································································································1············1··1·1·1111111111·11········1············1··1·1·1111111111·11······························································································· |
| check 64 (32) | ································································································································································································································11···1··11·1········11·1··11111·1····1···11···1··11·1········11·1··11111·1····1·································································································· |
| check 65 (40) | ································································································································································································································11···1··1·11········11·1··11111··11111·1·11···1··1·11········11·1··11111··11111·1································································································ |
| check 66 (24) | ···········································································································································································································································1···········1·11·1··111··1111············1···········1·11·1··111··1111································································································ |
| check 67 (32) | ································································································································································································································11···1··1··11·······111·111··111········111···1··1··11·······111·111··111········1······························································································· |
| check 68 (40) | ································································································································································································································11···1··1··1·1······111·1111·1··11·1·111·11···1··1··1·1······111·1111·1··11·1·111································································································ |
| check 69 (40) | ································································································································································································································11···1··1··1··1·····111111····11··111111·11···1··1··1··1·····111111····11··111111································································································ |
| check 70 (40) | ································································································································································································································11···1··1··1···1····1111·111111111······111···1··1··1···1····1111·111111111······1······························································································· |
| check 71 (40) | ································································································································································································································11···1··1··1····1···11111·1··1111111····111···1··1··1····1···11111·1··1111111····1······························································································· |
| check 72 (40) | ································································································································································································································11···1··1··1·····1··111111·11·1·1111····111···1··1··1·····1··111111·11·1·1111····1······························································································· |
| check 73 (32) | ································································································································································································································11···1··1··1······1·111111·1111··········11···1··1··1······1·111111·1111········································································································· |
| check 74 (40) | ································································································································································································································11···1··1··1·······11111111111·1··11····111···1··1··1·······11111111111·1··11····1······························································································· |
| check 75 (16) | ····················································································································································································································································1······111·1··11····1····················1······111·1··11····1······························································································· |
| check 76 (16) | ··················································································································································································································································································································1·1··1··11111··········1·1··1··11111··························································· |
| check 77 (16) | ··················································································································································································································································································································1111·11·1····1·········1111·11·1····1·························································· |
| check 78 (16) | ···················································································································································································································································································································1111·11·1····1·········1111·11·1····1························································· |
| check 79 (16) | ····················································································································································································································································································································1111·11·1····1·········1111·11·1····1························································ |
| check 80 (16) | ·····················································································································································································································································································································1111·11·1····1·········1111·11·1····1······················································· |
| check 81 (16) | ··················································································································································································································································································································1·1·1·111··1·····1·····1·1·1·111··1·····1······················································ |
| check 82 (16) | ··················································································································································································································································································································1111···1··11······1····1111···1··11······1····················································· |
| check 83 (16) | ··················································································································································································································································································································11·111···11········1···11·111···11········1···················································· |
| check 84 (16) | ···················································································································································································································································································································11·111···11········1···11·111···11········1··················································· |
| check 85 (16) | ··················································································································································································································································································································1··1··11111··········1·1··1··11111··········1·················································· |
| check 86 (16) | ···················································································································································································································································································································1··1··11111··········1·1··1··11111··········1················································· |
| check 87 (8) | ·································································································································································································································································································································································11····11·········11····11······················· |
| check 88 (8) | ································································································································································································································································································································································1···1········1··11···1········1··1··············· |
| check 89 (8) | ····································································································································································································································································································································································1····11··1·······1····11··1·················· |
| check 90 (8) | ······································································································································································································································································································································································111·····1········111·····1················· |
| check 91 (8) | ····································································································································································································································································································································································1····1·····11····1····1·····11··············· |
| check 92 (8) | ···································································································································································································································································································································································1·1·····11·······1·1·····11··················· |
| check 93 (8) | ·································································································································································································································································································································································11··1······1·····11··1······1··················· |
| check 94 (16) | ································································································································································································································································································································································11·1··11····1··1111·1··11····1··11··············· |
| check 95 (8) | ··································································································································································································································································································································································································1·111··1·111··· |
| check 96 (8) | ··································································································································································································································································································································································································111··1·111··1·· |
| check 97 (8) | ···································································································································································································································································································································································································111··1·111··1· |
| check 98 (8) | ·········································································································································································································································································································································································································11111111 |
| check 99 (32) | ·················································································································································································································································································································································································11111111111111111111111111111111 |
| check 100 (72) | ·········································································································································································································································································································································111111111111111111111111111111111111111111111111111111111111111111111111 |
| check 101 (136) | ·········································································································································································································································································1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 |
| check 102 (224) | ·················································································································································································11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 |
| check 103 (336) | ·································································111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 |
The gate is read off the output rows. An output row of odd weight gives a T, a pair of output rows with odd overlap gives a CS, and an odd triple overlap gives a CCZ. The circuit is a valid factory because every such parity that touches a check row is even.
Figures of merit
Output gate
As gates: \mathrm{T}_{0}
As monomials: 0 (output wires per term, separated by +)
This row stands for every gate that a CNOT circuit and S, Z and CZ gates on the outputs can reach from this one. They all prepare the same magic state. The wires are shown in the S_k-canonical frame.
Clifford correction
None. With every rotation a \mathrm{T}=\mathrm{diag}(1,e^{i\pi/4}), the circuit's action is exactly the gate above, and an error-free run passes every check with certainty.
Rotations are numbered by matrix column, from 0. The correction comes from the columns by the weight expansion of Bravyi and Haah (2012). verify_catalog.py re-derives it, checks the corrected circuit's phase input by input against the gate, and on small circuits simulates it gate by gate.
Convert the output with CNOT and S
A CNOT circuit on the outputs, followed by S, Z and CZ gates, turns this factory's gate into other gates that prepare the same magic state. Type a target gate to check whether it is reachable. If it is, you get the circuit, checked on every basis state.
Or list every gate it reaches. The list is built in your browser and saved as a text file, one gate per line.
Python code that writes the same list
import json, urllib.request
NAMES = {1: "T", 2: "CS", 3: "CCZ"}
def equivalent_gates(k, terms, limit=1_000_000):
"""Every gate a CNOT circuit and S, Z, CZ gates reach from this one.
A gate is its set of terms mod Clifford: {a} is T, {a,b} is CS and
{a,b,c} is CCZ on those outputs. CNOT c->t sends x_t to
x_c + x_t - 2 x_c x_t, so a term on t but not c adds the term with t
replaced by c, and, below CCZ, the term with c added.
"""
start = frozenset(frozenset(m) for m in terms)
seen, queue = {start}, [start]
for gate in queue:
for c in range(k):
for t in range(k):
if c == t:
continue
new = set(gate)
for m in gate:
if t in m and c not in m:
new ^= {(m - {t}) | {c}}
if len(m) < 3:
new ^= {m | {c}}
new = frozenset(new)
if new not in seen:
seen.add(new)
queue.append(new)
if len(seen) > limit:
raise RuntimeError(f"more than {limit} equivalent gates")
return seen
def name(gate, k):
sep = "," if k > 10 else ""
terms = sorted((sorted(m) for m in gate), key=lambda m: (len(m), m))
return "·".join(NAMES[len(m)] + sep.join(map(str, m)) for m in terms) or "I"
url = "https://shubhamj810.github.io/magic-state-factory-repo/data/factories/401.1.6.a.json"
record = json.load(urllib.request.urlopen(url))
k = record["parameters"]["k"]
gates = equivalent_gates(k, record["gate"]["monomials"])
lines = sorted(name(g, k) for g in gates)
print(len(lines), "equivalent gates")
with open("equivalent-gates-401.1.6.a.txt", "w") as out:
out.write("\n".join(lines) + "\n")
Distance
6\le d\le 13. No fault of weight below 6 is both undetectable and damaging. None of weight 6 has been found, and one of weight 13 is, so the distance lies between the two.
A damaging fault of weight 13 sits on columns [0,65,130,177,224,265,306,329,352,369,386,393,400].
Its source certifies d\ge 13, as a lower bound. That certificate is not re-checked here, but rankings on this site may use it. With the damaging fault of weight 13 above, it makes the distance exactly d=13. Source: A. Gong (github.com/gongaa/RM127, triply-even/): Gong's doubly even self-dual [[65,1,13]] code doubled onto [[271,1,11]]; the doubling theorem (Jain and Albert, arXiv:2408.12752, Sec. III) gives d >= min(d_sd, d_tri + 2) = 13; the distances of Gong's self-dual [[41,1,9]] and [[65,1,13]] codes are proved here by enumerating every word of their stabiliser spaces.
A fault is a set of faulty columns. It is undetectable when their check parts cancel, and damaging when their output parts do not.
Original source
A. Gong, "On some K=1 codes admitting strongly transversal T," note in the RM127 repository, triply-even/ (2025). github.com/gongaa/RM127/tree/main/triply-even
Provenance
a code of the triply even family of A. Gong (note in github.com/gongaa/RM127, triply-even/; transversal_t_codes/): her doubly even self-dual [[41,1,9]] and [[65,1,13]] codes and quantum QR codes doubled onto [[95,1,7]], rebuilt here from her self-dual codes, where T on every qubit is a logical T or T-dagger; a verified witness, not a maximum
Found by: Gong doubling: triply even family
Discovery: pre-existing
1 recorded source
[
{
"regime": "Gong doubling: triply even family",
"file": "transversal_t_codes/factories.json",
"label": "G-401",
"N": 104,
"d": 6,
"d_is_exact": false,
"origin": "A. Gong, \"On some K=1 codes admitting strongly transversal T\", note in github.com/gongaa/RM127, triply-even/ (2025)",
"provenance": "Gong's doubly even self-dual [[65,1,13]] code doubled onto [[271,1,11]] (Gong's note)"
}
]Use it in code
Load this factory and re-derive every number from its circuit with the catalogue's own verifier.
# git clone https://github.com/shubhamj810/magic-state-factory-repo
# cd magic-state-factory-repo/master_catalog
import json, urllib.request
import verify_catalog as VC
url = "https://shubhamj810.github.io/magic-state-factory-repo/data/factories/401.1.6.a.json"
record = json.load(urllib.request.urlopen(url))
columns = record["circuit"]["columns"]
k, N = record["parameters"]["k"], record["parameters"]["N"]
facts, problems = VC.derive(columns, k, N) # gate, T-count, degree, ...
distance = VC.measure_distance(columns, k, N) # exhaustive fault search
print(facts["gate_human"], distance["d_exact"] or distance["d_at_least"],
problems or "verified")
Raw record
Show the JSON this page is built from
Source: master_catalog.json, factories[1019].