# Quantum LDPC Codes Based on Cocyclic Block Matrices
## 3 Quantum Codes Based on Cocyclic Quasi-Jacket Block Matrices
### Quantum LDPC Codes Based on Cocyclic Block Matrix
According to the proposed construction method, matrix \(\mathcal{J}_{4}\) derived from matrices \(\alpha\) and \(\beta\) obviously cannot form a cycle. If it considers a quasi-Jacket block matrix sequence with a cycle of girth \(2i\), \((j_{0},l_{0})\); \((j_{1},l_{1})\); \(\ldots\); \((j_{i-1},l_{i-1})\); \((j_{0},l_{0})\) as the loop is cyclic. Here, elements \((j_{\
u},l_{\
u})\) represent the block matrix of row \(j_{\
u}\) and column \(l_{\
u}\) for \(0\leq v\leq i\). The formation of a cycle means that any block matrix sequence \((j_{0},l_{i-1})\); \((j_{i-1},l_{i-2})\); \((j_{i-2},l_{i-3})\); \((j_{\
u+1},l_{\
u})\)\((j_{1},l_{0})\) is different from the original sequence. Assume new coordinates \((J_{\
u},L_{\
u})\) to describe any block matrix in a block matrix sequence. For a cycle with a length of \(2i\), the block matrices in the sequence can be locatedat most in the \(i\)-th row. Without losing generality, the sequence of block matrices that may generate a \(2i\) girth is classified according to the number of possible rows. Assume that \(i\) block matrices are located in the \(u(2\leq u\leq i)\) row, and \(u\) rows are marked in order from top to bottom \((1,2,\ldots,u)\). The new row coordinate ranges \(J_{v}\in\{1,2,\ldots,u\}\) for each block matrix, as adjacent block matrices cannot be in the same row. Therefore, we can obtain \(J_{v}\in\{1,2,\ldots,m\}\backslash J_{v-1}\), where \(2\leq v<i\). When \(v=i\), the \(i\)-th block matrix is adjacent not only to the \(i\)-th block matrix but also to the first block matrix, so \(J_{i}\in\{1,2,\ldots,u\}\backslash\{J_{1},J_{i-1}\}\) can be obtained. For column coordinates, making \(L_{1}=1\), \"1\" does not mean that the block matrix is in the first column, but rather that the column in which the block matrix is located is the first occurrence in the sequence. The subsequent block matrix is marked with new column coordinates \(L_{v}\) in the order. We implement this by setting the parameter \(M_{v}=\max_{i=1:v}L_{i}\), where \(M_{v}\) represents the number of columns distributed in the first \(v\) block matrices. Then, for the \(v\)-th block matrix, \(L_{v}\in\{1,2,\ldots,M_{v-1},M_{v-1}+1\}\backslash L_{v-1}\) will indicate that the column can be in a different column from the first \(v-1\) block matrix. For the \(i-\)th block matrix located in row \(u(2\leq u\leq i)\), the first block matrix will be \(J_{1}=L_{1}=1\), i.e., the new coordinate is (1,1) and \(M_{1}=1\). For the \(v\)-th block matrix, we may obtain that \(L_{v}\in\{1,2,\ldots,M_{v-1},M_{v-1}+1\}\backslash L_{v-1}\); hence, the new coordinates of the current block matrix sequence have \((u-1)\times(v-1)\) possibilities. After traversing each possibility and determining all the branches of the \(i\)-th block matrix, we can obtain that the cycle of the constructed matrix is bigger than 4 when the parameter in construction method meets \(m\geq 2\). According to the above description, after determining all the branches of the \(i\)-th block matrix, a tree diagram of the \(i-\)th layer will be obtained, thereby avoiding redundancy caused by repeated traversal. In the classical coding field, we firstly compare the performance of the classical codes obtained from the cocyclic block matrices with the classical quasi-cyclic (QC) codes in Figure 1. In light of the character of the quasi-Jacket block matrix, the gained generator matrix of classical code has sparse property; hence, the parity check matrix of low weight can be obtained. In this figure, we take the different cocyclic matrices presented in this paper to analyze their bit error ratio (BER) and consider the coding performance of a single one among the generated pair classical codes. Here, given the different prime numbers \(p\) are taken \(n=5,7\) with the construction method of the quasi-Jacket block matrix in this paper, their corresponding quantum code lengths are \(N=4p^{m}=500,1372\) for \(m=3\), respectively.