Skip to content

Commit

Permalink
homological product defn
Browse files Browse the repository at this point in the history
  • Loading branch information
valbert4 committed Oct 17, 2023
1 parent d26c10c commit 54fbdd8
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 15 deletions.
2 changes: 1 addition & 1 deletion codes/quantum/qubits/stabilizer/qldpc/algebraic/qcga.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ features:
- 'Syndrome extraction circuit requires seven layers of CNOT gates regardless of code length. BP-OSD decoder \cite{arxiv:1904.02703} has been extended \cite{arxiv:2308.07915} to account for measurement errors (i.e., the circuit-based noise model \cite{arxiv:0803.0272}).'

threshold:
- '\(0.8\%\) for circuit-level noise under BP-OSD decoder \cite{arxiv:2308.07915} (cf. \cite{arxiv:0803.0272}).'
- '\(0.8\%\) pseudothreshold for circuit-level noise under BP-OSD decoder \cite{arxiv:2308.07915} (cf. \cite{arxiv:0803.0272}).'

# Parent is qubit_css because primary parent needs to be qubit
relations:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,20 @@ alternative_names:

description: |
CSS code formulated using the homological product of two chain complexes (see \ref{topic:CSS-to-homology-correspondence}).
Given a classical code with parity-check matrix \(H\), the homological product yields two classical codes \(C_{X,Z}\) with parity-check matrices
Given two classical codes, \(C_i=[n_i,k_i,d_i]\) with \(i\in\{1,2\}\), whose parity-check matrices \(H_i\) satisfy \(H_i^2 = 0\), their homological product yields two classical codes with \(C_{X,Z}\) with parity-check matrices
\begin{align}
H_X=\begin{pmatrix}I\otimes H\\
H\otimes I
\end{pmatrix}\quad\quad\text{and}\quad\quad H_Z=\begin{pmatrix}H\otimes I\\
I\otimes H
\end{pmatrix}~.
H_X = H_Z^T = H_1 \otimes I + I \otimes H_2~,
\end{align}
where \(I\) is the identity.
These two codes then yield a homological product code via the CSS construction.
# In the single-sector homological product code, each base code is associated with the chain complex \( C_a \longrightarrow C_a\longrightarrow C_a\) such that the boundary operator satisfies \(\partial_{a}^{2}=0\). The image \(im\partial\) form the parity check space and any set of basis for this space can be viewed as Z-type stabilizer group generators. The same rule holds for \(im\partial^{T}\), which gives X-type stabilizer generators. Conversely, \(ker\partial\setminus im\partial\) (or \(\partial^{T}\)) correspond to all undetectable errors of Z-type(X-type). Finally, the Z-type logical operators are just elements in the homological group \(ker\partial/im\partial\) and X-type logical operators are just elements in the cohomological group \(ker\partial^{T}/im\partial^{T}\).
# In the single-sector homological product code, each base code is associated with the chain complex \( C_i \longrightarrow C_i\longrightarrow C_i\) such that the boundary operator satisfies \(\partial_{a}^{2}=0\). The image \(im\partial\) form the parity check space and any set of basis for this space can be viewed as Z-type stabilizer group generators. The same rule holds for \(im\partial^{T}\), which gives X-type stabilizer generators. Conversely, \(ker\partial\setminus im\partial\) (or \(\partial^{T}\)) correspond to all undetectable errors of Z-type(X-type). Finally, the Z-type logical operators are just elements in the homological group \(ker\partial/im\partial\) and X-type logical operators are just elements in the cohomological group \(ker\partial^{T}/im\partial^{T}\).

#For two chain complexes, the product complex is \( C_1\otimes C_2 \longrightarrow C_1\otimes C_2\longrightarrow C_1\otimes C_2\). The boundary operator is now \(\partial_1\otimes I_2+I_1\otimes \partial_2\).

#For simplicity, Ref. \cite{arXiv:1311.0885} used two codes with the same \(n,k\). The boundary operator \(\delta_1\) and \(\delta_2\) are selected from a random ensemble of boundary operators, with uniform probability distribution. To be precise, the boundary operator \(\delta_a\) can be represented by the form \(\delta_a=U_a \delta_0 U_a^{-1}\) where \(U_a\) is a random \(n\times n\) invertible matrix selected from all possible invertible matrices with uniform distribution and \(\delta_0\) is the canonical form \cite{arXiv:1311.0885}.

protection: 'Given two codes \([[n_a, k_a, d_a, w_a]]\) for \(a\in\{1,2\}\), where \(w_a\) denotes the maximum hamming weight of all rows and columns of \(\partial_a\), the homological product code has parameter \([[n=n_1 n_2, k=k_1 k_2, d\leq d_1 d_2, w\leq w_1+w_2]]\). From this formula, and the fact that a randomly selected boundary operator \(\partial\) yields a CSS code that is good with high probability, we see that the product code has \(k=\Theta(n)\) and \(w=O(\sqrt{n})\) with high probability. The main result in \cite{arXiv:1311.0885} is to show that the product code actually has linear distance with high probability as well. To sum up, it is shown that we have a family of \([[n,k=c_1 n, d=c_2 n, w=c_3 \sqrt{n}]]\) codes given small enough \(c_1,c_2,c_3\).'
protection: 'Given two codes \([[n_i, k_i, d_i, w_i]]\) for \(i\in\{1,2\}\), where \(w_i\) denotes the maximum hamming weight of all rows and columns of \(\partial_i\), the homological product code has parameter \([[n=n_1 n_2, k=k_1 k_2, d\leq d_1 d_2, w\leq w_1+w_2]]\). From this formula, and the fact that a randomly selected boundary operator \(\partial\) yields a CSS code that is good with high probability, we see that the product code has \(k=\Theta(n)\) and \(w=O(\sqrt{n})\) with high probability. The main result in \cite{arXiv:1311.0885} is to show that the product code actually has linear distance with high probability as well. To sum up, it is shown that we have a family of \([[n,k=c_1 n, d=c_2 n, w=c_3 \sqrt{n}]]\) codes given small enough \(c_1,c_2,c_3\).'

features:
general_gates:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,17 @@ name: 'Hypergraph product (HGP) code'
short_name: 'HGP'
introduced: '\cite{arXiv:0903.0566,arxiv:1202.0928}'

description: 'A family of \([[n,k,d]]\) CSS codes whose construction is based on two binary linear \textit{seed} codes \(C_1\) and \(C_2\).'
description: |
A family of \([[n,k,d]]\) CSS codes whose construction is based on two binary linear \textit{seed} codes, \(C_i=[n_i,k_i,d_i]\) with \(i\in\{1,2\}\).
Given the two seed parity-check matrices \(H_{1,2}\), the hypergraph product yields two classical codes \(C_{X,Z}\) with parity-check matrices
\begin{align}
H_{X}&=\begin{pmatrix}H_{1}\otimes I_{n_{2}} & \,\,I_{n_{1}-k_{1}}\otimes H_{2}^{T}\end{pmatrix}\\
H_{Z}&=\begin{pmatrix}I_{n_{1}}\otimes H_{2} & \,\,H_{1}^{T}\otimes I_{n_{2}-k_{2}}\end{pmatrix}~,
\end{align}
where \(I_m\) is the \(m\)-dimensional identity matrix.
These two codes then yield a hypergraph product code via the CSS construction.
# Could be expanded to include Tanner graphs
# Defn of CSS has been changed to accomodate this... In contrast to the original CSS construction there are no restrictions on the form of \(C_1\) and \(C_2\).'

Expand Down
2 changes: 1 addition & 1 deletion codes/quantum/qudits_galois/qldpc/algebraic/2bga.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ logical: galois

name: 'Two-block group-algebra (2BGA) codes'
short_name: '2BGA'
introduced: '\cite{arXiv:2306.16400}'
introduced: '\cite{arxiv:2305.06890,arXiv:2306.16400}'

description: |
2BGA codes are the smallest \hyperref[code:lifted_product]{LP codes}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ features:
rate: |
GB codes can achieve an asymptotic rate of 1/4 \cite{arxiv:2203.17216}.
For an odd prime \(\ell\), let a prime \(p\) be a quadratic residue modulo \(\ell\), i.e. \(p=m^{2}\text{mod}\ell\) for some integer \(m\).
Then, \(x^{\ell}-1\) has only three irreducible factors in \(\mathbb{F}_q(x)\), and there is a quadratic-residue cyclic code \([\ell,(\ell+1)/2, d]_p\) with \(d\geq\sqrt{\ell}\) and an irreducible generator polynomial CITE BibID: 2487773.
Then, \(x^{\ell}-1\) has only three irreducible factors in \(\mathbb{F}_q(x)\), and there is a quadratic-residue cyclic code \([\ell,(\ell+1)/2, d]_p\) with \(d\geq\sqrt{\ell}\) and an irreducible generator polynomial.
Using the GV distance \(d_{GV}\), a prime-field GB code with parameters \([[ 2\ell,(\ell-1)/2,d\geq \ell^{1/2}]]_p\) exists.
decoders:
- 'BP-OSD decoder \cite{arXiv:1904.02703}.'
Expand All @@ -100,11 +100,12 @@ relations:
The GB code ansatz is convenient for designing quantum LDPC codes.
- code_id: single_shot
detail: 'A qubit GB code \([[n,k,d]]_2\) has \(k\) non-trivial relations between the syndrome bits, which is expected to help with operation in a fault-tolerant regime (in the presence of syndrome measurement errors). See Ref. \cite{arXiv:2306.16400} for many examples of such codes.'
- code_id: quantum_cyclic
detail: 'Given a canonical generating polynomial \(g(x)\) of a cyclic quantum code \([[n,k,d]]\), its generator matrix is a cyclic matrix \(G=g(P)\). Here \(P\) is the permutation matrix of one-step length-\(n\) cyclic shift.'
- code_id: hypergraph_product
detail: 'An arbitrary GB code of length \(2\ell\) is equivalent \cite{arxiv:2203.17216} to a rotated quantum hypergraph-product code with periodicity vectors \(\vec{L}_{1}\) and \(\vec{L}_{2}\) such that \(\lvert{\vec{L}_{1}\times\vec{L}_{2}\rvert=\ell}\).'

# - code_id: quantum_cyclic
# detail: 'Given a canonical generating polynomial \(g(x)\) of a cyclic quantum code \([[n,k,d]]\), its generator matrix is a cyclic matrix \(G=g(P)\). Here \(P\) is the permutation matrix of one-step length-\(n\) cyclic shift.'


# Begin Entry Meta Information
_meta:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ alternative_names:
- 'Two-square-block code'

description: |
Galois-qudit CSS code whose stabilizer generator matrices \(H_X=(A,B)\) and \(H_Z=(B^T,-A^T)\), are constructed from a pair of square \(\ell \times \ell\) commuting matrices \(A\) and \(B\).
Galois-qudit CSS code whose stabilizer generator matrices \(H_X=(A,B)\) and \(H_Z=(B^T,-A^T)\), are constructed from a pair of square commuting matrices \(A\) and \(B\).
protection: |
Code parameters are generally unknown, although they can be formally expressed in terms of ranks of some matrices related to \(A\) and \(B\). The corresponding expressions, as well as some upper and lower bounds on parameters are given in \cite{arXiv:2306.16400}.
Expand Down

0 comments on commit 54fbdd8

Please sign in to comment.