Skip to content

Commit

Permalink
subsystem + new root qubit/qudit codes
Browse files Browse the repository at this point in the history
  • Loading branch information
valbert4 committed Oct 25, 2023
1 parent 71748e3 commit 6193856
Show file tree
Hide file tree
Showing 8 changed files with 92 additions and 19 deletions.
6 changes: 5 additions & 1 deletion codes/quantum/oecc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,12 @@ name: 'Subsystem quantum error-correcting code'
short_name: 'Subsystem QECC'
introduced: '\cite{arXiv:quant-ph/0412076,arXiv:quant-ph/0504189}'

alternative_names:
- 'Operator quantum error-correcting code'
- 'Gauge quantum error-correcting code'

description: |
A subsystem code, also known as an \textit{operator QECC} or \textit{gauge QECC}, encodes information in a subsystem \(\mathsf{A}\) of the code space \(\mathsf{C}\), which is part of the system Hilbert space \(\mathsf{H}\), as
Quantum code encoding information in a subsystem \(\mathsf{A}\) of the code space \(\mathsf{C}\), which is part of the system Hilbert space \(\mathsf{H}\), as
\begin{align}
\mathsf{H}=\mathsf{C} \oplus \mathsf{C}^{\perp} = \mathsf{A} \otimes \mathsf{B} \oplus \mathsf{C}^{\perp}~.
\end{align}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ name: 'Rhombic dodecahedron surface code'
introduced: '\cite{arXiv:2010.06628}'

description: |
A \([[14,3,3]]\) non-CSS surface code whose qubits lie on the vertices of a rhombic dodecahedron. Its non-CSS nature is due to twist defects \cite{arxiv:1004.1838} stemming from the geomtetry of the polytope.
A \([[14,3,3]]\) non-CSS surface code whose qubits lie on the vertices of a rhombic dodecahedron. Its non-CSS nature is due to twist defects \cite{arxiv:1004.1838} stemming from the geometry of the polytope.
relations:
parents:
Expand Down
12 changes: 8 additions & 4 deletions codes/quantum/qubits/subsystem/subsystem_stabilizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,10 @@ logical: qubits
name: 'Subsystem qubit stabilizer code'
introduced: '\cite{arXiv:quant-ph/0508131}'

alternative_names:
- 'Gauge qubit stabilizer code'

description: |
Also called a \textit{gauge stabilizer code}.
A stabilizer code with some of its logical qubits denoted as \textit{gauge} qubits and not used for storage of logical information.
Note that this doesnt lead to new codes but does lead to new error correction and fault tolerance procedures. Subsystem codes are denoted by \([[n,k,r,d]]\), similar to stabilizer codes, but with an extra parameter \(r\) denoting the number of gauge qubits.
Expand Down Expand Up @@ -44,11 +46,13 @@ notes:

relations:
parents:
- code_id: qubit_stabilizer
detail: 'Subsystem stabilizer codes reduce to stabilizer codes when there are no gauge qubits.'
- code_id: subsystem_qubits_into_qubits
- code_id: qudit_subsystem_stabilizer
detail: 'Subsystem modular-qudit stabilizer codes reduce to subsystem qubit stabilizer codes for qudit dimension \(q=2\).'
# Need another root code of subsystem type for qubit and qudit kingdom so that subsystem is separate from subspace.
cousins:
- code_id: qubit_stabilizer
detail: 'Subsystem stabilizer codes reduce to stabilizer codes when there are no gauge qubits.'


# Begin Entry Meta Information
_meta:
Expand Down
33 changes: 33 additions & 0 deletions codes/quantum/qubits/subsystem_qubits_into_qubits.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#######################################################
## This is a code entry in the error correction zoo. ##
## https://github.com/errorcorrectionzoo ##
#######################################################

code_id: subsystem_qubits_into_qubits
physical: qubits
logical: qubits

name: 'Subsystem qubit code'

alternative_names:
- 'Gauge qubit code'

description: |
Subsystem QECC encoding into a \(2^n\)-dimensional (i.e., \(n\)-qubit) Hilbert space.
relations:
parents:
- code_id: subsystem_qudits_into_qudits
detail: 'Subsystem modular-qudit codes reduce to subsystem qubit codes for qudit dimension \(q=2\).'
cousins:
- code_id: qubits_into_qubits
detail: 'Subsystem qubit codes reduce to (subspace) qubit codes when there are no gauge qubits.'


# Begin Entry Meta Information
_meta:
# Change log - most recent first
changelog:
- user_id: VictorVAlbert
date: '2023-10-25'
5 changes: 3 additions & 2 deletions codes/quantum/qudits/subsystem/qudit_subsystem_stabilizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,11 @@ features:

relations:
parents:
- code_id: subsystem_qudits_into_qudits
cousins:
- code_id: qudit_stabilizer
detail: 'Subsystem modular-qudit stabilizer codes reduce to modular-qudit stabilizer codes when there are no gauge qudits.'
- code_id: oecc
# Need another root code of subsystem type for qubit and qudit kingdom so that subsystem is separate from subspace.


# Begin Entry Meta Information
_meta:
Expand Down
32 changes: 32 additions & 0 deletions codes/quantum/qudits/subsystem_qudits_into_qudits.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#######################################################
## This is a code entry in the error correction zoo. ##
## https://github.com/errorcorrectionzoo ##
#######################################################

code_id: subsystem_qudits_into_qudits
physical: qudits
logical: qudits

name: 'Subsystem modular-qudit code'

alternative_names:
- 'Gauge modular-qudit code'

description: |
Subsystem QECC encoding into a \(q^n\)-dimensional Hilbert space consisting of \(n\) modular qudits.
relations:
parents:
- code_id: oecc
cousins:
- code_id: qudits_into_qudits
detail: 'Subsystem qudit codes reduce to (subspace) qudit codes when there are no gauge qudits.'


# Begin Entry Meta Information
_meta:
# Change log - most recent first
changelog:
- user_id: VictorVAlbert
date: '2023-10-25'
2 changes: 0 additions & 2 deletions codetree/domains.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
- domain_id: classical_domain
name: 'Classical Domain'

description: |-
Codes for communication over classical channels
Expand All @@ -13,4 +12,3 @@
name: 'Classical-quantum Domain'
description: |-
Codes for classical communication over quantum channels
19 changes: 10 additions & 9 deletions codetree/kingdoms.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,48 +7,50 @@ kingdoms_by_domain_id:
name: 'Binary Kingdom'
root_codes:
- code_id: bits_into_bits

- kingdom_id: q-ary_digits_into_q-ary_digits
name: 'Galois-field Kingdom'
root_codes:
- code_id: q-ary_digits_into_q-ary_digits

- kingdom_id: matrices_into_matrices
name: 'Matrix Kingdom'
root_codes:
- code_id: matrices_into_matrices

- kingdom_id: analog
name: 'Analog Kingdom'
root_codes:
- code_id: analog

- kingdom_id: points_into_spheres
name: 'Spherical Kingdom'
root_codes:
- code_id: points_into_spheres

- kingdom_id: rings_into_rings
name: 'Ring Kingdom'
root_codes:
- code_id: rings_into_rings

- kingdom_id: group_classical
name: 'Group Kingdom'
root_codes:
- code_id: group_classical

quantum_domain:

- kingdom_id: qubits_into_qubits
name: 'Qubit Kingdom'
root_codes:
- code_id: qubits_into_qubits
- code_id: subsystem_qubits_into_qubits

- kingdom_id: qudits_into_qudits
name: 'Modular-qudit Kingdom'
root_codes:
- code_id: qudits_into_qudits
- code_id: subsystem_qudits_into_qudits

- kingdom_id: galois_into_galois
name: 'Galois-qudit Kingdom'
Expand Down Expand Up @@ -79,7 +81,7 @@ kingdoms_by_domain_id:
# name: 'Fermionic Kingdom'
# root_codes:
# - code_id: fermions


quantum_into_classical_domain:

Expand All @@ -92,4 +94,3 @@ kingdoms_by_domain_id:
name: 'Bosonic/analog c-q Kingdom'
root_codes:
- code_id: bosonic_classical_into_quantum

0 comments on commit 6193856

Please sign in to comment.