MerLean-example

42 Rem 20: The Gross Code Definition

The Gross code is a \([\! [144, 12, 12]\! ]\) bivariate bicycle (BB) code with parameters \(\ell = 12\), \(m = 6\). The polynomials defining the code are \(A = x^3 + y^2 + y\) and \(B = y^3 + x^2 + x\) in \(\mathbb {F}_2[x,y]/(x^{12}-1, y^6-1)\). This section defines the Gross code, its logical operators, and establishes key properties including weight, type purity, and centralizer membership.

Definition 1165 Gross Monomial Group

The monomial group for the Gross code is \(\operatorname {BBMonomial}(12, 6) = \mathbb {Z}_{12} \times \mathbb {Z}_6\).

Definition 1166 Gross Algebra

The group algebra for the Gross code is \(\operatorname {BBGroupAlgebra}(12, 6) = \mathbb {F}_2[x,y]/(x^{12}-1, y^6-1)\).

Definition 1167 Gross Qubit Type
#

The qubit type for the Gross code is \(\operatorname {BBQubit}(12, 6)\), consisting of left (\(L\)) and right (\(R\)) qubits indexed by elements of \(\mathbb {Z}_{12} \times \mathbb {Z}_6\).

Definition 1168 Polynomial \(A\)

The polynomial \(A \in \mathbb {F}_2[x,y]/(x^{12}-1, y^6-1)\) is defined as

\[ A = x^3 + y^2 + y. \]
Definition 1169 Polynomial \(B\)

The polynomial \(B \in \mathbb {F}_2[x,y]/(x^{12}-1, y^6-1)\) is defined as

\[ B = y^3 + x^2 + x. \]

For all \(\alpha , \beta \in \mathbb {Z}_{12} \times \mathbb {Z}_6\), the X-check \(\operatorname {bbCheckX}(A, B, \alpha )\) and the Z-check \(\operatorname {bbCheckZ}(A, B, \beta )\) commute as Pauli operators.

Proof

We rewrite using the characterization that X and Z checks commute if and only if a certain convolution sum vanishes. This convolution condition is then verified by native computation.

For all check indices \(i, j\), the checks \(\operatorname {bbCheck}(A, B, i)\) and \(\operatorname {bbCheck}(A, B, j)\) commute.

Proof

We case-split on whether each check index is an X-check (\(\operatorname {inl}\)) or a Z-check (\(\operatorname {inr}\)):

  • Case \((\operatorname {inl}~ \alpha _1, \operatorname {inl}~ \alpha _2)\): Both are X-checks, so they commute by the general BB X-check commutativity theorem.

  • Case \((\operatorname {inl}~ \alpha , \operatorname {inr}~ \beta )\): This follows from the XZ commutation theorem above.

  • Case \((\operatorname {inr}~ \beta , \operatorname {inl}~ \alpha )\): By commutativity of PauliCommute, this reduces to the XZ case.

  • Case \((\operatorname {inr}~ \beta _1, \operatorname {inr}~ \beta _2)\): Both are Z-checks, so they commute by the general BB Z-check commutativity theorem.

The Gross code is a stabilizer code with check index set \(\operatorname {BBCheckIndex}(12,6)\), check map \(\operatorname {bbCheck}(A, B)\), and the proof that all checks pairwise commute.

Theorem 1173 Gross Code Has 144 Qubits

The Gross code has \(n = 144\) physical qubits: \(\operatorname {grossCode.numQubits} = 144\).

Proof

By simplification using the definition of \(\operatorname {numQubits}\) as the cardinality of the qubit type \(\operatorname {BBQubit}(12,6) = (\mathbb {Z}_{12} \times \mathbb {Z}_6) \oplus (\mathbb {Z}_{12} \times \mathbb {Z}_6)\), we compute \(|\mathbb {Z}_{12}| \cdot |\mathbb {Z}_6| \cdot 2 = 12 \cdot 6 \cdot 2 = 144\) by numerical computation.

Theorem 1174 Gross Code Has 144 Checks

The Gross code has \(144\) checks: \(\operatorname {grossCode.numChecks} = 144\).

Proof

By simplification using the definition of \(\operatorname {numChecks}\) as the cardinality of \(\operatorname {BBCheckIndex}(12,6) = (\mathbb {Z}_{12} \times \mathbb {Z}_6) \oplus (\mathbb {Z}_{12} \times \mathbb {Z}_6)\), we compute \(12 \cdot 6 \cdot 2 = 144\) by numerical computation.

Definition 1175 Polynomial \(f\)

The logical operator polynomial \(f \in \mathbb {F}_2[x,y]/(x^{12}-1, y^6-1)\) is defined as

\[ f = 1 + x + x^2 + x^3 + x^6 + x^7 + x^8 + x^9 + (x + x^5 + x^7 + x^{11})y^3. \]
Definition 1176 Polynomial \(g\)

The logical operator polynomial \(g \in \mathbb {F}_2[x,y]/(x^{12}-1, y^6-1)\) is defined as

\[ g = x + x^2 y + (1+x)y^2 + x^2 y^3 + y^4. \]
Definition 1177 Polynomial \(h\)

The logical operator polynomial \(h \in \mathbb {F}_2[x,y]/(x^{12}-1, y^6-1)\) is defined as

\[ h = 1 + (1+x)y + y^2 + (1+x)y^3. \]
Definition 1178 Logical \(\bar{X}_\alpha \)

For \(\alpha \in \mathbb {Z}_{12} \times \mathbb {Z}_6\), the logical X operator is

\[ \bar{X}_\alpha = X(\alpha \cdot f,\; 0), \]

where \(\alpha \cdot f\) denotes the shift of \(f\) by \(\alpha \).

For \(\beta \in \mathbb {Z}_{12} \times \mathbb {Z}_6\), the logical X\('\) operator is

\[ \bar{X}'_\beta = X(\beta \cdot g,\; \beta \cdot h). \]

For \(\beta \in \mathbb {Z}_{12} \times \mathbb {Z}_6\), the logical Z operator is

\[ \bar{Z}_\beta = Z(\beta \cdot h^T,\; \beta \cdot g^T), \]

where \(h^T\) and \(g^T\) denote the transposes (negation of exponents) of \(h\) and \(g\).

For \(\alpha \in \mathbb {Z}_{12} \times \mathbb {Z}_6\), the logical Z\('\) operator is

\[ \bar{Z}'_\alpha = Z(0,\; \alpha \cdot f^T). \]
Theorem 1182 \(\bar{X}_\alpha \) is Pure X-Type

For all \(\alpha \), \(\bar{X}_\alpha \) has no Z-support: \((\bar{X}_\alpha ).\operatorname {zVec} = 0\).

Proof

By simplification using the definitions of \(\operatorname {logicalXBar}\) and \(\operatorname {pauliXBB}\), the Z-component is identically zero.

Theorem 1183 \(\bar{X}'_\beta \) is Pure X-Type

For all \(\beta \), \(\bar{X}'_\beta \) has no Z-support: \((\bar{X}'_\beta ).\operatorname {zVec} = 0\).

Proof

By simplification using the definitions of \(\operatorname {logicalXBar}'\) and \(\operatorname {pauliXBB}\), the Z-component is identically zero.

Theorem 1184 \(\bar{Z}_\beta \) is Pure Z-Type

For all \(\beta \), \(\bar{Z}_\beta \) has no X-support: \((\bar{Z}_\beta ).\operatorname {xVec} = 0\).

Proof

By simplification using the definitions of \(\operatorname {logicalZBar}\) and \(\operatorname {pauliZBB}\), the X-component is identically zero.

Theorem 1185 \(\bar{Z}'_\alpha \) is Pure Z-Type

For all \(\alpha \), \(\bar{Z}'_\alpha \) has no X-support: \((\bar{Z}'_\alpha ).\operatorname {xVec} = 0\).

Proof

By simplification using the definitions of \(\operatorname {logicalZBar}'\) and \(\operatorname {pauliZBB}\), the X-component is identically zero.

Theorem 1186 \(\bar{X}_\alpha \) Acts Only on \(L\) Qubits

For all \(\alpha \) and all \(\delta \in \mathbb {Z}_{12} \times \mathbb {Z}_6\), the X-support of \(\bar{X}_\alpha \) on the right (\(R\)) qubit indexed by \(\delta \) is zero:

\[ (\bar{X}_\alpha ).\operatorname {xVec}(\operatorname {inr}~ \delta ) = 0. \]
Proof

By simplification using the definitions of \(\operatorname {logicalXBar}\) and \(\operatorname {pauliXBB}\), the right component of the X-vector is zero since the second argument to \(\operatorname {pauliXBB}\) is \(0\).

Theorem 1187 \(\bar{Z}'_\alpha \) Acts Only on \(R\) Qubits

For all \(\alpha \) and all \(\gamma \in \mathbb {Z}_{12} \times \mathbb {Z}_6\), the Z-support of \(\bar{Z}'_\alpha \) on the left (\(L\)) qubit indexed by \(\gamma \) is zero:

\[ (\bar{Z}'_\alpha ).\operatorname {zVec}(\operatorname {inl}~ \gamma ) = 0. \]
Proof

By simplification using the definitions of \(\operatorname {logicalZBar}'\) and \(\operatorname {pauliZBB}\), the left component of the Z-vector is zero since the first argument to \(\operatorname {pauliZBB}\) is \(0\).

Theorem 1188 \(f\) Has Weight 12

The polynomial \(f\) has exactly 12 nonzero coefficients:

\[ |\{ \gamma \in \mathbb {Z}_{12} \times \mathbb {Z}_6 : f(\gamma ) \neq 0\} | = 12. \]
Proof

This is verified by native computation.

Theorem 1189 \(A\) Has Support of Size 3

The polynomial \(A\) has exactly 3 nonzero coefficients:

\[ |\{ \gamma \in \mathbb {Z}_{12} \times \mathbb {Z}_6 : A(\gamma ) \neq 0\} | = 3. \]
Proof

This is verified by native computation.

Theorem 1190 \(B\) Has Support of Size 3

The polynomial \(B\) has exactly 3 nonzero coefficients:

\[ |\{ \gamma \in \mathbb {Z}_{12} \times \mathbb {Z}_6 : B(\gamma ) \neq 0\} | = 3. \]
Proof

This is verified by native computation.

Theorem 1191 \(\bar{X}_\alpha \) Has Weight 12

For all \(\alpha \in \mathbb {Z}_{12} \times \mathbb {Z}_6\), the logical operator \(\bar{X}_\alpha \) has weight 12:

\[ \operatorname {weight}(\bar{X}_\alpha ) = 12. \]
Proof

By simplification using the definitions of weight and support, the support cardinality of \(\operatorname {pauliXBB}(\alpha \cdot f, 0)\) is shift-invariant. Rewriting using this shift-invariance reduces the computation to the case \(\alpha = 0\), which is verified by native computation to equal 12.

Theorem 1192 \(\bar{X}_\alpha \) is Self-Inverse

For all \(\alpha \), \(\bar{X}_\alpha \cdot \bar{X}_\alpha = \mathbf{1}\).

Proof

Expanding \(\operatorname {logicalXBar}\) and applying the \(\operatorname {pauliXBB}\) multiplication rule, we verify equality by extensionality. For the X-component: on left qubits \((\operatorname {inl}~ \gamma )\), each coefficient is \(f(\gamma - \alpha ) + f(\gamma - \alpha ) = 0\) by characteristic 2; on right qubits \((\operatorname {inr}~ \delta )\), both sides are \(0\). For the Z-component, both sides are \(0\) by the pure X-type property.

Theorem 1193 \(\bar{X}'_\beta \) is Self-Inverse

For all \(\beta \), \(\bar{X}'_\beta \cdot \bar{X}'_\beta = \mathbf{1}\).

Proof

Expanding and applying the \(\operatorname {pauliXBB}\) multiplication rule, we verify by extensionality. For the X-component on left qubits, each coefficient is \(g(\gamma - \beta ) + g(\gamma - \beta ) = 0\); on right qubits, \(h(\delta - \beta ) + h(\delta - \beta ) = 0\), both by characteristic 2. The Z-component is zero on both sides.

Theorem 1194 \(\bar{Z}_\beta \) is Self-Inverse

For all \(\beta \), \(\bar{Z}_\beta \cdot \bar{Z}_\beta = \mathbf{1}\).

Proof

Expanding and applying the \(\operatorname {pauliZBB}\) multiplication rule, we verify by extensionality. The X-component is zero on both sides. For the Z-component on left qubits, \(h^T(\gamma - \beta ) + h^T(\gamma - \beta ) = 0\); on right qubits, \(g^T(\delta - \beta ) + g^T(\delta - \beta ) = 0\), both by characteristic 2.

Theorem 1195 \(\bar{Z}'_\alpha \) is Self-Inverse

For all \(\alpha \), \(\bar{Z}'_\alpha \cdot \bar{Z}'_\alpha = \mathbf{1}\).

Proof

Expanding and applying the \(\operatorname {pauliZBB}\) multiplication rule, we verify by extensionality. The X-component is zero on both sides. For the Z-component: on left qubits \((\operatorname {inl}~ \gamma )\), both sides are \(0\) since the first argument is \(0\); on right qubits \((\operatorname {inr}~ \delta )\), \(f^T(\delta - \alpha ) + f^T(\delta - \alpha ) = 0\) by characteristic 2.

For all \(\alpha , \beta \), \(\bar{X}_\alpha \) commutes with the X-check at \(\beta \).

Proof

By simplification: both operators are pure X-type, so the symplectic inner product vanishes identically.

Proof

Rewriting the Pauli commutation condition into the symplectic inner product, we expand the definitions. After simplification, the sum splits over \(L\) and \(R\) qubits, and the \(R\) contribution vanishes. The remaining \(L\) contribution reduces by a change of variables \(\delta \mapsto \delta - \alpha \) to the convolution \(\sum _\delta f(\delta ) \cdot B^T(\delta - (\beta - \alpha ))\), which equals zero by the kernel condition \(fB^T = 0\) verified by native computation.

For all \(\alpha \) and all check indices \(i\), \(\bar{X}_\alpha \) commutes with the check at \(i\).

Proof

We case-split on whether \(i\) is an X-check or Z-check and apply the respective commutation theorems.

For all \(\alpha , \beta \), \(\bar{X}'_\alpha \) commutes with the X-check at \(\beta \).

Proof

Both operators are pure X-type, so the symplectic inner product vanishes identically.

Proof

Rewriting the Pauli commutation into the symplectic inner product, we expand definitions and split over qubit types. After the change of variables \(\delta \mapsto \delta - \alpha \), the sum reduces to \(\sum _\delta g(\delta ) B^T(\delta - (\beta - \alpha )) + \sum _\delta h(\delta ) A^T(\delta - (\beta - \alpha ))\), which equals zero by the kernel condition \(gB^T + hA^T = 0\) verified by native computation.

For all \(\beta \) and all check indices \(i\), \(\bar{X}'_\beta \) commutes with the check at \(i\).

Proof

We case-split on whether \(i\) is an X-check or Z-check and apply the respective commutation theorems.

For all \(\alpha , \beta \), \(\bar{Z}_\alpha \) commutes with the Z-check at \(\beta \).

Proof

Both operators are pure Z-type, so the symplectic inner product vanishes identically.

Proof

Using commutativity of PauliCommute, we rewrite the symplectic inner product from the X-check’s perspective. Expanding definitions and splitting over qubit types, after the change of variables \(\delta \mapsto \delta - \beta \), the sum reduces to \(\sum _\delta A(\delta ) h^T(\delta - (\alpha - \beta )) + \sum _\delta B(\delta ) g^T(\delta - (\alpha - \beta ))\), which equals zero by the kernel condition \(Ah^T + Bg^T = 0\) verified by native computation.

For all \(\beta \) and all check indices \(i\), \(\bar{Z}_\beta \) commutes with the check at \(i\).

Proof

We case-split on whether \(i\) is an X-check or Z-check and apply the respective commutation theorems.

For all \(\alpha , \beta \), \(\bar{Z}'_\alpha \) commutes with the Z-check at \(\beta \).

Proof

Both operators are pure Z-type, so the symplectic inner product vanishes identically.

Proof

Using commutativity of PauliCommute, we rewrite the symplectic inner product. Expanding definitions and splitting over qubit types, the \(L\) contribution vanishes since the first argument to \(\operatorname {pauliZBB}\) is \(0\). After the change of variables \(\delta \mapsto \delta - \beta \), the remaining \(R\) contribution is \(\sum _\delta B(\delta ) f^T(\delta - (\alpha - \beta ))\), which equals zero by the kernel condition \(Bf^T = 0\) verified by native computation.

For all \(\alpha \) and all check indices \(i\), \(\bar{Z}'_\alpha \) commutes with the check at \(i\).

Proof

We case-split on whether \(i\) is an X-check or Z-check and apply the respective commutation theorems.

Theorem 1208 \(\bar{X}_\alpha \) is in the Centralizer

For all \(\alpha \), \(\bar{X}_\alpha \) is in the centralizer of the Gross code.

Proof

Let \(i\) be an arbitrary check index. The result follows directly from the fact that \(\bar{X}_\alpha \) commutes with all checks.

Theorem 1209 \(\bar{X}'_\beta \) is in the Centralizer

For all \(\beta \), \(\bar{X}'_\beta \) is in the centralizer of the Gross code.

Proof

Let \(i\) be an arbitrary check index. The result follows directly from the fact that \(\bar{X}'_\beta \) commutes with all checks.

Theorem 1210 \(\bar{Z}_\beta \) is in the Centralizer

For all \(\beta \), \(\bar{Z}_\beta \) is in the centralizer of the Gross code.

Proof

Let \(i\) be an arbitrary check index. The result follows directly from the fact that \(\bar{Z}_\beta \) commutes with all checks.

Theorem 1211 \(\bar{Z}'_\alpha \) is in the Centralizer

For all \(\alpha \), \(\bar{Z}'_\alpha \) is in the centralizer of the Gross code.

Proof

Let \(i\) be an arbitrary check index. The result follows directly from the fact that \(\bar{Z}'_\alpha \) commutes with all checks.

Each X-check of the Gross code has weight 6: for all \(\alpha \),

\[ \operatorname {weight}(\operatorname {bbCheckX}(A, B, \alpha )) = 6. \]
Proof

By simplification using the definitions of weight and support, the support cardinality of the X-check is shift-invariant. Rewriting reduces the computation to the case \(\alpha = 0\), which is verified by native computation to equal 6.

For all \(\alpha \in \mathbb {Z}_{12} \times \mathbb {Z}_6\), the following four properties hold simultaneously:

  1. \(\operatorname {weight}(\bar{X}_\alpha ) = 12\),

  2. \((\bar{X}_\alpha ).\operatorname {zVec} = 0\) (pure X-type),

  3. \(\forall \delta ,\; (\bar{X}_\alpha ).\operatorname {xVec}(\operatorname {inr}~ \delta ) = 0\) (acts only on \(L\) qubits),

  4. \(|\operatorname {supp}(A)| = 3\).

Since \(\bar{X}_\alpha \) acts only on \(L\) qubits and each \(L\) qubit participates in at most \(|\operatorname {supp}(A)| = 3\) X-type checks, the Tanner subgraph on the support of \(\bar{X}_\alpha \) has limited expansion.

Proof

This is the conjunction of the four previously established results: the weight theorem, the pure X-type theorem, the \(L\)-qubit-only theorem, and the support cardinality of \(A\).

Theorem 1214 Gross Code Parameters

The Gross code has 144 qubits and 144 checks:

\[ \operatorname {grossCode.numQubits} = 144 \quad \text{and} \quad \operatorname {grossCode.numChecks} = 144. \]
Proof

This is the conjunction of the two previously established parameter theorems.