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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions