Skip to content

Commit

Permalink
cv_cluster_state
Browse files Browse the repository at this point in the history
  • Loading branch information
valbert4 committed Jul 17, 2024
1 parent 006e037 commit 4d6354e
Show file tree
Hide file tree
Showing 21 changed files with 135 additions and 51 deletions.
4 changes: 3 additions & 1 deletion codes/classical/groups/rank_modulation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@ name: 'Rank-modulation Gray code (RMGC)'
short_name: 'RMGC'
introduced: '\cite{doi:10.1109/TIT.1969.1054291,doi:10.1109/ISIT.2008.4595285}'

alternative_names:
- 'Code in permutations'

description: |
Also known as a \textit{code in permutations}.
A family of codes that encode a finite set of size \(M\) into a group \(S_n\) of permutations of \([n]=(1,2,...,n)\).
They can be derived from Lee-metric codes, Reed-Solomon codes \cite{doi:10.1109/ISIT.2011.6034261}, quadratic residue codes and most binary codes.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ description: |
\end{align}
where the integral is over \(X\) (given some measure \(d x\)), while the sum is over the design \(D\subset X\).
A \textit{weighted design} is a design for which each term \(p(x)\) in the above sum must be multiplied by a weight \(w(x)\) in order to be equal to the left-hand side.
The most well-known examples of designs are (exact) quadrature/cubature formulas for integration over the reals \cite{manual:{Stroud, Arthur H. Approximate calculation of multiple integrals. Prentice Hall, 1971.},doi:10.1017/S0962492900002701,doi:10.1016/S0885-064X(03)00011-6,doi:10.18434/M3167}, \(X = \mathbb{R}^D\) (with appropriate measure); these tend to be weighted designs.
The most well-known examples of weighed designs are exact \textit{Gaussian quadrature} or \textit{cubature} formulas for integration over the reals \cite{manual:{Stroud, Arthur H. Approximate calculation of multiple integrals. Prentice Hall, 1971.},doi:10.1017/S0962492900002701,doi:10.1016/S0885-064X(03)00011-6,doi:10.18434/M3167}, \(X = \mathbb{R}^D\) (with appropriate measure); these tend to be weighted designs.
Fixed-weight codewords of a binary code can form a design on \(X\) being a Johnson space \(J^n_w\), i.e., the space of length-\(n\) binary strings of weight \(w\).
Such a design is called a \hyperref[code:combinatorial_design]{combinatorial design} (a.k.a. block design or covering design) \cite{manual:{Delsarte, Philippe. "An algebraic approach to the association schemes of coding theory." Philips Res. Rep. Suppl. 10 (1973): vi+-97.}}, which includes Steiner systems as a special case.
Expand Down
6 changes: 5 additions & 1 deletion codes/classical/q-ary_digits/easy/q-ary_parity_check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,11 @@ logical: q-ary_digits

name: '\(q\)-ary parity-check code'

description: 'Also known as a \textit{sum-zero} or \textit{zero-sum} code. An \([n,n-1,2]_q\) linear \(q\)-ary code whose codewords consist of the message string appended with a \textit{parity-check} or \textit{zero-sum check digit} such that the sum over all coordinates of each codeword is zero.'
alternative_names:
- 'Sum-zero code'
- 'Zero-sum code'

description: 'An \([n,n-1,2]_q\) linear \(q\)-ary code whose codewords consist of the message string appended with a \textit{parity-check} or \textit{zero-sum check digit} such that the sum over all coordinates of each codeword is zero.'

relations:
parents:
Expand Down
8 changes: 6 additions & 2 deletions codes/classical/spherical/modulation/qpsk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,13 @@ name: 'Quadrature PSK (QPSK) code'
short_name: 'QPSK'
introduced: '\cite{doi:10.1109/TCE.1962.6373228}'

alternative_names:
- 'Quadriphase PSK code'
- '4-PSK code'
- '4-QAM code'

description: |
Also known as \textit{quadriphase PSK}, \textit{4-PSK}, or \textit{4-QAM}.
Quaternary encoding into a constellation of four points distributed equidistantly on a circle.
A quaternary encoding into a constellation of four points distributed equidistantly on a circle.
For the case of \(\pi/4\)-QPSK, the constellation is \(\{e^{\pm i\frac{\pi}{4}},e^{\pm i\frac{3\pi}{4}}\}\).
realizations:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,6 @@ relations:
parents:
- code_id: oscillators
cousins:
- code_id: quantum_polar
detail: 'Coherent-state constellation codes consisting of points from a Gaussian quadrature rule can be concatenated with quantum polar codes to achieve the Gaussian coherent information of the thermal noise channel \cite{arxiv:1603.05970,doi:10.1109/ISIT.2016.7541749}.'
- code_id: oscillators_concatenated
detail: 'Coherent-state constellation codes consisting of points from a Gaussian quadrature rule can be concatenated with quantum polar codes to achieve the Gaussian coherent information of the thermal noise channel \cite{arxiv:1603.05970,doi:10.1109/ISIT.2016.7541749}.'
- code_id: modulation
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@ features:

realizations:
- 'The dual-rail code is ubiquitous in linear-optical quantum devices and is behind the KLM protocol, one of the first proposals for fault-tolerant computation.
See reviews \cite{arxiv:quant-ph/0512104,arxiv:quant-ph/0512071} for more details.'
See reviews \cite{arxiv:quant-ph/0512104,arxiv:quant-ph/0512071,arxiv:1907.06331} for more details.'
- 'Superconducting circuit devices: Gates have been demonstrated in the Schoelkopf group at Yale University \cite{doi:10.1038/s41467-023-41104-0}.
Error detection has been demonstrated in 3D cavities in the Devoret group at Yale University \cite{arxiv:2311.04423} and Amazon Web Services \cite{arxiv:2307.08737} using transmon qubits, following earlier theoretical proposals \cite{arxiv:2212.12077,arxiv:2208.05461}.
Logical readout in 3D cavities has been demonstrated by Quantum Circuits Inc. \cite{arxiv:2307.03169}.'
- 'Photonic platforms: state preparation and measurement fidelity of \(99.98\%\) in the C telecom band by PsiQuantum \cite{arxiv:2404.17570}.'

notes:
- 'For Deutsch''s problem \cite{doi:10.1098/rspa.1992.0167} with optical qubits, error correction using photon number detection reduces the error probability from \(\frac{1}{4} (1+e^{-\gamma}-2e^{-3\gamma/2}) \) to \(\frac{1}{2} (1- \text{sech} \gamma/2)\).'
# notes:
# - 'For Deutsch''s problem \cite{doi:10.1098/rspa.1992.0167} with optical qubits, error correction using photon number detection reduces the error probability from \(\frac{1}{4} (1+e^{-\gamma}-2e^{-3\gamma/2}) \) to \(\frac{1}{2} (1- \text{sech} \gamma/2)\).'


relations:
Expand All @@ -61,7 +61,7 @@ relations:
- code_id: stab_4_2_2
detail: 'An \([[8,1,2]]\) QPC correcting a single \hyperref[topic:ad]{AD} error is equivalent to a concatenation of the \(\{|\overline{01}\rangle,|\overline{11}\rangle\}\) (constant-excitation) subcode of the \([[4,2,2]]\) code with the dual-rail code \cite{arxiv:quant-ph/0103042,arxiv:quant-ph/0501184,arxiv:2010.00538}. More generally, an \([[m^2,1,m]]\) QPC corrects \(m-1\) \hyperref[topic:ad]{AD} errors \cite{arxiv:1001.2356}.'
- code_id: cluster_state
detail: 'The KLM protocol can be combined with cluster states in various ways to yield MBQC protocols \cite{arxiv:quant-ph/0303008,arxiv:quant-ph/0402005,arxiv:quant-ph/0405157}.'
detail: 'The KLM protocol can be combined with cluster states in various ways to yield MBQC protocols \cite{arxiv:quant-ph/0303008,arxiv:quant-ph/0402005,arxiv:quant-ph/0405157}; see review \cite{arxiv:1907.06331}.'


_meta:
Expand Down
2 changes: 1 addition & 1 deletion codes/quantum/oscillators/hybrid/hybrid_cat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ description: |
A hybrid qubit-oscillator code admitting codewords that are tensor products of either a cat or coherent state and a single-qubit (photon polarization) state.
Codewords of the coherent-state version \cite{arxiv:1112.0825} are \(|\alpha\rangle|+\rangle\) and \(|-\alpha\rangle|-\rangle\), i.e., hyper-entangled states of the polarization \(|\pm\rangle\) and occupation-number degrees of freedom of a photon, with the latter being in a coherent state \(|\pm\alpha\rangle\).
Codewords of a cat-state version \cite{arxiv:2401.00450} are \((\left|\alpha\right\rangle +\left|-\alpha\right\rangle )|+\rangle\) and \((\left|i\alpha\right\rangle -\left|-i\alpha\right\rangle )|-\rangle\)
Codewords of a cat-state version \cite{arxiv:1712.10206,arxiv:2401.00450} are \((\left|\alpha\right\rangle +\left|-\alpha\right\rangle )|+\rangle\) and \((\left|i\alpha\right\rangle -\left|-i\alpha\right\rangle )|-\rangle\)
features:
fault_tolerance:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,18 @@ logical: oscillators
name: 'Analog stabilizer code'
#introduced: '\cite{arxiv:quant-ph/0405064}'

alternative_names:
- 'Gaussian stabilizer code'
- 'Linear stabilizer code'
- 'Symplectic stabilizer code'

description: |
Also known as a \textit{linear}, \textit{symplectic}, or \textit{Gaussian stabilizer code}.
Oscillator-into-oscillator stabilizer code encoding \(k\) logical modes into \(n\) physical modes. An \(((n,k,d))_{\mathbb{R}}\) analog stabilizer code is denoted as \([[n,k,d]]_{\mathbb{R}}\), where \(d\) is the code's distance.
An oscillator-into-oscillator stabilizer code encoding \(k\) logical modes into \(n\) physical modes. An \(((n,k,d))_{\mathbb{R}}\) analog stabilizer code is denoted as \([[n,k,d]]_{\mathbb{R}}\), where \(d\) is the code's distance.
Analog stabilizer codes admit continuous stabilizer group of displacements. This group can equivalently be defined in terms of its Lie algebra. The codespace is equivalently the common \(0\)-eigenvalue eigenspace of the Lie algebra generators, which are mutually commuting linear combinations of oscillator position and momentum operators called \textit{nullifiers} \cite{arxiv:0903.3233} or \textit{annihilators}.
An analog stabilizer code admitting a set of nullifiers such that each nullifier consists of either position or momentum operators is called an \textit{analog CSS code}.
protection: 'Protect against erasures of at most \(d-1\) modes, or arbitrarily large dispalcements on those modes. If an error operator does not commute with a nullifier, then that error is detectable.
Protection of logical modes against small displacements cannot be done using only Gaussian resources \cite{arxiv:0811.3128,arxiv:1810.00047} (see also \cite{arxiv:quant-ph/0204052,arxiv:quant-ph/0204085}).
There are no such restrictions for non-Gaussian noise \cite{arxiv:0811.3616}.'
protection: 'Protect against erasures of at most \(d-1\) modes, or arbitrarily large dispalcements on those modes. If an error operator does not commute with a nullifier, then that error is detectable. Protection of logical modes against small displacements cannot be done using only Gaussian resources \cite{arxiv:0811.3128,arxiv:1810.00047} (see also \cite{arxiv:quant-ph/0204052,arxiv:quant-ph/0204085}). There are no such restrictions for non-Gaussian noise \cite{arxiv:0811.3616}.'

features:
encoders:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
#######################################################
## This is a code entry in the error correction zoo. ##
## https://github.com/errorcorrectionzoo ##
#######################################################

code_id: cv_cluster_state
physical: oscillators

name: 'Analog-cluster-state code'
introduced: '\cite{doi:10.1103/PhysRevA.73.032318,arxiv:quant-ph/0605198,arxiv:0903.3233}'

alternative_names:
- 'CV-cluster-state code'
- 'CV-graph-state code'
- 'Bosonic-cluster-state code'

description: |
A code based on a continuous-variable (CV), or analog, cluster state.
Such a state can be used to perform MBQC of logical modes, which substitutes the temporal dimension necessary for decoding a conventional code with a spatial dimension.
The exact analog cluster state is non-normalizable, so approximate constructs have to be considered.
Analog cluster states are analog stabilizer states defined on a graph.
There is one nullifier \(\eta_j\) per graph vertex \(j\) of the form
\begin{align}
\eta_j = \hat{p}_{j} - \sum_{k\in N(j)} V_{jk} \hat{x}_k~,
\end{align}
where the neighborhood \(N(j)\) is the set of vertices which share an edge with \(j\), and where \(V_{jk}\) is a weighed (real-valued) adjacency matrix of a graph \cite{arxiv:1912.06463}.
Analog cluster states, like cluster states, can be defined on various geometries.
Analog cluster states defined on a 1D ladder are sometimes called dual-rail, not to be confused with the dual-rail code.
protection: |
Protection is related to the analog stabilizer code underlying the analog cluster state.
features:
encoders:
- 'Initialization of all modes in momentum eigenstates and action of gates of the form \(\exp(iV_{jk}\hat{x}_{j}\hat{x}_{k})\). The normalizable version substitutes momentum eigenstates with finitely squeezed states.'

general_gates:
- 'Combination of linear-optical gates and homodyne measurements on subsets of vertices \cite{arxiv:quant-ph/0605198,arxiv:0903.3233}.'
- 'Gaussian operations can be realized as operations acting on graphs underlying a cluster state. They can be done in any order, demonstrating parallelism \cite{arxiv:quant-ph/0605198,arxiv:0903.3233}.'
- 'Magic-state distillation is required for universal computation \cite{arxiv:quant-ph/0605198,arxiv:0903.3233}.'

realizations:
- 'Analog cluster states on a number of modes ranging from tens to millions \cite{arxiv:1306.3366,arxiv:1311.2957,arxiv:1606.06688} have been synthesized in photonic degrees of freedom.'

relations:
parents:
- code_id: analog_stabilizer
detail: 'CV-cluster-state codes are particular analog stabilizer codes. Relaxing the real weighted adjacency matrix of a CV cluster state to be complex yields a description of a general analog (i.e., Gaussian) stabilizer code state \cite{arxiv:1007.0725}.'


# Begin Entry Meta Information
_meta:
# Change log - most recent first
changelog:
- user_id: VictorVAlbert
date: '2024-07-17'
31 changes: 19 additions & 12 deletions codes/quantum/oscillators/stabilizer/lattice/gkp-cluster-state.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,36 +7,43 @@ code_id: gkp-cluster-state
physical: oscillators
logical: qudits

name: 'GKP cluster-state code'
name: 'GKP CV-cluster-state code'
introduced: '\cite{arxiv:1310.7596}'

alternative_names:
- 'Hybrid cluster-state code'

description: |
Multi-mode code encoding logical qubits into a cluster-state stabilizer code concatenated with a single-mode GKP code. Provides a way to perform a continuous-variable (CV) analogue of fault-tolerant MBQC.
This code can be thought of as a generalized analog cluster state that is initialized in GKP (resource) states for some of its physical modes.
Alternatively, it can be thought of as an oscillator-into-oscillator GKP code whose encoding consists of initializing \(k\) modes in momentum states (or, in the normalizable case, squeezed vacua), \(n-k\) modes in (normalizable) GKP states, and applying a Gaussian circuit consisting of two-body \(e^{i \theta_{jk} \hat{x}_j \hat{x}_k }\) for some angles \(\theta_{jk}\).
Provides a way to perform fault-tolerant MBQC, with \(n-k\) determined by the particular protocol \cite{arxiv:1310.7596,arxiv:2010.02905}.
A cluster state of GKP qubits on a graph is made by applying two-mode \(C_Z\)-type gates \(e^{\pm i \hat{x}\otimes\hat{x}}\) to a tensor product of \(|\overline{+}\rangle\) logical GKP states on each vertex.
Logical Clifford gates are performed on the cluster state via a combination of linear-optical gates and homodyne measurements on subsets of vertices \cite{arxiv:quant-ph/0605198,arxiv:0903.3233}. Magic-state distillation is required for universal computation. GKP error correction can be naturally combined with CV measurement-based protocols since the performance of both is quantified by a squeezing parameter.
features:

encoders:
- 'Initializing \(k\) modes in momentum states (or, in the normalizable case, squeezed vacua), \(n-k\) modes in (normalizable) GKP states, and applying a Gaussian circuit consisting of two-body \(e^{i \theta_{jk} \hat{x}_j \hat{x}_k }\) for some angles \(\theta_{jk}\).'
general_gates:
- 'Single-mode logical Clifford gates can be performed using Gaussian operations and measurements on a 1D GKP cluster state, while two-mode logical Clifford gates require a 2D cluster state. Magic-state distillation using photon-counting can be used for a non-Clifford logical \(\pi/8\) gate.'

threshold:
- 'A lower bound on the squeezing required to obtain a particular error rate can be formulated in terms of the displacement noise strength.
This in turn determines how much squeezing is required in order to be below threshold for a particular concatenated code.
A threshold of \(10^{-6}\) yields a required squeezing of 20.5 dB \cite{arxiv:1310.7596}.'
- 'A lower bound on the squeezing required to obtain a particular error rate can be formulated in terms of the displacement noise strength. This in turn determines how much squeezing is required in order to be below threshold for a particular concatenated code. A threshold of \(10^{-6}\) yields a required squeezing of 20.5 dB \cite{arxiv:1310.7596}. Anti-squeezing does not affect the threshold \cite{arxiv:1903.02162}.'

fault_tolerance:
- 'First encoding demonstrating the possibility of fault-tolerant measurement-based computation with CV cluster states. A fault-tolerance threshold can be achieved by concatenating existing fault-tolerant schemes for qubit-based cluster-state encodings with the GKP code \cite{arxiv:1310.7596}.'
- 'Hybrid cluster state consisting of GKP qubits at some modes and squeezed states at others has been proposed to work in a fault-tolerant scheme \cite{arxiv:2010.02905}.'
- 'First encoding demonstrating the possibility of fault-tolerant measurement-based computation with analog cluster states. A fault-tolerance threshold can be achieved by concatenating existing fault-tolerant schemes for qubit-based cluster-state encodings with the GKP code \cite{arxiv:1310.7596}.'

relations:
parents:
- code_id: multimodegkp
detail: 'The GKP cluster-state code is a concatenation of a cluster-state stabilizer code with a single-mode GKP code.
Typically, a single GKP cluster-state is utilized in MBQC.'
- code_id: quantum_lattice
detail: 'A GKP CV-cluster-state code can be created by initializing \(k\) modes in momentum states (or, in the normalizable case, squeezed vacua), \(n-k\) modes in (normalizable) GKP states, and applying a Gaussian circuit consisting of two-body \(e^{i \theta_{jk} \hat{x}_j \hat{x}_k }\) for some angles \(\theta_{jk}\).'
- code_id: qudits_into_oscillators
cousins:
- code_id: cv_cluster_state
detail: 'GKP CV-cluster-state codes reduce to analog-cluster-state codes when all physical modes are initialized in momentum states.'
- code_id: cluster_state
detail: 'GKP CV-cluster-state codes reduce to cluster-state codes concatenated with single-mode GKP codes when all physical modes are initialized in GKP states.'
- code_id: oscillators_concatenated
detail: 'GKP CV-cluster-state codes reduce to cluster-state codes concatenated with single-mode GKP codes when all physical modes are initialized in GKP states.'


# Begin Entry Meta Information
Expand Down
Loading

0 comments on commit 4d6354e

Please sign in to comment.