Documentation

QEC1.Remarks.Rem_15_HypergraphGeneralization

Rem_15: Hypergraph Generalization of Gauging Measurement #

Statement #

The gauging measurement procedure can be generalized by replacing the graph G with a hypergraph to measure multiple operators simultaneously.

Setup: Consider an abelian group of operators describable as the X-type operators that commute with an auxiliary set of k-local Z-type checks. Using the stabilizer formalism, this group can be equivalently formulated as the kernel of a sparse linear map over F_2.

Procedure: For qubits, this is equivalent to replacing the graph G with a hypergraph. The generalized gauging procedure performs a code deformation by:

  1. Introducing a qubit for each hyperedge
  2. Measuring into new Gauss's law checks A_v given by the product of X on a vertex and the adjacent hyperedges: A_v = X_v ∏_{e ∋ v, e ∈ hyperedges} X_e

Application: This allows measuring any abelian group of commuting logical operators that can be characterized as the kernel of a sparse parity-check matrix.

Main Definitions #

Key Properties #

Hypergraph Definition #

A hypergraph generalizes a graph: each hyperedge connects a set of vertices (not necessarily just two).

structure QEC1.HypergraphGeneralization.Hypergraph (V : Type u_1) (H : Type u_2) [DecidableEq V] [Fintype V] [Fintype H] :
Type (max u_1 u_2)

A hypergraph on vertices V with hyperedges indexed by H. Each hyperedge is a subset of vertices (represented as a Finset V).

  • incidence : HFinset V

    Each hyperedge maps to its set of incident vertices

Instances For

    Binary Vector Types #

    @[reducible, inline]

    Binary vectors over vertices: Z₂^V

    Equations
    Instances For
      @[reducible, inline]

      Binary vectors over hyperedges: Z₂^H

      Equations
      Instances For

        Incidence Matrix and Parity-Check Map #

        The incidence matrix M over F_2 has M_{h,v} = 1 iff vertex v ∈ hyperedge h. The parity-check map is the corresponding linear map Z₂^V → Z₂^H.

        def QEC1.HypergraphGeneralization.Hypergraph.incidenceEntry {V : Type u_1} {H : Type u_2} [DecidableEq V] [Fintype V] [Fintype H] (HG : Hypergraph V H) (h : H) (v : V) :

        The incidence matrix entry: 1 if vertex v is in hyperedge h, 0 otherwise

        Equations
        Instances For

          The parity-check map H_Z : Z₂^V → Z₂^H. For each hyperedge h, (H_Z(x))h = ∑{v ∈ h} x_v (mod 2). This is the linear map whose kernel characterizes the abelian group.

          Equations
          Instances For
            @[simp]
            theorem QEC1.HypergraphGeneralization.Hypergraph.parityCheckMap_apply {V : Type u_1} {H : Type u_2} [DecidableEq V] [DecidableEq H] [Fintype V] [Fintype H] (HG : Hypergraph V H) (x : VectorV V) (h : H) :
            HG.parityCheckMap x h = vHG.incidence h, x v

            Kernel Characterization #

            The abelian group of X-type operators that commute with all k-local Z-type checks is exactly the kernel of the parity-check map.

            The kernel of the parity-check map: vectors x ∈ Z₂^V such that H_Z(x) = 0. This characterizes the abelian group of commuting X-type operators.

            Equations
            Instances For
              @[simp]
              theorem QEC1.HypergraphGeneralization.Hypergraph.mem_operatorKernel_iff {V : Type u_1} {H : Type u_2} [DecidableEq V] [DecidableEq H] [Fintype V] [Fintype H] (HG : Hypergraph V H) (x : VectorV V) :
              x HG.operatorKernel ∀ (h : H), vHG.incidence h, x v = 0

              Membership in the kernel: x ∈ ker(H_Z) iff ∑_{v ∈ h} x_v = 0 for all hyperedges h

              k-Locality #

              A Z-type check is k-local if the corresponding hyperedge has at most k vertices.

              def QEC1.HypergraphGeneralization.Hypergraph.isKLocal {V : Type u_1} {H : Type u_2} [DecidableEq V] [Fintype V] [Fintype H] (HG : Hypergraph V H) (k : ) (h : H) :

              A hyperedge h is k-local if it contains at most k vertices

              Equations
              Instances For

                The hypergraph is k-local if all hyperedges are k-local

                Equations
                Instances For
                  theorem QEC1.HypergraphGeneralization.Hypergraph.kLocal_means_sparse_row {V : Type u_1} {H : Type u_2} [DecidableEq V] [DecidableEq H] [Fintype V] [Fintype H] (HG : Hypergraph V H) (k : ) (h : H) (hk : HG.isKLocal k h) :
                  {v : V | HG.incidenceEntry h v 0}.card k

                  k-locality means the parity-check map is sparse: each row has at most k nonzero entries

                  Generalized Gauss Law Operators #

                  In the hypergraph setting, the Gauss law operator A_v is: A_v = X_v ∏_{e ∋ v, e ∈ hyperedges} X_e

                  The support on vertex qubits: 1 at v, 0 elsewhere The support on hyperedge qubits: 1 at each hyperedge containing v

                  The set of hyperedges incident to vertex v

                  Equations
                  Instances For

                    The vertex support of the generalized Gauss law operator A_v: a binary vector on V with 1 at v, 0 elsewhere (represents X_v)

                    Equations
                    Instances For

                      The hyperedge support of A_v: 1 at each hyperedge containing v, 0 elsewhere

                      Equations
                      Instances For
                        @[simp]
                        @[simp]
                        @[simp]
                        theorem QEC1.HypergraphGeneralization.Hypergraph.gaussLawHyperedgeSupport_not_mem {V : Type u_1} {H : Type u_2} [DecidableEq V] [DecidableEq H] [Fintype V] [Fintype H] (HG : Hypergraph V H) (v : V) (h : H) (hv : vHG.incidence h) :

                        Properties of Generalized Gauss Law Operators #

                        All generalized Gauss law operators commute. Two Pauli operators P₁, P₂ commute iff the symplectic inner product of their supports is 0 (mod 2). Since A_v are purely X-type operators (no Z component), the Z-type support of each A_v is empty. Therefore the symplectic overlap is always 0.

                        We model this as: the Z-type support of each A_v is the zero vector (trivial), so the symplectic inner product ∑_i (X-support₁(i) * Z-support₂(i) + Z-support₁(i) * X-support₂(i)) is 0 for any pair of A_v operators.

                        Equations
                        Instances For

                          The symplectic inner product of two Pauli operators on the vertex qubits. For X-type support vectors xS₁, xS₂ and Z-type support vectors zS₁, zS₂, the symplectic product is ∑_i (xS₁(i) * zS₂(i) + zS₁(i) * xS₂(i)).

                          Equations
                          Instances For

                            The symplectic inner product on hyperedge qubits.

                            Equations
                            Instances For

                              All generalized Gauss law operators A_v commute: the symplectic inner product of A_v₁ and A_v₂ is 0 on both vertex and hyperedge qubits. This is because A_v has trivial (zero) Z-type support.

                              The sum of all vertex supports is the all-ones vector on V. This corresponds to ∏_v A_v having L = ∏_v X_v as its vertex component.

                              The sum of all hyperedge supports gives the cardinality (mod 2) at each hyperedge, because each hyperedge h has |incidence h| vertices contributing. In the graph case (each hyperedge has exactly 2 vertices), this is 0 mod 2.

                              theorem QEC1.HypergraphGeneralization.Hypergraph.gaussLaw_product_edge_zero {V : Type u_1} {H : Type u_2} [DecidableEq V] [DecidableEq H] [Fintype V] [Fintype H] (HG : Hypergraph V H) (h_graphlike : ∀ (h : H), (HG.incidence h).card = 2) (h : H) :
                              v : V, HG.gaussLawHyperedgeSupport v h = 0

                              For the graph case: when every hyperedge has exactly 2 vertices, the sum of all hyperedge supports is 0 (mod 2).

                              Graphs as Special Case of Hypergraphs #

                              An ordinary graph (where every edge connects exactly 2 vertices) is a hypergraph where every hyperedge has exactly 2 vertices.

                              A hypergraph is graph-like if every hyperedge has exactly 2 vertices

                              Equations
                              Instances For

                                Construct a hypergraph from a GraphWithCycles

                                Equations
                                Instances For

                                  A hypergraph derived from a graph is graph-like

                                  Parity Check Matrix Sparsity #

                                  The parity-check matrix is sparse when the hypergraph is k-local.

                                  For a k-local hypergraph, the parity-check matrix has at most k entries per row

                                  The total number of nonzero entries in the incidence matrix is bounded by k * |H|

                                  Application: Measuring Abelian Groups via Kernel #

                                  Any abelian group of commuting X-type logical operators that can be characterized as the kernel of a sparse parity-check matrix can be measured via hypergraph gauging.

                                  theorem QEC1.HypergraphGeneralization.Hypergraph.kernel_is_abelian_group {V : Type u_1} {H : Type u_2} [DecidableEq V] [DecidableEq H] [Fintype V] [Fintype H] (HG : Hypergraph V H) :
                                  ∃ (S : Submodule (ZMod 2) (VectorV V)), ∀ (x : VectorV V), x S HG.parityCheckMap x = 0

                                  The kernel of the parity-check map is a submodule (abelian group over F_2)

                                  @[simp]

                                  Zero vector is always in the kernel

                                  The kernel is closed under addition (symmetric difference of supports)

                                  Generalized Gauging Procedure #

                                  The generalized gauging procedure introduces one qubit per hyperedge and measures generalized Gauss law operators A_v = X_v ∏_{e ∋ v} X_e.

                                  The number of new qubits introduced = number of hyperedges

                                  Equations
                                  Instances For

                                    The number of new checks = number of vertices (one A_v per vertex)

                                    Equations
                                    Instances For

                                      The generalized coboundary map δ : Z₂^V → Z₂^H for the hypergraph. For vertex v, δ(v) = indicator vector of hyperedges containing v. This is the transpose of the incidence matrix.

                                      Equations
                                      Instances For

                                        The hypergraph coboundary equals the parity-check map

                                        The all-ones vector on V represents the logical operator L = ∏_v X_v

                                        Equations
                                        Instances For

                                          The logical operator L is in the kernel iff every hyperedge has even cardinality

                                          In the graph case, the logical is always in the kernel (each edge has 2 vertices)

                                          Summary #

                                          This formalization captures Remark 15 about the hypergraph generalization of gauging:

                                          Definitions:

                                          Key Results: