# Quantum Coding via Quasi-Cyclic Block Matrix
## 4 Long-Length Quantum Coding via Quasi-Cyclic Jacket Matrix
### The Construction Method of the Exponent Matrix  
Next, based on the obtained basic matrix \(K\), to generate the stabilizer with two circulant permutation matrices, we consider further the construction algorithm of the exponent matrix \(G_{e}\) in Equation (18) as follows:  
Assume an Abelian group \(Z_{n}=\{0,1,\ldots,n-1\}\) for a prime number \(n>2\), and its subset \(Z_{n}^{*}\) obtained by non-zero elements, i.e., \(Z_{n}^{*}=Z_{n}/\{0\}\). As \(n\) is a prime number, the size of \(Z_{n}^{*}\) is even. Hence, the set \(Z_{n}^{*}\) can be divided on average into two subsets  
\(Z_{I_{1}}^{*}=\{2k+1,0\leq k\leq l-1\}\) and \(Z_{I_{2}}^{*}=\{2k,1\leq k\leq l\}\) of no common element. As can be seen from the group, it is clear that any \(a\in Z_{I_{1}}^{*},b\in Z_{I_{2}}^{*},a\
eq b\) and the orders of both the subsets are half of \(n-1\), i.e., \(|Z_{I_{1}}^{*}|=|Z_{I_{2}}^{*}|=(n-1)/2=l\). Denote all the elements in \(Z_{n_{i}}^{*}\) to be arranged as the first row vector \(\vec{e}_{ij}\) of an obtained matrix \(E_{i}\), where \(i=1,2\) is the \(i\)th subset and \(j=1,2,\ldots\), and \(l\) is the \(j\)th permutation, so the number of the maximum sort order is \(l\). To the first vector \(\vec{e}_{11}=(e_{11},e_{12},\ldots,e_{1l})\), we take the described anticlockwise (or clockwise) cyclic shift \(K\) in (13), i.e., \(\vec{e}_{11}K=(e_{1l},e_{11},\ldots,e_{1,l-1})\). After \(l-1\) times of operation \(K\) to vector \(\vec{e}_{11}\), \(l\) vectors may be generated as the matrix \(E_{1}\). With a similar rule, we take the sequential arrangement \(\vec{e}_{21}=(e_{21},e_{22},\ldots,e_{2l})\) as the first vector of another matrix \(E_{2}\). It is required that \(\vec{e}_{21}\) is a different sequence from \(\vec{e}_{11}\). Subsequently, the elements in the two subsets can be constructed as two exponent block matrices \(E_{1}\) and \(E_{2}\). The exponent matrix is generated by combining them. Namely, define an operator '\(\odot\)' for combining the two sub-matrices as  
\[G_{e}=E_{1}\odot E_{2}=(E_{1}|E_{2})=\left( \begin{array}{c|c}\vec{e}_{11}& \vec{e}_{21}\\ \vec{e}_{12}&\vec{e}_{22}\\ \vdots&\vdots\\ \vec{e}_{1l}&\vec{e}_{2l}\end{array} \right). \tag{30}\]  
Here, \(E_{i}\) is an exponent sub-matrix for obtaining the exponent matrix \(G_{e}\), and \(\vec{e}_{i}\) is the row vector of the exponent sub-matrix \(E_{i}\), \(i=1,2\). On the basis of the same rule, two exponent matrices \(G_{e_{1}}\) and \(G_{e_{2}}\) may be gained from the elements in \(Z_{I_{1}}^{*}\) and \(Z_{I_{2}}^{*}\), respectively. After constructing the exponent matrix \(G_{e}\) and the basic matrix \(K\), the circulant permutation \(Q\) may be obtained. By combining it with the \(n\)-order jacket matrix, the \(nl\times n(n-1)\) generator matrix \(G\) is finally obtained. Furthermore, if a greater code rate is required, we also apply the described method again to add the rows. This purpose will be achieved to make the first vector begin with a different cyclic-shifting permutation vector with opposite direction, i.e., clockwise (or anticlockwise). As a result, it will obtain a \(n(n-1)\times n(n-1)\) generator matrix \(G\) as  
\[G_{e}=\left( \begin{array}{c|c}E_{1}&E_{2}\\ E_{1}^{\prime}&E_{2}^{\prime}\end{array} \right), \tag{31}\]  
where \(E_{1}^{\prime}\) and \(E_{2}^{\prime}\) are newly obtained matrices with the similar method. It is obvious that the row weight of the obtained matrix is equal to \(n-1\). In fact, if we wish to further reduce the weight of the row matrix, a zero block matrix can be used during the design process. If we denote \"\(\tau_{0}\)\" as the exponent of the \(n\times n\) zero matrix, just taking \"\(\tau_{0}\)\" instead of \(1\leq t\leq l-1\) elements in \(Z_{I_{1}}^{*}\) and \(Z_{I_{2}}^{*}\), the row weight will reduce \(2t\) in the obtained matrix. The whole physical circuit of the construction process can be described as in Figure 2. In the process, a prime number \(n\) will be divided into two branches.