Remark 10: Flexibility of Graph G #
Statement #
The gauging measurement procedure (Definition 5) allows arbitrary choice of the connected graph G with vertex set equal to the support of L. The properties of the deformed code depend strongly on this choice.
Additional flexibility:
- Dummy vertices: G can have additional vertices beyond the support of L, achieved by gauging L' = L · ∏_{dummy} X_v.
- Graph properties: The choice of G determines |E| (edge qubit count), deformed check weights (path lengths), and distance (expansion).
Main Results #
extendedLogicalOp: L' on V ⊕ D, the extended logical with dummy verticesextendedLogicalOp_eq_mul: L' = L · ∏_{d ∈ D} X_d (factorization)extendedLogicalOp_self_inverse: L' is self-inversemeasurement_sign_with_dummies: σ(L') = σ(L) when dummies give +1deformed_code_edge_overhead: the deformed code has |V| + |E| qubits, so different graphs give different overhead via |E|deformed_code_check_overhead: the deformed code has |V| + |C| + |J| checksedge_expansion_lower_bounds_boundary: expansion of G controls distance
Dummy vertices #
The graph G can have additional "dummy" vertices beyond the support of L. We formalize this by considering a type V ⊕ D that extends V with dummy vertices, and defining L' = L · ∏{d ∈ D} X_d = ∏{q ∈ V ⊕ D} X_q.
The key insight: since dummy qubits are in |+⟩ (eigenstate of X with eigenvalue +1), measuring X on a dummy vertex always gives +1 (outcome 0 in ZMod 2). Therefore the measurement sign of L' equals that of L.
The original logical operator L on V: L = ∏_{v ∈ V} X_v.
Equations
- FlexibilityOfGraphG.originalLogicalOp = { xVec := fun (x : V) => 1, zVec := 0 }
Instances For
The extended logical operator L' on the extended vertex type V ⊕ D. L' = ∏{q ∈ V ⊕ D} X_q = L · ∏{d ∈ D} X_d.
Equations
- FlexibilityOfGraphG.extendedLogicalOp = { xVec := fun (x : V ⊕ D) => 1, zVec := 0 }
Instances For
L lifted to V ⊕ D: acts as X on all V-qubits and I on D-qubits.
Equations
Instances For
Key factorization: L' = L_lift · ∏_{d ∈ D} X_d on V ⊕ D. The extended logical is the product of the lifted original logical and the dummy X product.
L' is self-inverse: L' · L' = 1.
L' is pure X-type: it has no Z-support.
The X-support of L' is all of V ⊕ D.
L' equals prodX(univ) on V ⊕ D.
L' restricted to original vertices matches L: xVec on Sum.inl v is 1.
L' on dummy vertices: xVec on Sum.inr d is 1.
L' has no Z-action on any qubit.
The lifted logical matches the original on V-qubits.
The lifted logical is identity on D-qubits.
The dummy X product is identity on V-qubits.
The dummy X product acts as X on D-qubits.
Measurement sign with dummies: the measurement sign of L' equals that of L when dummy vertices give +1 outcomes (outcome 0 in ZMod 2). This is the formal content of "dummy vertices don't affect the logical measurement."
The weight of L' equals |V| + |D|.
When D is empty, L' restricted to V has the same weight as L.
The Z-support of the dummy X product is empty on all qubits. This means dummyXProduct commutes with everything on the Z side, and adding dummy X operators never changes Z-support parity.
The lifted logical has empty Z-support (pure X-type).
The dummy X product is self-inverse.
The lifted logical is self-inverse.
The lifted logical and dummy X product commute (both pure X-type).
Graph properties affect deformed code overhead #
The choice of graph G determines the parameters of the deformed code:
- Number of edge qubits = |E(G)| (from deformedStabilizerCode_numQubits)
- Number of Gauss checks = |V| (one per vertex)
- Number of flux checks = |C| (one per cycle) These facts connect existing definitions to the remark's claims.
The deformed code's qubit count is |V| + |E|, so the edge qubit overhead (the additional qubits beyond the original |V|) is exactly |E(G)|. Different graphs G give different overhead via their edge count.
The deformed code's check count is |V| + |C| + |J|: |V| Gauss checks, |C| flux checks, and |J| deformed original checks. The overhead in checks beyond the original |J| is |V| + |C|.
Two graphs with different edge counts produce deformed codes with different qubit counts. The qubit overhead difference equals the edge count difference.
Expansion and code distance #
The Cheeger constant of G affects the distance of the deformed code. By Rem_4, for any valid subset S ⊆ V with |S| ≤ |V|/2: h(G) · |S| ≤ |∂S| This means an expander graph ensures that small vertex subsets have large edge boundaries, which prevents low-weight logical operators in the deformed code from surviving the deformation.
For an expander graph, every valid subset has proportionally large boundary. This is the mechanism by which expansion of G controls the distance of the deformed code: logical operators supported on small subsets necessarily have large edge boundary.
For a connected graph on ≥ 2 vertices, the edge set is nonempty (at least one edge exists). This means gauging always introduces at least one auxiliary qubit.
Deformed check weight depends on edge-path length #
The weight of the deformed check s̃_j on the extended system V ⊕ E depends on:
- The original check s_j (its X- and Z-support on V)
- The edge-path γ_j (determines the Z-support on E)
The Z-support of s̃_j on edges is exactly the support of γ_j, so the deformed check weight includes a contribution from the number of edges in γ_j. Shorter paths in G lead to lower-weight deformed checks.
The edge Z-support of a deformed check equals the support of the edge-path γ. More edges in γ means more Z-support on edge qubits, hence higher weight. This connects the graph structure (path lengths) to check weights.
The edge X-support of a deformed check is empty: deformed checks have no X-action on edge qubits.
The number of edge qubits where the deformed check acts non-trivially (via Z) equals the number of edges in γ with γ(e) ≠ 0. This is the "edge contribution" to the deformed check weight.
A zero edge-path adds no edge weight: the deformed check acts only on vertices.