Skip to content

Commit

Permalink
non_stab + cws update after Leonid
Browse files Browse the repository at this point in the history
  • Loading branch information
valbert4 committed Apr 3, 2024
1 parent a8b8bec commit ffdd520
Show file tree
Hide file tree
Showing 38 changed files with 232 additions and 92 deletions.
1 change: 1 addition & 0 deletions codes/classical/q-ary_digits/ag/rs/reed_solomon.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ description: |
An RS code with length \(n=q-1\) whose points \(\alpha_i\) are \(i-1\)st powers of a primitive \(n\)th root of unity is a \textit{narrow-sense RS code}.
In an alternative convention (not used here), the primitive-root case is called an RS code, and the general-root case is a generalized RS code.
protection: 'Since each polynomial \(f_{\mu}\) is of degree less than \(k\), it has less than \(k\) roots; this is called the \textit{degree mantra}.
Therefore, the polynomial can be determined from its values at \(k\) points. This means that RS codes can correct erasures on up to \(n-k\) registers. The resulting distance, \(d=n-k+1\), saturates the Singleton bound.'

Expand Down
29 changes: 29 additions & 0 deletions codes/quantum/groups/group_cluster_state.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#######################################################
## This is a code entry in the error correction zoo. ##
## https://github.com/errorcorrectionzoo ##
#######################################################

code_id: group_cluster_state
physical: groups
logical: groups

name: 'Group-based cluster-state code'
introduced: '\cite{arxiv:1408.6237}'

description: |
Code consisting of (typically one) group-based cluster states based on a finite group \(G\) \cite{arxiv:1408.6237}.
Such cluster states can be defined using a graph and conditional group multiplication operations.
relations:
parents:
- code_id: group_gkp
detail: 'Group-based cluster states are stabilized by \(X\)-type Pauli matrices representing \(G\) and generalized \(Z\)-type operators \cite{arxiv:1408.6237}.'


# Begin Entry Meta Information
_meta:
# Change log - most recent first
changelog:
- user_id: VictorVAlbert
date: '2024-04-03'
5 changes: 2 additions & 3 deletions codes/quantum/groups/group_gkp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ description: |
\end{table}
protection: 'Protects against generalized bit-flip errors \(g\in G\) that are inside the fundamental domain of \(G/K\). Protection against phase-flip errors determined by branching rules of irreps of \(G\) into those of \(K\), and further into those of \(H\).'
protection: 'Protects against generalized bit-flip errors \(g\in G\) that are inside the fundamental domain of \(G/K\).
Protection against phase-flip errors determined by branching rules of irreps of \(G\) into those of \(K\), and further into those of \(H\).'

features:
transversal_gates: 'Group-GKP codes corresponding to the \(G^{k_1} \subseteq G^{ k_2} \subset G^{n}\) group construction admit \(X\)-type transversal Pauli gates representing \(G\) \cite{arxiv:1902.07714}.'
Expand All @@ -76,8 +77,6 @@ relations:
A single-mode qubit GKP code corresponds to the \(2\mathbb{Z}\subset\mathbb{Z}\subset\mathbb{R}\) group construction, and multimode GKP codes can be similarly described.
An \([[n,k,d]]_{\mathbb{R}}\) analog stabilizer code corresponds to the \(\mathbb{R}^{ k_1} \subseteq \mathbb{R}^{ k_2} \subset \mathbb{R}^{n}\) group construction, where \(k=k_2/k_1\).
GKP stabilizer codes for \(n\) modes correspond to subgroups \(\mathbb{Z}^m\) for \(m<n\).'
- code_id: cluster_state
detail: 'Cluster states can be generalized to finite groups \cite{arxiv:1408.6237}.'

# Begin Entry Meta Information
_meta:
Expand Down
2 changes: 1 addition & 1 deletion codes/quantum/qubits/majorana/kitaev_chain.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ name: 'Kitaev chain code'
introduced: '\cite{arXiv:cond-mat/0010440}'

description: |
An \([[n,1,1]]_{f}\) Majorana stabilizer code forming the ground-state of the Kitaev Majorana chain (a.k.a. Kitaev Majorana wire) in its fermionic topological phase, which is equivalent to the 1D quantum Ising model in the symmetry-breaking phase via the Jordan-Wigner transformation.
An \([[n,1,1]]_{f}\) Majorana stabilizer code forming the ground-state of the Kitaev Majorana chain (a.k.a. Kitaev Majorana wire) in its fermionic topological phase, which is unitarily equivalent to the 1D quantum Ising model in the symmetry-breaking phase via the Jordan-Wigner transformation.
The code is usually defined using the algebra of two anti-commuting Majorana operators called \textit{Majorana zero modes (MZMs)} or \textit{Majorana edge modes (MEMs)}.
Codewords have different values of the fermionic parity.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,22 +12,24 @@ short_name: 'CWS'
introduced: '\cite{arXiv:cs/0610159,arXiv:0708.1021}'

description: |
Member of a family of codes that strictly generalizes qubit stabilizer codes.
A code defined using a cluster state and a set of \(Z\)-type Pauli strings defined by a binary classical code.
They are usually denoted by \( \mathcal{Q} = (\mathcal{G},\mathcal{C}) \) where \(\mathcal{G}\) is a graph and \(\mathcal{C}\) is a \( (n,K,d) \) binary classical code.
From the graph we form the unique graph state (stabilizer state) \( |G \rangle \).
From the classical code we form Pauli \(Z\)-type operators \( W_i = Z^{c_{i,1}} \otimes \cdots \otimes Z^{c_{i,n}} \), where \(c_{i,j} \) is the \(j\)-th bit of the \(i\)-th classical codeword.
The CWS codewords are then \( | i \rangle = W_i | G \rangle \).
The Galois-qudit CWS construction takes in \( \mathcal{Q} = (\mathcal{G},\mathcal{C}) \), where \(\mathcal{G}\) is a graph, and where \(\mathcal{C}\) is an \((n,K,d)\) binary code.
From the graph, we form the unique cluster state \( |\mathcal{G} \rangle \).
From the binary code, we form Pauli \(Z\)-type operators \( W_i = Z^{c_{i,1}} \otimes \cdots \otimes Z^{c_{i,n}} \), where \(c_{i,j} \) is the \(j\)-th coordinate of the \(i\)-th classical codeword.
The CWS codewords are then \( | i \rangle = W_i | \mathcal{G} \rangle \).
The above definition corresponds to the \textit{standard form} of a CWS codes, and there is an alternative description that is locally Clifford-equivalent.
In particular, we can describe CWS codes as \( \mathcal{Q} = (S,\mathcal{W})\) where \(S\) is a stabilizer group and \( \mathcal{W} = \{ w_\ell \}_{\ell = 1}^K \) is a family of \(K\) \(n\)-qubit Pauli strings. We then form CWS codeswords as \( | i \rangle = w_i | S \rangle \), where \( | S \rangle \) is the (unique) stabilizer state of \(S\).
The above definition corresponds to the \textit{standard form} of CWS codes.
Since any stabilizer state is equivalent to a cluster state under a single-qubit Clifford circuit \cite{arxiv:quant-ph/0308151}\cite[Appx. A]{arxiv:1910.00471}, any code whose underlying state is a non-cluster stabilizer state is similarly equivalent to a CWS code.
The term CWS was coined in Ref. \cite{arxiv:0708.1021}, and their approach is equivalent to another approach \cite{arXiv:cs/0610159} based on Boolean functions (see Ref. \cite{manual:{Zeng, Bei. Quantum operations and codes beyond the Stabilizer-Clifford framework. Diss. Massachusetts Institute of Technology, 2009.}}).
In an alternative convention (not used here), CWS codes are defined from an underlying stabilizer state that is not a necessarily a cluster state.
protection: |
Code distance \(\mathcal{Q} = ( \mathcal{G},\mathcal{C}) \) is upper bounded by the distance of the classical code \(\mathcal{C} \).
The \hyperref[code:qubits_into_qubits]{diagonal distance} is upper bounded by \(\delta + 1\), where \(\delta\) is the minimum degree of \(\mathcal{G}\).
Computing the distance is generally \(NP\)-complete, and is \(NP\)-hard for \hyperref[topic:degeneracy]{non-degenerate} codes \cite{arXiv:2203.04262}.
Some bounds are provided in Ref. \cite{arxiv:1108.5490}.
Expand All @@ -46,15 +48,22 @@ notes:

relations:
parents:
- code_id: qsqc
detail: 'Restricting the underlying classical code to be symplectic self-dual reduces the \(((n,2^k L,d))\) QSQC construction to the \(((n,L,d))\) CWS construction \cite[Sec. IV.E]{arxiv:2311.07265}.'
- code_id: non_stabilizer
detail: 'Any CWS code can be written as a USt whose (\(K=1\)) stabilizer code is the cluster state and whose coset representatives are constructed from the binary classical code.
Conversely, USts are equivalent to CWS codes via a single-qubit Clifford circuit as follows \cite{arxiv:0907.2038,manual:{Li, Yunfan. Codeword Stabilized Quantum Codes and Their Error Correction. Diss. UC Riverside, 2010.}}\cite[Sec. 10.4]{doi:10.1017/CBO9781139034807.012}.
The set of coset representatives of any USt can be extended to a larger set iterating over the underlying stabilizer code such that all codewords can be obtained from a single stabilizer state.
Then, one can apply a single-qubit Clifford transformation to map said stabilizer state into a cluster state.'
- code_id: qudit_cws
detail: 'Modular-qudit CWS codes reduce to CWS codes for \(q=2\).'
- code_id: galois_cws
detail: 'Galois-qudit CWS codes reduce to CWS codes for \(q=2\).'
- code_id: qsqc
detail: 'Restricting the underlying classical code to be symplectic self-dual reduces the \(((n,2^k L,d))\) QSQC construction to the \(((n,L,d))\) CWS construction \cite[Sec. IV.E]{arxiv:2311.07265}.'
cousins:
- code_id: cluster_state
detail: 'A single cluster-state codeword is used to construct a CWS code.'
- code_id: movassagh_ouyang
detail: 'The Movassagh-Ouyang codes overlap the CWS codes but neither family is contained in the other.'
detail: 'The Movassagh-Ouyang codes overlap the CWS codes but neither family is contained in the other \cite{arXiv:2012.01453}.'
- code_id: spacetime
detail: 'CWS codes have been considered in the context of spacetime replication of quantum data \cite{arxiv:1210.0913,arXiv:1601.02544}, while STCs are designed to replicate classical data.'

Expand All @@ -63,6 +72,8 @@ relations:
_meta:
# Change log - most recent first
changelog:
- user_id: VictorVAlbert
date: '2024-03-28'
- user_id: VictorVAlbert
date: '2022-04-21'
- user_id: VictorVAlbert
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,6 @@ relations:
- code_id: arvind
detail: 'The \(((5,6,2))\) code is the \(((n,1+n(q-1),2))_q\) union stabilizer code for \(n=5\) and \(q=2\) \cite{arxiv:quant-ph/0210097}.'
- code_id: quantum_cyclic
- code_id: non_stabilizer
detail: 'The six-qubit CWS code is a union stabilizer code \cite{arXiv:quant-ph/9703002,arxiv:quant-ph/0210097}.'


# Begin Entry Meta Information
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ code_id: non_stabilizer
physical: qubits
logical: qubits

name: 'Union stabilizer code'
name: 'Union stabilizer (USt) code'
short_name: 'USt'
introduced: '\cite{arXiv:quant-ph/9703002,arXiv:quant-ph/9703016,arxiv:quant-ph/9710031,arxiv:quant-ph/0210097,arxiv:0801.2144}'
# First ref discusses unions of general codes

Expand All @@ -18,6 +19,13 @@ alternative_names:
description: |
A qubit code whose codespace consists of a direct sum of a qubit stabilizer codespace and one or more of that stabilizer code's error spaces.
Given a subset \(T\) of coset representatives of \(\mathsf{N}(\mathsf{S})/\mathsf{S}\) of a stabilizer code \([[n,k]]\) with codespace \(\mathsf{C}\) and stabilizer group \(\mathsf{S}\), one can construct the USt with codespace \cite[Def. 10.1]{doi:10.1017/CBO9781139034807.012}
\begin{align}
\mathsf{C}_{\text{USt}}=\bigoplus_{t\in T}t\mathsf{C}~.
\end{align}
The parameters of the USt are \(((n,2^k |T|))\), where \(|T|\) is the number of chosen coset representatives.
A USt is \textit{CSS-like} when the underlying stabilizer code is CSS, so the coset representatives from the two classical codes underlying the CSS code.
Union stabilizer codes constructed in Ref. \cite{arxiv:quant-ph/0210097} include the \(((33, 155, 3))\) and \(((15, 8, 3))\) codes.
Expand All @@ -31,8 +39,9 @@ notes:

relations:
parents:
- code_id: cws
detail: 'Union stabilizer codes can be defined as CWS codes \cite{arxiv:0907.2038,manual:{Li, Yunfan. Codeword Stabilized Quantum Codes and Their Error Correction. Diss. UC Riverside, 2010.}}\cite[Sec. 10.4]{doi:10.1017/CBO9781139034807.012}.'
- code_id: qubits_into_qubits
- code_id: qudit_non_stabilizer
detail: 'Modular-qudit union stabilizer codes reduce to union stabilizer codes for \(q=2\).'
- code_id: galois_non_stabilizer
detail: 'Galois-qudit union stabilizer codes reduce to union stabilizer codes for \(q=2\).'
cousins:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ name: '\(((2^m,2^{2^m−5m+1},8))\) Goethals-Preparata code'
introduced: '\cite{arXiv:0801.2144,arxiv:0801.2150}'

description: |
Member of a family of \(((2^m,2^{2^m−5m+1},8))\) CWS codes constructed using the classical Goethals and Preparata codes.
Member of a family of \(((2^m,2^{2^m−5m+1},8))\) CSS-like union stabilizer codes constructed using the classical Goethals and Preparata codes.
They can be viewed as union stabilizer codes constructed from the codespace of a \([[2^m,2^m-7m+3,8]]\) code (which itself is obtained from the Steane enlargement construction) and the coset representatives used to obtain the Goethals and Preparata codes \cite[Thm. 10.3]{doi:10.1017/CBO9781139034807.012}.
Expand Down
2 changes: 1 addition & 1 deletion codes/quantum/qubits/small_distance/small/stab_5_1_3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ relations:
- code_id: majorana_stab
detail: 'The five-qubit code Hamiltonian is local when expressed in terms of mutually commuting Majorana operators \cite{manual:{Aleksander Kubica, private communication, 2019}}.'
- code_id: qubits_into_qubits
detail: 'Every \(((5,2,3))\) code is equivalent to the five-qubit code \cite[Corr. 10]{arxiv:quant-ph/9704043}.'
detail: 'Every \(((5,2,3))\) code is single-qubit-Clifford-equivalent to the five-qubit code \cite[Corr. 10]{arxiv:quant-ph/9704043}.'
- code_id: quantum_concatenated
detail: 'The concatenated five-qubit code has a \hyperref[topic:measurement-threshold]{measurement threshold} of one \cite{arxiv:2402.00145}.'
- code_id: cws
Expand Down
3 changes: 2 additions & 1 deletion codes/quantum/qubits/small_distance/small/steane/steane.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,9 @@ relations:
detail: 'The Steane code is a group-representation code with \(G\) being the \(2O\) subgroup of \(SU(2)\) \cite{arxiv:2306.11621}.'
- code_id: concatenated_steane
detail: 'The concatenated Steane code at level \(m=1\) is the Steane code.'
cousins:
- code_id: quantum_cyclic
detail: 'The Steade code is equivalent to a cyclic code via qubit permutations \cite[Exam. 1]{arxiv:1108.5490}.'
detail: 'The Steane code is equivalent to a cyclic code via qubit permutations \cite[Exam. 1]{arxiv:1108.5490}.'


# detail: 'Steane code is the smallest member of a family of Reed-Muller-based CSS codes.'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ relations:
- code_id: mlsc
detail: 'The BKSF code can be thought of as a particular MLSC \cite{arxiv:1812.08190}.'
- code_id: 2d_bosonization
detail: 'The BKSF code is equivalent to a distance-two 2D bosonization code for a specific edge ordering \cite{arxiv:2201.05153}.'
detail: 'The BKSF code is a distance-two 2D bosonization code for a specific edge ordering \cite{arxiv:2201.05153}.'
# cousins:
# - code_id: triangular_color
# detail: 'The square-lattice BKSF encoding \cite{arxiv:1810.05274} has the excitation structure as one of the toric codes underlying the 2D color code \cite{manual:{Compact fermion to qubit mappings for quantum simulation}}.'
Expand Down
6 changes: 3 additions & 3 deletions codes/quantum/qubits/stabilizer/fracton/checkerboard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ introduced: '\cite{arXiv:1505.02576}'

description: |
A foliated type-I fracton code defined on a cubic lattice that admits weight-eight \(X\)- and \(Z\)-type stabilizer generators on the eight vertices of each cube in the lattice.
Variants include the twisted checkerboard model \cite{arxiv:1805.06899}.
features:
Expand All @@ -26,10 +26,10 @@ relations:
parents:
- code_id: qubit_css
- code_id: fracton
detail: 'The checkerboard model is equivalent to two copies of the X-cube model via a local unitary \cite{arxiv:1806.08633}. Hence, it is a foliated type-I fracton code.'
detail: 'The checkerboard model is equivalent to two copies of the X-cube model via a local constant-depth unitary \cite{arxiv:1806.08633}. Hence, it is a foliated type-I fracton code.'
cousins:
- code_id: xcube
detail: 'The checkerboard model is equivalent to two copies of the X-cube model via a local unitary \cite{arxiv:1806.08633}.'
detail: 'The checkerboard model is equivalent to two copies of the X-cube model via a local constant-depth unitary \cite{arxiv:1806.08633}.'


_meta:
Expand Down
18 changes: 11 additions & 7 deletions codes/quantum/qubits/stabilizer/mbqc/cluster_state.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,19 @@ alternative_names:
- 'Graph-state code'

description: |
Code consisting of cluster states \cite{arxiv:quant-ph/0004051}, which are stabilizer states defined on a graph. There is one stabilizer generator \(S_v\) per graph vertex \(v\) of the form
Code consisting of (typically one) cluster states \cite{arxiv:quant-ph/0004051}.
Often used in measurement-based quantum computation (MBQC), which substitutes the temporal dimension necessary for decoding a conventional code with a spatial dimension.
This is done by encoding the computation into the features of the cluster state''s graph.
Cluster states are stabilizer states defined on a graph.
There is one stabilizer generator \(S_v\) per graph vertex \(v\) of the form
\begin{align}
S_v = X_{v} \prod_{w\in N(v)} Z_w~,
\end{align}
where the neighborhood \(N(v)\) is the set of vertices which share an edge with \(v\).
Cluster-state codewords are used in measurement-based quantum computation (MBQC), which substitutes the temporal dimension necessary for decoding with a spatial dimension.
This is done by encoding the computation into the topological features of the cluster state''s graph.
An MBQC scheme can be constructed out of any qubit CSS code (via \textit{foliation} \cite{arxiv:1607.02579}) or qubit stabilizer code \cite{arxiv:1811.11780}.
The original MBQC scheme \cite{arxiv:quant-ph/0510135,arxiv:quant-ph/0610082} uses the RBH cluster state on the bcc lattice (equivalently, a cubic lattice with qubits on edges and faces).
The original MBQC scheme \cite{arxiv:quant-ph/0510135,arxiv:quant-ph/0610082} uses the RBH cluster state on the bcc lattice (i.e., a cubic lattice with qubits on edges and faces).
protection: |
Protection is related to the stabilizer code underlying the cluster state.
Expand Down Expand Up @@ -84,9 +86,11 @@ relations:
parents:
- code_id: qubit_stabilizer
detail: 'Cluster states are particular qubit stabilizer states defined on a graph.
Any qubit stabilizer code is locally equivalent to a graph code \cite{arxiv:quant-ph/0111080} (see also \cite{arxiv:quant-ph/0703112}).
As a corollary, any qubit stabilizer state is locally equivalent to a cluster state \cite{arxiv:quant-ph/0308151}\cite[Appx. A]{arxiv:1910.00471}.
Any qubit stabilizer code is equivalent to a graph code via a single-qubit Clifford circuit \cite{arxiv:quant-ph/0111080} (see also \cite{arxiv:quant-ph/0703112}).
As a corollary, any qubit stabilizer state is equivalent to a cluster state under a single-qubit Clifford circuit \cite{arxiv:quant-ph/0308151}\cite[Appx. A]{arxiv:1910.00471}.
Any fault-tolerant scheme based on qubit stabilizer codes can be mapped into a cluster-state based MBQC protocol \cite{arxiv:1811.11780}.'
- code_id: group_cluster_state
detail: 'Group-based cluster-state codes reduce to cluster-state codes for \(G=\mathbb{Z}_2\).'
cousins:
- code_id: fusion
detail: 'FBQC and MBQC are both computational models in which computation is done by measuring resource states (which are qubit stabilizer states).
Expand Down
2 changes: 1 addition & 1 deletion codes/quantum/qubits/stabilizer/mbqc/rbh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ introduced: '\cite{arxiv:quant-ph/0407255,arxiv:quant-ph/0510135,arxiv:quant-ph/

description: |
Also called an \textit{RHG (Raussendorf-Harrington-Goyal) cluster-state code}.
A three-dimensional cluster-state code defined on the bcc lattice (equivalently, a cubic lattice with qubits on edges and faces).
A three-dimensional cluster-state code defined on the bcc lattice (i.e., a cubic lattice with qubits on edges and faces).
The MBQC version of the code is defined as the unique ground state of a certain code Hamiltonian. This state is the resource state used in the first MBQC scheme \cite{arxiv:quant-ph/0510135,arxiv:quant-ph/0610082}.
It encodes the temporal gate operations on the surface code into a third spatial dimension.
Expand Down
Loading

0 comments on commit ffdd520

Please sign in to comment.