Skip to content

Commit

Permalink
galois_hypergraph_product, galois_expander
Browse files Browse the repository at this point in the history
  • Loading branch information
valbert4 committed Oct 22, 2024
1 parent 8f287cc commit 8c1be64
Show file tree
Hide file tree
Showing 11 changed files with 102 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ logical: bits
name: 'Expander code'
introduced: '\cite{doi:10.1109/18.556667}'

alternative_names:
- 'Sipser-Spielman code'

description: |
LDPC code whose parity-check matrix is derived from the adjacency matrix of bipartite expander graph \cite{doi:10.1090/S0273-0979-06-01126-8} such as a Ramanujan graph or a Cayley graph of a projective special linear group over a finite field \cite{doi:10.1007/BF02126799,doi:10.1017/CBO9780511615825}.
Expander codes admit efficient encoding and decoding algorithms and yield an explicit (i.e., non-random) asymptotically good LDPC code family.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ alternative_names:
- 'Tillich-Zemor product code'

description: |
A member of a family of CSS codes whose stabilizer generator matrix is obtained from a hypergraph product of two classical linear codes.
A member of a family of CSS codes whose stabilizer generator matrix is obtained from a hypergraph product of two classical linear binary codes.
Codes from hypergraph products in higher dimension are called \textit{higher-dimensional HGP codes} \cite{arxiv:1810.01519}.
More technically, the \(x\)- and \(Z\)-type stabilizer generator matrices of a hypergraph product code are, respectively, the boundary and coboundary operators of the 2-complex obtained from the tensor product of a chain complex and cochain complex corresponding to two classical linear binary linear \textit{seed} codes.
More technically, the \(x\)- and \(Z\)-type stabilizer generator matrices of a hypergraph product code are, respectively, the boundary and coboundary operators of the 2-complex obtained from the tensor product of a chain complex and cochain complex corresponding to two classical linear binary \textit{seed} codes.
Let the two seed codes be \(C_i\) for \(i\in\{1,2\}\) with parameters \([n_i, k_i, d_i]\), defined as the kernel of \(r_i \times n_i\) check matrices \(H_i\) of rank \(n_i - k_i\).
The hypergraph product yields two classical codes \(C_{X,Z}\) with parity-check matrices
\begin{align}
Expand All @@ -29,7 +29,7 @@ description: |
where \(I_m\) is the \(m\)-dimensional identity matrix.
These two codes then yield a hypergraph product code via the CSS construction.
In general, the stabilizer generator matrices of an \(m\)-dimensional hypergraph product code are the boundary and co-boundary operators of a 2-dimensional chain complex contained within an \(m\)-complex that is recursively constructed by taking the tensor product of an \((m-1)\)-complex and a 1-complex, with the 1-complex corresponding to some classical linear code.
In general, the stabilizer generator matrices of an \(m\)-dimensional hypergraph product code are the boundary and co-boundary operators of a 2-dimensional chain complex contained within an \(m\)-complex that is recursively constructed by taking the tensor product of an \((m-1)\)-complex and a 1-complex, with the 1-complex corresponding to some classical linear binary code.
# 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 Expand Up @@ -67,18 +67,18 @@ features:
relations:
parents:
- code_id: homological_product
detail: 'A homological product of chain complexes corresponding to two classical codes is a hypergraph product code \cite{arxiv:2009.03921}.'
- code_id: lifted_product
detail: 'Lifted-product codes for trivial lift are hypergraph-product codes.'
detail: 'A homological product of chain complexes corresponding to two linear binary codes is a hypergraph product code \cite{arxiv:2009.03921}.'
- code_id: sc_qldpc
detail: 'Hypergraph-product stabilizer generator matrices can be used as sub-matrices to define a 2D SC-QLDPC code \cite{arxiv:2305.00137}.'
- code_id: galois_hypergraph_product
detail: 'Hypergraph product codes are Galois-qudit hypergraph-product codes for qudit dimension \(q=2\).'
cousins:
- code_id: ltc
detail: 'Applying the hypergraph product to an LTC yields a code which provides an explicit example of \textit{No Low-Error Trivial States (NLETS)} \cite{arxiv:1510.02082}.'
- code_id: xyz_product
detail: 'Hypergraph (XYZ) product codes are constructed out of hypergraph products of two (three) classical linear codes.'
- code_id: binary_linear
detail: 'Hypergraph product codes are constructed out of two classical linear binary codes.'
detail: 'Hypergraph product codes are constructed out of two linear binary codes.'


# Begin Entry Meta Information
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,10 @@ logical: qubits
name: 'Quantum expander code'
introduced: '\cite{arxiv:1504.00822}'

description: 'CSS codes constructed from a hypergraph product of bipartite expander graphs \cite{doi:10.1090/S0273-0979-06-01126-8} with bounded left and right vertex degrees. For every bipartite graph there is an associated matrix (the parity check matrix) with columns indexed by the left vertices, rows indexed by the right vertices, and 1 entries whenever a left and right vertex are connected. This matrix can serve as the parity check matrix of a classical code. Two bipartite expander graphs can be used to construct a quantum CSS code (the quantum expander code) by using the parity check matrix of one as \(X\) checks, and the parity check matrix of the other as \(Z\) checks.'
alternative_names:
- 'Quantum Sipser-Spielman code'

description: 'CSS code constructed from a hypergraph product of bipartite expander graphs \cite{doi:10.1090/S0273-0979-06-01126-8} with bounded left and right vertex degrees. For every bipartite graph there is an associated matrix (the parity check matrix) with columns indexed by the left vertices, rows indexed by the right vertices, and 1 entries whenever a left and right vertex are connected. This matrix can serve as the parity check matrix of a classical code. Two bipartite expander graphs can be used to construct a quantum CSS code (the quantum expander code) by using the parity check matrix of one as \(X\) checks, and the parity check matrix of the other as \(Z\) checks.'

protection: 'Pauli errors of weight \(\leq t\), distance scales as \hyperref[topic:asymptotics]{order} \(\Omega(n^{1/2})\).'

Expand All @@ -33,6 +36,7 @@ features:
relations:
parents:
- code_id: hypergraph_product
- code_id: galois_expander
- code_id: single_shot
detail: 'Quantum expander codes are single-shot \cite{arxiv:1808.03821}.'
cousins:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#######################################################
## This is a code entry in the error correction zoo. ##
## https://github.com/errorcorrectionzoo ##
#######################################################

code_id: galois_expander
physical: galois
logical: galois

name: 'Galois-qudit quantum expander code'
introduced: '\cite{arxiv:2410.14662}'

alternative_names:
- 'Galois-qudit Sipser-Spielman code'

description: |
Galois-qudit CSS code constructed from a hypergraph product of expander codes.
Expander codes with RS inner codes contain GRM codewords because tensor products of univariate polynomials (corresponding to RS codewords) yield multivariate polynomials (corresponding to GRM codewords) \cite{arxiv:2410.14662}. This \textit{multiplication property} allows for QLDPC Galois-qudit quantum expander codes with transversal \(C^{r-1} Z\) gates while maintaining distance \cite{arxiv:2410.14662}.
features:
magic_scaling_exponent: 'Hypergraph products of expander codes with RS inner codes yield \([[n,k\geq n^{1-\epsilon},d\geq n^{1/r}/\text{poly}(\log n)]]_q\) QLDPC Galois-qudit quantum expander codes with transversal \(C^{r-1} Z\) gates \cite{arxiv:2410.14662}. This construction allows for arbitrarily small magic-state yield parameter \(\gamma).'

transversal_gates:
- 'Hypergraph products of expander codes with RS inner codes yield \([[n,k\geq n^{1-\epsilon},d\geq n^{1/r}/\text{poly}(\log n)]]_q\) QLDPC Galois-qudit quantum expander codes with transversal \(C^{r-1} Z\) gates \cite{arxiv:2410.14662}.'


relations:
parents:
- code_id: galois_hypergraph_product
cousins:
- code_id: reed_solomon
detail: 'Hypergraph products of expander codes with RS inner codes yield \([[n,k\geq n^{1-\epsilon},d\geq n^{1/r}/\text{poly}(\log n)]]_q\) QLDPC Galois-qudit quantum expander codes with transversal \(C^{r-1} Z\) gates \cite{arxiv:2410.14662}.'
- code_id: generalized_reed_muller
detail: 'Expander codes with RS inner codes contain GRM codewords because tensor products of univariate polynomials (corresponding to RS codewords) yield multivariate polynomials (corresponding to GRM codewords) \cite{arxiv:2410.14662}.'
- code_id: balanced_product
detail: 'Balanced products of expander codes with RS inner codes yield \([q^{\text{polylog}(q)},k\geq n^{1-\epsilon},n/\text{poly}(\log n)]_q\) LTCs exhibiting the multiplication property \cite{arxiv:2410.14662}.'
- code_id: q-ary_ltc
detail: 'Balanced products of expander codes with RS inner codes yield \([q^{\text{polylog}(q)},k\geq n^{1-\epsilon},n/\text{poly}(\log n)]_q\) LTCs exhibiting the multiplication property \cite{arxiv:2410.14662}.'


# Begin Entry Meta Information
_meta:
# Change log - most recent first
changelog:
- user_id: VictorVAlbert
date: '2024-10-23'
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#######################################################
## This is a code entry in the error correction zoo. ##
## https://github.com/errorcorrectionzoo ##
#######################################################

code_id: galois_hypergraph_product
physical: galois
logical: galois

name: 'Galois-qudit HGP code'
# introduced: '\cite{arxiv:0903.0566,arxiv:1202.0928,arxiv:1810.01519}'

alternative_names:
- 'Galois-qudit quantum hypergraph (QHG) code'
- 'Galois-qudit Tillich-Zemor product code'

description: |
A member of a family of Galois-qudit CSS codes whose stabilizer generator matrix is obtained from a hypergraph product of two classical linear \(q\)-ary codes.
features:


relations:
parents:
- code_id: lifted_product
detail: 'Lifted-product codes for trivial lift are Galois-qudit hypergraph-product codes.'
cousins:
- code_id: q-ary_linear
detail: 'Galois-qudit HGP codes are constructed out of two classical linear \(q\)-ary codes.'
# - code_id: galois_homological_product
# detail: 'A homological product of chain complexes corresponding to two linear \(q\)-ary codes is a Galois-qudit hypergraph product code.'


# Begin Entry Meta Information
_meta:
# Change log - most recent first
changelog:
- user_id: VictorVAlbert
date: '2024-10-22'
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ alternative_names:
- 'Panteleev-Kalachev (PK) code'

description: |
Code that utilizes the notion of a lifted product in its construction. Lifted products of certain classical Tanner codes are the first (asymptotically) \textit{good QLDPC codes}.
Galois-qudit code that utilizes the notion of a lifted product in its construction. Lifted products of certain classical Tanner codes are the first (asymptotically) \textit{good QLDPC codes}.
A code can be defined by \(LP(A,B)\), where \(A\) and \(B\) are a pair of matrices with elements from a \hyperref[topic:group-algebra]{group algebra}.
Heuristically, the code is constructed as a hypergraph product code over the \hyperref[topic:group-algebra]{group algebra}, with each entry subsequently extended into a matrix.
Expand Down

0 comments on commit 8c1be64

Please sign in to comment.