# Quantum LDPC Codes Based on Cocyclic Block Matrices
## 3 Quantum Codes Based on Cocyclic Quasi-Jacket Block Matrices
### Cocyclic Matrix Derived from Jacket Block Matrices  
On the basis of the above definitions, we shall apply the index mapping to construct generator matrices \(G^{x}\) and \(G^{z}\) based on cocyclic Jacket matrices with order \(N=p^{m}\). Firstly, we form an Abelian group by factoring a quasi-Jacket block matrix, of which elements will be used to construct a stabilizer. **Theorem 1**: _Given \(A_{u}=[a_{ij}]_{u}\) and \(B_{v}=[b_{ij}]_{v}\) are two cocyclic Jacket matrices, their Kronecker product \(A_{u}\otimes B_{v}\) will be also a cocyclic Jacket matrix with size \(w\)[35]._  
Because \(A_{u}\) and \(B_{v}\) are Jacket matrices, in terms of the definition of Jacket matrix, it has  
\[A_{u}^{-1}=[a_{ij}^{-1}]_{u}^{T}/c_{a},\ \ B_{v}^{-1}=[b_{sl}^{-1}]_{v}^{T}/c_{b}, \tag{15}\]  
where \(c_{a},c_{b}\) are two constants. As a result, their Kronecker product is \(A_{u}\otimes B_{v}=[w_{iu+s,ju+l}]_{uv}\) for \(w_{iu+s,ju+l}=a_{ij}b_{sl}\). Correspondingly, we have  
\[(A_{u}\otimes B_{v})^{-1}=[(a_{ij}b_{st})^{-1}]_{uv}^{T}/(c_{a}c _{b})\] \[\qquad\qquad=[(w_{iu+s,ju+l})^{-1}]_{uv}/(c_{a}c_{b}), \tag{16}\]  
i.e., \(A_{u}\otimes B_{v}\) is a Jacket matrix. On the other hand, suppose that the row and column index orders of the two matrices as  
\[g_{s1}^{a}\to g_{s2}^{a}\to\ldots\to g_{su}^{a},\ \ \ for\ \ g_{sj}^{a}\in G_{A}\] \[g_{s1}^{b}\to g_{s2}^{b}\to\ldots\to g_{su}^{b},\ \ \ for\ \ g_{sl}^{b}\in G_{B} \tag{17}\]  
where \(s=r,c\), and \(g_{s1}^{a}\) (or \(g_{s1}^{b}\)) and \(g_{c1}^{c}\) (or \(g_{c1}^{b}\)) refer to the first row and column indices of matrix \(A_{u}\) (or \(B_{v}\)), respectively. Hence, the row and column index orders of matrix \(A_{u}\otimes B_{v}\) are  
\[g_{sj}^{a}g_{sl}^{b}\mapsto g_{s1}^{a}g_{sh}^{b},\ \ \text{if}\ \ g_{sj}^{a}\to g_{si}^{a}\ \text{or}\ g_{sj}^{a}=g_{si}^{a},\ \ g_{sl}^{b}\to g_{sl}^{b}. \tag{18}\]  
Correspondingly, define  
\[\varphi_{AB}(g_{s1}^{a}g_{m}^{b}g_{cj}^{a}g_{cl}^{b})=\varphi_{A}(g_{s1}^{a}g_ {cj}^{a})\varphi_{B}(g_{rn8}^{b}g_{cl}^{b}). \tag{19}\]  
Because both \(A_{u}\) and \(B_{v}\) are cocyclic matrices, \(\varphi_{A}\) and \(\varphi_{B}\) satisfy the condition shown in Equation (12). As a result, it is verified that \(\varphi_{AB}\) also meets it with the index orders shown in Equation (18). It means that \(A_{u}\otimes B_{v}\) also is a cocyclic matrix. More generally, by making use of the mathematical methods of induction, it is easily verified that a large-length matrix  
\[J_{N}=J_{p_{1}}\otimes J_{p_{2}}\otimes\cdots\otimes J_{p_{n}} \tag{20}\]  
with order \(N=p_{1}p_{2}\cdots p_{n}\) is still a Jacket matrix and cocylic matrix, while Jacket matrix \(J_{p_{i}}\) is a cocylic matrix for \(1\leq i\leq n\). Specially, if \(p_{1}=p_{2}=\cdots=p_{N}\), the following matrix  
\[J_{p^{m}}\triangleq[\omega^{\widehat{1}\widehat{0}\widehat{7}}]=J_{p}^{\otimes n} \tag{21}\]  
with a Kronecker product also achieves the definitions of Jacket matrix and cocylic matrix. In the following, we further illustrate that the generator matrix may be derived from a recursive cocyclic matrix. **Theorem 2**: _A recursive \(p\)-order cocyclic matrix \(J_{p^{m}}\) for a integer \(m\) can be composed of a family of cocyclic matrices \(\mathcal{A}=\{A_{N}^{1},A_{N}^{2},\cdots,A_{N}^{m}\}\) with conventional multiplication as follows_\[J_{p^{m}}=\prod_{i=1}^{m}A^{i}_{p^{m}}=A^{1}_{p^{m}}A^{2}_{p^{m}}\cdots A^{m}_{p^{m }}, \tag{22}\]  
_where_  
\[(A_{u}\otimes B_{v})^{-1}=[(a_{ij}b_{st})^{-1}]_{uv}^{T}/(c_{a}c _{b})\]0  
_for that, \(J_{p}\) is a cocyclic matrix and \(I_{p}\) is an identity matrix._  
Proof. : We use the mathematical induction method to prove the result. In fact, while \(n=1\), the conclusion is obviously valid, i.e., \(J_{p}=I_{p^{0}}\otimes J_{p}\otimes I_{p^{0}}\). Since the hypothesis is true for integer \(n=m\), we consider that it holds for \(n=m+1\). Namely, the recursive equation  
\[(A_{u}\otimes B_{v})^{-1}=[(a_{ij}b_{st})^{-1}]_{uv}^{T}/(c_{a}c _{b})\]1  
holds.