Skip to content

Commit

Permalink
~
Browse files Browse the repository at this point in the history
  • Loading branch information
valbert4 committed Jul 5, 2024
1 parent b497074 commit fa5597e
Show file tree
Hide file tree
Showing 15 changed files with 62 additions and 30 deletions.
4 changes: 2 additions & 2 deletions codes/eacq.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ features:

relations:
cousins:
- code_id: oaecc
detail: 'EQ hybrid codes utilize additional ancillary subsystems in a pre-shared entangled state, but reduce to operator-algebra QECCs when said subsystems are interpreted as noiseless physical subsystems.'
- code_id: hybridqecc
detail: 'EQ hybrid codes utilize additional ancillary subsystems in a pre-shared entangled state, but reduce to hybrid QECCs when said subsystems are interpreted as noiseless physical subsystems.'


# Begin Entry Meta Information
Expand Down
22 changes: 11 additions & 11 deletions codes/oaecc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@

code_id: oaecc

name: 'Operator-algebra QECC'
name: 'Operator-algebra QECC (OAQECC)'
short_name: 'OAQECC'
introduced: '\cite{arxiv:quant-ph/0608071,arxiv:0705.1574,arxiv:1005.0353,doi:10.1142/S0219749908003839,arxiv:2012.14001}'

description: |-
A code that encompasses both subsystem codes and hybrid codes using an operator-algebraic framework.
A code family that encompasses ordinary (i.e., subspace) codes, subsystem codes, and hybrid codes using a unified operator-algebraic framework.
A simple example of an OAQECC encodes both a single logical qubit in a subsystem code and a single classical bit in some Hilbert space \(\mathsf{H}\).
A different quantum subsystem code \(\mathsf{A}_j\otimes\mathsf{B}_j\), with \(\mathsf{A}_j\) the logical qubit factor and \(\mathsf{B}_j\) the gauge qubit factor, is associated with each of the two values \(j\in\{0,1\}\) of the classical bit.
The corresponding decomposition is
A simple example of an OAQECC encodes a single logical qubit in a subsystem code and a single classical bit.
A different quantum subsystem code \(\mathsf{A}_j\otimes\mathsf{B}_j\), with \(\mathsf{A}_j\) the logical qubit factor, and \(\mathsf{B}_j\) the gauge qubit factor, is associated with each of the two values \(j\in\{0,1\}\) of the classical bit.
The corresponding decomposition of the Hilbert space \(\mathsf{H}\) is
\begin{align}
\mathsf{H}=(\mathsf{A}_{1}\otimes\mathsf{B}_{1})\oplus(\mathsf{A}_{2}\otimes\mathsf{B}_{2})\oplus\mathsf{C}^{\perp}~,
\end{align}
Expand All @@ -23,20 +23,20 @@ description: |-
More generally, the code is determined by a finite dimensional \(C^*\) algebra \(\mathcal{A}\) of operators on \(\mathsf{H}\).
This \textit{logical algebra} induces a decomposition of the Hilbert space as
\begin{align}\mathsf{H} = \bigoplus_\gamma A_\gamma \otimes B_\gamma,\end{align}
\begin{align}\mathsf{H} = \bigoplus_\gamma \mathsf{A}_\gamma \otimes \mathsf{B}_\gamma,\end{align}
with respect to which \(\mathcal{A}\) takes the form
\begin{align}\mathcal{A} = \bigoplus_\gamma I_\gamma \otimes \mathcal{L}(B_\gamma),\end{align}
where \(\mathcal{L}(B_\gamma)\) denotes the full set of linear maps on \(B_\gamma\).
\begin{align}\mathcal{A} = \bigoplus_\gamma I_\gamma \otimes \mathcal{L}(\mathsf{B}_\gamma),\end{align}
where \(\mathcal{L}(\mathsf{B}_\gamma)\) denotes the full set of linear maps on \(\mathsf{B}_\gamma\).
protection: |
Given an error operation \(\mathcal{E}\), one says that \(\mathcal{A}\) is \textit{correctable} for \(\mathcal{E}\) if there exists a recovery operation \(\mathcal{R}\) such that
\begin{align}P_{\mathcal{A}} (\mathcal{R} \circ \mathcal{E})^\dagger(X) P_{\mathcal{A}} = X\end{align} for all \(X \in \mathcal{A}\), where \(P_{\mathcal{A}}\) is the unit projection onto \(\mathcal{A}\).
\begin{align}\Pi_{\mathcal{A}} (\mathcal{R} \circ \mathcal{E})^\dagger(X) \Pi_{\mathcal{A}} = X\end{align} for all \(X \in \mathcal{A}\), where \(\Pi_{\mathcal{A}}\) is the unit projection onto \(\mathcal{A}\).
Equivalently, \(\mathcal{A}\) is correctable for \(\mathcal{E}\) if there exists a recovery operation \(\mathcal{R}\) such that for any \(\gamma\) and density operators \(\rho_\gamma,\sigma_\gamma\) supported on \(A_\gamma\) and \(B_\gamma\), respectively, there exists a state \(\tau_\gamma\) supported on \(A_\gamma\) such that
Equivalently, \(\mathcal{A}\) is correctable for \(\mathcal{E}\) if there exists a recovery operation \(\mathcal{R}\) such that for any \(\gamma\) and density operators \(\rho_\gamma,\sigma_\gamma\) supported on \(\mathsf{A}_\gamma\) and \(\mathsf{B}_\gamma\), respectively, there exists a state \(\tau_\gamma\) supported on \(A_\gamma\) such that
\begin{align}(\mathcal{R} \circ \mathcal{E})(\rho_\gamma \otimes \sigma_\gamma) = \tau_\gamma \otimes \sigma_\gamma.\end{align}
An algebraic condition for correctability can be given in terms of the Kraus operators \(E_j\) of \(\mathcal{E}\).
Indeed, \(\mathcal{A}\) is correctable for \(\mathcal{E}\) if \begin{align}P_{\mathcal{A}} E_j^\dagger E_k P_{\mathcal{A}} \in \mathcal{A}'\end{align}
Indeed, \(\mathcal{A}\) is correctable for \(\mathcal{E}\) if \begin{align}\Pi_{\mathcal{A}} E_j^\dagger E_k \Pi_{\mathcal{A}} \in \mathcal{A}'\end{align}
for all \(j,k\), where \(\mathcal{A}'\) is the commutant of \(\mathcal{A}\).
Tradeoffs between error correction and privacy have been studied \cite{arxiv:1811.10425}.
Expand Down
7 changes: 3 additions & 4 deletions codes/quantum/hybridqecc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,13 @@ introduced: '\cite{arxiv:quant-ph/0203105,arXiv:quant-ph/0311131,arxiv:quant-ph/

description: |
A quantum code which encodes both quantum and classical information.
Usually denoted as \(((n,K:M))\) or \(((n,K:M,d))\), where \(K\) is the dimension of the underlying quantum code, where \(M\) is the size of the classical code, and where \(d\) is the distance.
A simple example of a hybrid QECC encodes a single qubit and a single classical bit.
A different quantum code \(\mathsf{C}_j\) is associated with each of the two values \(j\in\{0,1\}\) of the classical bit.
The error words corresponding to correctable errors must satisfy the \term{Knill-Laflamme conditions} for each code \cite[Eq. (3)]{arxiv:1701.06963}, and error words beloning to different codes must be orthogonal to each other \cite[Eq. (4)]{arxiv:1701.06963}.
The corresponding decomposition of the hilbert space is
The corresponding decomposition of the Hilbert space \(\mathsf{H}\) is
\begin{align}
\mathsf{C}_{1}\oplus\mathsf{C}_{2}\oplus\mathsf{C}^{\perp}~,
\mathsf{H} = \mathsf{C}_{1}\oplus\mathsf{C}_{2}\oplus\mathsf{C}^{\perp}~,
\end{align}
where \(\mathsf{C}^\perp\) is the combined error space of both codes.
Expand All @@ -33,7 +32,7 @@ features:
relations:
parents:
- code_id: oaecc
detail: 'An OAQECC which has no gauge qubits but has a block structure that corresponds to a classical code is a hybrid QECC.'
detail: 'An OAQECC which has no gauge structure (e.g., gauge qubits) but has a block structure that corresponds to a classical code is a hybrid QECC.'
- code_id: quantum_into_quantum
cousins:
- code_id: qecc
Expand Down
2 changes: 1 addition & 1 deletion codes/quantum/oecc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ notes:
relations:
parents:
- code_id: oaecc
detail: 'An OAQECC which has gauge qubits but no block structure is a subsystem QECC.'
detail: 'An OAQECC which has gauge structure (e.g., gauge qubits) but no block structure is a subsystem QECC.'
- code_id: quantum_into_quantum
cousins:
- code_id: qecc
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ description: |
The centralizer for the stabilizer group within the displacement operators case can be identified with the symplectic dual lattice \({\mathcal{L}}^{\perp}\) (i.e. all points in \(\mathbb{R}^{2n}\) that have integer symplectic inner product with all points in \({\mathcal{L}}\) ), such that logical operations are identified with the dual quotients \({\mathcal{L}}^{\perp}/{\mathcal{L}}\). The size of this dual quotient is the determinant of the Gram matrix, yielding the logical dimension \(d=\sqrt{\| \det{A}\|}\) \cite{arxiv:quant-ph/0008040}.
The space of all single-mode GKP codes is the moduli space of elliptic curves, i.e., the three sphere with a trefoil knot removed \cite{arXiv:2407.03270}.
protection: 'The level of protection against displacement errors is quantified by the Euclidean code distance \(\Delta=\min_{x\in {\mathcal{L}}^{\perp}\setminus {\mathcal{L}}} \|x\|_2\) \cite{arxiv:2109.14645}.'

features:
Expand All @@ -33,7 +35,9 @@ features:
- 'By applying GKP error correction to Gaussian input states, computational universality can be achieved without additional non-Gaussian elements \cite{arxiv:1903.00012}.'

fault_tolerance:
- 'Logical Clifford operations are given by Gaussian unitaries, which map bounded-size errors to bounded-size errors \cite{arxiv:quant-ph/0008040}.'
- 'Logical Clifford operations are given by Gaussian unitaries, which map bounded-size errors to bounded-size errors \cite{arxiv:quant-ph/0008040}.
For single-mode GKP codes, these operations correspond to non-trivial loops in the space of all single-mode GKP codes (the moduli space of elliptic curves, i.e., the three sphere with a trefoil knot removed) \cite{arXiv:2407.03270}.
Such gates provide another example of monodromy under the particular notion of parallel transport introduced in Ref. \cite{arxiv:1309.7062}.'

decoders:
- 'The MLD decoder for Gaussian displacement errors is realized by evaluating a lattice theta function, and in general the decision can be approximated by either solving (approximating) the closest vector problem (CVP) \cite{doi:10.1109/TIT.2002.800499} (a.k.a. closest lattice point problem) or by using other effective iterative schemes when, e.g., the lattice represents a concatenated GKP code \cite{arxiv:1810.00047,arxiv:1908.03579,arxiv:2109.14645,arxiv:2111.07029}.
Expand Down
2 changes: 1 addition & 1 deletion codes/quantum/properties/qecc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ relations:
- code_id: approximate_qecc
detail: 'QAECCs correcting a noise channel exactly reduce to QECCs.'
- code_id: oaecc
detail: 'An OAQECC which has no gauge qubits and no block structure is a QECC.'
detail: 'An OAQECC which has no gauge degrees of freedom (e.g., gauge qubits) and no block structure is a QECC.'
cousins:
- code_id: ecc
detail: 'Quantum information cannot be copied using a linear process \cite{doi:10.1038/299802a0}, so one cannot send several copies of a quantum state through a channel as can be done for classical information.
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,13 @@ protection: |
relations:
parents:
- code_id: oa_qubits_into_qubits
detail: 'An OA qubit code which has no gauge qubits but has a block structure that corresponds to a classical code is a hybrid qubit code.'
- code_id: hybridqecc
cousins:
- code_id: qubits_into_qubits
detail: 'Any qubit code can be converted into a hybrid qubit code by using some its qubits to store only classical information \cite{arxiv:0802.2414}.'
detail: 'A hybrid qubit code storing no classical information reduces to a qubit code.
Conversely, any qubit code can be converted into a hybrid qubit code by using some its qubits to store only classical information \cite{arxiv:0802.2414}.'
- code_id: qubit_classical_into_quantum
detail: 'A hybrid qubit code storing no quantum information reduces to a qubit c-q code.'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,8 @@ description: |
Usually denoted as \([[n,k:c]]\) or \([[n,k:c,d]]\), where \(k\) (\(c\)) is the number of encoded qubits (classical bits), and where \(d\) is the distance.
The algebraic structure of a hybrid stabilizer code is the same as that of a USt code whose cosets are indexed by a linear binary code:
both codes utilize codewords of an inner \([[n,k]]\) qubit stabilizer code \(\mathsf{C}\) and its cosets \(t \mathsf{C}\) by \(2^c\) Pauli strings \(t\), with the coset index \(t\) corresponding to a codeword of the outer \([n,c]\) linear binary code.
However, the hybrid stabilizer code does not utilize superpositions of codewords of \(t \mathsf{C}\) and \(t^{\prime} \mathsf{C}\) for \(t \neq t^{\prime}\).
As such, a hybrid stabilizer code can be thought of as a particular USt code some of whose qubits are used for storing classical information.
both codes utilize codewords of an inner \([[n,k]]\) qubit stabilizer code \(\mathsf{C}\) and its cosets \(t \mathsf{C}\), where the \(2^c\) Pauli strings \(t\) correspond to the outer \([n,c]\) linear binary code.
However, the hybrid stabilizer code does not utilize superpositions of codewords of \(t \mathsf{C}\) and \(t^{\prime} \mathsf{C}\) for \(t \neq t^{\prime}\) since the different coset blocks correspond to classical codewords.
relations:
parents:
Expand All @@ -28,13 +26,14 @@ relations:
detail: 'An \([[n,k:c,d]]\) hybrid stabilizer code is an \(((n,2^k:2^c,d))\) hybrid qubit code.'
cousins:
- code_id: qubit_stabilizer
detail: 'Any qubit stabilizer code can be converted into a hybrid stabilizer code by using some its qubits to store only classical information \cite{arxiv:0802.2414}.'
detail: 'A hybrid stabilizer code storing no classical information reduces to a qubit stabilizer code.
Conversely, any qubit stabilizer code can be converted into a hybrid stabilizer code by using some its qubits to store only classical information \cite{arxiv:0802.2414}.'
- code_id: non_stabilizer
detail: 'The algebraic structure of a hybrid stabilizer code is the same as that of a USt code whose cosets are indexed by a linear binary code \cite{arxiv:0802.2414}.'
- code_id: shor_nine
detail: 'The Shor code can be modified to store three additional classical bits to yield a \([[9,1:3,3]]\) hybrid stabilizer code \cite{arxiv:0802.2414}.'
- code_id: iceberg
detail: 'The \([[2m+1,2m+2:1,2]]\) hybrid stabilizer code \cite{arxiv:1911.12260} (extendable to modular qudits \cite{arxiv:2002.11075}) is closely related to the \([[2m,2m-2,2]]\) qubit stabilizer code.'
detail: 'The \([[2m+1,2m+2:1,2]]\) hybrid stabilizer code \cite{arxiv:1911.12260} (extendable to modular qudits \cite{arxiv:2002.11075}) is closely related to the \([[2m,2m-2,2]]\) error-detecting code.'
- code_id: stab_4_2_2
detail: 'The \([[4,2,2]]\) codewords can be modified by signs to yield a \([[4,1:1,2]]\) hybrid stabilizer code \cite{arxiv:1806.03702}.'
- code_id: subsystem_stabilizer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ protection: |-
relations:
parents:
- code_id: oaecc
- code_id: oa_qubits_into_qubits
cousins:
- code_id: bacon_shor
detail: 'The OA qubit stabilizer formalism yields hybrid Bacon-Shor codes \cite{arxiv:2304.11442}.'
Expand Down
24 changes: 24 additions & 0 deletions codes/quantum/qubits/oa_qubits_into_qubits.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#######################################################
## This is a code entry in the error correction zoo. ##
## https://github.com/errorcorrectionzoo ##
#######################################################

code_id: oa_qubits_into_qubits

name: 'Operator-algebra (OA) qubit code'
short_name: 'OA qubit'

description: |-
An OA code defined on \(n\) qubits.
relations:
parents:
- code_id: oaecc


# Begin Entry Meta Information
_meta:
# Change log - most recent first
changelog:
- user_id: VictorVAlbert
date: '2024-07-05'
2 changes: 2 additions & 0 deletions codes/quantum/qubits/qubits_into_qubits.yml
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,8 @@ notes:

relations:
parents:
- code_id: oa_qubits_into_qubits
detail: 'An OA qubit code which has no gauge qubits and no block structure is a qubit code.'
- code_id: qudits_into_qudits
detail: 'Modular-qudit quantum codes for \(q=2\) correspond to qubit codes.'
- code_id: galois_into_galois
Expand Down
2 changes: 2 additions & 0 deletions codes/quantum/qubits/subsystem_qubits_into_qubits.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ description: |
relations:
parents:
- code_id: oa_qubits_into_qubits
detail: 'An OA qubit code which has gauge qubits but no block structure is a subsystem qubit code.'
- code_id: subsystem_qudits_into_qudits
detail: 'Subsystem modular-qudit codes reduce to subsystem qubit codes for qudit dimension \(q=2\).'
- code_id: subsystem_galois_into_galois
Expand Down
3 changes: 1 addition & 2 deletions codetree/kingdoms.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,8 @@ kingdoms_by_domain_id:
name: 'Qubit Kingdom'
root_codes:
- code_id: qubits_into_qubits
- code_id: hybrid_qubits_into_qubits
- code_id: subsystem_qubits_into_qubits
- code_id: qubit_stabilizer_oaqecc
- code_id: oa_qubits_into_qubits
- code_id: ea_qubits_into_qubits
- code_id: qetc

Expand Down

0 comments on commit fa5597e

Please sign in to comment.