# Quantum computation with charge-and-color-permuting twists in qudit color
codes

Manoj G. Gowda  Pradeep Kiran Sarvepalli  Department of Electrical
Engineering, Indian Institute of Technology Madras, Chennai 600 036, India

###### Abstract

Twists are defects in the lattice which can be utilized to perform
computations on encoded data. Twists have been studied in various classes of
topological codes like qubit and qudit surface codes, qubit color codes and
qubit subsystem color codes. They are known to exhibit projective non-Abelian
statistics which is exploited to perform encoded gates. In this paper, we
initiate the study of twists in qudit color codes over odd prime alphabet. To
the best of our knowledge, this is the first study of twists in qudit color
codes. Specifically, we present a systematic construction of twists in qudit
color codes that permute both charge and color of the excitations. We also
present a mapping between generalized Pauli operators and strings in the
lattice. Making use of the construction, we give protocols to implement
generalized Clifford gates using charge-and-color-permuting twists.

##  I Introduction

Qudits are quantum systems with $d$ levels and can be thought of as
generalization of qubits which are two-dimensional quantum systems. There is
significant literature on qudit quantum error correcting codes [1, 2, 3, 4, 5,
6, 7, 8, 9, 10]. Qudit based quantum computation technologies are gaining
pace. Recently, universal quantum computation with qudits has been realized
using optics [11, 12] and trapped ions [13]. Using qudits can lead to
significant reduction in the number of operations and improvement in circuit
depth in the realization of Toffoli gate [14]. Also, many quantum algorithms
have been realized using qudits [15, 16, 17]. These developments provide some
impetus to our study of quantum computation with qudit quantum codes. From the
perspective of performance, qudit codes exhibit higher threshold to
(generalized) depolarizing noise and the threshold increases with increasing
dimension of qudits [18, 19, 9, 20]. Moreover, qudit codes pose challenges not
encountered in the qubit case and are of interest from a theoretical point of
view as well.

Color codes are an important class of topological quantum codes, they were
introduced by Bombin et al. [21]. They were proposed with a view to enable
transversal quantum gates providing a route to fault-tolerant quantum
computation. Color codes were generalized to prime alphabet in Ref. [4] and
shown to support transversal implementation of the generalized Clifford group.
Brell further generalized color codes based on finite groups to support non-
Abelian excitations [6]. Watson et al. [7] showed that qudit color codes
support generalized Clifford gates in higher spatial dimensions, specifically,
the phase gate from higher levels of the Clifford hierarchy.

An alternative route to fault-tolerance through topological codes is to use
topological defects like holes and twists in conjunction with code deformation
[22, 23, 24, 25, 26, 27, 28, 29, 30, 31]. Specifcally, such methods have been
studied for color codes in Refs. [23, 24]. Twists are a form of defects
introduced in the lattice by spoiling some property of the lattice. Kitaev
first suggested the use of twists to encode quantum information [32]. Related
work on twists in surface codes can be found in Refs. [33, 34, 5, 26, 27, 29,
30]. Twists in qubit color codes were first studied by Kesselring et al. [35].
They also developed a framework for the study of twists in color codes using
the theory of domain walls and cataloged all possible types of twists in qubit
color codes. Their work showed that there are a large number of twist defects
possible in color codes. This is in sharp contrast to the qubit surface code
case where we have only one type of twist defects, namely the charge permuting
twists.

In Ref. [31], the authors studied a construction of charge permuting and color
permuting twists from an arbitrary $2$-colex. For the proposed codes, they
also gave protocols to implement encoded generalized Clifford gates. Twists
were studied in topological subsystem color codes in Ref. [22], where it was
shown that Clifford gates can be realized by braiding twists. Litinski and von
Oppen [36] discussed twists in Majorana fermion code and adapted the technique
of twist-based lattice surgery to fermionic codes.

_Contributions._ While there have been many prior studies on qudit color codes
[4, 8, 6, 7, 9, 20, 10], to the best of our knowledge, there is no literature
on using defects like twists and holes to encode and process quantum
information in qudit color codes. This motivates our study of twists in qudit
color codes and their application to quantum computation.

In this paper, we focus on charge-and-color-permuting twists in qudit color
codes over hexagonal lattices but the ideas are applicable to general
lattices. We assume that the qudits are $d$-dimensional where $d$ is an odd
prime. These twists permute both charge and color of syndromes. Twists can be
introduced in a lattice either by lattice modification (and hence redefining
stabilizers on the modified faces in the lattice) or without making
modifications to the lattice (charge permuting twists in qubit color codes do
not require lattice modification but only stabilizer modification on certain
faces [35, 31]). We introduce charge-and-color-permuting twists by lattice
modification and a careful assignment of stabilizer generators in the modified
lattice.

Some of the encoded generalized Clifford gates are realized by braiding
twists. Twists are braided by modifying lattice and also stabilizers. During
braiding some of the faces (and hence the stabilizers defined on them) in the
lattice can grow in size. This is undesirable as it may lead to high weight
stabilizers. This poses the challenge of braiding twists in a way that large
faces are avoided. This problem is circumvented by moving twists in such a way
that high weight stabilizers are avoided.

Our contributions are listed below:

  1. i)

We propose a systematic construction of charge-and-color-permuting twists in
qudit color code lattices starting from a $2$-colex. The lattice modification
performed is similar to the one used to create color permuting twists and we
define the stabilizers on the modified lattice to obtain charge-and-color-
permuting twists in qudit color codes. The construction is summarized in
Theorem 5.

  2. ii)

We present a mapping between generalized Pauli operators and strings on color
codes with and without (charge-and-color-permuting) twists. This mapping comes
in handy while implementing encoded gates by braiding.

  3. iii)

We propose protocols for the implementation of generalized Clifford group.
Broadly, we use the techniques of braiding twists and Pauli frame update.
Pauli frame update is used for realizing multiplier and DFT gates while
braiding is used for phase and CNOT gates.

One of the appealing features of the proposed protocols for gates is that the
lattice modifications are kept simple. Qudits are added or disentangled from
the code lattice while being retained in the underlying lattice. The code
lattice retains much of the regular structure of the underlying lattice which
makes tracking the lattice modifications and code deformation simple.

For the qudit color codes in Refs. [4, 7], many encoded gates can be realized
transversally. Transversal gates exist in the case of $G$-color codes [6] when
the group $G$ is Abelian. The number of physical qudits involved during gate
implementation is large in comparison with our proposal. However, the circuits
for implementing encoded gates have unit depth whereas in our proposal we
expect it to be of the order of code distance. The qudit color codes in Ref.
[7] are over over higher spatial dimensions and they can implement a non-
Clifford gate transversally. However, the proposed codes are planar and maybe
preferable for practical reasons.

_Organization._ This paper is organized as follows. In Sec. II, we discuss the
preliminary material related to qudit color codes. We present construction of
charge-and-color-permuting twists in Sec. III. We introduce a mapping of
generalized Pauli operators to strings in Sec. IV. We present implementation
of gates using twists in Sec. V. Some additional details and proofs are
relegated to the appendices.

##  II Background

###  II.1 Generalized Pauli operators

Qudits are quantum systems with $d$ levels. When $d=2$, we have qubits. In
this paper, we assume that $d$ is an odd prime. Let $\mathbb{F}_{d}$ be a
finite field with $d$ elements. Generalized Pauli operators, also known as
Heisenberg-Weyl operators [9], in the qudit case are defined as below [1, 2,
3, 10]:

$\displaystyle X(a)$ $\displaystyle=$
$\displaystyle\sum_{x\in\mathbb{F}_{d}}|x+a\rangle\langle x|,$ (1a)
$\displaystyle Z(b)$ $\displaystyle=$
$\displaystyle\sum_{x\in\mathbb{F}_{d}}\omega^{bx}|x\rangle\langle x|,$ (1b)

where $+$ denotes addition modulo $d$ and $\omega=e^{2\pi i/d}$. Note that
$X(d)=Z(d)=I$ and $X(a)X(b)=X(a+b)$ and $Z(a)Z(b)=Z(a+b)$. The generalized
Pauli group $\mathcal{P}$ is generated by the operators $X(a)$ and $Z(b)$:

$\mathcal{P}=\langle\omega^{c}X(a)Z(b)|a,b,c\in\mathbb{F}_{d}\rangle.$ (2)

The operators $X(a)$ and $Z(b)$ obey the commutation relation

$Z(b)X(a)=\omega^{ab}X(a)Z(b).$ (3)

The generalized Pauli operators encountered most often in this paper are
$Z(1)$, $Z(d-1)$, $X(1)$ and $X(d-1)$. They are denoted as $Z$, $Z^{\dagger}$,
$X$ and $X^{\dagger}$ respectively.

###  II.2 Qudit color codes

To define a qudit color code, we embed a trivalent and three face colorable
lattice on a two-dimensional surface. Such lattices are called 2-colexes. As
the faces are 3-colorable, we denote by $\mathsf{F}_{c}$ the set of faces with
color $c\in\\{r,g,b\\}$. Further 2-colexes can be shown to be bipartite, see
for instance [4]. In other words, the set of vertices $\mathsf{V}$ in such
lattices can be partitioned into two sets, $\mathsf{V}_{e}$ and
$\mathsf{V}_{o}$ such that no two neighboring vertices will be in the same
set. The set of vertices of a face $f$ is denoted by $V(f)$. Qudits are placed
on the vertices of the lattice and two stabilizer generators are defined on
every face:

$\displaystyle B_{f}^{Z}$ $\displaystyle=$ $\displaystyle\prod_{v\in
V(f)}Z_{v}$ (4a) $\displaystyle B_{f}^{X}$ $\displaystyle=$
$\displaystyle\prod_{v\in V(f)\cap\mathsf{V}_{e}}X_{v}\prod_{v\in
V(f)\cap\mathsf{V}_{o}}X_{v}^{\dagger}$ (4b)

Note that the $Z$ type stabilizer $B_{f}^{Z}$ contains only $Z$ operator and
it is independent of the vertex type whereas in the $X$ type stabilizer
$B_{f}^{X}$, both $X$ and $X^{\dagger}$ occur depending on the type of vertex.

The stabilizers defined in Equations (4) are shown in Fig. 1. Note that any
two adjacent faces $f_{1}$ and $f_{2}$ share exactly an edge $(u,v)$ where
$u\in\mathsf{V}_{e}$ and $v\in\mathsf{V}_{o}$. The restriction of stabilizers
to the common vertices will be $Z_{u}Z_{v}$ and $X_{u}X^{\dagger}_{v}$. Since,
these operators commute, the corresponding stabilizers defined on faces
$f_{1}$ and $f_{2}$ commute. Therefore, the face stabilizers defined in
Equations (4) commute.

Figure 1: Stabilizers for the qudit color code. Dark and light circles
indicate even and odd vertices respectively.

The constraints satisfied by these stabilizers is same as that of qubit color
codes [4]:

$\displaystyle\prod_{f\in\mathsf{F}_{r}}B_{f}^{X}$ $\displaystyle=$
$\displaystyle\prod_{f\in\mathsf{F}_{g}}B_{f}^{X}=\prod_{f\in\mathsf{F}_{b}}B_{f}^{X},$
(5a) $\displaystyle\prod_{f\in\mathsf{F}_{r}}B_{f}^{Z}$ $\displaystyle=$
$\displaystyle\prod_{f\in\mathsf{F}_{g}}B_{f}^{Z}=\prod_{f\in\mathsf{F}_{b}}B_{f}^{Z}.$
(5b)

There are four constraints and hence four dependent stabilizers. A graph with
$n$ vertices (qudits) embedded on a surface of genus $g$ defines an
$[[n,4g]]_{d}$ quantum code.

_Embedding surface and boundaries._ In the rest of this paper, we assume that
the graph is embedded on two-dimensional plane. We also assume that the
unbounded face has the same color throughout, as in the case of qubit color
codes with twists [31], see Fig. 2. Multiple edges are introduced along the
boundary so that all vertices are trivalent. It can be shown that such
lattices do not encode any logical qudits [31].

Figure 2: Hexagon lattice with boundary. The unbounded face has blue color and
multiple edges are introduced along the boundary to preserve trivalency of
vertices.

###  II.3 Syndromes (excitations) in qudit color codes

Suppose that we have an error $E$, then measuring a stabilizer generator $S$
produces a syndrome depending on the commutation relation between $E$ and $S$.
Specifically, we have $SE=\omega^{a}ES$, where $a\in\\{0,1,\ldots,d-1\\}$. The
eigenvalue $\omega^{a}$ or more simply $a$ is called the syndrome obtained on
measuring $S$. These syndromes are also called excitations or charges. We use
these terms interchangeably.

Suppose that a qudit (in a color code) undergoes $X$ error (recall that we
denote the operators $X(1)$ and $Z(1)$ as $X$ and $Z$ respectively), see Fig.
3(a). An $X$ error violates $Z$ type stabilizers on the three faces incident
on the vertex (qudit) and hence these three faces will host syndromes. We can
think of the syndromes on the faces as excitations or quasiparticles which can
be labeled by the color of the face on which they are hosted and the magnitude
of the syndrome. The excitations caused by $X$ type errors are called magnetic
charges and denoted $\mu_{c}$.

However, when a qudit undergoes a $Z$ error, then, depending on the vertex
type, different syndromes are induced on the faces. Suppose that the vertex on
which operator $Z$ acts belongs to $\mathsf{V}_{o}$. The stabilizers of the
faces have operator $X$ on vertices belonging to $\mathsf{V}_{e}$. From Eq.
(3), we see that the syndrome is $\omega^{1}$, equivalently $1$ on the three
faces incident on the vertex. The excitations produced by $Z$ type errors are
electric charges. The charge induced on a face of color $c$ by a $Z$ error is
denoted $\epsilon_{c}$, see Fig. 3(c). Similarly, if the error operator $Z$
acts on vertex belonging to $\mathsf{V}_{e}$, then charge $\epsilon_{c}^{-1}$
is induced on a face of color $c$, see Fig. 3(d).

(a)

(b)

(c)

(d)

Figure 3:  Syndromes created on faces as a result of $X$ and $Z$ error. (a) An
$X$ error on a qudit violates $Z$ stabilizers on three faces. Hence, three
syndromes are created. (b) The syndromes induced by operator $X(w)$. (c) A $Z$
error acting on a vertex $u\in\mathsf{V}_{e}$. Note that the syndromes created
on the faces incident on the vertex are $\epsilon_{c}^{-1}$. (d) When a $Z$
error acts on a vertex $u\in\mathsf{V}_{o}$, the syndromes $\epsilon_{c}$ are
created on faces incident on the vertex.

In case of qudits, we also need to represent powers of operators $Z$ and $X$.
This is done by indicating the power along with the operator, see Fig. 3(b).
If the error operator $X(w)$ acts on a vertex, it induces syndromes
$\mu_{c}^{w}$ on faces of color $c$. When the operator $Z(w)$ acts on a
vertex, it induces either $\epsilon_{c}^{-w}$ or $\epsilon_{c}^{w}$ depending
on whether the vertex belongs to $\mathsf{V}_{e}$ or $\mathsf{V}_{o}$
respectively.

Excitations in color code are characterized by the color of face on which the
excitation lives on and the error that caused it. The set of excitations in
the qudit color code is given below:

$\mathcal{B}=\\{\mu_{c}^{m}\epsilon_{c}^{n},c\in\\{r,g,b\\},m,n\in\\{0,1,\dots,d-1\\}\\}.$
(6)

Totally, there are $3d^{2}-1$ possible nontrivial charges. However, not all
charges are independent; only $2d^{2}$ of them are independent [20].

Suppose we have a multi-qudit error on a face. Then each of these errors
produces a charge on that face. We can only observe the effective charge on
that face obtained by combining all the individual charges. This brings forth
the question of how to combine these charges. The symbol $\times$ is used to
indicate fusion of charges. The fusion rules for syndromes in qudit color
codes can be obtained by considering the commutation of errors causing the
charges with the respective stabilizer generators. These are given in Table.
1. They were also stated in Ref. [20].

$\epsilon_{c}^{m}\times\epsilon_{c}^{n}$ | $=$ |  $\epsilon_{c}^{m+n}$,
---|---|---
$\mu_{c}^{m}\times\mu_{c}^{n}$ | $=$ |  $\mu_{c}^{m+n}$,
$\mu_{c}^{m}\times\epsilon_{c}^{n}$ | $=$ |  $\mu_{c}^{m}\epsilon_{c}^{n}$,
$\mu_{c}^{m}\times\mu_{c^{\prime}}^{m}$ | $=$ |  $\mu_{c^{\prime\prime}}^{-m}$,
$\epsilon_{c}^{m}\times\epsilon_{c^{\prime}}^{m}$ | $=$ |  $\epsilon_{c^{\prime\prime}}^{-m}$.
Table 1: Fusion rules for excitations in qudit color code.

Apart from the excitations listed in Equation (6), we may also encounter
excitations of the form $\mu_{c}^{m}\times\epsilon_{c^{\prime}}^{n}$ where
$c\neq c^{\prime}$.

_Syndrome movement._ Syndrome on a face can be moved to another by application
of suitable operators. The operator $Z_{u}Z_{v}$ as shown in Fig. 4(a) creates
the syndromes shown in Fig. 4(b). Note that the syndromes on blue and green
faces vanish leaving only syndromes on red faces. Suppose that a red face
hosts a syndrome $\epsilon_{r}$ as shown in Fig. 4(c). Applying operator
$Z_{u}Z_{v}$ moves the syndrome on the left red face to the right red face.
Similarly, $Z$ syndromes can be moved around by applying operator
$X_{u}^{\dagger}X_{v}$, see Fig. 4(d), Fig. 4(e) and Fig. 4(f). Such operators
that move a syndrome from one face to another are called hopping operators
[37, 38, 20]. Note that the hopping operators do not commute only with the
stabilizers of faces between which excitations are moved and commute with the
rest of stabilizers.

(a)

(b)

(c)

(d)

(e)

(f)

Figure 4: Moving the excitations, equivalently, syndromes. (a) Suppose that we
have $Z$ operator on two vertices as shown. One of the vertices is even and
the other is odd. (b) Each $Z$ operator violates $X$ type stabilizer on the
faces incident on the vertex. The syndromes on the faces are as shown. The $Z$
operators shown in (a) can move a syndrome from one face to another as shown
in (c) . (d) $X$ operator on two two neighboring vertices. (e) Each $X$
operator introduces syndromes on three faces as shown. (f) Such two qudit
operators can move syndromes from one face to another.

##  III charge-and-color-permuting twists

In this section, we present twists that permute both charge and color of
syndromes. We give a systematic construction of these twists. There are two
parts to this construction: lattice modification and stabilizer assignment.
The procedure given here works for arbitrary $2$-colexes. We restrict to
hexagonal lattice in this paper, but these ideas can be extended to other
lattices.

A twist is a face in the lattice that permutes a label of an excitation when
that excitation is moved around it. A charge-and-color-permuting twist
permutes both charge and color label of the excitation. This exchange is
denoted as $\longleftrightarrow$. So $e\longleftrightarrow f$ indicates that
$e$ and $f$ are exchanged. A formal definition is as follows:

######  Definition 1 (Charge-and-color-permuting twist).

A charge-and-color-permuting twist of color $c$ has the following action on
the excitations when they are moved around it:

$\displaystyle\mu_{c}^{m}$ $\displaystyle\longleftrightarrow$
$\displaystyle\epsilon_{c}^{m},$ $\displaystyle\mu_{c^{\prime}}^{m}$
$\displaystyle\longleftrightarrow$
$\displaystyle\epsilon_{c^{\prime\prime}}^{m},$
$\displaystyle\mu_{c^{\prime\prime}}^{m}$ $\displaystyle\longleftrightarrow$
$\displaystyle\epsilon_{c^{\prime}}^{m},$

where $c$, $c^{\prime}$ and $c^{\prime\prime}$ are all distinct colors,
$m=1,\dots,d-1$

Note that a charge-and-color-permuting twist of color $c$ permutes only the
charge label of an excitation with color label $c$ and permutes both color and
charge label for other excitations. A charge-and-color-permuting twist of
color $c$ leaves the following excitations unchanged:
$\mu_{c}^{\alpha}\epsilon_{c}^{\alpha}$,
$\mu_{c^{\prime}}^{\alpha}\times\epsilon_{c^{\prime\prime}}^{\alpha}$ and
$\mu_{c^{\prime\prime}}^{\alpha}\times\epsilon_{c^{\prime}}^{\alpha}$ where
$\alpha=1,2,\dots,d-1$ and the colors $c$, $c^{\prime}$ and $c^{\prime\prime}$
are all distinct.

###  III.1 Construction of color codes with charge-and-color-permuting twists

The introduction of charge-and-color-permuting twists into a color code
lattice has two parts: lattice modification and stabilizer assignment. First
observe that the charges are moved along the edges from one face to another
face. In a 2-colex, all the outgoing edges of a face of color $c$ connect it
to faces of same color. So if we want to introduce color permutation of the
charges, we need edges between faces of different color. Naturally, this
implies a lattice modification. We take the following approach. This is
similar to the qubit color permuting twists [31]. The main difference is in
the stabilizer assignment step. We summarize the procedure below:

  1. i)

Choose an edge $e=(p,q)$ of color $c\in\\{r,g,b\\}$. The edge $e$ is common to
faces of colors $c^{\prime}\neq c$ and $c^{\prime\prime}\neq c$.

  2. ii)

Connect the neighbors of vertex $p$ with an edge and remove vertex $p$. Also,
repeat this procedure for vertex $q$.

  3. iii)

This results in two faces (which were connected by the edge $e=(p,q)$) having
an odd number of edges and a face with an even number of edges. The faces with
an odd number of edges are colored $c$ and the face with an even number of
edges is colored either $c^{\prime}$ or $c^{\prime\prime}$.

This procedure destroys the local three colorability of the lattice. As a
result, there exists adjacent faces of the same color. The common edge to such
faces form a path in the shrunk lattice of appropriate color. For instance, in
Fig. 5, this path is formed in the red shrunk lattice. The sequence of such
edges is called $T$-line [22, 30, 31]. The proof for the existence of
$T$-lines is similar to that of color codes with color permuting twists [31].
We also assume that the twists are sufficiently far apart so that no two
$T$-lines cross each other. The virtual path in the lattice that marks the
point where the syndromes are permuted is called the domain wall. Note that an
alternative definition for twists can be given with reference to the domain
wall: twists are the faces in which the domain wall terminates. In Fig. 5, the
domain wall is indicated as a dashed line. The number of charge-and-color-
permuting twists is always an even number. Reasoning is similar to the parity
of color permuting twists in qubit color codes [31].

Figure 5: The lattice after modification is no longer bipartite. The twist
faces are indicated by a cross and the domain wall is indicated as dashed line
terminating in twist faces. Also note that there are now adjacent faces of the
same color and the common edges to them form a path in the red shrunk lattice.

After the introduction of twists, the modified lattice is no longer bipartite.
However, we retain the partitioning of vertices as in the parent lattice i.e.
the lattice before introducing twists. Now there are neighboring vertices
belonging to the same partition, see Fig. 5. Specifically, the common vertices
to a twist and a modified face adjacent to it are of the same type, see Fig.
5.

We can also identify two types of edges in the lattice namely, the edges that
connect vertices from different bipartition ($\mathsf{E}_{d}$) and edges like
$e_{1}$ and $e_{2}$ in Fig. 5 that connect the vertices from the same
bipartition ($\mathsf{E}_{s}$). It can be seen that edges in $\mathsf{E}_{d}$
are incident on faces of the same color whereas edges from $\mathsf{E}_{s}$
are incident on faces of different color. Also, the edge in $\mathsf{E}_{s}$
form the common edges to a twist and a modified face and two adjacent modified
faces. The domain wall cuts across all these edges in the lattice.

Based on the type of edges, we can identify three types of faces in the
lattice:

  1. i)

Normal Faces ($\mathcal{D}_{0}$): These faces do not contain edges from
$\mathsf{E}_{s}$ and have an even number of edges. Domain wall does not pass
through these faces.

  2. ii)

Modified Faces ($\mathcal{D}_{2}$): These faces contain exactly two edges from
$\mathsf{E}_{s}$ and also have an even number of edges. Domain wall passes
through these faces. An example of such face is the blue octagon face in Fig.
5.

  3. iii)

Twists ($\mathcal{T}$): These faces contain exactly an edge from
$\mathsf{E}_{s}$ and have an odd number of edges, see the red pentagon faces
in Fig. 5. Domain wall terminates in these faces.

We next move on to assign stabilizer generators to the three types of faces
described above.

####  III.1.1 Stabilizer assignment

We now present stabilizer assignment to each of the aforesaid class of faces.
On normal faces ($\mathcal{D}_{0}$), the stabilizers are defined as given in
Equations (4). To define stabilizers on a modified face $m$, we first
partition the vertices of the face $m$ into two sets: the vertices shared with
a $T$-line, $Q_{1}=V(m)\cap V_{T}$ where $V_{T}$ is the set of all vertices in
the support of $T$-lines and the vertices not shared with a $T$-line,
$Q_{2}=V(m)\setminus Q_{1}$. The stabilizers defined on a modified face $m$
are as follows:

$\displaystyle B_{m,1}$ $\displaystyle=$ $\displaystyle\prod_{v\in
Q_{1}}Z_{v}\prod_{v\in Q_{2}\cap\mathsf{V}_{e}}X_{v}\prod_{v\in
Q_{2}\cap\mathsf{V}_{o}}X_{v}^{\dagger},$ (8a) $\displaystyle B_{m,2}$
$\displaystyle=$ $\displaystyle\prod_{v\in
Q_{1}\cap\mathsf{V}_{e}}X_{v}\prod_{v\in
Q_{1}\cap\mathsf{V}_{o}}X_{v}^{\dagger}\prod_{v\in Q_{2}}Z_{v}.$ (8b)

On a twist face $\tau$, only one stabilizer is defined as given below:

$B_{\tau}=\prod_{v\in V(\tau)\cap\mathsf{V}_{e}}Z_{v}X_{v}\prod_{v\in
V(\tau)\cap\mathsf{V}_{o}}Z_{v}X_{v}^{\dagger}.$ (9)

(a)

(b)

(c)

Figure 6: Stabilizer generators on modified faces and twist. (a) A stabilizer
generator with $Z$ on vertices to the left of the domain wall and $X$ to the
right. (b) Another stabilizer generator with $X$ on left of the domain wall
and $Z$ to the right. (c) Stabilizer on the twist face.

The stabilizers defined on modified faces are shown in Fig. 6(a) and Fig. 6(b)
and the stabilizer defined on twist is shown in Fig. 6(c). We next show that
the stabilizers defined above commute.

######  Lemma 2 (Stabilizer commutation.).

The stabilizer generators defined in Equations (4), (8), (9) commute.

Note that any two adjacent faces share exactly an edge. If the generalized
Pauli operators corresponding to stabilizer generators are same on the common
vertices, then clearly they commute. If the generalized Pauli operators are
different, then it can be verified that on the common vertices, the operators
are such that the stabilizer generators commute, see Fig. 7. Stabilizers
defined on the same face commute as the phase resulting from the exchange of
operators corresponding to the two stabilizer generators on any two adjacent
vertices is zero. Since all faces except twists are even cycles, the phase
resulting from exchange of operators is zero. A detailed proof is given in
Appendix A.

(a)

(b)

(c)

(d)

(e)

(f)

(g)

Figure 7: Commutation of stabilizers defined on a) modified and unmodified
faces b) twist and unmodified face c) - d) two distinct adjacent modified
faces and e) - f) modified face and twist. We have only considered cases where
the generalized Pauli operators of the stabilizer generators on the common
vertices differ. (g) Stabilizer generators defined on the same face.

With lattice modification and stabilizer assignment in place, we show how
excitations are permuted as they are moved across the domain wall. The
sublattice before lattice modification is shown in Fig. 8(a). Twists are
introduced by breaking the local three colorability of the sublattice as shown
in Fig. 8(b). Suppose that a blue face carries an excitation $\mu_{b}$ shown
in Fig.8(b). We next the apply the operator $X^{\dagger}_{u}Z^{\dagger}_{v}$,
see Fig. 8(c). This operator commutes with the stabilizer generators defined
on twist and modified face. Hence, no excitations are induced on twist and the
blue modified face. Note that the operator $X^{\dagger}_{u}Z^{\dagger}_{v}$
annihilates the excitation the blue face and creates an excitation on the
green face to the right of the domain wall, see Fig. 8(d). Effectively, this
operation has moved the excitation $\mu_{b}$ across the domain wall and
permuted it to $\epsilon_{g}$. Thus, the required permutation of excitations
is achieved with the lattice modification and the stabilizer assignment.

(a)

(b)

(c)

(d)

Figure 8: Illustration of charge and color permutation induced by the twist.
(a) A sublattice of a $2$-colex. (b) Twists are created by altering the
sublattice as shown. We would like to move the charge $\mu_{b}$ on the blue
face across the domain wall. (c) The operator $X^{\dagger}_{u}Z^{\dagger}_{v}$
commutes with the stabilizers on twist and modified face. (d) The operator
$X^{\dagger}_{u}Z^{\dagger}_{v}$ annihilates the charge on the blue face and
creates the charge $\epsilon_{g}$ on the green face.

The stabilizer generators described are not all independent. The dependency
among the stabilizer generators is explored next.

####  III.1.2 Stabilizer constraint

In the most general case, a lattice can have twists of different colors.
Giving stabilizer constraints for such case where all twists are not of the
same color is difficult. So we restrict to the case where all twists in the
lattice are of red color and modified faces are colored blue or red. (Blue
modified faces are created during twist introduction, while the red modified
faces are obtained during twist movement wherein the old twist becomes the new
modified face). The stabilizers defined in Equations (4), (8), (9) satisfy the
following constraint:

$\prod_{m\in\mathsf{F}_{b}\cap\mathcal{D}_{2}}B_{m,1}B_{m,2}\prod_{f\in\mathsf{F}_{b}\setminus\mathcal{D}_{2}}B_{f}^{X}B_{f}^{Z}\prod_{f\in\mathsf{F}_{g}}{B_{f}^{X}}^{\dagger}{B_{f}^{Z}}^{\dagger}=W^{2},$
(10)

where $\mathcal{D}_{2}$ is the set of all modified faces and $W$ is the
operator as defined below:

$W=\prod_{v\in V_{t}\cap\mathsf{V}_{e}}Z_{v}X_{v}\prod_{v\in
V_{W}\cap\mathsf{V}_{o}}Z_{v}{X_{v}^{\dagger}}$

where $V_{W}$ is the set of vertices in the support of all the $T$-lines. The
constraint in Equation (10) tells that the product of all stabilizer
generators defined on blue faces (modified and unmodified) and the conjugate
of the stabilizer generators defined on the green faces is an operator with
support on all the $T$-lines. Note that only the vertices of the red faces,
either a modified face or a twist, not shared with a green face are along the
$T$-line. Therefore, $W$ can be expressed as product of red and green face
stabilizers as below:

$\displaystyle W$ $\displaystyle=$
$\displaystyle\prod_{\tau\in\mathcal{T}}B_{\tau}\prod_{m\in\mathsf{F}_{r}\cap\mathcal{D}_{2}}B_{m,1}B_{m,2}\prod_{f\in\mathsf{F}_{r}\setminus\\{\mathcal{D}_{2}\cup\mathcal{T}\\}}B_{f}^{X}B_{f}^{Z}$
$\displaystyle\times\prod_{f\in\mathsf{F}_{g}}\\!\\!\\!{B_{f}^{X}}^{\dagger}{B_{f}^{Z}}^{\dagger}$

where $\mathcal{T}$ is the set of all twist faces. Combining the above
equation and Equation (10), we get,

$\begin{split}&\prod_{m\in\mathsf{F}_{b}\cap\mathcal{D}_{2}}B_{m,1}B_{m,2}\prod_{f\in\mathsf{F}_{b}\setminus\mathcal{D}_{2}}B_{f}^{X}B_{f}^{Z}\prod_{f\in\mathsf{F}_{g}}{B_{f}^{X}}^{\dagger}{B_{f}^{Z}}^{\dagger}=\\\
&\left(\prod_{\tau\in\mathcal{T}}B_{\tau}\prod_{m\in\mathsf{F}_{r}\cap\mathcal{D}_{2}}\\!\\!\\!B_{m,1}B_{m,2}\\!\\!\\!\prod_{f\in\mathsf{F}_{r}\setminus\\{\mathcal{D}_{2}\cup\mathcal{T}\\}}B_{f}^{X}B_{f}^{Z}\prod_{f\in\mathsf{F}_{g}}{B_{f}^{X}}^{\dagger}{B_{f}^{Z}}^{\dagger}\right)^{2}.\end{split}$
(11)

The above equation indicates the presence of a dependent stabilizer. We take
the dependent stabilizer to be one of the stabilizer generators on the
unbounded blue face. This makes the other stabilizer on the unbounded face
independent. The independent stabilizer is nonlocal and has to be measured
during error correction which is undesirable. Note that there is a stabilizer
generator of the form

$B_{f_{e}}=\prod_{v\in V(f_{e})\cap\mathsf{V}_{e}}Z_{v}X_{v}\prod_{v\in
V(f_{e})\cap\mathsf{V}_{o}}Z_{v}X_{v}^{\dagger}.$ (12)

on the blue unbounded face. This stabilizer generator is the product of $Z$
and $X$ type stabilizer generators. We choose this to be the independent
stabilizer. Note that the stabilizer defined in Equation (12) satisfies the
constraint in Equation (11). Also, note that the stabilizer generator
$B_{f_{e}}$ can be expressed as a combination of other face stabilizers and is
therefore dependent. With the complete set of stabilizer generators and the
constraints they satisfy, we now proceed to derive the number of encoded
qudits in lattices with $t$ charge-and-color-permuting twists.

######  Theorem 3 (Encoded qudits).

A qudit color code lattice with $t$ charge-and-color-permuting twists encodes
$t-2$ logical qudits.

###### Proof.

All vertices in the lattice are trivalent and hence we get $2e=3v$ where $e$
and $v$ are the number of edges and vertices in the lattice respectively.
Using this in the Euler formula for a two-dimensional plane, $v+f-e=2$ where
$f$ is the number of faces in the lattice, we get, $2f=v+4$. The number of
stabilizers is $2f-t-1$ since we define only one stabilizer on twists and
external unbounded blue face. However, the stabilizer on the unbounded blue
face is dependent, see Equation (11). Hence the number of independent
stabilizers is $s=2f-t-2=v-(t-2)$. Hence, the number of logical qudits is
$t-2=2\left(\frac{t}{2}-1\right)$. ∎

######  Remark 4.

The number of encoded qudits here is twice that of qudit surface codes with
twists [30].

##  IV Mapping Generalized Pauli operators to Strings

In this section, we present a mapping between generalized Pauli operators and
strings in the presence of charge-and-color-permuting twists. We represent the
stabilizer generators and logical operators in the string notation that we
develop and give the canonical form of logical operators which will be used
while implementing encoded gates with twists. It is helpful to hide the
lattice information and represent the operators as strings. We need to
represent $X$ and $Z$ operators for which we use different types of strings. A
dashed string of any color represents the $X$ operator, see Fig. 9(a) and a
solid string of any color represents the $Z$ operator, see Fig. 9(b). The
string corresponding to an $X$ error terminates on three faces. The end points
of the string correspond to nonzero syndromes (nontrivial excitations).

In qudit codes, we have to represent powers of generalized Pauli operators. We
use vertex weights to indicate powers of Pauli operator. The operators $X(w)$
and $Z(w)$ are represented as dashed and solid strings with vertex weight $w$,
see Fig. 9(c) and Fig. 9(d). The excitations at the end points of string
corresponding to $X(w)$ are obtained by fusing the excitations for the strings
$X$, $w$ times. So for instance, in this case the end points carry the
excitations $\mu_{c}^{w}$. We do not explicitly represent these excitations in
the string representation. They can be found from the weight of the vertex on
which the error occurs. Using these strings as the building blocks, we present
the string representation for multi-qudit operators. In this paper, we are
primarily interested in operators of the form shown in Fig. 4. Such operators
are the building blocks of stabilizer generators and logical operators.

(a)

(b)

(c)

(d)

Figure 9: Mapping generalized Pauli operators to strings in a $2$-colex. (a)
We use dashed strings to represent an $X$ error. The strings are open ended in
the faces as they have a syndrome. (b) A $Z$ error is represented by a solid
string irrespective of whether it acts on vertices in $\mathsf{V}_{e}$ or
$\mathsf{V}_{o}$. (c)-(d) String representation of $X(w)$ and $Z(w)$ operators
respectively.

###  IV.1 Generalized Pauli operators as strings in a 2-colex

In general when we combine the elementary strings for $X$ and $Z$ errors on
single qudits, we can obtain the string representation for an arbitrary error.
A subset of the errors and their representations are more useful and adequate
for our purposes. We are primarily interested in the case where the end of the
strings of two distinct errors can be merged. This is the case when the end
points of two strings carry excitations which fuse to the vacuum.
Equivalently, the syndromes produced on these errors add up to zero. It is
possible to consider the case when the excitations do not fuse to the vacuum
by allowing for weighted edges.

We begin by considering the operator $Z_{u}Z_{v}$ shown in Fig. 4(a) where
$u\in\mathsf{V}_{e}$ and $v\in\mathsf{V}_{o}$. Using the string representation
of the $Z$ operator shown in Fig. 9(b), we obtain the string representation of
the operator $Z_{u}Z_{v}$ as shown in Fig. 10(a). Note the operator
$Z_{u}Z_{v}$ commutes with the $X$ stabilizer on blue and green faces. As a
result, these faces do not carry any syndrome and hence the strings do not
terminate on these faces. On the other hand, the operator $Z_{u}Z_{v}$
violates the $X$ stabilizer on the red faces and hence red faces carry
syndrome $\epsilon_{r}$ due to violation of $X$ stabilizer, see Fig. 4(b).
Note that from Fig. 9(a) and Fig. 9(b), a string terminates on faces with
nonzero syndrome. Therefore, the string has its end points in red faces, see
Fig. 10(b). To simplify the string representation, we adopt the notation shown
in Fig. 10(c) which is equivalent to that in Fig. 10(b).

Similar arguments can be used to obtain the string representation of the
operator $X_{u}^{\dagger}X_{v},u\in\mathsf{V}_{e}$ and $v\in\mathsf{V}_{o}$,
shown in Fig. 4(d). Strings for the individual $X$ operators are shown in Fig.
10(d). The string representation for the operator $X_{u}^{\dagger}X_{v}$ is
given in Fig. 10(e) and its simplified representation of string is shown in
Fig. 10(f).

(a)

(b)

(c)

(d)

(e)

(f)

Figure 10: Generalized Pauli operator to string mapping in a 2-colex. (a)
Syndrome on blue and green faces vanish as the $X$ stabilizer commutes with
the $Z$ error. But red faces host syndromes as stabilizer is violated. (b) The
string shown in Fig. 10(b) is represented as shown. Note that this operator
can also be seen as the one transporting syndromes from one face to another.
(c) Syndromes on green and blue faces vanish whereas that on red faces remain.
(d) Blue and green strings in Fig. 10(e) are combined to obtain the string as
shown.

###  IV.2 String algebra of generalized Pauli operators in the presence of
twists

Recall that the stabilizer generators on twist and modified face are not
longer of $Z$ type or $X$ type. As a result, the string algebra introduced
before needs modification to take into account the modified stabilizers.
Consider Fig. 11(a). The upper red face is twist and the bottom blue face is a
modified face. The blue and green faces on the left and right respectively are
unmodified faces. The syndromes resulting from applying the operator
$Z_{u}X_{v}$ is shown in Fig. 11(a). Note that the syndrome to the left of the
domain wall is of green color and not blue. The reason is that this syndrome
can be moved to a green face without crossing the domain wall. Using the
string representation given in Fig. 9, we arrive at the string representation
for the individual operators as shown in Fig. 11(b). Note that the error
operator commutes with the stabilizers defined on modified face and twist and
anticommutes with the stabilizers on blue and green unmodified faces.
Therefore, strings are continuous in twist and modified face, and terminate in
the blue and green unmodified faces, see Fig. 11(c). The simplified version of
strings in Fig. 11(c) is shown in Fig. 11(d). Note that the string changes
both color and charge as it crosses the domain wall (indicated as dashed
line).

(a)

(b)

(c)

(d)

Figure 11: Generalized Pauli operator to string mapping in a lattice with
charge-and-color-permuting twists. (a) The operators $Z$ and $X$ create the
syndromes as shown. Upper red face is twist and the middle blue face is
modified face. (b) The operators $Z$ and $X$ as shown in Fig. 11(a) commute
with the stabilizers of twist and modified face. Hence, strings are continuous
in these faces. (c) The string in Fig. 11(c) is represented as above for
simplicity. Note that the string changes both color and the operator it
represents as it crosses the domain wall.

We use the string notation developed here to represent stabilizers of twist
and modified faces. Stabilizers of modified face are shown in Fig. 12(a) –
12(d). The strings change both color and charge as they crosses the domain
wall. The string representation of twist stabilizer is shown in Fig. 12(e).
Here, the string crosses the domain wall twice. Note that we have given the
string representation only for a subset of stabilizer generators. Our
assignment of stabilizer generators is such that it involves only $X$,
$X^{\dagger}$, $Z$ and $Z^{\dagger}$.

(a)

(b)

(c)

(d)

(e)

Figure 12: String representation of stabilizers. (a) This stabilizer has $Z$
operators to the left and $X$ operators to the right of the domain wall. (b)
The second stabilizer on modified in string notation which is a mirror image
of the first stabilizer. (c)-(d) String representation of stabilizers defined
on a red modified face. (e) Twist stabilizer represented in string notation.
Note that the string crosses the domain wall twice.

###  IV.3 Logical Operators

We now present the logical operators for the encoded qudits. Logical
operators, by definition, commute with all the stabilizer generators and
therefore they do not produce any syndrome. Intuitively, we expect that the
string representation of logical operators must be not have any termination,
in other words, they must be closed strings. Logical operators correspond to
strings that encircle a pair of twists and are not generated by stabilizers.
Also, logical operators commute with all stabilizers. This brings forth the
question of assigning weights to vertices in the support of logical operators.
Commutation with the stabilizer generators is considered while assigning
weights to qudits in the support of logical operators. The weight assignment
is done by taking the stabilizer weight into account.

(a)

(b)

Figure 13: Logical operators depicted on lattice. (a) Logical $X$ operator
depicted on the lattice. It encircles twists not created together. Note that
the color and operator change as the string crosses the domain wall. (b)
Logical $Z$ operator depicted on lattice. It encircles twists created
together.

The assignment rules are different for $Z$ and $X$ logical operators. Recall
that the vertices in the qudit color code are partitioned into even and odd
vertices. Let the vertices $u$ and $v$ of a face $f$ be in support of the
logical operator. We assume that the associated logical operator corresponds
to a string that enters through $u$ and exits through $v$.

_Assigning vertex weights for $X$ logical operator._ Note that the $Z$
stabilizer assignment is independent of vertex type and the $X$ operators
assigned to vertices $u$ and $v$ of a face $f$ should commute with the $Z$
stabilizer. Commutation with stabilizers is achieved if the weights associated
with $u$ and $v$ differ by $d$, see Fig. 13(a). Therefore, weights for $X$
operator assignment is always $w_{u,x}+w_{v,x}=0\mod{d}$ which results in the
operator $X_{u}X_{v}^{\dagger}$.

When the string crosses the domain wall, the charge and color change and
consequently the rules also change. Now we have to assign $Z$ and $X$ weights
denoted by $w_{u,z}$ and $w_{v,x}$. Suppose that $u,v\in\mathsf{V}_{e}$ or
$u\in\mathsf{V}_{e},v\in\mathsf{V}_{o}$, then $w_{u,z}=w_{v,x}$. If
$u,v\in\mathsf{V}_{o}$ or $u\in\mathsf{V}_{o},v\in\mathsf{V}_{e}$, then
$w_{u,z}+w_{v,x}=0\mod{d}$.

_Assigning vertex weights for $Z$ logical operator._ Recall that the $X$
stabilizer assignment is dependent on the vertex type. If the common vertices
$u$ and $v$ between a face $f$ and logical operator are of different kind,
i.e. $u\in\mathsf{V}_{e}$ and $v\in\mathsf{V}_{o}$ or vice versa, then the
logical operator weight associated to the vertices is the same. The reason
being that the restriction of the $X$ stabilizer of the face to these vertices
is $X_{u}X_{v}^{\dagger}$ and if the restriction of logical operator to these
vertices is $Z_{u}(w_{u,z})Z_{v}(w_{v,z})$, then commutation with the face
stabilizer forces the constraint $w_{u,z}=w_{v,z}$. If $u$ and $v$ are of the
same kind i.e. $u,v\in\mathsf{V}_{e}$ or $u,v\in\mathsf{V}_{o}$, the logical
operators weights associated to the vertices differ by $d$ i.e.
$w_{u,z}+w_{v,z}=0\mod{d}$.

The rules for assigning weights to $X$ and $Z$ logical operators are
summarized as follows: if two vertices $u,v\in V(f)$ are in the support of a
logical operator, then,

  1. (i)

_$X$ logical operator_:

    1. (a)

if string does not cross domain wall, then $w_{u,x}+w_{v,x}=0\mod{d}$.

    2. (b)

if string crosses domain wall, then

      1. i.

if $u,v\in\mathsf{V}_{e}$ or $u\in\mathsf{V}_{e},v\in\mathsf{V}_{o}$, then
$w_{u,z}=w_{v,x}$.

      2. ii.

if $u,v\in\mathsf{V}_{o}$ or $u\in\mathsf{V}_{o},v\in\mathsf{V}_{e}$, then
$w_{u,z}+w_{v,x}=0\mod{d}$.

  2. (ii)

_$Z$ logical operator_:

    1. (a)

if $u,v\in\mathsf{V}_{e}(\text{ or }\mathsf{V}_{o})$, then $w_{u,z}=w_{v,z}$,

    2. (b)

else, $w_{u,z}+w_{v,z}=0\mod{d}$.

A set of logical operators when four twists are present in the lattice is
shown in Fig. 13. The operators shown commute with all stabilizer generators.
These two operators do not commute as the generalized Pauli operator is
different on one of the common vertices to the operators. Hence, these are not
generated by stabilizers and must be nontrivial logical operators. Observe
that logical operators are generated by $X$, $X^{\dagger}$, $Z$ and
$Z^{\dagger}$ like the stabilizers. This allows us to represent them as
strings on the lattice without explicitly mentioning the weights of each
error.

The full set of logical operators when six twists are present in the lattice
is shown in Fig. 14. Since we have abstracted out the lattice, there is no way
to indicate the powers of the generalized Pauli operators in the support of a
logical operator. Therefore, we assign a direction to indicate the choice of
powers of generalized Pauli operators in the support of logical operators. We
use clockwise direction to represent the operators shown in Fig. 13. The
inverse of these operators will be indicated as strings with counterclockwise
direction.

(a)

(b)

(c)

Figure 14: Full set of logical operators and the canonical logical operators
when six twists are present in the lattice, see Fig. 9 for the string notation
used. (a) The canonical form logical operators when six twists are present in
the lattice. (b) The logical operators that are treated as gauge operators.
(c) Self-intersecting logical operator when twists of different color are
present.

When twists of different color are used for encoding, then some of the logical
operators will be self intersecting, see Fig. 14(c). To avoid self-
intersecting logical operators, we take all twists to be of red color [31].
However, this choice of logical operators has the drawback that whenever an
single qudit encoded gate is to be performed only on say, encoded qudit 1 (2),
we inevitably also perform a gate on encoded qudit 3 (4). This is because the
logical operators of qubits 1 and 3 encircle the same pair of twists, see Fig.
14. Suppose that twists $t_{1}$ and $t_{2}$ are braided to implement a gate on
qudit 1. Because of braiding twists, a gate is also inevitably implemented on
qudit 3. This is undesirable. Therefore, we treat encoded qubits 3 and 4 in
Fig. 14(b) as gauge qudits. The canonical form of logical operators we use are
shown in Fig. 14(a). With the choice of logical operators given in Fig. 14(a),
we get $\lfloor t/3\rfloor$ encoded qudits when $t$ twists are present in the
lattice. The rest of the $t-2-\lfloor t/3\rfloor$ logical qudits are treated
as gauge qudits.

######  Theorem 5 (Construction).

A qudit color code with $t$ charge-and-color-permuting twists with $\lfloor
t/3\rfloor$ encoding defines a subsystem code with $\lfloor t/3\rfloor$
logical qudits and $t-2-\lfloor t/3\rfloor$ gauge qudits.

Note that the subsystem codes defined here are not the same as the topological
subsystem codes in [22] which are defined using two body gauge operators.
Using the construction of charge-and-color-permuting twists and the string
formalism for generalized Pauli operators, we next proceed to present
protocols to implement encoded generalized Clifford gates using charge-and-
color-permuting twists.

##  V Generalized Clifford Gates with charge-and-color-permuting twists

In this section, we discuss the implementation of encoded generalized Clifford
gates using charge-and-color-permuting twists. The generalized Clifford gates
are given below [2]:

$\displaystyle M_{\gamma}$ $\displaystyle=$
$\displaystyle\sum_{x\in\mathbb{F}_{d}}|\gamma x\rangle\langle x|,\gamma\neq
0,$ (13a) $\displaystyle P_{\gamma}$ $\displaystyle=$
$\displaystyle\sum_{x\in\mathbb{F}_{d}}\omega^{\gamma x^{2}/2}|x\rangle\langle
x|,$ (13b) $\displaystyle F$ $\displaystyle=$
$\displaystyle\frac{1}{\sqrt{d}}\sum_{x,y\in\mathbb{F}_{d}}\omega^{xy}|y\rangle\langle
x|,$ (13c) $\displaystyle\text{CNOT}(i,j)$ $\displaystyle=$
$\displaystyle\sum_{x,y\in\mathbb{F}_{d}}|x\rangle_{i}|x+y\rangle_{j}\langle
x|_{i}\langle y|_{j}.$ (13d)

We now present the protocols to implement generalized Clifford gates by
braiding and Pauli frame update. For single qubit gates, we use Pauli frame
update and braiding and for entangling gate, we use braiding. The encoding
used is that given in Fig. 14(a). To prove the correctness of the proposed
encoded gates, we need to verify that the logical operators transform as
required under conjugation.

_Multiplier gate._ The conjugation relation for multiplier gate $M_{\gamma}$
is given below:

$\displaystyle M_{\gamma}X(\alpha)M_{\gamma}^{-1}$ $\displaystyle=$
$\displaystyle X(\gamma\alpha),$ (14a) $\displaystyle
M_{\gamma}Z(\beta)M_{\gamma}^{-1}$ $\displaystyle=$ $\displaystyle
Z(\gamma^{-1}\beta).$ (14b)

We use Pauli frame update [26, 30] to implement this gate. Pauli frame update
is done classically where the Pauli frame (the information regarding the
interchange of Pauli labels of the canonical logical operators) of each
encoded qudit is kept track of during computation. Weights of the operators on
vertices in the support of logical operators are updated according to
Equations (14). For a vertex in the support of $\bar{X}$ with weight $w$, the
updated weight is $\gamma w$ and for that in the support of $\bar{Z}$, the
updated weight is $\gamma^{-1}w$.

_DFT gate._ The DFT gate is the generalization of the Hadamard gate in the
case of qubits. The conjugation relation for the DFT gate $F$ is given below.

$\displaystyle FX(\alpha)F^{-1}$ $\displaystyle=$ $\displaystyle Z(\alpha)$
(15a) $\displaystyle FZ(\alpha)F^{-1}$ $\displaystyle=$ $\displaystyle
X(-\alpha)$ (15b)

The DFT gate is implemented by Pauli frame update. The Pauli frame update
required is $X(\alpha)\rightarrow Z(\alpha)$, $Z(\alpha)\rightarrow
X(-\alpha)$. This is interchanging the labels of $Z$ and $X$ logical operators
and reversing the direction of the new logical $Z$ operator.

_Phase gate._ The Phase gate $P_{\gamma}$ has the following conjugation
relation.

$\displaystyle P_{\gamma}X(\alpha)P_{\gamma}^{-1}$ $\displaystyle=$
$\displaystyle\omega^{-\gamma\alpha^{2}/2}X(\alpha)Z(-\gamma\alpha)$ (16a)
$\displaystyle P_{\gamma}Z(\alpha)P_{\gamma}^{-1}$ $\displaystyle=$
$\displaystyle Z(\alpha)$ (16b)

To realize the gate $P_{1}$, we braid twists $t_{1}$ and $t_{2}$
counterclockwise as shown in Fig. 15(a). The operator $\bar{Z}$ encircles
twists $t_{1}$ and $t_{2}$ and hence is left unchanged by braiding. The
deformation of logical $X$ operator and its equivalence (up to a gauge) to the
operator $XZ^{\dagger}$ is shown in Appendix B. From Eqn. (13b), it can be
inferred that $P_{\gamma}=P_{1}^{\gamma}$. The gate $P_{\gamma}$ is
accomplished by performing the $P_{1}$ gate $\gamma$ number of times. Note
that the gate $P_{d-1}$ is the conjugate of the gate $P_{1}$. Hence it can be
realized by braiding twists $t_{1}$ and $t_{2}$ clockwise as shown in Fig.
15(b).

(a)

(b)

Figure 15:  (a) Braiding twists $t_{1}$ and $t_{2}$ counterclockwise to
realize the gate $P_{1}$. (b) Twists $t_{1}$ and $t_{2}$ are braided clockwise
to realize the gate $P_{d-1}$ ($P^{\dagger}$).

CNOT _gate._ We implement the CNOT gate by using controlled-$Z^{\dagger}$
($CZ^{\dagger}$) gate and DFT gates. The description of $CZ^{\dagger}$ gate is
given below [30]:

$CZ^{\dagger}(a,b)=\sum_{x\in\mathbb{F}_{d}}|x\rangle\langle
x|_{a}\otimes{Z_{b}^{\dagger}}(x).$ (17)

The protocol for realizing controlled-$Z^{\dagger}$ gate is given below and is
shown in Fig. 16(a).

| Controlled-$Z^{\dagger}$ gate protocol
---|---
1. | Braid twists $t_{3}$ and $t_{4}$ counterclockwise.
2. | Perform $P^{\dagger}$ gate on control and target qubits.

(a)

(b)

Figure 16: Realizing controlled-$Z^{\dagger}$ on qudits in the same block and
qudits from adjacent blocks. (a) Controlled-$Z^{\dagger}$ gate on logical
qudits in the same block is achieved by braiding twists $t_{3}$ and $t_{4}$
counterclockwise and twists $t_{1}$, $t_{2}$ and $t_{5}$, $t_{6}$ clockwise.
(b) For doing controlled-$Z^{\dagger}$ gate between qubits of different block,
braid the twists as shown. Note that the twists are not labeled sequentially
for the sake of clarity.

The evolution of logical operators is given below.

$\displaystyle\begin{array}[]{ccccc}\bar{Z}_{1}&\stackrel{{\scriptstyle{(1)}}}{{\longrightarrow}}&\bar{Z}_{1}&\stackrel{{\scriptstyle{(2)}}}{{\longrightarrow}}&\bar{Z}_{1}\\\
\bar{X}_{1}&\stackrel{{\scriptstyle{(1)}}}{{\longrightarrow}}&\bar{X}_{1}\bar{Z}_{1}^{\dagger}\bar{Z}_{2}^{\dagger}&\stackrel{{\scriptstyle{(2)}}}{{\longrightarrow}}&\bar{X}_{1}\bar{Z}_{2}^{\dagger}\\\
\bar{Z}_{2}&\stackrel{{\scriptstyle{(1)}}}{{\longrightarrow}}&\bar{Z}_{2}&\stackrel{{\scriptstyle{(2)}}}{{\longrightarrow}}&\bar{Z}_{2}\\\
\bar{X}_{2}&\stackrel{{\scriptstyle{(1)}}}{{\longrightarrow}}&\bar{Z}_{1}^{\dagger}\bar{Z}_{2}^{\dagger}\bar{X}_{2}&\stackrel{{\scriptstyle{(2)}}}{{\longrightarrow}}&\bar{Z}_{1}^{\dagger}\bar{X}_{2}\end{array}$

Logical $Z$ operators of both qudits are left unchanged by braiding twists
$t_{3}$ and $t_{4}$. However, logical $X$ operator is deformed as shown in
Fig. 17(a). The deformed string can be expressed as a combination of string
encircling twists $t_{3}$ and $t_{4}$ and the logical $X$ operator. Note that
the string encircling twists $t_{3}$ and $t_{4}$ is
$\bar{Z}_{1}^{\dagger}\bar{Z}_{2}^{\dagger}$, see Fig. 17(b). Hence, the
string shown in Fig. 17(a) corresponds to the operator
$\bar{X}_{1}\bar{Z}_{1}^{\dagger}\bar{Z}_{2}^{\dagger}$. By symmetry, it can
be argued that $\bar{X}_{2}$ is mapped to
$\bar{Z}_{1}^{\dagger}\bar{Z}_{2}^{\dagger}\bar{X}_{2}$. After braiding twists
$t_{3}$ and $t_{4}$, performing $P^{\dagger}$ gate on both qudits will lead to
$CZ^{\dagger}$ gate between them.

(a)

(b)

Figure 17:  (a) The logical $X_{1}$ operator is deformed as shown. This
operator is the combination of $\bar{Z}_{1}^{\dagger}\bar{Z}_{2}^{\dagger}$
and $X_{1}$. (b) The blue string encircling twists $t_{3}$ and $t_{4}$ is
$\bar{Z}_{1}^{\dagger}\bar{Z}_{2}^{\dagger}$.

So far, we considered qudits from one block which is a set of three pairs of
twists that encode two logical qudits. We also need to be able to perform the
CNOT gate between qudits from different blocks. The same procedure works for
qudits from different blocks. Suppose that twists $t_{1}$, $t_{2}$ and $t_{3}$
encode qudit 1 and twists $t_{7}$, $t_{8}$ and $t_{9}$ encode qudit 3, see
Fig. 16(b). The string encircling twists $t_{3}$ and $t_{9}$ can be shown to
be $Z_{1}^{\dagger}Z_{3}^{\dagger}$ in a way similar to that in Ref. [30].
Braiding twists $t_{3}$ and $t_{9}$ followed by $P^{\dagger}$ gate on control
and target qudits will lead to $CZ^{\dagger}$ gate between them. The CNOT gate
can be obtained from the $CZ^{\dagger}$ gate by conjugating the target qudit
with DFT gate:

$\displaystyle F_{b}(CZ^{\dagger}(a,b))F^{\dagger}_{b}$ $\displaystyle=$
$\displaystyle\sum_{x\in\mathbb{F}_{d}}|x\rangle\langle x|_{a}\otimes
F_{b}{Z_{b}^{\dagger}}(x)F^{\dagger}_{b}$ $\displaystyle=$
$\displaystyle\sum_{x\in\mathbb{F}_{d}}|x\rangle\langle x|_{a}\otimes
X_{b}(x)$

This concludes our discussion on implementation of generalized Clifford gates
using charge-and-color-permuting twists. We next address the issue of lattice
modification during braiding.

_Lattice modification during braiding._ Change in the structure of the lattice
during twist braiding is shown in Fig. 18. In Fig. 18(b), the initial
configuration of twists is shown. Also shown are the physical qudits that were
disentangled during twist creation and movement. Twist $t_{1}$ is moved along
the path shown in blue in Fig. 18(b) and twist $t_{2}$ is moved through the
modified faces. There are two distinct steps in braiding: twist movement to an
unmodified face as shown in Fig. 18(c) and moving twist to a modified face as
shown in Fig. 18(d). The latter step involves entangling the physical qudits
as shown in Fig. 18(d). The portion of the lattice from which twist is moved
regains local three colorability, see Fig. 18(e). This movement also creates a
large modified face. However, subsequent twist movement will shrink the size
of this face, see Fig. 18(f). The subsequent twist movement is shown in Fig.
18(g), Fig. 18(h) and Fig. 18(i). At this stage, the braiding is complete.
However, to minimize the number of modified faces between the twists, we
entangle the physical qudits shown in Fig. 18(j) and remove some physical
qudits shown in red. Doing so, we obtain the lattice shown in Fig. 18(k). Note
that once the braiding is complete, the large faces resulting from twist
movement vanish. Therefore, braiding twists will not alter the lattice
structure drastically, at least in the case of hexagon lattice.

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

(j)

(k)

Figure 18: Lattice modification during braiding a pair of twists. The physical
qubits disentangled from the code lattice during twist creation and movements
are shown in gray color. Dotted lines show the new faces when some of them are
added back to the code lattice. Some of the modified faces grow in size during
braiding. However, this growth is not permanent. These faces shrink once the
braiding process is complete.

##  VI Conclusion

In this paper, we initiated the study of twists in qudit color codes.
Specifically, we studied charge-and-color-permuting twists. We gave the
construction of qudit color codes with charge-and-color-permuting twists
starting from a $2$-colex. Using the construction, we presented protocols to
implement encoded generalized Clifford gates. A future direction for further
investigation could be to explore the set of all twist types possible in qudit
color codes. Since qudit color codes have rich anyon structure, one could
expect more types of twist. Another fruitful direction would be to study the
mapping between the proposed codes and qudit surface codes. Such mappings
could lead to efficient decoders for qudit color codes with twists.

## Acknowledgment

We thank the anonymous reviewers for their comments. This work was supported
by the Department of Science and Technology, Government of India, under Grant
No. DST/ICPS/QuST/Theme-3/2019/Q59.

## Appendix

##  Appendix A Proof of Lemma 2

In this section, we give a proof of stabilizer commutation. Note that since
all vertices in the lattice are trivalent, any two adjacent faces share an
edge (and hence two common vertices). Let $u$, $v$ be the common vertices to
two adjacent faces $f$ and $g$. When vertices $u$ and $v$ come from different
bipartition, we take $u\in\mathsf{V}_{e}$ and $v\in\mathsf{V}_{o}$ . We have
to consider six cases here:

  1. i)

$\mathcal{D}_{0}$ and $\mathcal{D}_{0}$ : Follows from Equations (4).

  2. ii)

$\mathcal{D}_{0}$ and $\mathcal{D}_{2}$: The restriction of both type of
stabilizer generators to common vertices is $Z_{u}Z_{v}$ and
$X_{u}X^{\dagger}_{v}$. Since these operators commute, the corresponding
stabilizer generators commute.

  3. iii)

$\mathcal{D}_{0}$ and $\mathcal{T}$: Reason is similar to the one given above.

  4. iv)

$\mathcal{D}_{2}$ and $\mathcal{D}_{2}$: Note that for any two adjacent
modified faces, the common vertices belong to the same bipartition. If the
common vertices are in $\mathsf{V}_{e}$, then the restriction of stabilizer
generators to common vertices is $Z_{u}X_{v}$ and $X_{u}Z_{v}$. If the common
vertices are in $\mathsf{V}_{o}$, then $Z_{u}X^{\dagger}_{v}$ and
$X^{\dagger}_{u}Z_{v}$ are the restrictions to common vertices. Commutation of
these stabilizer generators follows as the restrictions commute. Note that the
stabilizer generators defined on the same face have exactly the same support.
The phase resulting from exchange of operators on any two adjacent vertices is
zero. Therefore, the total phase resulting from operator exchange is zero and
hence the stabilizer generators on the same face commute.

  5. v)

$\mathcal{D}_{2}$ and $\mathcal{T}$: Similar to the case of commutation of two
modified faces, a twist and a modified face have common vertices the same
bipartition. In case of common vertices belonging to $\mathsf{V}_{e}$, the
restriction of twist stabilizer is $Z_{u}X_{u}Z_{v}X_{v}$ and for the modified
face we have $Z_{u}X_{v}$ and $X_{v}Z_{u}$. For odd vertices, twist stabilizer
restriction is $Z_{u}X^{\dagger}_{u}Z_{v}X^{\dagger}_{v}$ and for modified
faces we have $Z_{u}X^{\dagger}_{v}$ and $X^{\dagger}_{u}Z_{v}$. Hence,
commutation follows.

  6. vi)

$\mathcal{T}$ and $\mathcal{T}$: Two twist faces are always separated by a
modified face in between. Hence they commute. If two twists happen to be
adjacent during braiding, then the operators on the common vertices are the
same. Therefore, twist stabilizers commute.

Hence, the stabilizers defined in Equations (4), (8), (9) commute.

##  Appendix B Proof for Phase gate

The deformed logical $X$ operator after braiding twists $t_{1}$ and $t_{2}$ is
shown in Fig. 19(a). We now show that this operator is equivalent up to a
gauge to the operator $\bar{X}\bar{Z}^{\dagger}$ shown in Fig. 19(b).

(a)

(b)

Figure 19: Deformation of logical $X$ operator after braiding twists $t_{1}$
and $t_{2}$. (a) The logical $X$ operator is deformed as shown after braiding
twists $t_{1}$ and $t_{2}$. (b) The deformed logical operator shown in Fig.
19(a) is equivalent up to a gauge to the operator shown.

(a)

(b)

(c)

(d)

(e)

(f)

(g)

(h)

(i)

Figure 20: Obtaining the string corresponding to operator
$\bar{X}\bar{Z}^{\dagger}$ and its equivalence to the deformed string in Fig.
19(a). (a) The operators $\bar{X}$ and $\bar{Z}^{\dagger}$ are shown. Note
that the direction of $\bar{Z}^{\dagger}$ is counterclockwise. (b) Combining
the two strings shown in Fig. 20(a), we get the string as shown. (c) We add
the stabilizer of twist $t_{2}$ to the string in Fig. 20(b). (d) The resulting
string from Fig. 20(c) double crosses itself. (e) The string in Fig. 20(d) can
be deformed further as shown. This string corresponds to
$\bar{X}\bar{Z}^{\dagger}$. (f) The deformed string in Fig. 19(a) and the
string in Fig. 20(e) are combined. (g) Combination of strings in Fig. 20(f)
results in the string as shown. (h) By adding stabilizer of twist $t_{2}$, the
string in Fig. 20(g) is deformed as shown. (g) The string shown in Fig. 20(h)
is equivalent to a gauge operator.

Before showing the equivalence between the operators shown in Fig. 19(a) and
Fig. 19(b), we consider the combination of operators $\bar{X}$ and
$\bar{Z}^{\dagger}$. The logical operators $\bar{Z}^{\dagger}$ and $\bar{X}$
are shown in Fig. 20(a) and their combination is shown in Fig. 20(b). To
remove self-crossing, We add the stabilizer of twist $t_{2}$ to the string
shown in Fig. 20(b), see Fig. 20(c). The resulting string is shown in Fig.
20(d) which can be deformed to the string shown in Fig. 20(e). The string
shown in Fig. 20(e) corresponds to the operator $\bar{X}\bar{Z}^{\dagger}$.

We now show that the operator corresponding to the deformed string shown in
Fig. 19(a) is equivalent up to gauge to the operator corresponding to string
in Fig. 20(e) Note that we add the conjugate of the operator shown in Fig.
20(e). The combination of those strings is shown in Fig. 20(f) can be
simplified to the string shown in Fig. 20(g). This string is further
simplified by adding stabilizer of twist $t_{2}$ and obtain the string shown
in Fig. 20(h). The operator corresponding to the string in Fig. 20(h) can be
decomposed as shown in Fig. 20(i). The blue and green string around twists is
obtained by combining twist stabilizers and modified face stabilizers. The
green string with counterclockwise direction is the gauge operator, see Fig.
14(b). Therefore, the operator corresponding to the deformed string shown in
Fig. 19(a) is equivalent up to gauge to the operator
$\bar{X}\bar{Z}^{\dagger}$.

##  Appendix C An example

In this section we present an example of qudit color code with two pairs of
twists. The smallest separation between any pair of twists is two. The lattice
with two pairs of twists is shown in Fig. 21. The additional faces (with two
vertices) on the boundary are added to maintain trivalency. Similar to normal
faces, two stabilizers, one of $Z$ type and the other $X$ type are defined on
them.

Figure 21: An example of qudit color code with twists.

We now list explicitly the stabilizer generators defined on twist and modified
faces. The stabilizer generators defined on twist faces are

$\displaystyle B_{t_{1}}$ $\displaystyle=$
$\displaystyle(ZX)_{1}(ZX^{\dagger})_{2}(ZX)_{3}(ZX)_{13}(ZX^{\dagger})_{14},$
(19) $\displaystyle B_{t_{2}}$ $\displaystyle=$
$\displaystyle(ZX^{\dagger})_{6}(ZX)_{7}(ZX^{\dagger})_{8}(ZX)_{9}(ZX^{\dagger})_{10},$
(20) $\displaystyle B_{t_{3}}$ $\displaystyle=$
$\displaystyle(ZX^{\dagger})_{20}(ZX)_{21}(ZX^{\dagger})_{22}(ZX)_{23}(ZX^{\dagger})_{24},$
(21) $\displaystyle B_{t_{4}}$ $\displaystyle=$
$\displaystyle(ZX)_{15}(ZX^{\dagger})_{16}(ZX)_{17}(ZX)_{27}(ZX^{\dagger})_{28}.$
(22)

Stabilizer generators defined on modified faces are

$\displaystyle B_{m_{1},1}$ $\displaystyle=$ $\displaystyle
X_{3}X_{4}^{\dagger}X_{5}X_{6}^{\dagger}Z_{10}Z_{11}Z_{12}Z_{13},$ (23)
$\displaystyle B_{m_{1},2}$ $\displaystyle=$ $\displaystyle
Z_{3}Z_{4}Z_{5}Z_{6}X_{10}^{\dagger}X_{11}X_{12}^{\dagger}X_{13},$ (24)
$\displaystyle B_{m_{2},1}$ $\displaystyle=$ $\displaystyle
X_{17}X_{18}^{\dagger}X_{19}X_{20}^{\dagger}Z_{24}Z_{25}Z_{26}Z_{27},$ (25)
$\displaystyle B_{m_{2},2}$ $\displaystyle=$ $\displaystyle
Z_{17}Z_{18}Z_{19}Z_{20}X_{24}^{\dagger}X_{25}X_{26}^{\dagger}X_{27}.$ (26)

On the normal face indicated $f$ in Fig. 21, stabilizer generators are defined
as below

$\displaystyle B_{f}^{X}$ $\displaystyle=$ $\displaystyle
X_{4}^{\dagger}X_{5}X_{25}X_{26}^{\dagger}X_{29}^{\dagger}X_{30},$ (27)
$\displaystyle B_{f}^{Z}$ $\displaystyle=$ $\displaystyle
Z_{4}Z_{5}Z_{25}Z_{26}Z_{29}Z_{30}.$ (28)

The stabilizer generators defined on the additional red and green faces along
the boundary are of the form $Z_{u}Z_{v}$ and $X_{u}X_{v}^{\dagger}$ where
$u\in\mathsf{V}_{e}$ and $v\in\mathsf{V}_{o}$.

Note that in this example, we get two encoded logical qudits but we treat one
of them as gauge qudit. So in effect the lattice in Fig. 21 defines a
$[[118,1]]_{q}$ code. The smallest nontrivial loop encircles twists created
together see Fig. 21 where this operator is shown as blue string. The operator
corresponding to this string has weight $10$.

## References

  * Ashikhmin and Knill [2001] A. Ashikhmin and E. Knill, IEEE Transactions on Information Theory 47, 3065 (2001).
  * Grassl  _et al._ [2003] M. Grassl, M. Rötteler, and T. Beth, International Journal of Foundations of Computer Science 14, 757 (2003).
  * Ketkar  _et al._ [2006] A. Ketkar, A. Klappenecker, S. Kumar, and P. Sarvepalli, IEEE Transactions on Information Theory 52, 4892 (2006).
  * Sarvepalli [2010] P. Sarvepalli, in  _2010 IEEE Information Theory Workshop_ (2010) pp. 1–5.
  * You  _et al._ [2013] Y.-Z. You, C.-M. Jian, and X.-G. Wen, Phys. Rev. B 87, 045106 (2013).
  * Brell [2015] C. G. Brell, Phys. Rev. A 91, 042333 (2015).
  * Watson  _et al._ [2015] F. H. E. Watson, E. T. Campbell, H. Anwar, and D. E. Browne, Phys. Rev. A 92, 022312 (2015).
  * Hutter  _et al._ [2015] A. Hutter, D. Loss, and J. R. Wootton, New Journal of Physics 17, 035017 (2015).
  * Marks  _et al._ [2017] J. Marks, T. Jochym-O’Connor, and V. Gheorghiu, New Journal of Physics 19, 113022 (2017).
  * Haah [2021] J. Haah, Journal of Mathematical Physics 62, 012201 (2021).
  * Niu  _et al._ [2018] M. Y. Niu, I. L. Chuang, and J. H. Shapiro, Phys. Rev. Lett. 120, 160502 (2018).
  * Paesani  _et al._ [2021] S. Paesani, J. F. F. Bulmer, A. E. Jones, R. Santagati, and A. Laing, Phys. Rev. Lett. 126, 230504 (2021).
  * Low  _et al._ [2020] P. J. Low, B. M. White, A. A. Cox, M. L. Day, and C. Senko, Phys. Rev. Research 2, 033128 (2020).
  * Kiktenko  _et al._ [2020] E. O. Kiktenko, A. S. Nikolaeva, P. Xu, G. V. Shlyapnikov, and A. K. Fedorov, Phys. Rev. A 101, 022304 (2020).
  * Gedik  _et al._ [2015] Z. Gedik, I. A. Silva, B. Çakmak, G. Karpat, E. L. G. Vidoto, D. O. Soares-Pinto, E. R. deAzevedo, and F. F. Fanchini, Scientific Reports 5, 14671 (2015).
  * Zhang  _et al._ [2019] C. Zhang, J. F. Chen, C. Cui, J. P. Dowling, Z. Y. Ou, and T. Byrnes, Phys. Rev. A 100, 032330 (2019).
  * Lu  _et al._ [2020] H.-H. Lu, Z. Hu, M. S. Alshaykh, A. J. Moore, Y. Wang, P. Imany, A. M. Weiner, and S. Kais, Advanced Quantum Technologies 3, 1900074 (2020).
  * Duclos-Cianci and Poulin [2013] G. Duclos-Cianci and D. Poulin, Phys. Rev. A 87, 062338 (2013).
  * Anwar  _et al._ [2014] H. Anwar, B. J. Brown, E. T. Campbell, and D. E. Browne, New Journal of Physics 16, 063038 (2014).
  * Aloshious and Sarvepalli [2019] A. B. Aloshious and P. K. Sarvepalli, Phys. Rev. A 100, 012348 (2019).
  * Bombin and Martin-Delgado [2006] H. Bombin and M. A. Martin-Delgado, Phys. Rev. Lett. 97, 180501 (2006).
  * Bombin [2011] H. Bombin, New Journal of Physics 13, 043005 (2011).
  * Fowler [2011] A. G. Fowler, Phys. Rev. A 83, 042310 (2011).
  * Landahl  _et al._ [2011] A. J. Landahl, J. T. Anderson, and P. R. Rice, arXiv:1108.5738v1 [quant-ph] (2011).
  * Fowler  _et al._ [2012] A. G. Fowler, M. Mariantoni, J. M. Martinis, and A. N. Cleland, Phys. Rev. A 86, 032324 (2012).
  * Hastings and Geller [2015] M. B. Hastings and A. Geller, Quantum Info. Comput. 15, 962 (2015).
  * Brown  _et al._ [2017] B. J. Brown, K. Laubscher, M. S. Kesselring, and J. R. Wootton, Phys. Rev. X 7, 021029 (2017).
  * Yoder and Kim [2017] T. J. Yoder and I. H. Kim, Quantum 1, 2 (2017).
  * Lavasani and Barkeshli [2018] A. Lavasani and M. Barkeshli, Phys. Rev. A 98, 052319 (2018).
  * Gowda and Sarvepalli [2020] M. G. Gowda and P. K. Sarvepalli, Phys. Rev. A 102, 042616 (2020).
  * Gowda and Sarvepalli [2021] M. G. Gowda and P. K. Sarvepalli, Phys. Rev. A 104, 012603 (2021).
  * Kitaev [2003] A. Kitaev, Annals of Physics 303, 2 (2003).
  * Bombin [2010] H. Bombin, Phys. Rev. Lett. 105, 030403 (2010).
  * You and Wen [2012] Y.-Z. You and X.-G. Wen, Phys. Rev. B 86, 161107 (2012).
  * Kesselring  _et al._ [2018] M. S. Kesselring, F. Pastawski, J. Eisert, and B. J. Brown, Quantum 2, 101 (2018).
  * Litinski and von Oppen [2018] D. Litinski and F. von Oppen, Phys. Rev. B 97, 205404 (2018).
  * Bombin  _et al._ [2012] H. Bombin, G. Duclos-Cianci, and D. Poulin, New Journal of Physics 14, 073048 (2012).
  * Bhagoji and Sarvepalli [2015] A. Bhagoji and P. Sarvepalli, in  _2015 IEEE International Symposium on Information Theory (ISIT)_ (2015) pp. 1109–1113.