diff --git a/codes/quantum/qubits/small_distance/small/8/stab_8_3_3.yml b/codes/quantum/qubits/small_distance/small/8/stab_8_3_3.yml index 809493adc..e5d6800ae 100644 --- a/codes/quantum/qubits/small_distance/small/8/stab_8_3_3.yml +++ b/codes/quantum/qubits/small_distance/small/8/stab_8_3_3.yml @@ -39,7 +39,7 @@ relations: _meta: # Change log - most recent first changelog: - - user_id: FerozAhmad + - user_id: FerozAhmedMian date: '2024-03-14' - user_id: VictorVAlbert date: '2023-11-28' diff --git a/codes/quantum/qubits/stabilizer/qldpc/homological/balanced_product/double_homological_product.yml b/codes/quantum/qubits/stabilizer/qldpc/homological/balanced_product/double_homological_product.yml new file mode 100644 index 000000000..552b4ac84 --- /dev/null +++ b/codes/quantum/qubits/stabilizer/qldpc/homological/balanced_product/double_homological_product.yml @@ -0,0 +1,57 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + +code_id: double_homological_product +physical: qubits +logical: qubits + +name: 'Double homological product code' +introduced: '\cite{arxiv:1805.09271}' + +description: | + 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: + \[ + \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. + \] + + 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\). + + 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. + + The code supports metachecks to detect measurement errors, enabling single-shot error correction. + +protection: | + - Given a classical \([n, k, d]\) code, the double homological product yields a quantum code with parameters: + \[ + [[n_Q = n^4 + 4n^2(n-k)^2 + (n-k)^4, k_Q = k^4, d_Q \geq d, d_{ss} = \infty]]. + \] + - The code is \((d, f)\)-sound with \(f(x) = x^3/4\), meaning small syndromes can be corrected by small errors. + - The check redundancy is bounded (\(\breve{\upsilon} < 2\)), and the construction preserves LDPC properties if the original code is LDPC. + +relations: + parents: + - code_id: multisector_hypergraph + cousins: + - code_id: higher_dimensional_toric + 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. + - code_id: hypergraph_product + 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}. + +features: + fault_tolerance: + - Corrects errors using only one round of noisy measurements, with residual errors bounded by the soundness function. + - Metachecks enable detection of measurement errors, improving fault tolerance. + + decoders: + - '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.' + - '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 \)).' + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: FerozAhmedMian + date: '2025-07-28' + diff --git a/users/users_db.yml b/users/users_db.yml index 572bf8400..f9a29c584 100644 --- a/users/users_db.yml +++ b/users/users_db.yml @@ -562,8 +562,8 @@ name: 'Purva Thakre' githubusername: purva-thakre -- user_id: FerozAhmad - name: 'Feroz Ahmad' +- user_id: FerozAhmedMian + name: 'Feroz Ahmed Mian' githubusername: Fe-r-oz - user_id: vtomole