Skip to content

Commit

Permalink
pauli groups
Browse files Browse the repository at this point in the history
  • Loading branch information
valbert4 committed Jul 28, 2024
1 parent 6c089b8 commit 17b7ecc
Show file tree
Hide file tree
Showing 14 changed files with 30 additions and 23 deletions.
2 changes: 1 addition & 1 deletion codes/quantum/oscillators/oscillators.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ features:
These are examples of Gaussian channels, i.e., channels that map Gaussian states to Gaussian states \cite{doi:10.1016/0034-4877(79)90049-1,arxiv:quant-ph/0505151,arxiv:0707.0604,arxiv:0804.0511,arxiv:1004.0196,arxiv:1009.1108,arxiv:1012.4266}.'

general_gates:
- 'Displacement operations form a group called the Heisenberg-Weyl group, the oscillator analogue to the Pauli group. Analogues of (non-Pauli) Clifford-group transformations are the \textit{Gaussian unitary transformations} (a.k.a. symplectic, Bogoliubov-Valatin, or linear canonical transformations) \cite{doi:10.1063/1.1665805,arxiv:1110.3234,manual:{Wagner, M. Unitary transformations in solid state physics. Netherlands.}}, which are unitaries generated by quadratic polynomials in positions and momenta. The Gaussian unitary transformation group permutes displacement operators amognst themselves, and, up to any phases, is equivalent to the symplectic group \(Sp(2n,\mathbb{R})\).'
- 'Displacement operations form a group called the Heisenberg-Weyl group, the oscillator analogue to the \hyperref[topic:pauli]{Pauli group}. Analogues of (non-Pauli) Clifford-group transformations are the \textit{Gaussian unitary transformations} (a.k.a. symplectic, Bogoliubov-Valatin, or linear canonical transformations) \cite{doi:10.1063/1.1665805,arxiv:1110.3234,manual:{Wagner, M. Unitary transformations in solid state physics. Netherlands.}}, which are unitaries generated by quadratic polynomials in positions and momenta. The Gaussian unitary transformation group permutes displacement operators amognst themselves, and, up to any phases, is equivalent to the symplectic group \(Sp(2n,\mathbb{R})\).'
- 'Computing using Gaussian states and Gaussian unitaries only can be efficiently simulated on a classical computer \cite{arxiv:quant-ph/0109047,arxiv:1210.1783,arxiv:1208.3660}. This remains true even if superpositions of Gaussian states are considered \cite{arxiv:2010.14363,arxiv:2403.19059}, but is no longer the case when the number of modes scales exponentially \cite{arxiv:2407.06290}. A cubic phase gate is required to make a universal gate set on the oscillator \cite{arxiv:quant-ph/9810082,arxiv:quant-ph/0410100}; other gates are possible, but quartic or higher versions of squeezing are not well defined \cite{doi:10.1103/PhysRevD.29.1107}. More generally, controllability has been proven when the normalizable state space is restricted to Schwartz space \cite{arxiv:quant-ph/0505063}.'
- 'Measurements can be performed by homodyne and generalized homodyne measurements \cite{arxiv:quant-ph/0511044}.'
- 'The number-phase interpretation allows for the mapping of rotor Clifford gates into the oscillator, some of which become non-unitary (e.g., conditional occupation number addition) \cite{arxiv:2311.07679}.'
Expand Down
2 changes: 1 addition & 1 deletion codes/quantum/qubits/dynamic/spacetime_circuit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ relations:
- code_id: surface
detail: 'Stabilizer generators of a spacetime code are called \textit{detectors} in Refs. \cite{arxiv:2103.02202,arxiv:2304.05943}.'
- code_id: subsystem_stabilizer
detail: 'Spacetime circuit codes can be upgraded to subsystem codes by \hyperref[topic:gauging-out]{gauging out} a subgroup of the logical Pauli group which causes trivial faults in the corresponding Clifford circuit.'
detail: 'Spacetime circuit codes can be upgraded to subsystem codes by \hyperref[topic:gauging-out]{gauging out} a subgroup of the logical \hyperref[topic:pauli]{Pauli group} which causes trivial faults in the corresponding Clifford circuit.'
- code_id: qldpc
detail: 'General spacetime circuit codes can be sparsified to yield QLDPC spacetime circuit codes \cite{arxiv:2304.05943}.'
- code_id: ldpc
Expand Down
2 changes: 1 addition & 1 deletion codes/quantum/qubits/oa/qubit_stabilizer_oaqecc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ short_name: 'OA qubit stabilizer'
introduced: '\cite{arxiv:2304.11442}'

description: |-
An OAQECC in which the commutant \(\mathcal{A}'\) of the logical algebra \(\mathcal{A}\) arises as the \hyperref[topic:group-algebra]{group algebra} of a subgroup \(\mathsf{G}\) of the \(n\)-qubit Pauli group \(\mathsf{P}_n\).
An OAQECC in which the commutant \(\mathcal{A}'\) of the logical algebra \(\mathcal{A}\) arises as the \hyperref[topic:group-algebra]{group algebra} of a subgroup \(\mathsf{G}\) of the \(n\)-qubit \hyperref[topic:pauli]{Pauli group} \(\mathsf{P}_n\).
The stabilizer \(\mathsf{S}\) is the center of \(\mathsf{G}\) modulo factors of \(i I\).
The quotient \(\mathsf{P}_n / \mathsf{N(S)}\), where \(\mathsf{N(S)}\) is the normalizer of \(\mathsf{S}\), is in bijective correspondence with the factors of the logical algebra \(\mathcal{A}\).
Expand Down
6 changes: 3 additions & 3 deletions codes/quantum/qubits/qetc/qetc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ introduced: '\cite{arxiv:2310.10278}'
description: |
Encodes quantum information in a (logical, \(k\)-qubit) subspace \(\mathsf{C}\) of a (physical, \(n\)-qubit) Hilbert space \(\mathsf{H}\) such that recovery is possible from a set of physical errors occurring \textit{up to} a pre-specified (smaller, but non-empty) admissible set of logical errors.
This is relevant to, e.g., simulation of noisy systems.
Most QETCs are stabilizer codes: \(\mathsf{C}\) is the subspace stabilised by an abelian subgroup \(\mathsf{S} \subset \mathcal{G}_n\) of the Pauli group on \(n\) qubits.
Most QETCs are stabilizer codes: \(\mathsf{C}\) is the subspace stabilised by an abelian subgroup \(\mathsf{S} \subset \mathcal{G}_n\) of the \hyperref[topic:pauli]{Pauli group} on \(n\) qubits.
protection: |
Expand All @@ -27,7 +27,7 @@ protection: |
\begin{align}
\mathcal{G}_k \xrightarrow[]{\mathcal{A}} \mathsf{N(S)}/\mathsf{S}
\end{align}
is a choice of isomorphism, \textit{i.e.} an identification of the logical Pauli group with elements of the physical Pauli group. \(\mathsf{N(S)}\) denotes the normaliser of \(\mathsf{S}\) in \(\mathcal{G}_n\).
is a choice of isomorphism, \textit{i.e.} an identification of the logical \hyperref[topic:pauli]{Pauli group} with elements of the physical \hyperref[topic:pauli]{Pauli group}. \(\mathsf{N(S)}\) denotes the normaliser of \(\mathsf{S}\) in \(\mathcal{G}_n\).
Equivalently, this can be rephrased in terms of a generalization of the \term{Knill-Laflamme conditions} for error-correction.
Label the cosets of \(\mathsf{N(S)}\) in \(\mathcal{G}_n\) by \(\mathfrak{n}\), and the physical errors in a given coset by \(E_{\mathfrak{n}} := \{E_{\mathfrak{n},i}\}\). Then \(\mathsf{C}\) is a QETC for a pair \(\{E, \overline{M}\}\) if and only if there exists an isomorphism \(\mathcal{A}: \overline{\mathcal{G}}_k \rightarrow \mathsf{N(S)}/\mathsf{S}\), such that for each \(\mathfrak{n}\) there exists a map:
Expand All @@ -49,7 +49,7 @@ relations:
- code_id: quantum_into_quantum
cousins:
- code_id: qubit_stabilizer
detail: 'Most QETCs are stabilizer codes: \(\mathsf{C}\) is the subspace stabilised by an abelian subgroup \(\mathsf{S} \subset \mathcal{G}_n\) of the Pauli group on \(n\) qubits.'
detail: 'Most QETCs are stabilizer codes: \(\mathsf{C}\) is the subspace stabilised by an abelian subgroup \(\mathsf{S} \subset \mathcal{G}_n\) of the \hyperref[topic:pauli]{Pauli group} on \(n\) qubits.'
- code_id: qecc
detail: 'QETCs are quantum codes which satisfy a generalization of the \term{Knill-Laflamme conditions}. QETCs for which the admissible logical error set consists solely of the identity are QECCs.'
- code_id: oecc
Expand Down
6 changes: 4 additions & 2 deletions codes/quantum/qubits/qubits_into_qubits.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ protection: |
\end{pmatrix}~.
\end{align}
For multiple qubits, error set elements are tensor products of elements of the single-qubit error set.
Tensor products of \(X\) (\(Z\)) Paulis acting on different qubits are called \(X\)\textit{-type} (\(Z\)\textit{-type}) Pauli strings.
Combining the \(X\)-type and \(Z\)-type strings with \(i\) forms a group called the \textit{Pauli group} on \(n\) qubits, while combining them with \(-1\) forms the \textit{real Pauli group}.
\end{defterm}
The Pauli error set is a unitary and Hermitian basis for linear operators on the multi-qubit Hilbert space that is orthonormal under the Hilbert-Schmidt inner product; it is a prototypical \hyperref[topic:nice-error-basis]{nice error basis}.
Expand Down Expand Up @@ -90,7 +92,7 @@ features:
transversal_gates:
- 'A qubit code is \(U\)-\textit{quasi-transversal} if it can realize the logical gate \(U\) in the third level of the \term{Clifford hierarchy} using the physical gate \(C T^{\otimes n}\), where \(C\) is some Clifford gate \cite[Def. 4]{arxiv:1606.01904}.'
general_gates:
- 'The normalizer of the Pauli group is the Clifford group; see Ref. \cite{arxiv:1310.6813} for generators, relations, and normal form. The Clifford group permutes Pauli operators amongst themselves, and, up to any phases, is equivalent to the symplectic group \(Sp(2n,\mathbb{Z}_2)\).
- 'The normalizer of the \hyperref[topic:complementary-channel]{Pauli group} is the Clifford group; see Ref. \cite{arxiv:1310.6813} for generators, relations, and normal form. The Clifford group permutes Pauli operators amongst themselves, and, up to any phases, is equivalent to the symplectic group \(Sp(2n,\mathbb{Z}_2)\).
The combined Pauli and Clifford group cannot be expressed as a semidirect product of those two constituents \cite{arxiv:2406.09951}.'
- 'Computing using Clifford gates only can be efficiently simulated on a classical computer, according to the \textit{Gottesman-Knill theorem} \cite{arxiv:quant-ph/9807006,manual:{E. Knill, private communication, ca. 1998.}}.
Universal quantum computing can be achieved using Clifford gates and a single type of non-Clifford gate, such as the \(T\) gate \cite{arxiv:quant-ph/9503016}.
Expand All @@ -104,7 +106,7 @@ features:
\begin{align}
C_k = \{ U | U P U^{\dagger} \in C_{k-1} \}~,
\end{align}
where \(P\) is any Pauli matrix, and \(C_1\) is the Pauli group.
where \(P\) is any Pauli matrix, and \(C_1\) is the \hyperref[topic:complementary-channel]{Pauli group}.
\end{defterm}'
- 'Arbitrary \(n\)-qubit circuits can be implemented fault-tolerantly in a 3D architecture using \(O(n^{3/2}\log^3 n)\) qubits, and in a 2D architecture using only \(O(n^2 \log^3 n)\) qubits \cite{arxiv:2402.13863}.'
decoders:
Expand Down
2 changes: 1 addition & 1 deletion codes/quantum/qubits/small_distance/small/stab_8_3_3.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ description: |
features:
transversal_gates:
- 'Permutation-based gates \cite[Sec. IV.D]{arxiv:1302.1035}.'
- 'No gates outside of the Pauli group were found in Ref. \cite{arxiv:1912.10063}.'
- 'No gates outside of the \hyperref[topic:pauli]{Pauli group} were found in Ref. \cite{arxiv:1912.10063}.'


relations:
Expand Down
2 changes: 1 addition & 1 deletion codes/quantum/qubits/stabilizer/qubit_stabilizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ relations:
detail: 'An OA qubit stabilizer code storing no classical information and admitting no gauge qubits is a qubit stabilizer code.'
- code_id: qudit_stabilizer
detail: 'Modular-qudit stabilizer codes for \(q=2\) correspond to qubit stabilizer codes.
Modular-qudit stabilizer codes for prime-dimensional qudits \(q=p\) inherit most of the features of qubit stabilizer codes, including encoding an integer number of qudits and a Pauli group with a unique number of generators.
Modular-qudit stabilizer codes for prime-dimensional qudits \(q=p\) inherit most of the features of qubit stabilizer codes, including encoding an integer number of qudits and a \hyperref[topic:qudit-pauli]{modular-qudit Pauli group} with a unique number of generators.
Conversely, qubit codes can be extended to modular-qudit codes by decorating appropriate generators with powers.
For example, \([[4,2,2]]\) qubit code generators can be adjusted to \(ZZZZ\) and \(XX^{-1} XX^{-1}\).
A systematic procedure extending a qubit code to prime-qudit codes involves putting its generator matrix into local-dimension-invariant (LDI) form \cite{arxiv:1910.08122}.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ features:

# so that the stabilizer code of \(\mathsf{S}_1\) corrects \(\lfloor\frac{d_1-1}{2}\rfloor\) bit-flip errors, and that of \(\mathsf{S}_2\) corrects \(\lfloor\frac{d_2-1}{2}\rfloor\) phase-flip errors:

# The logical Pauli group can be constructed using the logical operators of \(\mathsf{S}_1\) and \(\mathsf{S}_2\).
# The logical \hyperref[topic:pauli]{Pauli group} can be constructed using the logical operators of \(\mathsf{S}_1\) and \(\mathsf{S}_2\).

# protection: 'Detecting single-qubit errors of weight up to \(\min(d_1,d_2)\).'

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ relations:
- code_id: sparse_subsystem
cousins:
- code_id: spacetime_circuit
detail: 'Spacetime circuit codes can yield subsystem spacetime circuit codes by \hyperref[topic:gauging-out]{gauging out} a subgroup of the logical Pauli group which causes trivial faults in the corresponding Clifford circuit.
detail: 'Spacetime circuit codes can yield subsystem spacetime circuit codes by \hyperref[topic:gauging-out]{gauging out} a subgroup of the logical \hyperref[topic:pauli]{Pauli group} which causes trivial faults in the corresponding Clifford circuit.
This construction is used to show the existance of geometrically local subsystem codes that nearly saturate the \hyperref[topic:subsystem-bt-bound]{subsystem BT bound} \cite{arxiv:1411.3334}.'


Expand Down
2 changes: 1 addition & 1 deletion codes/quantum/qubits/subsystem/subsystem_stabilizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ description: |
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.
To create these codes proceed as follows.
Choose \(2n\) operators \(\{ \tilde{X}_j,\tilde{Z}_j\}_{j=1}^n\) from \(\mathsf{P}_n\), the Pauli group on \(n\) qubits, such that they obey the same commutation relations as the regular \(n\)-qubit Pauli generators \( \{X_j,Z_j\}_{j=1}^n \) (the subscript on these latter operators indicates the single qubit the Pauli matrix acts on).
Choose \(2n\) operators \(\{ \tilde{X}_j,\tilde{Z}_j\}_{j=1}^n\) from \(\mathsf{P}_n\), the \hyperref[topic:pauli]{Pauli group} on \(n\) qubits, such that they obey the same commutation relations as the regular \(n\)-qubit Pauli generators \( \{X_j,Z_j\}_{j=1}^n \) (the subscript on these latter operators indicates the single qubit the Pauli matrix acts on).
The tilde operators might act on more than one physical (or \textit{bare}) qubit but they behave as if they acted only on a single qubit.
WLOG we can choose a stabilizer group as \( \mathsf{S} = \langle Z_1,\dots,Z_s \rangle \). It follows that the normalizer of \(\mathsf{S} \) is \( N(\mathsf{S}) = \langle i, \tilde{Z}_1,\dots, \tilde{Z}_n, \tilde{X}_{s+1},\dots, \tilde{X}_n \rangle \).
We now choose a gauge group as \( \mathsf{G} = \langle i, \tilde{Z}_1,\dots, \tilde{Z}_s, \tilde{X}_{s+1}, \tilde{Z}_{s+1}, \dots, \tilde{X}_{s+r}, \tilde{Z}_{s+r} \rangle \) with \( s + r \leq n \).
Expand Down
11 changes: 7 additions & 4 deletions codes/quantum/qudits/qudits_into_qudits.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,18 @@ protection: |
\begin{defterm}{Modular-qudit Pauli strings}
\label{topic:qudit-pauli}
For a single qudit, this set consists of products of powers of the qudit Pauli matrices \(X\) and \(Z\), which act on computational basis states \(|k\rangle\) for \(k\in\mathbb{Z}_q\) as
For a single qudit, this set consists of products of powers of the modular-qudit Pauli matrices \(X\) and \(Z\), which act on computational basis states \(|k\rangle\) for \(k\in\mathbb{Z}_q\) as
\begin{align}
X\left|k\right\rangle =\left|k+1\right\rangle \,\,\text{ and }\,\,Z\left|k\right\rangle =e^{i\frac{2\pi}{q}k}\left|k\right\rangle ~,
\end{align}
with addition performed modulo \(q\).
For multiple qudits, error set elements are tensor products of elements of the single-qudit error set.
Modular-qudit Pauli matrices \cite{doi:10.1007/BF01457956,doi:10.1201/9780429497933} are also known as Weyl operators \cite{manual:{Weyl, Hermann. The theory of groups and quantum mechanics. Courier Corporation, 1950.}}, Sylvester-t'Hooft generators \cite{manual:{Sylvester, James Joseph. The Collected Mathematical Papers of James Joseph Sylvester... Vol. 3. University Press, 1909.},doi:10.1016/0550-3213(78)90153-0}, or clock and shift matrices \cite{doi:10.1007/978-1-4684-9148-7_43}; they are special cases of Manin's quantum plane \cite{doi:10.5802/aif.1117}
Tensor products of \(X\) (\(Z\)) modular-qudit Paulis acting on different qudits are called \(X\)\textit{-type} (\(Z\)\textit{-type}) modular-qudit Pauli strings.
Combining the \(X\)-type and \(Z\)-type strings with a primitive \(q\)th root of unity forms a group called the \textit{modular-qudit Pauli group} (on \(n\) modular qudits.
\end{defterm}
Modular-qudit Pauli matrices \cite{doi:10.1007/BF01457956,doi:10.1201/9780429497933} are also known as Weyl operators \cite{manual:{Weyl, Hermann. The theory of groups and quantum mechanics. Courier Corporation, 1950.}}, Sylvester-t'Hooft generators \cite{manual:{Sylvester, James Joseph. The Collected Mathematical Papers of James Joseph Sylvester... Vol. 3. University Press, 1909.},doi:10.1016/0550-3213(78)90153-0}, or clock and shift matrices \cite{doi:10.1007/978-1-4684-9148-7_43}; they are special cases of Manin's quantum plane \cite{doi:10.5802/aif.1117}
The Pauli error set is a unitary basis for linear operators on the multi-qudit Hilbert space that is orthonormal under the Hilbert-Schmidt inner product; it is a \hyperref[topic:nice-error-basis]{nice error basis}. The distance associated with this set is often the minimum weight of a qudit Pauli string that implements a nontrivial logical operation in the code.
\subsection{Bounds on code parameters}
Expand All @@ -44,7 +47,7 @@ protection: |
features:
general_gates:
- 'The normalizer of the modular-qudit Pauli group is the modular-qudit Clifford group \cite{arxiv:quant-ph/9802007,arxiv:quant-ph/0408190,arxiv:quant-ph/0512155,arxiv:2008.00959}.
- 'The normalizer of the \hyperref[topic:qudit-pauli]{modular-qudit Pauli group} is the modular-qudit Clifford group \cite{arxiv:quant-ph/9802007,arxiv:quant-ph/0408190,arxiv:quant-ph/0512155,arxiv:2008.00959}.
Universal computing can be achieved using qudit Clifford gates and a single type of non-Clifford gate, such as the \(T\) gate \cite{arxiv:1503.08800}.
Non-Clifford gates are typically more difficult to implement than Clifford gates and so are treated as a resource.
There is a normal form for Clifford+\(T\) operators for odd prime qudits \cite{arxiv:2011.07970}.
Expand All @@ -56,7 +59,7 @@ features:
\begin{align}
C_k = \{ U | U P U^{\dagger} \in C_{k-1} \}~,
\end{align}
where \(P\) is any modular-qudit Pauli matrix, and \(C_1\) is the modular-qudit Pauli group.
where \(P\) is any modular-qudit Pauli matrix, and \(C_1\) is the \hyperref[topic:qudit-pauli]{modular-qudit Pauli group}.
\end{defterm}'
decoders:
- 'For few-qudit codes (\(n\) is small), decoding can be based on a lookup table. For infinite code families, the size of such a table scales exponentially with \(n\), so approximate decoding algorithms scaling polynomially with \(n\) have to be used. The decoder determining the most likely error given a noise channel is called the \textit{maximum-likelihood} (ML) decoder.'
Expand Down
4 changes: 2 additions & 2 deletions codes/quantum/qudits/stabilizer/qudit_stabilizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ description: |
Each code can be represented by a \textit{check matrix} (a.k.a. \textit{stabilizer generator matrix}) \(H=(A|B)\), where each row \((a|b)\) is the \hyperref[topic:galois-symplectic-representation]{modular symplectic representation} of a stabilizer generator. The check matrix can be brought into standard form via Gaussian elimination \cite{arxiv:1101.1519}.
One can switch between stabilizer codes by appending another Abelian subgroup of the Pauli group to the stabilizer group and taking the center of the resulting larger group.
One can switch between stabilizer codes by appending another Abelian subgroup of the \hyperref[topic:qudit-pauli]{modular-qudit Pauli group} to the stabilizer group and taking the center of the resulting larger group.
\begin{defterm}{Code switching, code deformation, or stabilizer update rule}
\label{topic:code-switching}
Code switching is a map between stabilizer codes that is done using a stabilizer group \(\mathsf{F}\) of the \(n\)-qudit Pauli group,
Code switching is a map between stabilizer codes that is done using a stabilizer group \(\mathsf{F}\) of the \(n\)-\hyperref[topic:qudit-pauli]{modular-qudit Pauli group},
\begin{align}
\mathsf{S}\to\mathsf{N}_{\left\langle \mathsf{S},\mathsf{F}\right\rangle }\left(\mathsf{F}\right)~,
\end{align}
Expand Down
Loading

0 comments on commit 17b7ecc

Please sign in to comment.