# Quantum Coding via Quasi-Cyclic Block Matrix
## 2 Preliminaries
### General Construction Methods of QECCs  
A linear binary quantum error-correcting code \([[N,k,d]]\) denotes that \(k\)-data vectors are encoded to \(N\)-dimensional vectors in space \(\mathcal{P}_{N}\), where \(d\) is the minimum distance. Consider a \(2^{N}\)-dimensional Hilbert space based on a complex field \(\mathbb{C}\)  
\[\mathcal{P}_{N}=\mathbb{C}^{2^{N}}=(\mathbb{C}^{2})^{\otimes N}, \tag{1}\]  
where every \(2^{N}\) standard basis vector in space \(\mathcal{P}_{N}\) is indexed by a classical binary vector \(u\in F_{2}^{N}\) and denoted by \(|u\rangle\). It is generally called a \(N\)-qubit state space, for which each component in the tensor product corresponds to one qubit. Similar to classical coding, a fundamental problem in quantum error correction is to generate quantum codes based on the best possible minimum distance. The general construction method for QECCs usually relies on a so-called stabilizer. A stabilizer quantum code \(\mathcal{C}[[N,k,d]]\) can be gained from the stabilizer denoted as  
\[S=\prod_{i-1}^{N-k}(I+M_{i}^{m_{i}}):m_{i}\in\{0,1\}, \tag{2}\]  
where \(M_{1},M_{2}\cdots M_{N-k}\) are \(N-k\) commuting generators of the stabilizer, which is the collection of orthogonal quantum state eigenvectors that refer to code words. Therefore, to form a stabilizer quantum code, \(N-k\) generators of stabilizer \(S\) should first be designed, which are expressed by the following generator matrix  
\[\mathcal{G}=(\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\), and \(x,z\) are the Pauli transformation. According to the property of commuting generators, the elements of its row vector satisfy that the symplectic inner product is equal to zero.  
Another well known construction method for quantum codes is the CSS code which is generated by a pair of classical codes \(C_{1}[n,k_{1},d_{1}]\) and \(C_{2}[n,k_{2},d_{2}]\), where \(k_{i}\) and \(d_{i}\) are the information code length and minimum distance, respectively. This means that this class of quantum error code is a complex vector space characterized by a pair of classical binary linear codes \(C_{1}\) and \(C_{2}\). Here, the parity-check matrices \(H_{1}\) and \(H_{2}\) of the two classical codes are required to satisfy \(H_{1}\cdot H_{2}^{T}=0\), i.e., every row of \(H_{1}\) is orthogonal to every row of \(H_{2}\). Hence, define a CSS code as a complex linear combination of vectors:  
\[\sum_{d^{\prime}\in C_{2}^{\perp}}|c+d^{\prime}\rangle\quad\text{ for }\quad c\in C \tag{4}\]  
where \(C_{2}^{\perp}\) is the dual code of the classical code \(C_{2}\). According to its definition, the obtained quantum CSS code \(\mathcal{C}[[N,k_{1}+k_{2}-N,\min\{d_{1},d_{2}\}]]\) is a class of special stabilizer code, of which the generator matrix is  
\[\mathcal{G}_{c}=\left(\begin{array}{cc}H_{1}&O\\ O&H_{2}\end{array}\right). \tag{5}\]  
In light of the characteristics of big data processed in artificial intelligence and other fields, we shall apply the recursive relationship of a quasi-cyclic block jacket matrix to easily obtain long-length QECCs.