Core QEC representations #15
dsvandet
started this conversation in
Requirement
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This section deals with the representation of fundamental or core QEC objects such as codes, Pauli groups, etc.
Requirement: How to represent a quantum codes? How to represent categories of codes - subsystem codes, stabilizer codes, ...
Requirement: How to define and represent Gauge and Stabilizer Groups for mathematical rigor and usefulness to users
Gauge and Stabilizer Groups
Initial efforts towards creating the core elements of the QEC framework, beyond defining requirements, have been focused on creating a set of lower level python classes that will enable the creation and use of Subsystem codes and that will satisfy the needs of theorists and experimentalists. Subsystem codes are defined in terms of particular subgroups, called gauge groups, and stabilizer codes are a specific type of subsystem code. There are a different ways to define the gauge and stabilizer groups and there are different choices for the code spaces associated to these groups. As such we are looking for an approach that is mathematically rigorous, covers all the major choices and at the same time allows for a simple class structure. To do this we begin by make the following definitions. Let$\mathcal{P}_n$ be the Pauli Group on $n$ -qubits.
Definition[Gauge Group] A gauge group of$\mathcal{P}_n$ is any subgroup $\mathcal{G}$ such that $\langle iI\rangle \leq \mathcal{G} \leq \mathcal{P}_n$ .
With this definition every gauge group contains the center of the$\mathcal{P}_n$ where $Z(\mathcal{P}_n)=\langle iI\rangle$ . This approach does not in any way reduce the number of different possible code spaces. There many benefits to using this definition. In particular, it provides a nice way to define stabilizer groups as follows:
Definition [Stabilizer Group] A stabilizer group is an abelian gauge group.
This definition of stabilizer group differs from the often used definition of stabilizer groups where an abelian subgroup of$S$ of $\mathcal{P}_n$ is chosen such that $-I\not\in S$ . This common definition has some drawbacks as we will show. To begin with we define the core of a given gauge group:
Definition [Core of a Gauge Group] The core of a gauge group$\mathcal{G}$ of $\mathcal{P}_n$ is the set of subgroups $W$ such that $Z(\mathcal{G})=Z(\mathcal{P}_n)\times{}W$ . We denote this set as $\mathrm{Core}(\mathcal{G})$ .
An equivalent definition is that the$\mathrm{Core}(\mathcal{G})$ is the set of subgroups $W$ such that $W$ has minimal distance (Side note: Let $G$ be a group. A minimal generating set of $G$ is a subset of $R$ of $G$ that generates $G$ such that no proper subset of $R$ also generates $G$ . For arbitrary groups is its not true (unlike vector space bases) that two minimal generating sets have the same cardinality. The minimal cardinality of the minimal generating sets of $G$ is denoted by $d(G)$ and the maximal cardinality of the minimal generating sets of $G$ is denoted by $m(G)$ (or sometimes $\mu(G))$ . For $p$ -groups it follows from Burnside's basis theorem that $d(G)=\mu(G)$ . The Pauli groups and effective Pauli groups along with all their subgroups are $2$ -groups) and $\mathcal{N}_{\mathcal{P}_n}(W)=\mathcal{N}_{\mathcal{P}_n}(Z(\mathcal{G})))$ . It can be shown that $d(W)=d(Z(\mathcal{G}))-1$ for W in the core of $\mathcal{G}$ . If $Z(\mathcal{G})=\langle iI, S_1,S_2,...,S_k\rangle$ is a minimal generating set then
Now let's look at the standard way to define a code associated with a stabilizer group that is defined as an abelian subgroup of$\mathcal{P}_n$ such that $-I\not\in S$ . In this case the code space of $S$ is usually defined as the subspace of some Hilbert space $\mathcal{H}$ that is fixed by elements of $S$ . This subspace can also be defined as the simultaneous $+1$ -eigenspace of $S$ . We could therefore have instead defined the code space as the simultaneous $\bar\delta$ -eignenspace of $S$ where $\bar\delta$ is some length $k$ vector consisting of $\pm1$ 's. Each of these $2^k$ possible code subspaces are equally suitable for the code space of $S$ and are naturally in a one to one correspondence with the characters of $S$ . To see this and how these subspaces relate to each other as well as the Hilbert space $\mathcal{H}$ we note that $S$ is an abelian group of Hermitian operators and so the $2^k$ operators of $S$ are simultaneously diagonalizable. Therefore the characters of $S$ induce a partition on $\mathcal{H}$ such that
where$\mathcal{H}_{\lambda} = \mathcal{H}_{\lambda}(S) = {|v\rangle\in\mathcal{H}: Q|v\rangle=\lambda(Q)|v\rangle \quad \forall Q\in\mathcal{S}}$ . We can now see that the usual code subspace chosen for $\mathcal{G}$ corresponds to the subspace $\mathcal{H}_{\lambda_1}$ where $\lambda_1$ is the principal character of $S$ . The different code subspaces $\mathcal{H}_\lambda$ correspond to set of possible Pauli frames for $S$ . Denote these subspaces by $\mathrm{Codes}(\mathcal{H},S)$ . If $S=\langle S_1,S_2,...,S_k\rangle$ is a minimal generating set for $S$ then each possible code subspace corresponds to the code space defined by the principal character of $\langle\epsilon_1S_1,\epsilon_2S_2,...,\epsilon_kS_k\rangle$ where the $\epsilon$ are $\pm1$ 's. That is if $\mathcal{G} = \langle iI, S\rangle$ then $S\in\mathrm{Core}(\mathcal{G})$ and
where$\lambda_{W,1}$ is the principal character of $\hat{W}$ . Each elements of $\mathrm{Codes}(S,\mathcal{H})$ can also be thought of as equivalent to each other via the following equivalence relation: two subspaces $\mathcal{A}$ and $\mathcal{B}$ are said to be equivalent if there exists a Pauli operator $T\in\mathcal{P}_n$ such that $\mathcal{A}=T\mathcal{B}T^{-1} = T\mathcal{B}T^{\dagger}$ . We thus make the following definition:
Definition [Code Spaces] Let$\mathcal{G}$ be a gauge group, then the set of associated Pauli equivalent code subspaces of the Hilbert space $\mathcal{H}$ is the set $\{\mathcal{H}_{\lambda_{W,1}}: W\in\mathrm{Core}(\mathcal{G})\}$ .
During QEC computations we may take any of these spaces as the defining code space. For this reason within the QEC framework we allow any of these code spaces to be chosen as the code of a given gauge group. Defining the set of codes of a gauge or stabilizer group in terms of its core also carries nicely over to the case when the Pauli group$\mathcal{P}_n$ is replaced with the effective Pauli group $\overline{\mathcal{P}_n}$ . (Side Comment: The effective Pauli group is often incorrectly defined as $\mathcal{P}_n/Z(\mathcal{P}_n)$ which is an elementary abelian group. The Pauli group is a central product of the center of $\mathcal{P}_n$ and the effective Pauli Group, not a direct product. That is $\mathcal{P}_n =Z(\mathcal{P}_n)\circ\overline{\mathcal{P}_n}$ where $\overline{\mathcal{P}_n}=\langle X_1,Z_1,...,X_n,Z_n\rangle$ which is isomorphic to the extraspecial group $2_+^{1+2n}$ .) This is easily done by making the following modifications:
Definition [General Gauge Group] A gauge group of a group$\mathcal{R}$ is any subgroup $\mathcal{G}$ such that $Z(\mathcal{R}) \leq \mathcal{G} \leq \mathcal{R}$
Definition [General Core Subgroup] The core of a gauge group$\mathcal{G}$ of $\mathcal{R}$ is the set of subgroups $W$ such that $Z(\mathcal{G})=Z(\mathcal{R})\times{}W$ . We denote this set as $\mathrm{Core}(\mathcal{G})$ .
The above definition of gauge groups also works well when defining subsystem codes, both mathematically and for keeping track of the correct structure of the associated groups and groups rings. For simplicity we shale now work with the normal Pauli groups as it is easily extended as above to the effective Pauli groups. Let$\mathcal{G}$ be a gauge group and let $S=\langle Z_1', Z_2',...,Z_k'\rangle$ be a minimal generating set for $S$ which is a core subgroup of $\mathcal{G}$ . We can extend this generating set to a hyperbolic/symplectic generating set for $\mathcal{P}_n$ :
in such a way that$\mathcal{G}=\langle iI, Z_1', Z_2',...,Z_k',X_{k+1}',Z_{k+1}',...,X_{k+r}',Z_{k+r}'\rangle$ and each generator (besides $iI$ ) is of order $2$ . In fact by virtue of generator $iI$ being included we can assume that the coefficients of the $X_j'$ and $Z_j'$ are all unity. (This is another nice property of the above definition of gauge groups). It should be noted that all gauge groups have this structure and by virtual of the definition of core subgroups we see that
which again is a gauge group. These various properties, and others, are the reasons that we have chosen to use these particular definitions of gauge and stabilizer groups. Since we can use either the Pauli groups$\mathcal{P}_n$ or the effective Pauli groups the above results allow us to code the appropriate gauge and stabilizer groups and code classes such that all users can work with the definition that they are used too and the software will keep track of the technical details in the background. Or if so desired, a user can take full advantage of defined structures.
Requirement: How to represent a quantum error correcting code? Abstract models/representations : Symplectic Representation, alist representation ref,... Topological Representations: Tanner Graphs, Cell Complexes, Tensors and Geometric Representations: 2D/3D realizations of Cell Complexes
Requirement: How to represent Pauli operators?
Requirement: How to represent a list of Pauli Operators?
Requirement: How to represent Clifford operators?
Requirement: How to represent Pauli groups and subgroups?
Requirement: How to represent Clifford groups and subgroups?
Beta Was this translation helpful? Give feedback.
All reactions