Definition 5: Gauging Measurement Algorithm #
Statement #
The gauging measurement procedure measures a logical operator L = ∏_{v ∈ V} X_v by introducing auxiliary edge qubits, measuring Gauss's law operators A_v and edge qubits Z_e, and applying byproduct corrections.
We formalize the classical data and processing of the algorithm:
- Measurement outcomes (ε_v for Gauss's law, ω_e for edge qubits)
- The sign σ = ∏_v ε_v that gives the measurement result
- The byproduct correction rule based on walk parities
- Additivity of walk parity under concatenation and reversal
- The Gauss's law operators and edge Z operators being measured
- Commutativity of all measured operators
We use ZMod 2 for measurement outcomes: 0 ↔ +1, 1 ↔ -1. Products of ±1 values correspond to sums in ZMod 2.
Main Results #
GaugingInput: the input data for the gauging procedureGaugingOutcomes: the measurement outcomes (ε_v, ω_e)measurementSign: the sign σ = ∑_v ε_v (in ZMod 2)walkParity: the parity of ω along a walkbyproductCorrectionAt: the correction at vertex v given a specific walk from v₀gaugingAlgorithm: the full classical output of the algorithmwalkParity_append: additivity under concatenationwalkParity_reverse: invariance under reversalwalkParity_well_defined: two walks give the same parity when closed walks have zero paritygaussLaw_product_gives_logical: ∏_v A_v = LgaussLaw_measured_commute: Gauss measurements commuteedgeZ_measured_commute: edge measurements commute
Corollaries #
- Sign characterization lemmas
- Walk parity algebra
- Measurement operator identifications
Input Data #
The input data for the gauging measurement procedure.
- A connected graph G = (V, E) with V = support of the logical operator L = ∏_v X_v
- A distinguished base vertex v₀ ∈ V for byproduct correction
- baseVertex : V
The base vertex v₀ ∈ V
- connected : G.Connected
The graph G is connected
Instances For
Measurement Outcomes #
The measurement outcomes from the gauging procedure. We use ZMod 2 to represent ±1 outcomes: 0 ↔ +1, 1 ↔ -1. Products of ±1 correspond to sums in ZMod 2.
- gaussOutcome v : the outcome ε_v of measuring Gauss's law operator A_v
- edgeOutcome e : the outcome ω_e of measuring Z_e
- gaussOutcome : V → ZMod 2
Gauss's law measurement outcomes: ε_v for each v ∈ V
Edge Z-measurement outcomes: ω_e for each e ∈ E
Instances For
Sign Computation #
The measurement sign σ = ∏_v ε_v, encoded as ∑_v ε_v in ZMod 2. This is the measurement result of the logical L = ∏_v X_v: σ = 0 (in ZMod 2) means the +1 eigenvalue, σ = 1 means -1.
Equations
- GaugingMeasurement.measurementSign G outcomes = ∑ v : V, outcomes.gaussOutcome v
Instances For
Walk Parity #
Given edge measurement outcomes ω and a walk in G, compute the parity of ω along the walk: the ZMod 2 sum of ω(e) over all edges e traversed. This is ∑_{d ∈ walk.darts} ω(d.edge) in ZMod 2.
An edge traversed by dart d has d.edge ∈ G.edgeSet (from d.adj).
Equations
Instances For
Walk Parity Algebra #
Walk parity is additive under concatenation.
Walk parity is invariant under reversal (since we work in ZMod 2, and reversing traverses the same edges as Sym2 elements).
Walk parity of a single-edge walk.
The difference of walk parities along two paths from u to v equals the parity of the closed walk formed by going along p then back along q.
If all closed walks have zero parity, then the walk parity from u to v is independent of the choice of walk.
Byproduct Correction #
The byproduct correction at vertex v, given a specific walk from v₀ to v. This is the parity of edge outcomes along the walk: c(v) = ∑_{e ∈ γ} ω_e (in ZMod 2).
c(v) = 1 means "apply X_v" (corresponding to ∏_{e ∈ γ} ω_e = -1 in ±1 notation).
Equations
Instances For
The byproduct correction at the base vertex using the trivial walk is 0.
The byproduct correction is well-defined (independent of walk choice) when all closed walks have zero parity.
The byproduct correction Pauli operator for a given walk assignment: for each vertex v, apply X_v iff c(v) = 1.
Equations
- GaugingMeasurement.byproductCorrectionOp G walks ω = { xVec := fun (v : V) => GaugingMeasurement.byproductCorrectionAt G ω (walks v), zVec := 0 }
Instances For
The byproduct correction operator is pure X-type.
The byproduct correction operator is self-inverse (in the Pauli group).
The Gauging Measurement Algorithm #
The gauging measurement algorithm: given input data, measurement outcomes, and a choice of walks from v₀ to each vertex, computes the classical output.
- sign = ∑_v ε_v (the product of all Gauss outcomes in ZMod 2)
- correction(v) = walkParity(γ_v, ω) (the parity of edge outcomes along the walk)
Equations
- One or more equations did not get rendered due to their size.
Instances For
The sign is the sum of all Gauss's law measurement outcomes.
Two different walk choices produce the same correction vector when all closed walks have zero parity.
Sign Characterization #
σ = 0 (mod 2) means the +1 eigenvalue of L was measured.
Equations
- GaugingMeasurement.signIsPlus G outcomes = (GaugingMeasurement.measurementSign G outcomes = 0)
Instances For
σ = 1 (mod 2) means the -1 eigenvalue of L was measured.
Equations
- GaugingMeasurement.signIsMinus G outcomes = (GaugingMeasurement.measurementSign G outcomes = 1)
Instances For
The sign is always 0 or 1 in ZMod 2.
Measured Operators #
The Gauss's law operator measured at vertex v in step 3: A_v = X_v ∏_{e ∋ v} X_e on the extended qubit system V ⊕ E.
Equations
Instances For
The edge Z operator measured at edge e in step 4: Z_e on V ⊕ E.
Equations
Instances For
Commutativity of Measured Operators #
All Gauss's law operators commute: they can be measured in any order in step 3.
All edge Z operators commute: they can be measured in any order in step 4.
The product of all Gauss's law operators equals the logical L = ∏_v X_v. This is why σ = ∏_v ε_v gives the measurement result of L.
Edge Z Operators are Pure Z-Type #
The edge Z operator Z_e is pure Z-type: no X-support.
The Gauss's law operator A_v is pure X-type: no Z-support.
Self-Inverse Property of Measured Operators #
Each Gauss's law operator is self-inverse: A_v * A_v = 1.
Each edge Z operator is self-inverse: Z_e * Z_e = 1.