# Quantum Coding via Quasi-Cyclic Block Matrix
## 3 Long-Length Coding Constructions Based on Jacket Matrix  
Quasi-cyclic codes are the generalization of cyclic codes, which can generate a class of linear codes of algebraic structure. Assume \(C\) is a classical code of length \(N\) over field \(F_{2}\), which is closed with a cyclic-shift operator \(\gamma\). This means that any codeword \(\vec{C}=(c_{0},c_{1},\ldots,c_{N-1})\in C\) satisfies \(\gamma\vec{C}=\gamma(c_{0},c_{1},\ldots,c_{N-1})=(c_{N-1},c_{0},\ldots,c_{N-2} )\in C\). The circuit of the cyclic shift can be represented as in Figure 1. In this circuit, \(\vec{C}\) as an input code vector can generate an output code vector with some integer \(s\) times of \(\gamma\) operation, \(1\leq s\leq N-1\). More generally, if there is a smallest positive integer \(\ell\) such that  
\[\gamma^{\ell}(c)=(c_{N-\ell},c_{N-\ell+1},\ldots,c_{N-1},c_{0},\ldots,c_{N- \ell-1}), \tag{9}\]  
also belongs to \(C\), the linear code \(C\) is called a quasi-cyclic code of index \(\ell\). Furthermore, given \(C^{\perp}=\{\vec{v}\in F_{2}^{N}|\langle\vec{u},\vec{v}\rangle=0,\forall\vec{ u}\in C\}\) is called its dual code. If \(C\subseteq C^{\perp}\), the code \(C\) is self-orthogonal. In quantum theory, if any quantum code word \(|c\rangle\in\mathcal{P}_{N}\) is still a quantum code state in this space after several cyclic shifts, the quantum codes will be correspondingly called quasi-cyclic quantum codes. In mathematical theory, a cyclic code is an ideal in the quotient ring \(R\); hence, it can be gained by a single polynomial. Here, the quotient ring is defined as \(R=F_{2}[x]/\langle x^{n}-1\rangle\) for a prime number \(n\). It is an isomorphic \(\gamma:F_{2}^{n}\to R\) between the ring formed by all \(n\times n\) circulant matrices and the ring \(R\) formed by the polynomial \(x^{n}-1\). As a consequence, the circulant matrix corresponds to the following polynomial  
\[a=a_{0}+a_{1}x+\ldots+a_{n-1}x^{n-1}. \tag{10}\]  
Figure 1: Schematic of classical cyclic code vector. Here, according to \(s\) times of cyclic-shift operator \(\gamma\), the classical code \(\vec{C}\) as an input code can generate its cyclic vectors, \(\gamma\vec{C},\gamma^{2}\vec{C},\ldots,\gamma^{s}\vec{C}\). Here, \(s\) is an integer number, so that the generated vectors belong to a quotient ring. Under the isomorphism \(\gamma\), it has \(\gamma\vec{a}=a_{n-1}+a_{0}x+\ldots+a_{n-2}x^{n-1}\), for \(\vec{a}=(a_{0},a_{1},\ldots,a_{n-1})\)\(\in F_{2}^{n}\). If we define \(K^{n}=I\), such as  
\[K=\left( \begin{array}{cccc}0&0&\ldots&1\\ 1&0&\ldots&0\\ 0&1&\ldots&0\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\ldots&0\end{array} \right) \tag{11}\]  
is a \(n\times n\) matrix representing the right cyclic shift by one position, it is readily seen that a circulant matrix \(A\) over \(F_{2}\) can be represented in the form  
\[A=a_{0}I+a_{1}K+\ldots+a_{n-1}K^{n-1}, \tag{12}\]  
where \(I\) is the \(n\times n\) identity matrix. More generally, the \(n\times n\) matrix \(K=(k_{ij})\) may be taken as  
\[k_{ij}=\left\{ \begin{array}{ll}1&\text{if }i=(j+h)\bmod n\\ 0&\text{otherwise,}\end{array} \right. \tag{13}\]  
where, \(h\) is an integer for \(1\leq h\leq n-1\). It is obvious that the matrix \(K\) can form an Abelian operator group \(\mathcal{K}=\{I=K^{0},K^{1},\ldots,K^{n-1}\}\). The index \(i\) of \(K^{i}\in\mathcal{K}\) is an exponent of matrix \(K\), which is called a _basic matrix_. More generally, the matrix \(G_{e}\) formed by the index of the basic matrix is defined as an _exponent matrix_. On the basis of the two matrices, we also introduce a _circulant permutation matrix_\(Q\) obtained by an operation \"\(\wedge\)\" between the matrices \(K\) and \(G_{e}\) as  
\[Q=(K^{a_{ij}})_{mn\times nm}=K\wedge G_{e}\] \[=\left( \begin{array}{cccc}K^{a_{11}}&K^{a_{12}}&\ldots&K^{a_{1n} }\\ K^{a_{21}}&K^{a_{22}}&\ldots&K^{a_{2n}}\\ \vdots&\vdots&\ddots&\vdots\\ K^{a_{n1}}&K^{a_{n2}}&\ldots&K^{a_{mn}}\end{array} \right), \tag{14}\]  
where \(a_{ij},1\leq i\leq m,1\leq j\leq n\), is the exponent of the basic matrix \(K\), and  
\[G_{e}=(a_{ij})_{m\times n}=\left(