Documentation

QEC1.Definitions.Def_14_GrossCode

Def_14: Gross Code #

Statement #

The Gross code is a specific [[144, 12, 12]] Bivariate Bicycle code, so named because a 'gross' is a dozen dozens (144).

Parameters: ℓ = 12, m = 6, giving n = 2 · 12 · 6 = 144 qubits.

Polynomials: A = x³ + y² + y, B = y³ + x² + x

Logical operators: A convenient basis of logical operators uses the polynomials: f = 1 + x + x² + x³ + x⁶ + x⁷ + x⁸ + x⁹ + (x + x⁵ + x⁷ + x¹¹)y³ g = x + x²y + (1 + x)y² + x²y³ + y⁴ h = 1 + (1 + x)y + y² + (1 + x)y³

Then for any monomials α, β ∈ M:

Main Definitions #

Corollaries #

Section 1: Parameters #

The Gross code has ℓ = 12, m = 6.

@[reducible, inline]

The ℓ parameter of the Gross code.

Equations
Instances For
    @[reducible, inline]

    The m parameter of the Gross code.

    Equations
    Instances For
      @[reducible, inline]

      The monomial set for the Gross code.

      Equations
      Instances For
        @[reducible, inline]

        The group algebra for the Gross code.

        Equations
        Instances For

          Section 2: Convenience for building polynomials #

          We use the monomial function from the BB code definitions.

          noncomputable def QEC1.GrossCode.mon (a : ZMod ell) (b : ZMod m_param) :

          Shorthand for monomials x^a y^b in the Gross code group algebra.

          Equations
          Instances For

            Section 3: The polynomials A and B #

            A = x³ + y² + y B = y³ + x² + x

            noncomputable def QEC1.GrossCode.polyA :

            Polynomial A = x³ + y² + y for the Gross code.

            Equations
            Instances For
              noncomputable def QEC1.GrossCode.polyB :

              Polynomial B = y³ + x² + x for the Gross code.

              Equations
              Instances For

                Section 4: The Gross Code #

                The Gross code is a BB code with the above parameters and polynomials.

                The Gross code: a [[144, 12, 12]] Bivariate Bicycle code.

                Equations
                Instances For

                  Section 5: Parameter verification #

                  The number of physical qubits in the Gross code is 144.

                  @[simp]

                  ℓ = 12.

                  @[simp]

                  m = 6.

                  n = 2 · ℓ · m = 2 · 12 · 6 = 144

                  Section 6: Logical operator polynomials #

                  f = 1 + x + x² + x³ + x⁶ + x⁷ + x⁸ + x⁹ + (x + x⁵ + x⁷ + x¹¹)y³ g = x + x²y + (1 + x)y² + x²y³ + y⁴ h = 1 + (1 + x)y + y² + (1 + x)y³

                  noncomputable def QEC1.GrossCode.polyF :

                  Polynomial f for X-type logical operators. f = 1 + x + x² + x³ + x⁶ + x⁷ + x⁸ + x⁹ + (x + x⁵ + x⁷ + x¹¹)y³

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    noncomputable def QEC1.GrossCode.polyG :

                    Polynomial g for logical operators. g = x + x²y + (1 + x)y² + x²y³ + y⁴

                    Equations
                    Instances For
                      noncomputable def QEC1.GrossCode.polyH :

                      Polynomial h for logical operators. h = 1 + (1 + x)y + y² + (1 + x)y³

                      Equations
                      Instances For

                        Section 7: Logical Operators #

                        For any monomials α, β ∈ M:

                        noncomputable def QEC1.GrossCode.monomialMul (α : GM) (p : GGroupAlg) :

                        Multiplication of a monomial by a group algebra element (left multiplication). α · p shifts all monomials in p by α.

                        Equations
                        Instances For

                          X̄_α = X(αf, 0): X-type logical operator of weight 12.

                          Equations
                          Instances For

                            Z̄_β = Z(βh^T, βg^T): Z-type logical operator.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              Z̄'_α = Z(0, αf^T): Z-type logical operator.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For

                                Section 8: Symmetry #

                                The symmetry in the BB code construction means that if gauging measurements are constructed for X̄_α and X̄'_β, the same Tanner graph connectivity works for Z̄'_α and Z̄_β.

                                The symmetry arises from the relationship between X and Z logical operators: X̄_α uses (αf, 0) while Z̄'_α uses (0, αf^T), X̄'_β uses (βg, βh) while Z̄_β uses (βh^T, βg^T).

                                The Z̄'_α right polynomial is the transpose of the X̄_α left polynomial.

                                Structural symmetry: logicalX uses (αf, 0) and logicalZPrime uses (0, αf^T).

                                Section 9: Code parameters record #

                                The Gross code is a [[144, 12, 12]] code. We record the claimed parameters.

                                The code parameters [[n, k, d]] of the Gross code.

                                Instances For

                                  The claimed parameters of the Gross code: [[144, 12, 12]].

                                  Equations
                                  Instances For

                                    144 = 12 × 12, i.e., a gross is a dozen dozens.

                                    Section 10: Simp lemmas for the Gross code polynomials #

                                    @[simp]

                                    The logicalX operator has zero right component.

                                    @[simp]

                                    The logicalZPrime operator has zero left component.