Skip to content

inconsistency between notations #64

Description

@Fe-r-oz

There is a notation discrepancy regarding the assignment of X- and Z-type stabilizers between QuantumTannerCode and random_quantum_Tanner_code. The latter follows the notation from gu2022efficient and former from radebold2025explicit and leverrier2022quantum -- there is no consistency which can be a bit cumbersome

In Gu's paper, page 6 the convention for the quadpartite complex is:

"An X-type stabilizer generator is defined as a codeword from a generating set of C0 = CA ⊗ CB, with support on the faces incident to a given vertex in V0 = V00 ∪ V11. [...] Similarly, the Z-type stabilizers are generated by codewords of C1 = C⊥A ⊗ C⊥B on the faces incident to vertices of V1 = V01 ∪ V10."

# "An X-type stabilizer generator is defined as a codeword from a generating set of
# C₀ = C_A ⊗ C_B, with support on the faces incident to a given vertex in V₀ = V₀₀ ∪ V₁₁" [gu2022efficient](@cite)

# "Similarly, the Z-type stabilizers are generated by codewords of C₁ = C_A^⊥ ⊗ C_B^⊥
# on the faces incident to vertices of V₁ = V₀₁ ∪ V₁₀" [gu2022efficient](@cite).

However, for the bipartite complex, the assignment seem to be reversed:

"Each generator of the Z stabilizers of the quantum Tanner code is specified by a choice of vertex v ∈ V0 and classical codeword β [of C0]... The resulting dim(C0)|V0| Z-type stabilizer generators correspond to codewords of C0 locally at each vertex. We repeat the same process for vertices v ∈ V1 and basis elements of C1 to produce dim(C1)|V1| X-type stabilizers." Reference

& in original Leverrier–Zémor paper, [page 18](https://arxiv.org/pdf/2202.13641#page=23.48)

"For every vertex v ∈ V0 we define dim C0 generators x ∈ FQ2 of type Z"

# C₀ = C_A ⊗ C_B for Z-stabilizers [radebold2025explicit](@cite)
# C₁ = C_A^⊥ ⊗ C_B^⊥ for X-stabilizers [radebold2025explicit](@cite)

This means that If one used GeneralizedTannerCode to recover the code produced by random_quantum_Tanner_code, dx and dz are swapped due to this swapping of the X-and Z-basis relabelling.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions