Skip to content

Commit 906e037

Browse files
authored
Merge pull request #367 from Fe-r-oz/fa/double-homological-product
Double Homological Product Code
2 parents 380ff14 + 3aa7d75 commit 906e037

File tree

3 files changed

+60
-3
lines changed

3 files changed

+60
-3
lines changed

codes/quantum/qubits/small_distance/small/8/stab_8_3_3.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ relations:
3939
_meta:
4040
# Change log - most recent first
4141
changelog:
42-
- user_id: FerozAhmad
42+
- user_id: FerozAhmedMian
4343
date: '2024-03-14'
4444
- user_id: VictorVAlbert
4545
date: '2023-11-28'
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
#######################################################
2+
## This is a code entry in the error correction zoo. ##
3+
## https://github.com/errorcorrectionzoo ##
4+
#######################################################
5+
6+
code_id: double_homological_product
7+
physical: qubits
8+
logical: qubits
9+
10+
name: 'Double homological product code'
11+
introduced: '\cite{arxiv:1805.09271}'
12+
13+
description: |
14+
The double homological product code is derived from two applications of the homological product to a classical code, resulting in a length-\(4\) chain complex:
15+
\[
16+
\breve{C}_{-2} \xrightarrow{\breve{\delta}_{-2}} \breve{C}_{-1} \xrightarrow{\breve{\delta}_{-1}} \breve{C}_0 \xrightarrow{\breve{\delta}_0} \breve{C}_1 \xrightarrow{\breve{\delta}_1} \breve{C}_2.
17+
\]
18+
19+
The boundary maps \(\breve{\delta}_j\) are constructed using tensor products of the original boundary maps, ensuring the chain condition \(\breve{\delta}_{j+1} \breve{\delta}_j = 0\).
20+
21+
The construction method allows for the use of two different classical codes as inputs. However, \cite{arxiv:1805.09271} assumes identical input codes for simplicity.
22+
23+
The code supports metachecks to detect measurement errors, enabling single-shot error correction.
24+
25+
protection: |
26+
- Given a classical \([n, k, d]\) code, the double homological product yields a quantum code with parameters:
27+
\[
28+
[[n_Q = n^4 + 4n^2(n-k)^2 + (n-k)^4, k_Q = k^4, d_Q \geq d, d_{ss} = \infty]].
29+
\]
30+
- The code is \((d, f)\)-sound with \(f(x) = x^3/4\), meaning small syndromes can be corrected by small errors.
31+
- The check redundancy is bounded (\(\breve{\upsilon} < 2\)), and the construction preserves LDPC properties if the original code is LDPC.
32+
33+
relations:
34+
parents:
35+
- code_id: multisector_hypergraph
36+
cousins:
37+
- code_id: higher_dimensional_toric
38+
detail: While topological codes like the \(2D\) or \(2D\) toric codes offer intuitive geometric structures, they face fundamental trade-offs in code parameters (e.g., rate vs. distance). The double homological product code, though more abstract, shares key advantages with high-dimensional topological codes—such as single-shot error correction—while circumventing these limitation.
39+
- code_id: hypergraph_product
40+
detail: Notational conventions for chain complexes permit some flexibility. \cite{arxiv:1805.09271} select conventions ensuring that the multi-sector homological product construction directly corresponds to the hypergraph product of \cite{arxiv:0903.0566}.
41+
42+
features:
43+
fault_tolerance:
44+
- Corrects errors using only one round of noisy measurements, with residual errors bounded by the soundness function.
45+
- Metachecks enable detection of measurement errors, improving fault tolerance.
46+
47+
decoders:
48+
- 'The meta-check-based decoder operates through a two-stage process: first, it identifies a minimal correction \( s_{\text{rec}} \) to the syndrome \( s \) such that the repaired syndrome \( s + s_{\text{rec}} \) satisfies all metachecks (\( H(s + s_{\text{rec}}) = 0 \)). Second, it computes a minimal-weight physical error \( E_{\text{rec}} \) consistent with the repaired syndrome. This approach uniquely tolerates up to \( \lfloor (d_{ss} - 1)/2 \rfloor \) measurement errors in a single round, eliminating the need for repeated syndrome measurements—a hallmark of single-shot error correction.'
49+
- 'The minimum-weight decoder optimizes the recovery operation \( E_{\text{rec}} \) to minimize the residual error \( E_{\text{rec}} \cdot E \) given a noisy syndrome \( s = \sigma(E) + u \). The decoder’s performance is intrinsically tied to the code’s soundness: when the code is \((t, f)\)-sound, the minimum-weight decoder guarantees that the residual error’s min-weight scales as \( f(2|u|) \) for measurement errors \( |u| < t/2 \) \cite{arxiv:1805.09271}. This property is particularly robust in double homological codes, where soundness follows a cubic scaling (\( f(x) \sim x^3 \)).'
50+
51+
# Begin Entry Meta Information
52+
_meta:
53+
# Change log - most recent first
54+
changelog:
55+
- user_id: FerozAhmedMian
56+
date: '2025-07-28'
57+

users/users_db.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -562,8 +562,8 @@
562562
name: 'Purva Thakre'
563563
githubusername: purva-thakre
564564

565-
- user_id: FerozAhmad
566-
name: 'Feroz Ahmad'
565+
- user_id: FerozAhmedMian
566+
name: 'Feroz Ahmed Mian'
567567
githubusername: Fe-r-oz
568568

569569
- user_id: vtomole

0 commit comments

Comments
 (0)