From 0faea966d46d2e270b4de3f30647769935da893e Mon Sep 17 00:00:00 2001 From: "Victor V. Albert" Date: Thu, 4 Jul 2024 12:51:56 -0400 Subject: [PATCH] ea update --- codes/eacq.yml | 4 +- codes/quantum/eaoecc.yml | 2 +- codes/quantum/eaqecc.yml | 2 +- codes/quantum/properties/block/ea_mds.yml | 5 ++- .../qubits/ea_stabilizer/ea_3_1_3-2.yml | 32 +++++++++++++++ .../ea_qldpc/ea_design_qldpc.yml | 30 ++++++++++++++ .../ea_stabilizer/ea_qldpc/ea_pg_qldpc.yml | 32 +++++++++++++++ .../ea_stabilizer/ea_qldpc/ea_qc_qldpc.yml | 34 ++++++++++++++++ .../ea_stabilizer/ea_qldpc/ea_qldpc.yml | 40 +++++++++++++++++++ .../ea => ea_stabilizer}/ea_turbo.yml | 2 +- .../ea => ea_stabilizer}/eastab.yml | 13 ++++-- .../ea => ea_stabilizer}/quantum_polar.yml | 7 ++-- 12 files changed, 189 insertions(+), 14 deletions(-) create mode 100644 codes/quantum/qubits/ea_stabilizer/ea_3_1_3-2.yml create mode 100644 codes/quantum/qubits/ea_stabilizer/ea_qldpc/ea_design_qldpc.yml create mode 100644 codes/quantum/qubits/ea_stabilizer/ea_qldpc/ea_pg_qldpc.yml create mode 100644 codes/quantum/qubits/ea_stabilizer/ea_qldpc/ea_qc_qldpc.yml create mode 100644 codes/quantum/qubits/ea_stabilizer/ea_qldpc/ea_qldpc.yml rename codes/quantum/qubits/{stabilizer/ea => ea_stabilizer}/ea_turbo.yml (93%) rename codes/quantum/qubits/{stabilizer/ea => ea_stabilizer}/eastab.yml (73%) rename codes/quantum/qubits/{stabilizer/ea => ea_stabilizer}/quantum_polar.yml (94%) diff --git a/codes/eacq.yml b/codes/eacq.yml index 25801b19e..1bec92812 100644 --- a/codes/eacq.yml +++ b/codes/eacq.yml @@ -11,8 +11,8 @@ name: 'Entanglement-assisted (EA) hybrid quantum code' short_name: 'EA hybrid' introduced: '\cite{arxiv:0802.2414,arxiv:0807.2080,arxiv:1911.12260}' -alternative_names: - - 'Entanglement-assisted classical-quantum (EACQ) code' +# alternative_names: +# - 'Entanglement-assisted classical-quantum (EACQ) code' # not to be confused with c-q codes description: | diff --git a/codes/quantum/eaoecc.yml b/codes/quantum/eaoecc.yml index 84b9e9531..48bac84a5 100644 --- a/codes/quantum/eaoecc.yml +++ b/codes/quantum/eaoecc.yml @@ -14,7 +14,7 @@ introduced: '\cite{arxiv:0708.2142,doi:10.1109/ISIT.2007.4557160}' description: | Subsystem QECC whose encoding and decoding utilizes pre-shared entanglement between sender and receiver. - + relations: parents: diff --git a/codes/quantum/eaqecc.yml b/codes/quantum/eaqecc.yml index c704a0a37..3c035d468 100644 --- a/codes/quantum/eaqecc.yml +++ b/codes/quantum/eaqecc.yml @@ -33,7 +33,7 @@ relations: - code_id: qecc detail: 'EA QECCs utilize additional ancillary subsystems in a pre-shared entangled state, but reduce to QECCs when said subsystems are interpreted as noiseless physical subsystems.' - code_id: qudits_into_qudits - detail: 'Pure modular-qudit codes can be used to make EA-QECCs with the same distance and dimension; see Thm. 10 of Ref. \cite{arxiv:2010.07902}.' + detail: 'Pure modular-qudit codes can be used to make EA QECCs with the same distance and dimension; see Thm. 10 of Ref. \cite{arxiv:2010.07902}.' - code_id: binary_linear detail: 'Any linear binary code can be used to construct an EAQECC.' - code_id: q-ary_linear diff --git a/codes/quantum/properties/block/ea_mds.yml b/codes/quantum/properties/block/ea_mds.yml index d07fa195a..669dcc992 100644 --- a/codes/quantum/properties/block/ea_mds.yml +++ b/codes/quantum/properties/block/ea_mds.yml @@ -7,11 +7,12 @@ code_id: ea_mds name: 'EA MDS code' -introduced: '\cite{arxiv:quant-ph/0610092,arxiv:1008.2598}' +introduced: '\cite{arxiv:quant-ph/0610092,arxiv:1008.2598,arxiv:2010.07902}' description: | - EA code whose parameters make the EA quantum Singleton bound \cite[Thm. 6]{arxiv:2010.07902} become an equality. + EA code whose parameters make the EAQECC Singleton bound \cite[Thm. 6]{arxiv:2010.07902} become an equality. + The original EAQECC Singleton bound \cite{arxiv:quant-ph/0608027,arxiv:quant-ph/0610092} was shown to be erroneous \cite{arxiv:2007.01249} and corrected in Ref. \cite{arxiv:2010.07902}. relations: parents: diff --git a/codes/quantum/qubits/ea_stabilizer/ea_3_1_3-2.yml b/codes/quantum/qubits/ea_stabilizer/ea_3_1_3-2.yml new file mode 100644 index 000000000..c615d90a8 --- /dev/null +++ b/codes/quantum/qubits/ea_stabilizer/ea_3_1_3-2.yml @@ -0,0 +1,32 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + +code_id: ea_3_1_3-2 +physical: qubits +logical: qubits + +name: '\([[3, 1, 3;2]]\) EA code' +introduced: '\cite{arxiv:quant-ph/0205117}' + +description: | + Distance-three EA stabilizer code encoding one logical qubit and using two ebits. + + +relations: + parents: + - code_id: eastab + cousins: + - code_id: eaqecc + detail: 'The \([[3, 1, 3;2]]\) EA code is the first EA code.' + - code_id: stab_5_1_3 + detail: 'The \([[3, 1, 3;2]]\) EA code and the five-qubit code have the same stabilizers \cite{arxiv:quant-ph/0610092,arxiv:2202.08084}.' + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2024-07-04' diff --git a/codes/quantum/qubits/ea_stabilizer/ea_qldpc/ea_design_qldpc.yml b/codes/quantum/qubits/ea_stabilizer/ea_qldpc/ea_design_qldpc.yml new file mode 100644 index 000000000..5baaf4077 --- /dev/null +++ b/codes/quantum/qubits/ea_stabilizer/ea_qldpc/ea_design_qldpc.yml @@ -0,0 +1,30 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + +code_id: ea_design_qldpc +physical: qubits +logical: qubits + +name: 'EA combinatorial-design QLDPC code' +introduced: '\cite{arxiv:1008.4747}' + +description: | + One of several EA QLDPC code families constructed from combinatorial designs. + + +relations: + parents: + - code_id: ea_qldpc + cousins: + - code_id: combinatorial_design + detail: 'Combinatorial designs can be used to construct EA QLDPC codes \cite{arxiv:1008.4747}.' + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2024-07-04' diff --git a/codes/quantum/qubits/ea_stabilizer/ea_qldpc/ea_pg_qldpc.yml b/codes/quantum/qubits/ea_stabilizer/ea_qldpc/ea_pg_qldpc.yml new file mode 100644 index 000000000..d7c60e980 --- /dev/null +++ b/codes/quantum/qubits/ea_stabilizer/ea_qldpc/ea_pg_qldpc.yml @@ -0,0 +1,32 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + +code_id: ea_pg_qldpc +physical: qubits +logical: qubits + +name: 'EA FG-QLDPC code' +introduced: '\cite{arxiv:0906.5532}' + +description: | + One of several EA QLDPC code families constructed from finite-geometry LDPC (FG-LDPC) codes. + There exists a family that requires an amount of entanglement that vanishes linearly with the length of each code. + + +relations: + parents: + - code_id: ea_qldpc + cousins: + - code_id: pg_ldpc + - code_id: pg_qldpc +# Cousin of closest non-EA quantum code + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2024-07-04' diff --git a/codes/quantum/qubits/ea_stabilizer/ea_qldpc/ea_qc_qldpc.yml b/codes/quantum/qubits/ea_stabilizer/ea_qldpc/ea_qc_qldpc.yml new file mode 100644 index 000000000..f4f650065 --- /dev/null +++ b/codes/quantum/qubits/ea_stabilizer/ea_qldpc/ea_qc_qldpc.yml @@ -0,0 +1,34 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + +code_id: ea_qc_qldpc +physical: qubits +logical: qubits + +name: 'EA quasi-cyclic QLDPC code' +introduced: '\cite{arxiv:0906.5532}' + +description: | + One of several EA QLDPC code families constructed from QC-LDPC codes. + +features: + decoders: + - 'Sum-product algorithm (SPA) decoder \cite{arxiv:0906.5532}.' + + +relations: + parents: + - code_id: ea_qldpc + cousins: + - code_id: qc_ldpc + - code_id: generalized_bicycle +# Cousin of closest non-EA quantum code + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2024-07-04' diff --git a/codes/quantum/qubits/ea_stabilizer/ea_qldpc/ea_qldpc.yml b/codes/quantum/qubits/ea_stabilizer/ea_qldpc/ea_qldpc.yml new file mode 100644 index 000000000..fabd98234 --- /dev/null +++ b/codes/quantum/qubits/ea_stabilizer/ea_qldpc/ea_qldpc.yml @@ -0,0 +1,40 @@ +####################################################### +## This is a code entry in the error correction zoo. ## +## https://github.com/errorcorrectionzoo ## +####################################################### + +code_id: ea_qldpc +physical: qubits +logical: qubits + +name: 'EA QLDPC code' + +description: | + EA stabilizer code for which the number of sites participating in each stabilizer generator and the number of stabilizer generators that each site participates in are both bounded by a constant \(w\) as \(n\to\infty\) + +features: + encoders: + - 'Encoder adapted for an all-optical impelementation \cite{doi:10.1364/OL.35.001464}.' + decoders: + - 'Decoder adapted for an all-optical impelementation \cite{doi:10.1364/OL.35.001464}.' + +notes: + - 'Review of EA QLDPC codes provided in Ref. \cite{doi:10.1109/ACCESS.2015.2503267}.' + + +relations: + parents: + - code_id: eastab + cousins: + - code_id: qldpc + - code_id: ldpc + detail: 'There exist necessary and sufficient conditions for an EA QLDPC code consuming \(e=1\) ebit that is obtainable from a pair of LDPC codes \cite{arxiv:1108.0679}.' +# Cousin of closest non-EA quantum code + + +# Begin Entry Meta Information +_meta: + # Change log - most recent first + changelog: + - user_id: VictorVAlbert + date: '2024-07-04' diff --git a/codes/quantum/qubits/stabilizer/ea/ea_turbo.yml b/codes/quantum/qubits/ea_stabilizer/ea_turbo.yml similarity index 93% rename from codes/quantum/qubits/stabilizer/ea/ea_turbo.yml rename to codes/quantum/qubits/ea_stabilizer/ea_turbo.yml index 5b13ec5ae..1fcd869a6 100644 --- a/codes/quantum/qubits/stabilizer/ea/ea_turbo.yml +++ b/codes/quantum/qubits/ea_stabilizer/ea_turbo.yml @@ -12,7 +12,7 @@ introduced: '\cite{doi:10.1109/ISIT.2011.6034165,arxiv:1010.1256}' description: |- A quantum turbo code which uses pre-shared entanglement. - This allows its encoder to be both recurisve and non-catastrophic. + This allows its encoder to be both recursive and non-catastrophic. features: encoders: diff --git a/codes/quantum/qubits/stabilizer/ea/eastab.yml b/codes/quantum/qubits/ea_stabilizer/eastab.yml similarity index 73% rename from codes/quantum/qubits/stabilizer/ea/eastab.yml rename to codes/quantum/qubits/ea_stabilizer/eastab.yml index c220dd2df..284fb1151 100644 --- a/codes/quantum/qubits/stabilizer/ea/eastab.yml +++ b/codes/quantum/qubits/ea_stabilizer/eastab.yml @@ -12,10 +12,10 @@ introduced: '\cite{arxiv:quant-ph/0608027,arxiv:quant-ph/0610092}' description: | Constructed using a variation of the stabilizer formalism designed to utilize pre-shared entanglement between sender and receiver. - A code is typically denoted as \([[n,k;c]]\) or \([[n,k,d;c]]\), where \(d\) is the distance of the underlying non-EA \([[n,k,d]]\) code, and \(c\) is the number of required pre-shared maximally entangled Bell states. + A code is typically denoted as \([[n,k;e]]\) or \([[n,k,d;e]]\), where \(d\) is the distance of the underlying non-EA \([[n,k,d]]\) code, and \(e\) is the number of required pre-shared maximally entangled Bell states (ebits). While other entangled states can be used, there is always a choice a generators such that the Bell state suffices while still using the fewest ebits. - An \([[n,k+c;c]]\) EA stabilizer code can be constructed from an ordinary \([[n,k]]\) stabilizer code with check matrix \(H=(A|B)\), where the required number of ebits is \(c = \text{rank}(AB^T+BA^T)\) \cite{arxiv:0804.1404}. + An \([[n,k+e;e]]\) EA stabilizer code can be constructed from an ordinary \([[n,k]]\) stabilizer code with check matrix \(H=(A|B)\), where the required number of ebits is \(e = \text{rank}(AB^T+BA^T)\) \cite{arxiv:0804.1404}. features: encoders: @@ -33,13 +33,20 @@ relations: - code_id: ea_qubits_into_qubits cousins: - code_id: qubit_stabilizer - detail: 'EA qubit stabilizer codes utilize additional ancillary qubits in a pre-shared entangled state, but reduce to qubit stabilizer codes when said qubits are interpreted as noiseless physical qubits.' + detail: 'EA qubit stabilizer codes utilize additional ancillary qubits in a pre-shared entangled state, but reduce to qubit stabilizer codes when said qubits are interpreted as noiseless physical qubits. + Qubit stabilizer codes can be used to obtain shortened EA qubit stabilizer codes \cite{arxiv:2205.13732}.' + - code_id: hybrid_stabilizer + detail: 'EA hybrid stabilizer codes can be defined \cite{arxiv:0802.2414}.' - code_id: binary_linear detail: 'Any linear binary code can be used to construct an EA qubit stabilizer code.' - code_id: q-ary_linear detail: 'Any linear quaternary (\(q=4\)) code can be used to construct an EA qubit stabilizer code.' - code_id: qubit_css detail: 'As opposed to CSS codes, EA qubit stabilizer codes can be constructed from any linear binary code.' + - code_id: quantum_concatenated + detail: 'EA concatenated codes have been studied \cite{arxiv:2202.08084}.' + - code_id: ag + detail: 'Certain AG codes can be used to construct EA qubit stabilizer codes \cite{arxiv:2101.06461}.' # Begin Entry Meta Information diff --git a/codes/quantum/qubits/stabilizer/ea/quantum_polar.yml b/codes/quantum/qubits/ea_stabilizer/quantum_polar.yml similarity index 94% rename from codes/quantum/qubits/stabilizer/ea/quantum_polar.yml rename to codes/quantum/qubits/ea_stabilizer/quantum_polar.yml index f5e2fc1aa..ff606ab48 100644 --- a/codes/quantum/qubits/stabilizer/ea/quantum_polar.yml +++ b/codes/quantum/qubits/ea_stabilizer/quantum_polar.yml @@ -35,13 +35,12 @@ relations: parents: - code_id: eastab detail: 'Quantum polar codes are CSS codes used in an entanglement generation scheme that generally requires entanglement assistance. They require assistance only to determine positions to store information which optimally protect against both bit and phase noise. Without this assistance, they are just CSS codes constructed out of polar codes. A variant of quantum polar codes exists that does not require entanglement assistance \cite{arxiv:1307.1136}.' - - code_id: qubit_css - detail: 'Quantum polar codes are CSS codes used in an entanglement generation scheme that generally requires entanglement assistance. They require assistance only to determine positions to store information which optimally protect against both bit and phase noise. Without this assistance, they are just CSS codes constructed out of polar codes. A variant of quantum polar codes exists that does not require entanglement assistance \cite{arxiv:1307.1136}.' cousins: + - code_id: qubit_css + detail: 'Quantum polar codes are CSS codes used in an entanglement generation scheme that generally requires entanglement assistance. They require assistance only to determine positions to store information which optimally protect against both bit and phase noise. Without this assistance, they are just CSS codes constructed out of polar codes. + A variant of quantum polar codes exists that does not require entanglement assistance \cite{arxiv:1307.1136}.' - code_id: polar detail: 'Without entanglement assistance, quantum polar codes are just CSS codes constructed out of polar codes.' - # - code_id: qubit_css - # detail: 'Quantum polar codes are CSS codes used in an entanglement generation scheme.' # Begin Entry Meta Information