# Quantum LDPC Codes Based on Cocyclic Block Matrices
## 2 Preliminaries
### General Construction Methods of QECCs  
In terms of the depolarizing channel, there are four basic operators performing on a single qubit, i.e., \(\sigma_{0}\), \(\sigma_{x}\),\(\sigma_{z}\) and \(\sigma_{y}=\sigma_{x}\sigma_{z}\), that can form a set \(\mathcal{P}\) whose eigenvalues are \(\pm 1\) and \(\pm i\); here, \(\sigma_{x},\sigma_{z}\) are the Pauli transformations. The stabilizer formalism of quantum codes can provide a compact description of codewords, especially for larger codes. Generally, a stabilizer \(S\) of quantum code \(\mathcal{C}[[N,k,d]]\) is a nontrivial subgroup of the \(N\)-operator group  
\[\mathcal{P}^{N}=\mathcal{P}^{\otimes N}=\{\mathrm{i}^{\lambda}( \tau_{1}\otimes\cdots\otimes\tau_{N})|\tau_{j}\in E^{*},0\leq\lambda\leq 3,\] \[1\leq j\leq N\}, \tag{1}\]  
here, any element in \(E^{*}=\{\sigma_{0},\sigma_{x},\sigma_{z},\sigma_{y}\}\) is a Pauli matrix. It shows that the set \(\mathcal{P}^{N}\) consists of all tensor products of Pauli matrices on \(N\) qubits again with multiplicative factors, which is a Hilbert codeword space of \(N\) binary codes. Therefore, for a stabilizer code \(\mathcal{C}\) of encoding \(k\) logical qubits into \(N\) physical qubits, there are \(2^{N-k}\) independent elements in \(2^{k}\)-dimension code space \(\mathcal{C}(S)\) associated with \(S\) of form  
\[\mathcal{C}(S)=\{|\psi\rangle:M|\psi\rangle=|\psi\rangle,\forall M\in S\}. \tag{2}\]  
To obtain the generator matrix of a stabilizer, two constraints should be met. One is that any pair of elements in stabilizer \(S\) commute, and the second condition implies that all elements of \(S\) are Hermitian, i.e., they have an eigenvalue of '\(\pm 1\)'. It means that \(S\) is specified by \(N-k\) commuting and independent generators, \(\{M_{i}:1\leq i\leq N-k\}\). Correspondingly, if stabilizer quantum code is to be formed, \(N-k\) generators of stabilizer \(S\) should be firstly gained, which are described by matrix  
\[\mathcal{G}_{N}=[\mathcal{G}^{x}\quad\mathcal{G}^{z}]_{(N-k)\times 2N}=[M_{1},M _{2},\ldots,M_{N-k}]^{T}, \tag{3}\]  
where \(\mathcal{G}^{x}=(g^{x}_{ij})_{(N-k)\times N}\), \(\mathcal{G}^{z}=(g^{z}_{ij})_{(N-k)\times N}\) for \(1\leq i\leq N-k,1\leq j\leq N\). According to the property of commuting generators, the elements of its row vector satisfy that the symplectic inner product is equal to zero. It means that an arbitrary operation \(\gamma_{i}\) in the \(N\)-qubit depolarizing channel belongs to \(\mathcal{G}_{N}\), which may be uniquely shown by  
\[\gamma_{i}=\tau[\sigma_{1}^{x_{1}}\sigma_{1}^{z_{1}}]\otimes[\sigma_{2}^{x_{2}} \sigma_{2}^{z_{2}}]\otimes\ldots\otimes[\sigma_{N}^{x_{1N}}\sigma_{N}^{z_{1N}}] \tag{4}\]  
where \(x_{i_{k}},z_{i_{k}}\in\{0,1\}\) for \(1\leq s\leq N\), and \(\tau\) is a factor among the eigenvalues. Without considering the factor \(\tau\), based on single-qubit operator \(\gamma_{i}\), we denote a \(2N\)-dimensional concatenated vector as  
\[\vec{\gamma}_{i}=(\vec{x}_{i}|\vec{z}_{i})=(x_{i1},x_{i2},\ldots,x_{iN}|z_{i1}, z_{i2},\ldots,z_{iN}). \tag{5}\]  
For any two concatenated row vectors \(\vec{\gamma}_{i}=(x_{i}|z_{i})\) and \(\vec{\gamma}_{v}=(x_{i}|z_{i})\) in generator matrix \(\mathcal{G}_{N}\), the symplectic inner product is defined by  
\[\vec{\gamma}_{i}\cdot\vec{\gamma}_{j}=\vec{x}_{i}\vec{z}_{j}+\vec{x}_{j}\vec{ z}_{i}=\sum_{k=1}^{N}(x_{ik}z_{jk}+x_{jk}z_{ik}). \tag{6}\]  
Thereby, two operations \(\vec{\gamma}_{i}\) and \(\vec{\gamma}_{j}\) satisfy the commuting condition if  
\[\vec{\gamma}_{i}\cdot\vec{\gamma}_{j}=0. \tag{7}\]  
The vector \(\vec{\gamma}_{i}\) in Equation (5) is generally used to seek the generators of the stabilizer.