I have been recently looking at getting familiarized with Bivariate Bicycle (BB) codes [1], and in general, Multivariate Bicycle codes [2]. I need some help figuring out the usage of the monomial labels for Pauli operator definitions.
Preliminaries (feel free to skip if you are familiar with the papers):
These families of QEC codes are defined via parity check matrices containing a two block structure of the form $H_{X} = (A|B)$ and $H_{Z} = (B^{T}|A^{T})$. The matrices $A$ and $B$ are both defined as polynomials of the form e.g. $A = x^3 + y^2 + y$, where each variable corresponds to a square matrix. In [1], these variables are defined as $x = S_{l} \otimes \mathbf{I}_{m}$ and $y = \mathbf{I}_{l} \otimes S_{m}$, where $S_{k}$ are cyclic matrices, meaning both $x$ and $y$ have dimensions ($lm$ x $lm$). As a result, counting the number of columns in $H_{X,Z}$, we obtain there are a total of $n=2lm$ data qubits.
The two block structure of the parity check matrices is used to split data qubits into two registers "left" ($L$) and "right" ($R$). On the other hand, the checks are naturally split into $X$ and $Z$ depending on the type of stabilizer they are associated with. Each one of these four registers contains a total of $n/2=lm$ qubits (or nodes in the Tanner graph if you may). Naively, these qubits could be labelled by the set of integers $\mathbb{Z}_{lm} = \{0,1,\dots,lm-1 \}$. In [1,2], however, they instead use a monomial labelling, where each qubit is associated with an element from the set ${M} = \{1,y,\dots,y^{m-1},x,\dots,xy^{m-1},\dots,x^{l-1}y^{m-1} \}$. The integer set $\mathbb{Z}_{lm}$ can be easily mapped onto $M$ through $i \longrightarrow x^{\lfloor i/m \rfloor} \ y^{i-m\lfloor i/m \rfloor}$. Qubits in the system are then denoted as $q(T,\alpha)$, with $T\in \{ L,R,X,Z \}$ and $\alpha \in M$.
It is then possible to define Pauli operators by introducing the set of polynomials $\mathbb{F}_{2}^{M} = \{ \sum_{\alpha} p_{\alpha} \alpha : p_{\alpha} \in \ \mathbb{F}_{2} , \ \alpha \in M \}$. In particular, given $P,Q \in \mathbb{F}_{2}^{M}$, one denotes $X(P,Q)$ a Pauli qubit operator that acts as $X$ on all qubits $q(L,\beta)$ satisfying $\beta \in P$ and all qubits $q(R,\beta)$ satisfying $\beta \in Q$, and which acts as identity elsewhere. Same definition follows for $Z$.
Question
Using the notation above, in [1], it is said that an $X$ check labelled by $\alpha$, i.e. $q(X,\alpha)$, is connected to qubits $q(L,\beta)$ if $\beta \in A\alpha$ and to qubits $q(R,\beta)$ if $\beta \in B\alpha$. Therefore a generic $X$ stabilizer can be defined as $X(\alpha A, \alpha B)$. How should I understand the "multiplication" between the monomial $\alpha$ and the matrices $A,B$?
In [1], they state not to confuse this operation with vector multiplication, and emphasize that this corresponds to "multiplication of monomials" (for the case when one multiplies $\alpha$ with one of the terms $A_{i}(B_{i})$ in the definition of $A(B)$). However, how can this operation be well defined if $\alpha$ is a monomial belonging to $M$ whereas $A,B$ are square matrices? What is the correct interpretation?
Bonus question: Why is the monomial labelling for qubits interesting at all? How does this mathematical structure emerge naturally in this context?
Refs:


