Cellular-automaton decoders for topological quantum memories
M.\ Herold
E.\ T.\ Campbell
J.\ Eisert
M.\ J.\ Kastoryano
We introduce a new framework for constructing topological quantum memories, by recasting error recovery as a dynamical process on a cellular automaton. We envisage quantum systems controlled by a classical hardware composed of small local memories, communicating with neighbors, and repeatedly performing identical simple update rules. This approach does not require any global operations or complex decoding algorithms. Our cellular automata draw inspiration from classical field theories, with a Coulomb-like potential naturally emerging from the local dynamics. For a 3D automaton coupled to a 2D toric code, we present evidence of an error correction threshold above $6.1\%$ for uncorrelated noise. A 2D automaton equipped with a more complex update rule yields a threshold above $8.2 \%$. Our framework provides decisive new tools in the quest for realizing a passive dissipative quantum memory.
macros.tex

%\usepackage[labelfont=bf,figurename=Figure]{caption}


% ???

\def\R{\mathbb{R}}
\def\C{\mathbb{C}}
\def\CZ{\overline{CZ}}
\def\H{\overline{H}}
\newcommand*{\an}[1]{\ensuremath{#1}}
\newcommand*{\cre}[1]{\ensuremath{#1^\dagger}}
\newcommand*{\no}[1]{\ensuremath{\cre{#1} \an{#1}}}
\newcommand*{\ddt}{\frac{\mathrm{d}}{\mathrm{d}t}}



% COMMANDS WITH PARAMETERS

\newcommand*{\abs}[1]{\ensuremath{\lvert #1 \rvert}}
\newcommand*{\norm}[1]{\ensuremath{\lVert #1 \rVert}}
\newcommand*{\Abs}[1]{\ensuremath{\left\lvert #1 \right\rvert}}
\newcommand*{\Norm}[1]{\ensuremath{\left\lVert #1 \right\rVert}}
\newcommand*{\pdo}[2]{\frac{\partial #1}{\partial #2}}
\newcommand*{\pd}[1]{\frac{\partial }{\partial #1}}
\renewcommand*{\vec}[1]{\ensuremath{\mathbf{#1}}}


% MATH OPERATORS

% operators *
\DeclareMathOperator*{\avg}{avg}
\DeclareMathOperator*{\argmax}{arg\,max}

%operators
\DeclareMathOperator{\Dim}{Dim}
\DeclareMathOperator{\dist}{dist}
\DeclareMathOperator{\Div}{div}
\DeclareMathOperator{\grad}{grad}
\DeclareMathOperator{\im}{Im}
\DeclareMathOperator{\laplace}{\upDelta}
\DeclareMathOperator{\re}{Re}
\DeclareMathOperator{\rank}{rank}
\DeclareMathOperator{\rot}{rot}
\DeclareMathOperator{\Span}{span}
\DeclareMathOperator{\tr}{tr}
\DeclareMathOperator{\polylog}{polylog}
\DeclareMathOperator{\poly}{poly}
\DeclareMathOperator{\sgn}{sgn}
\DeclareMathOperator{\sign}{sign}
\DeclareMathOperator{\wt}{wt}



% SHORTHANDS

% misc
\newcommand*{\id}{\openone}
\newcommand*{\ee}{\mathrm{e}}
\newcommand*{\ii}{\mathrm{i}}
\newcommand*{\ox}{\otimes}


% blackboard bold
\newcommand{\Aa}{\mathbb{A}}
\newcommand{\BB}{\mathbb{B}}
\newcommand{\CC}{\mathbb{C}}
\newcommand{\DD}{\mathbb{D}}
\newcommand{\EE}{\mathbb{E}}
\newcommand{\FF}{\mathbb{F}}
\newcommand{\GG}{\mathbb{G}}
\newcommand{\HH}{\mathbb{H}}
\newcommand{\II}{\mathbb{I}}
\newcommand{\JJ}{\mathbb{J}}
\newcommand{\KK}{\mathbb{K}}
\newcommand{\LL}{\mathbb{L}}
\newcommand{\MM}{\mathbb{M}}
\newcommand{\NN}{\mathbb{N}}
\newcommand{\OO}{\mathbb{O}}
\newcommand{\PP}{\mathbb{P}}
\newcommand{\QQ}{\mathbb{Q}}
\newcommand{\RR}{\mathbb{R}}
\newcommand{\Ss}{\mathbb{S}}
\newcommand{\TT}{\mathbb{T}}
\newcommand{\UU}{\mathbb{U}}
\newcommand{\VV}{\mathbb{V}}
\newcommand{\WW}{\mathbb{W}}
\newcommand{\XX}{\mathbb{X}}
\newcommand{\YY}{\mathbb{Y}}
\newcommand{\ZZ}{\mathbb{Z}}

% caligraphic
\newcommand{\AAA}{\mathcal{A}}
\newcommand{\BBB}{\mathcal{B}}
\newcommand{\CCC}{\mathcal{C}}
\newcommand{\DDD}{\mathcal{D}}
\newcommand{\EEE}{\mathcal{E}}
\newcommand{\FFF}{\mathcal{F}}
\newcommand{\GGG}{\mathcal{G}}
\newcommand{\HHH}{\mathcal{H}}
\newcommand{\III}{\mathcal{I}}
\newcommand{\JJJ}{\mathcal{J}}
\newcommand{\KKK}{\mathcal{K}}
\newcommand{\LLL}{\mathcal{L}}
\newcommand{\MMM}{\mathcal{M}}
\newcommand{\NNN}{\mathcal{N}}
\newcommand{\OOO}{\mathcal{O}}
\newcommand{\PPP}{\mathcal{P}}
\newcommand{\QQQ}{\mathcal{Q}}
\newcommand{\RRR}{\mathcal{R}}
\newcommand{\SSS}{\mathcal{S}}
\newcommand{\TTT}{\mathcal{T}}
\newcommand{\UUU}{\mathcal{U}}
\newcommand{\VVV}{\mathcal{V}}
\newcommand{\WWW}{\mathcal{W}}
\newcommand{\XXX}{\mathcal{X}}
\newcommand{\YYY}{\mathcal{Y}}
\newcommand{\ZZZ}{\mathcal{Z}}

% EOF

phi_field_draft_arXiv.tex
\documentclass[aps,prl,reprint,superscriptaddress,amsmath,amssymb]{revtex4-1}

\usepackage{times}
\usepackage{microtype}
\usepackage{graphicx}
\usepackage{upgreek}
\usepackage{bm}

\usepackage[
paperwidth=210mm,
paperheight=276mm,
centering,
height=24cm,
width=18cm]{geometry}

\usepackage{hyperref}
\hypersetup{
    colorlinks=true,       % false: boxed links; true: colored links
    linkcolor=black,       % colour of internal links
    citecolor=black,       % colour of citation anchors
    filecolor=black,       % colour of links to local files
    urlcolor=black,        % colour for external urls
    menucolor=black,       % whatever
}

\makeatletter
\renewcommand\thetable{\arabic{table}}
\renewcommand{\fnum@figure}{\textbf{Figure~\thefigure}}
\renewcommand{\fnum@table}{\textbf{Table~\thetable}}
\renewcommand \@caption@fignum@sep{\textbf{.} }
\makeatother

\renewcommand{\pi}{\uppi}

%%% WORK IN PROGRESS, DELETE AFTERWARDS

\usepackage{xcolor}
\newcommand*{\earl}[1]{\textcolor{black}{#1}}
\newcommand*{\mih}[1]{\textcolor{black}{#1}}
\newcommand*{\jens}[1]{\textcolor{black}{#1}}
\newcommand*{\mjk}[1]{\textcolor{black}{#1}}

%%% END WORK IN PROGRESS


\input{macros}


   
\begin{document}
\title{Cellular-automaton decoders for topological quantum memories}

\author{M.\ Herold}
\affiliation{Dahlem Center for Complex Quantum Systems, Freie Universit{\"a}t Berlin, 14195 Berlin, Germany}

\author{E.\ T.\ Campbell}
\affiliation{Dahlem Center for Complex Quantum Systems, Freie Universit{\"a}t Berlin, 14195 Berlin, Germany}
\affiliation{Department of Physics and Astronomy,
University of Sheffield, Sheffield S3 7RH, UK}

\author{J.\ Eisert}
\affiliation{Dahlem Center for Complex Quantum Systems, Freie Universit{\"a}t Berlin, 14195 Berlin, Germany}

\author{M.\ J.\ Kastoryano}
\affiliation{Dahlem Center for Complex Quantum Systems, Freie Universit{\"a}t Berlin, 14195 Berlin, Germany}

%\email{mkastoryano@gmail.com}


\begin{abstract}
We introduce a new framework for constructing topological quantum memories, by recasting error recovery as a dynamical process on a cellular automaton. We envisage quantum systems controlled by a classical hardware composed of small local memories, communicating with neighbors, and repeatedly performing identical simple update rules. This approach does not require any global operations or complex decoding algorithms. Our cellular automata draw inspiration from classical field theories, with a Coulomb-like potential naturally emerging from the local dynamics. For a 3D automaton coupled to a 2D toric code, we present evidence of an error correction threshold above $6.1\%$ for uncorrelated noise. A 2D automaton equipped with a more complex update rule yields a threshold above $8.2 \%$.  Our framework provides decisive new tools in the quest for realizing a passive dissipative quantum memory. 

\end{abstract}

\maketitle  

\noindent 

Prolonging the lifetime of quantum information stored in a quantum device is a monumental challenge. Yet, it is the necessary first step in the effort to scale up 
quantum computing and quantum communication to a commercially viable level.  As quantum coherence is intrinsically fragile, it is clear that increased robustness of the encoded information needs to rely heavily on quantum error correction~\cite{Aharonov,G01a}. Topological codes in particular have emerged as the most promising quantum error correcting codes~\cite{SurfaceCode}, where the toric code 
\cite{tor,Kitaev}
is a 
paradigmatic example. However, in three or fewer dimensions, excitations propagate at little energy cost under thermal dynamics, rapidly corrupting the encoded information~\cite{yoshida2011feasibility}. Schemes based on sequential measurements of the system's error syndromes, and subsequent elimination of errors have been suggested to preserve the logical subspace.

When performing active error correction, it is essential for the decoding process to be much quicker than the decoherence time. Prior proposals have focused on the development of efficient decoding algorithms~\cite{WangFowlerHollenberg,Duclos-Cianci10,BravyiHaah} or decoders with high error thresholds \cite{Wootton12,Hutter14}. Some of them offer the possibility of parallelization enabling a runtime logarithmic in the system size~\cite{fowler2013minimum,Duclos-Cianci10}. This improves prospects, but still requires a computer with rapid communication between many spatially separated cores. Hence, key obstacles remain.

\begin{figure}[t!]\centering
\includegraphics{2d.pdf}%
\includegraphics{3d.pdf}\vspace{-0.3cm}

\includegraphics{setting1.pdf}%
\includegraphics{setting2.pdf}

\caption{\textbf{Schematic presentation of the cellular automaton decoders.} (\textbf{a}) The toric code on a periodic lattice controlled by a classical cellular automaton decoder on a 2D lattice. Blue spheres represent the physical qubits and the green boxes represent the elementary cells of the automaton. The communication between cells and with the syndrome measurements (anyons) is nearest neighbor, indicated via connecting tubes. (\textbf{b}) A 3D cellular automaton decoder with the central layer hosting the toric code.  (\textbf{c}) The field, encoded in the cellular automaton, generated by the anyons of the toric code. Regions with a larger density of anyons have a larger field value. The profile of the field will depend on the specific characteristics of the automaton dynamics. The cellular automaton performs two tasks: (i) it updates the field in order to propagate information between distant anyons, and (ii) it moves the anyons in the direction of largest field gradient. (\textbf{d}) Logical information associated with one decoding run. The red diamonds are the ends of error strings, the orange lines are the actual physical error lines, and the blue dotted lines are the recovery paths dictated by the decoder.}
\label{Fig1}
\end{figure}

In this work, we propose an entirely new approach towards designing topological quantum memories that naturally incorporates parallelization. Our design can be implemented via classical hardware composed of small local memories and a small set of local operations only depending on neighboring memories and neighboring physical qubits, without constituting universal local processors~\cite{Gacs,Harrington2004}. That is, we develop simple cellular automata which efficiently perform active error correction on the toric code. The operational principles of our automata are based on the mediation of attractive long-range interactions between excitations. That way  excitations will tend to collapse together rather than to extend out and create logical errors in the code. Inspired by classical electrostatics and gravitational fields, we identify local update rules that induce such error correcting long range fields.

We provide extensive numerical analysis of three specific decoders, two of which use a 2D automaton, and the third using a 3D automaton.  Two of our decoders perform competitively when compared against conventional decoders that require more sophisticated hardware.  We also provide detailed analysis of the equilibration and propagation characteristics of the fields generated by the automata, which justifies the choice of tunable parameters in our decoders. Finally, we study a class of long range fields and their decoding capabilities, and observe that certain fields are too long range to reliably identify excitation pairs. 

% Based on this we give an analytic argument for a transition in a field parameter from the non-error correcting to the error correcting regime.

Our schemes share some features with other proposals which add an auxiliary system in order to enforce suppression of error creation~\cite{Hamma,Pedrocchi11, Pedrocchi13,Fujii14,SelfCorrectingMemoryBoundary, ThermallyStableSurfaceCode,Weakly}.  Prior proposals typically use quantum %
auxiliary systems 
instead of classical auxiliary systems for studies of self-correcting memories, where full numerical investigations are prohibitively difficult. Our class of models in some sense combines the benefits of active and of passive memories. Indeed, provided that the cellular automaton update rules  do not change in time, the decoding process can be interpolated down to continuous time. In this setting error correction acts simultaneously with error creation, effectively preventing the creating of long error strings. This would amount to a dissipative self-correcting memory~\cite{Pastawski11,DissipativeGadgets}. In this work, we focus on decoding devices but it should be clear that our design incentives promise a generalization to new schemes of dissipative self-correction. 

\section{Results}

\noindent\textbf{Our model.} The main purpose of this work
is to present a fundamentally new class of decoders for the 2D toric code.  The toric code has the important feature  that it can be considered as a physical model with purely local interactions. In this model, the physical spins reside on the edges of a periodic $L\times L$ 
lattice which we henceforth denote $\VV$, and the stabilizer operators act on the four neighboring spins in the star or plaquette formation (see the Methods section for a brief review of the toric code). Errors in the toric code appear as strings, where only the endpoints of the strings are revealed in the error syndrome measurements.  We will refer to these endpoints as \emph{anyons}, and they play the role of excitations in a classical statistical model \cite{SurfaceCode,Bombin12}.  An error configuration is successfully decoded if all anyons are paired, such that all anyon paths are  contractible loops on the torus. Throughout, we assume independent single site Pauli-spin $X$ and $Z$ errors at a rate $p$. In this way both error sectors decouple, and we can treat them independently. Here we consider only  $X$ errors, the $Z$ errors can be treated identically.

The decoders we propose were conceived with the following goal in mind: To arrive at
purely local update rules that are as simple as possible. By this we mean that the decoding can be implemented with simple local units of computation that depend only on nearest neighbors. The most natural model for this type of computation is a cellular automaton, which is  indeed the nature of our class of decoders. In particular, we will consider an auxiliary cellular automaton, whose purpose  is to communicate long range information between anyons, that enables local decisions to correct errors in the toric code (see Fig.~\ref{Fig1}).

The automaton extracts anyon information from the physical qubits via local stabilizer measurements at each cell of the toric code lattice $\mathbb{V}$, the resulting outcome  is stored in some local registry which we label $q_{E}(\vec{v})$.  The automaton also uses an auxiliary classical system on another lattice $\Lambda$, and at each cell $\vec{x} \in \Lambda$ and at each time $t$ it stores a real number $\phi_t(\vec{x})$. We will refer to the auxiliary system as the \emph{field} generated by the \emph{$\phi$-automaton}.  The simplest auxiliary lattice  has cells coinciding with the toric code cell (so $\Lambda = \mathbb{V}$), but we also consider larger dimensional auxiliary systems provided they include the toric code as a sub-lattice $\mathbb{V} \subset \Lambda$. Every auxiliary lattice considered herein is either a 2D torus, so $\Lambda \cong \mathbb{V}$, or a 3D torus with the $x_{3}=0$ plane coinciding with the toric code lattice.  To simplify later expressions, we extend the domain of $q_{E}$ to the whole auxiliary lattice with the understanding that anyons never leave the toric plane, so $q_{E}(\vec{x})=0$ whenever $x_{3}\neq 0$.

\begin{table}[t]
\caption{\textbf{Summary of results for $\phi$-automaton decoders.} }
\label{tbl:results}

\vspace{1em}
    \begin{ruledtabular}
    \begin{tabular}{lccc}
    & 2D &  2D$^*$ & 3D \\
    \colrule
    Lattice ($\Lambda$) & $L \times L$ & $L \times L$ & $L \times L \times L$  \\
    Field velocity ($c$) &  $\tau $ indep. & $ 1 + 0.2\cdot \tau $ & $10\cdot\log^2 (L)$ \\
    Threshold ($p_{\text{th}}$) & N/A & $ 8.2\,\%$ & $6.1\,\%$ \\
    Required sequences ($\tau_\text{RT}$)& N/A & $o(\log^{2.5} (L) )$ & $o(\log (L))$ 
    \end{tabular}
    \end{ruledtabular}

\raggedright\footnotesize

%\mih{We call the \jens{decoder's} main-loop body a sequence, with the sequence index $\tau$ incremented once per sequence. The decoder terminates after $\tau_\text{RT}$ sequences on average.} 
\mjk{ $\tau$ refers to the sequence index, where each sequence contains $c+1$ 
elementary \mih{updates per cell}. The decoder terminates after $\tau_\text{RT}$ sequences on average. For the 2D$^*$ decoder the rules for the field updates can be thought of as 
time dependent since $c$ increases with $\tau$. The smoothing parameter as defined in Eq.~\eqref{eq:PhiUpdate-Recursive} is $\eta=1/2$.}

\end{table}

The  system's configuration at any given time 
is the triple $\{ E, q_{E}, \phi \}$, where $E$ is the actual error configuration. Assuming ideal measurements, $q_{E}$ is redundant as it is determined by the error configuration.  The dynamics of the system are divided into update sequences, labeled by $\tau$, in which
$\{ E, q_{E}, \phi \}$ evolve.  Each update sequence is subdivided into $c+1$ elementary steps, first there are $c$ repetitions of a $\phi$-update (in which
only $\phi$ changes), followed by a single anyon update (a partial error correction where $E$ and hence also $q_{E}$ change).  Since lattice cells only interact with their nearest neighbors, these elementary update rules must be local.  In a single $\phi$-update from time $t$ to $t+1$, the field $\phi_{t+1}(\vec{x})$ can only depend on $\phi_{t}(\vec{x})$, $q_{E}(\vec{x})$ and values $\phi_{t}(\vec{y})$ where $\vec{y}$ is a neighbor of $\vec{x}$.  For each excited cell (where $q_{E}(\vec{x})=1$) the anyon update rule decides whether the anyon hops to an adjacent site, and being similarly local, this rule depends only on $\phi$ values at adjacent sites.  With good design of update rules, the $\phi$ values will meditate information between anyons about the location of their closest potential partners. Later, we derive suitable updates rules, which can be roughly characterized as: take the average of your neighbors and add the charge. This corresponds to a local discretization of  Gauss' law. 


There are innumerable conceivable rules for anyon update, but we found the following simple rule functioned well:  find the adjacent cell with (unique) largest field value, then move there with probability $1/2$. Physically, an anyon hopping from $\vec{x}$ to  $\vec{y}$ is implemented by a Pauli $X$ applied to the qubit on the lattice edge separating cells $\vec{x}$ and $\vec{y}$.  All anyon hops occur in parallel resulting in partial correction of the error string $E$, to a new string
$E'$ and the anyon distribution similarly updates to $q_{E'}$.  This process only removes anyons, with two anyons on the same site canceling, eventually removing all anyons and so completing a whole error correction cycle. The ratio between the number of $\phi$ updates per anyon update is labeled $c$, and can be understood as the speed of propagation of the field. We will call $c$ the \textit{field velocity}. A pseudo code of our algorithm is provided in the Methods section.

\begin{figure}
\includegraphics{2d-th.pdf}%
\includegraphics{3d-th.pdf}\vspace{5pt}

\includegraphics{2d-heatmap.pdf}%
\includegraphics{runtimes.pdf}
    \caption{\textbf{Performance of $\phi$-automaton decoders.} (\textbf{a})~Threshold plot for the 2D$^*$ and (\textbf{b})~the 3D $\phi$-automaton decoder. The decoder fail rate decreases with system size below threshold and increases above threshold. The number of samples in (\textbf{a}) ranges from $2\,800$ samples per point for larger system sizes to $21\,000$ samples for smaller system sizes. In \textbf{b} the sample size per point is at least $20\,000$. The points were fitted using a universal scaling law \cite{Watson2013}. (\textbf{c})~2D decoder fail rate as a function of lattice size $L$ and field velocity $c$ for $p=6\,\%$. For very small $c$ the decoder has a large fail rates due to self interaction. At large $c$, the decoder also fails because of a stationary field with excessively long range. There exists a sweet spot around $c\in[5,15]$ and $L\in[20,80]$. (\textbf{d})~Average number of sequences required for a 2D$^*$ and 3D $\phi$-automaton decoder to remove all anyons with $p=1\,\%$. The lines represent best fits using a $\log^\beta (L)$ function for the 2D$^*$ decoder and $\log (L)$ for the 3D decoder. The optimal fit yields $\beta\approx 2.5$.}
\label{Fig_Main_Results}
\end{figure}

\medskip\noindent\textbf{Numerical results.} We numerically benchmarked our decoders using uncorrelated $X$ and $Z$ flip  noise with error probability $p$.
We say that a decoder is \emph{asymptotically-working} if it exhibits an error correction threshold $p_\text{th}$. That is to say, if $p<p_\text{th}$ then increasing the lattice size linearly, exponentially suppresses the probability of the decoder creating a logical error by mismatching anyons (see Methods).  Numerically, the threshold appears as a crossing for various lattice sizes, such as in Fig.~\ref{Fig_Main_Results}a,b.

% and an error correction cycle can be completed in a time sub-linear in system size. 

Our results are summarized in Table~\ref{tbl:results}.  We present three decoders called the 2D, 2D$^*$ and 3D automata.  The 2D$^*$ and 3D cases yield asymptotically working decoders, whereas the simple 2D decoder only suppresses errors up-to a finite size lattice (e.g. $L \sim 60$, see Fig.~\ref{Fig_Main_Results}c).  While the 2D decoder is expected to be most
suitable for modest storage needs, no strict asymptotic threshold exists.  However, if we let $c$ increase with each sequence $\tau$, then the resulting 2D$^*$ $\phi$-automaton has a threshold of $\sim 8.2\%$ (see Fig.~\ref{Fig_Main_Results}a). A 2D toric code embedded in a 3D $\phi$-automaton exhibits a noise threshold around  $\sim 6.1\%$ (see Fig.~\ref{Fig_Main_Results}b) for a fixed $c$. That is, $c$ is constant across sequences, but 
scales logarithmically with $L$. These thresholds are only a few percent below the best thresholds using a centralized computing architecture. 

Ideally, we would like all update rules to be completely independent of the system size $L$, and not to change throughout sequences. Yet, we find that this is not possible within the framework of $\phi$ automaton decoders. Indeed, simulations show that in 
order for the decoder to converge in a time which is sub exponential in $L$, the field has to have propagated a distance of order $\log (L)$, which corresponds to a lower bound on the field velocity $c \geq c_{\text{min}} \sim \log^2(L)$. The dependence on $\log(L)$ can be understood by the fact that maximal clusters of errors below the error threshold are of order $\log(L)$ (see Refs.~\cite{kovalev2013fault,gottesman2013overhead} and Methods), and the decoder must collapse these maximal clusters in a time proportional to their size. If $c$ were to be taken independent of $L$, then beyond a critical cluster size, the field contribution due to an anyon's self-interaction would dominate the contribution from the anyons at the other end of the cluster, hence causing persistent flickering of the anyons and preventing the decoder from converging in a reasonable time.  Thus, in any field based model, the field velocity must scale with the system size. Later in the paper, we give an explicit lower bound on $c$ which is derived from the equilibration properties of the $\phi$-automaton.

Given that we want our class of decoders to be adaptable to a setting where measurement data is regularly refreshed, it is desirable to have update rules that are invariant throughout sequences. 
However, this appears not to be possible when the fields are restricted to two spatial
dimensions (see Fig.~\ref{Fig_Main_Results}c). The $\phi$-automaton decoder works asymptotically in three or higher dimensions because of the steady state profile of the field. Indeed, the steady state poisson field of a single charge scales as $\log(r)$ in two dimensions and as $r^{2-D}$ in higher dimension, where $r$ is the distance from the source charge. From numerical simulations, we are lead to conclude that the 2D equilibrium field is too long range, and tends to break the cluster structure of the anyons by extending error strings rather than shrinking them.  In higher dimensions the field profile decays steeply enough so that this is not the case. We also later address whether there is a proper threshold between the $\log(r)$ and the $1/r$  decaying fields.

Should we not be concerned with the field velocity changing across sequences, the 2D$^*$ $\phi$-automaton decoder is preferable as it exhibits a higher threshold and can more easily be implemented in an integrated circuit type architecture \cite{Martinis1,barends2014}. With $c$ increasing linearly at each update sequence, this allows
elements within the clusters to pair up, while simultaneously preventing the field from extending across clusters. The main mechanism  responsible for the success of the 2D$^*$ decoder  is analogous to the ``Expanding Diamonds" decoder from Refs.~\cite{DennisPhD,Wootton}. 

Finally, in Fig.~\ref{Fig_Main_Results}d we summarize  the runtime estimates of our two working $\phi$-automaton decoders. The 3D decoder completes an error correction cycle, pairing all anyons, in the order of $\log(L)$ update sequences, while the 2D$^*$ decoder terminates after $\sim \log^{2.5}(L)$ sequences. This can be seen as very strong evidence that the typical maximal error cluster is indeed of size $\sim\log(L)$, and that our decoders collapse these clusters in optimal time. The 2D$^*$ decoder has a runtime $\sim\log^{2.5}(L)$ sequences as the value of $c$ needs to exceed $\sim \log^2(L)$ before the $\phi$-automaton can transmit information across a maximal cluster to collapse it. It should be noted that our estimate of the exponent of $2.5$ is based on fitting a poly-logarithmic function using 11 data points, and could be slightly off. Finally, each sequence is composed of $c$ field updates and one anyon update, and so we can also quantify runtime  in units of updates.  For the 3D decoder, $\log(L)$ sequences with $c =10\cdot \log^2(L)$ gives a runtime of order $\log^3(L)$ updates.  For the 2D decoder $\log^{2.5}(L)$ sequences with $c = 1+\tau/5$, we sum over $\tau=1,\dots,\log^{2.5}(L)$ to get a runtime of order $ \log^5(L)$ updates.

\medskip\noindent\textbf{The $\phi$-automaton.} In this section we explore in detail the local update rules of the $\phi$-automaton from physically motivated considerations. The key idea is to emulate a long-range field, such as from Newton's law of gravitation or Coulomb's law, which mediates an attractive force between the excitations of the toric code. 
In nature such long range forces emerge from simple local dynamics in the field. Here we  achieve the same effect on a discrete lattice governed by a cellular automaton. The notion of mutually attracting particles with equal charge rather corresponds to gravitational fields, but we will stick to a language that is mainly inspired by electrodynamics. 

To elaborate on this analogy, we detour into electrostatics, where the electric field is the gradient of a scalar potential $\Phi$. Gauss's law simplifies to Poisson's equation
\begin{equation}
    \nabla^2 \Phi(\vec{x}) = \sum_{j=1}^{D} \frac{ d^2 \Phi(\vec{x}) }{d x_{j}^2} = q(\vec{x}) ,
\end{equation}
where $D$ is the spatial dimension and $q$ is the charge distribution.  The only isotropic solution of Poisson's equation with a single charge at the origin is
\begin{equation}
\label{ContVar}
\Phi(\vec{x}) = \begin{cases}
-\log r & {\rm for } ~D=2 ,\\
r^{2-D} & \text{otherwise,}
\end{cases}
\end{equation}
where $r=\dist(\vec{x},\vec{0})$
denotes the distance of some lattice site $\vec{x}$ from the source charge at the origin. The minus in front of the logarithm is chosen to ensure that $\Phi$ is convex for all $D$. The variety of long range behavior motivates the use of $\Phi$ as an information mediator. Our goal is now to approximate $\Phi$ via a cellular automaton.

A convenient discretization of the derivative (in 1D) is $\operatorname{d}: \phi(x) \mapsto \phi(x+1/2)-\phi(x-1/2)$. Applying this prescription twice yields the double derivative $\operatorname{d}^2: \phi(x) \mapsto \phi(x+1)+\phi(x-1)-2\phi(x)$. On a $D$-dimensional square lattice $\Lambda$, this generalizes to the discrete Laplacian operator
\begin{equation}\label{eq:discr_poisson}
   \nabla^2 \phi(\vec{x}) = -2 D \phi(\vec{x}) + \sum_{ \langle \vec{y}, \vec{x} \rangle} \phi(\vec{y}) ,
\end{equation}
where the sum $  \langle \vec{y}, \vec{x} \rangle$
is over all cells $\vec{y}$ neighboring cell $\vec{x}$; so all $\vec{y}$ for which $\dist(\vec{x},\vec{y})=1$.

We proceed by specifying a set of dynamical equations, or $\phi$-automata update rules, whose stationary distribution satisfy the discrete Poisson equation $\nabla^2 \phi(\vec{x}) = C q( \vec{x})$.  Here the role of the charge is replaced by anyonic excitations, and we identify $q$ with $q_E$. Note that only gradients of $\phi$ will be considered meaningful for anyon movement, and so fields differing by an additive constant are deemed equivalent. Invoking the Jacobi method \cite{saad2003iterative}, we consider the following $\phi$-automaton update rule
\begin{equation}
\label{eq:PhiUpdate-Recursive}
    \phi_{t+1}(\vec{x}) = (1-\eta)  \phi_{t}(\vec{x}) + \frac{\eta}{2 D}\sum_{ \langle \vec{y}, \vec{x} \rangle}  \phi_{t}(\vec{y})  +q_{E}(\vec{x})  ,   \end{equation} 
where $0 < \eta < 1/2$ is a smoothing parameter we can freely choose and for convenience the unit charge is set to $C=-2 D / (1-\eta)$. These update rules are manifestly local. We can cast Eq.~\eqref{eq:PhiUpdate-Recursive} as a matrix equation $\phi_{t+1}=G\phi_{t}+ q_E$ which should be read as
\begin{equation}
\label{EQN_update}
\vec{\phi}_{t+1}(\vec{x})=\sum_{\vec{y}} G_{\vec{x}, \vec{y}} \vec{\phi}_t(\vec{y}) + q_E(\vec{x}),
\end{equation}
where $G$ is a doubly stochastic block
circulant matrix encoding the $\phi$-automaton update steps.  This reformulation allows us to leverage the machinery of matrix analysis \cite{Bhatia}.

\medskip\noindent\textbf{Stationary states and equilibration.}  Assume for now that the anyon configuration is fixed. By recursively iterating Eq.~\eqref{EQN_update}, we get
\begin{equation}
\vec{\phi}_{t}= G^t \vec{\phi}_0 +\sum_{m=0}^{t-1}G^m q_E.
\end{equation}
It is easy to see that in general the $\phi$-automaton satisfying Eq.~\eqref{eq:PhiUpdate-Recursive} does not converge, since the total field values build up steadily due to the charges.  Indeed, when $Q=\sum_{\vec{x}}q_{E}(\vec{x})$ denotes the total charge present in the lattice, the total field increases by $Q$ with each anyon update.  However, it is important that the gradient of the field equilibrates towards a fixed value.  With this in mind, we define $\tilde{\phi}_{t}$ to be the rescaled version of $\phi_t$
such that $\tilde{\phi}_{t}(\vec{x})=\phi_t(\vec{x})-K$, where the constant $K$ is chosen such that $\sum_\vec{x}\tilde{\phi}_{t}(\vec{x})=0$.

The matrix $G$ can be diagonalized by Fourier transform (see the Supp. Mat.), 
allowing us to obtain a unique solution such that  ${\tilde{\phi}}_{t} \rightarrow {\tilde{\phi}}_{\infty}$ as $t \rightarrow \infty$.  We find that the stationary field produced by a single anyon at the origin is
\begin{equation}\label{steady_state_field}
 \tilde{\phi}_{\infty}(\vec{x}) =   \varphi(\vec{x}):=  L^{-D}\sum_{\vec{k} \in \Lambda, \vec{k} \neq \vec{0}} (1- \lambda_{\vec{k}})^{-1} e^{ i  \vec{k}\cdot\vec{x} },
\end{equation}
where the sum is over all Fourier components except the zero vector and $\lambda_{\vec{k}}$ are the eigenvalues of the matrix $G$,
\begin{equation}\label{Eigenvalues}
    \lambda_{\vec{k}} =  1-\eta+\frac{\eta}{D}\sum_{j=1}^{D} \cos ( k_{j} ) .
\end{equation}
The $\vec{k}=\vec{0}$ term is excluded from the sum in Eq.~\eqref{steady_state_field} which would provide an additive constant to the field. By omitting this term we fix the normalization so that $\sum_\vec{x} \varphi(\vec{x})=0$.  It is also easy to see that the stationary distribution of a charge at cell $\vec{y}$ is given by $\varphi(\vec{x} - \vec{y})$. By linearity,  the $\phi$-automaton satisfies the superposition principle of fields, and hence the stationary distribution of a collection of charges is just the sum of the distributions of each individual charge. That is, 
$\tilde{\phi}_{\infty}(\vec{x})=\sum_{\vec{y}} q_{E}(\vec{y}) \varphi(\vec{x}-\vec{y})$.  

The distance between $\tilde{\phi}_{t}$ and $\tilde{\phi}_{\infty}$ (as measured by Euclidean distance) can be shown by using matrix inequalities to decrease exponentially fast, so that (details in Supp. Mat.)
\begin{equation}
    \norm{ \tilde{\phi}_{t}-\tilde{\phi}_{\infty} }_2 \leq e^{-(\eta \pi^2 /D) t/L^2}  \norm{ \tilde{\phi}_{0}-\tilde{\phi}_{\infty} }_2 ,
\end{equation}
where the distance is measured in the vector 2-norm $\norm{\vec{u}}_2^2=\vec{u}\cdot \vec{u}$.  This would suggest a relaxation time of the $\phi$-automaton of the order of $L^2$, which can be understood as diffusive spreading of information. In the following section we will argue that the relevant contribution of the field converges in a time much faster for our decoders, because we are only interested in information propagating on distance scales of the order $\log(L)$, the maximal error cluster size. 

\begin{figure}
\includegraphics{self-interaction.pdf}
 \caption{\textbf{Self-interaction} A setup with two isolated
 anyons $A$ and $B$, and their fields in a self-interaction cycle.  Suppose that the fields from each anyon starts in its stationary configuration (\textbf{a}). After one anyon update move, anyon $A$ moves in the direction of largest field gradient -- towards anyon $B$. (\textbf{b}) Immediately after anyon $A$ moves, the field which it leaves behind is much larger that the field from anyon $B$. (\textbf{c}) After a certain number of field updates, the residual self field from anyon $A$ decreases, but might still still tell the anyon to move in the wrong direction (\textbf{d}).}
    \label{Fig_Flickering}
\end{figure}


\medskip\noindent\textbf{Self interaction.} The $\phi$-automaton carries information about distant anyons through local update rules. As has already been hinted at in the previous section, information takes time to propagate through the field, and the most relevant manifestation is in the pernicious phenomenon of self interaction. Consider two close-by anyons $A$ and $B$, as in Fig.~\ref{Fig_Flickering}. Our story begins with anyon $A$ moving in the direction of largest local field gradient, towards anyons $B$. After anyon $A$ has moved, it leaves behind  its own field, which will typically be a local maximum of the $\phi$-automaton. In order for anyon $A$ at the end of the following sequence to again move in the direction of anyon $B$, the field gradient generated by anyon $B$ has to be larger than the residual self field gradient around the cell of anyon $A$. We call this phenomenon self interaction, and next derive conditions on the field velocity to prevent this from occurring.

Suppose anyon $A$ starts at the origin and anyon $B$ is at cell $\vec{y}$.  Assuming the initial configuration is at equilibrium, $\phi_{0}(\vec{x})=\varphi(\vec{x})+\varphi(\vec{x}-\vec{y})$.  After anyon $A$ moves, the field begins to relax towards $\phi_{\infty}(\vec{x})=\varphi(\vec{x}-\vec{e})+\varphi(\vec{x}-\vec{y})$, where $\vec{e}$ is a unit vector in the direction of anyon $B$.  We want to estimate the time required before the field gradient generated by anyon $B$ is larger than the self-interaction of anyon $A$. 
In other words,  assuming $\phi_0(\vec{x})=\varphi(\vec{x})+\varphi(\vec{x}-\vec{e})$, after what time do we have 
\begin{equation}\label{eqn:converg1}
    \abs{ \phi_{t}(\vec{x})-\phi_{\infty}(\vec{x}) }   \leq g_l,
\end{equation}
where $g_l$ is the gradient at the origin due to a charge at a distance $l=\dist(\vec{0},\vec{y})$. It is not difficult to see that the left hand side of Eq.~\eqref{eqn:converg1} does not depend on the field from  anyon $B$. 


A straightforward, but lengthy, calculation (in the Supp. Mat.) shows that  for all $\epsilon >0$
\begin{equation}
    \abs{ \phi_{t}(\vec{x})-\phi_{\infty}(\vec{x}) } \leq \epsilon
\end{equation}
whenever
\begin{equation}
\label{tmin_rough}
	t \geq  \chi(\vec{x}) \epsilon^{-2/(D-1)},
\end{equation}
where $\chi$ is a function of position, but is independent of $t$ (see Supp.\ Mat. for the
exact form). Considering the second anyon at point $\vec{y}= \vec{e}$, it creates a field gradient near the first anyon (at the origin)
\begin{equation}
    \nabla \varphi(\vec{x}-\vec{y}) |_{\vec{x=0}} = 
    \sum_{j} (\varphi(-\vec{y})-\varphi(\vec{e}_{j}-\vec{y})) 
    \cdot \vec{e}_{j},
\end{equation}
where $\{\vec{e}_{j}\}$ is an orthonormal basis of unit vectors.  Therefore, we must require that
\begin{equation}
     \chi(0) \epsilon \leq   \abs{ \nabla \varphi(\vec{x}-\vec{y}) |_{\vec{x=0}}  } := g_{\vec{l}}.
\end{equation}
By percolation arguments, the maximum  cluster size of anyons can be argued to typically be order $l \sim \log ( L )$.  
Given that the gradient is of the order $l^{1-D}$, require $\epsilon \sim \log(L)^{1-D}$,
\begin{equation}
\label{EQ_cMin}
     c \geq  c_{\rm crit}\sim \log^2(L),
\end{equation}
where the dependence on $D$ has now cancelled.





\medskip\noindent\textbf{The field profile.} We already discussed in detail that when the field velocity $c$ is kept invariant throughout sequences,   the 2D and 3D decoders exhibit fundamentally different behavior.  Here we supplement these results by investigating another decoder model, not a cellular automata, to investigate the large $c$ regime when fields are always close to stationary solutions.  In order to address this question, we consider a class of power law potentials
%\begin{equation}
%    \Phi_\alpha = \begin{cases}
%    -\log r & \alpha=0\\
%      \frac{\sgn \alpha}{r^\alpha} & \text{otherwise,}
%    \end{cases}
%\end{equation}
%where the sign again is chosen so that all potentials are convex (decaying) functions. 

\begin{equation}
	\Phi(r) = r^{-\alpha}
\end{equation}
for $\alpha>0$.

We simulate anyon movements in these \emph{perfect} fields, by inserting the sum of all anyon fields by hand, instead of simulating it locally by a cellular automaton. We alternate between these instantaneous field updates and the anyon update rule as defined before. For $\alpha=1$ we expect a behavior similar to the decoder with 3D $\phi$-automaton. 
The benchmark presented in Fig.~\ref{Fig_Vary_Alpha}b indeed shows a threshold at $p_{\text{th}}\sim6.3\,\%$, which is very close to the threshold of $\sim 6.1\,\%$ seen for the 3D $\phi$-automaton.  This independently confirms that our choice of finite $c$ is sufficiently large for equilibration between distinct anyon moves.

Seeking to understand the transition between the 2D and the 3D stationary field behavior, we consider various values of $\alpha$ and lattice sizes for fixed $p=5\,\%$ in Fig.~\ref{Fig_Vary_Alpha}a. In general the decoder fail rate reduces with increasing $\alpha$. This supports our claim that fields with a shorter range are more suited for efficient shrinking of errors. However, our main observation is that for $\alpha<0.5$ the decoders fail rate increases drastically with the system size $L$. This means that the decoder does not exhibit a threshold above $p=5\,\%$ for $\alpha<0.5$. Although it is difficult to certify numerically, for $0.5\leq\alpha\leq 0.7$ we did not either find an indication of a threshold at any $p$ up to lattice size $L=400$.

From these observations we infer that there has to exist a critical $\alpha_{T}$ such that $\Phi$ provides a asymptotically-working decoder. For values of $\alpha$ below the transition, the increased contribution from far away anyons leads to the misidentification of error strings.  Recall that anyons move according to the maximal field gradient 
of $r^{-\alpha}$,
which is proportional to $r^{-(\alpha+1)}$. The total field at a point is the sum of the contributions from all of the anyons, hence for an infinite lattice the gradient is only guaranteed to be finite for 
 $1/r^{\beta}$, when $\beta>2$. Only for $\alpha>1$ does the gradient have a well defined value asymptotically. Hence we expect $\alpha_{T}=1$ for the 2D toric code.  This intuition is further supported by a simple simulation of the 1D toric code (i.e., the repetition code), where we observe a clear transition at $\alpha=0$, which corresponds to a gradient of $1/r$. Here, we have allowed for values of $\alpha\leq 0$
 by setting $\Phi({r}) = - r^{-\alpha}$ for $\alpha<0$ and $\Phi=-\log({r})$ for $\alpha=0$.

We highlight that very high values of $\alpha$ are not favorable in general, since they require increased precision in the field  resolution. Meanwhile, we expect that the 3D $\phi$-automaton always gives rise to a field with slightly  shorter range than $1/r$ (i.e., $\alpha>1$). Therefore,
the 3D $\phi$-automaton seems to be sitting exactly at the sweet spot, providing a functioning long range $\phi$-field decoder with a maximally robust field.

\begin{figure}[t]
	\includegraphics{1overR-alpha-heatmap.pdf}%
	\includegraphics{1overR-10-th.pdf}
    \caption{(\textbf{a}) The failure rate $p_{\text{fail}}$ when the initial error rate is $p=5\,\%$, for a range of lattice sizes $L$ and a range of idealized decoders parameterized by $\alpha$.  These decoders are 
    based on an auxiliary system consisting of explicit non-local computation using Coulomb
    potentials of $1/r^{\alpha}$.  At small $\alpha$, $\alpha \leq 1$, 
    the decoder is improper with large lattice sizes yielding large failure rates.  Whereas, at larger $\alpha$ error correction is observed with increasing 
    lattice size. (\textbf{b}) Threshold plot for the idealized decoder with a parameter value $\alpha=1$, which is very close to the behavior observed with the 3D $\phi$-automaton.}
        \label{Fig_Vary_Alpha}
\end{figure}




\section{Discussion}

In this work, we have introduced a new  class of decoders that pair anyonic excitations by mediating long range information through an auxiliary field. The field, and the anyon movement, is generated by a cellular automaton, in such a way that the decoder has an intrinsically parallelized architecture. We have identified two particular decoders within this class that exhibit an error threshold, one requiring a 3D auxiliary system with homogeneous update rules, with an error threshold above $6.1\,\%$, and another with a 2D auxiliary system and time dependent update rules with an error threshold above $8.2\,\%$. These threshold values, although smaller than the best decoders using the minimum weight perfect matching (MWPM) algorithm \cite{fowler09-2} or Monte Carlo techniques~\cite{Wootton12,Hutter14}, are similar to recent popular proposals based on renormalisation group techniques~\cite{BravyiHaah,Duclos-Cianci10} or so-called expanding diamonds \cite{DennisPhD,Wootton}. An approximate MWPM decoder can be parallelized down to a local  communication length of ${O}(\log L)$ \cite{fowler2013minimum}. Whereas, our decoders have a strict locality neighborhood, and are hence potentially very attractive for implementations of  topological quantum memories in integrated circuit type architectures, as were recently proposed in Refs. \cite{Martinis1,barends2014}.

The use of an auxiliary system to mediate long-range information between the anyons has recently attracted broader attention in the field of quantum memories \cite{Hamma,Chesi,LossCavity,Enhanced,Fujii14}. Most of these proposals are based on coupling of the toric code to another quantum system (e.g. cavity modes \cite{LossCavity} or a boson crystal \cite{Enhanced}). Those proposals have the drawback that the full dynamics of the auxiliary system is difficult to certify by simulation, and so a detailed time scale or threshold analysis is hard to obtain.  Rather, those approaches assume rapid equilibration of the auxiliary system, and then derive effective Hamiltonians on the toric code qubits. Such quantum memories are then  so-called passive memories; i.e., protection against noise is not provided by measurement and feedback, but rather by a special subspace of the effective Hamiltonian that is naturally resistant to certain types of noise.  An exception to the above class of protocols is 
Ref.\ \cite{Fujii14}, which is more similar to our proposal as it uses a classical auxiliary system.  However, it has the severe drawback that it requires linearly growing local energies, and numerical evidence is limited to small systems (up-to $L=20$) and extensions to larger systems rest on scant analytic foundations. In contrast, our schemes have been extensively explored numerically, and two of them show very clear evidence of a threshold. Furthermore, we have very good control on the time scales in our system, which clearly show that provided the field velocity $c$ is of order $\log^2(L)$, the system completes an error correction cycle in sub-polynomial time. 
%This also implies that the local memory has to store discrete values which also grow as $\polylog L$ only.

Our 3D decoder can be made to work in continuous time by considering an asynchronous application of the $\phi$-automaton, and updating the field  and the anyon movement in continuous time, at 
rates which incorporate the field velocity $c$. This amounts to a dissipative self-correcting memory, as considered in Refs.\ \cite{Pastawski11,Fujii14,DissipativeGadgets}. Preliminary numerical investigations have shown that the continuous  asynchronous application of the $\phi$-automaton memory exhibits the same qualitative behavior as the decoder. A full presentation and analysis of this extension will be provided elsewhere.

\mjk{Our schemes have two main conceptual imperfections in their present formulation. \mih{First,} that the field velocity $c$ has to scale logarithmically with the system size $L$, and \mih{second}, 
that the resolution of the field, when represented digitally, also scales logarithmically with $L$. In analogy to the seminal work of Gacs~\cite{Gacs,gray2001} on the resolution of the positive rates conjecture, one could expect that there exists a local cellular automaton decoder with update rules that are strictly system size independent.}  \earl{Harrington sketched such a program for toric code decoders~\cite{Harrington2004}, but only gave explicit details for a scheme with logarithmic overhead.  \mjk{Unfortunately, in Gacs' original work, the noise threshold 
%of $p_\text{th}\sim 10^{-3}$--$10^{-4}$ 
was prohibitively small, rendering the proposal practically infeasible.} Furthermore,  Gacs' or Harrington's update rules are very complicated, requiring more sophisticated computing hardware than our scheme. Our proposals have high thresholds} \mjk{with only logarithmic system size dependences \mih{for local parameters}, and are therefore fully adequate for realistic implementations.} 

We have focused on some specific instances of cellular automata decoders working against a particular noise model, but the research project opens up many new possibilities within the same paradigm.  The space of potential cellular automata is vast, small variations such as to anyon movement rules or lattice geometry could have substantial consequences on performance.  Gauss's law has proved an invaluable tool to our intuition, but it was just a guide, and departures from an electrostatic mindset could prove rewarding.  We expect our models to be naturally robust to certain types of more invasive errors, because the field  encodes global information in a smooth and local manner. Nevertheless, a more detailed study of correlated noise and errors in the measurements and in the field would be a valuable extension of the present study.  The latter two points are especially interesting stepping stones towards extending our proposal to a passive dissipative quantum memory.  Exploring this wealth of decoder models will surely reveal many technological opportunities and a rich world of varied automata behaviors.


% Finally, we note that we have not conducted any detailed analysis of how our decoders behave under extended sources of noise, such as correlated $X,Z$ errors, measurement errors, or errors in the field. From simple numerical experiments, and by analogy to existing decoders, we expect our decoders to cope well with measurement errors. Indeed, measurement errors create phantom anyons which will then generate small random ripples in the $\phi$ field. However, these rilles will average out to zero, hence only reducing the threshold by a constant. Similar arguments should hold for certain models of field errors. However, since the $\phi$-field is classical, it can be assumed essentially error-free in any forceable implementation. Along the same lines and with previous decoders, correlated $X,Z$ errors should also not jeopardize the fundamental functioning of our decoders. 


\section{Methods}
\footnotesize

\noindent\textbf{Toric codes and noise models \cite{Kitaev,SurfaceCode,Raussendorf}}.  Any lattice that is locally two-dimensional defines a surface code.  A lattice is composed of faces, edges and vertices.  At each edge resides a qubit.  Each face $f$ is surrounded by a set of edges, which we denote $\mu(f)$. Similarly, each vertex, $v$, has a set of edges incident to the vertex, denoted $\mu '(v)$. Faces and vertices have associated operators
\begin{align}
    S_{f} &= \bigotimes_{e \in \mu(f)} Z_{e} \,, &
    S_{v} &= \bigotimes_{e \in \mu'(v)} X_{e} .
\end{align}
We consider square lattices on the torus, which are equivalent to an $L\times L$ square lattice with periodic boundary conditions.  Consequently, we can label vertices using a vector of two integers modulo $L$, denoted $\vec{v} \in \mathbb{V} := \mathbb{N}_{L}^{2}$.  A quantum state is in the code space, or ground state, when it is in the ``$+1$'' eigenspace for all face and vertex operators.  If any face (vertex) operator is measured and yields ``$-1$'', then we say an excitation, or anyon, is present at that face (vertex).

A Pauli operator acting on the code space, such as from noise, will typically produce anyons.  Any Pauli can be written as $P \propto X[E]Z[E']$, where $E$ denotes a set of edges and $X[E]=\otimes_{e \in E} X_{e}$ and similarly for $Z[E']$.  The $X[E]$ component creates face anyons, whereas $Z[E']$ creates vertex anyons.  The two problems are identical, or dual, and so herein we discuss only $X[E]$ operators.  For a $X[E]$ error, we use $q_{E}$ as the indicator function for excitations at faces.  We see $X[E]$ creates an anyon at face $f$ (and so $q_{E}(f)=1$) iff the set $E$ has an odd number of edges which are facets of $f$ (and otherwise $q_{E}(f)=0$).  For $E$ that form a path of edges, anyons appear at the endpoints of the path.  A loop, also called a cycle, has no endpoints, and so no anyons ($q_{E}=0$).  Furthermore, a non-contractible loop around the torus yields a non-trivial unitary within the code space with no accompanying anyons.  

Here we design decoders that take the anyon information from a random error $X[E]$ and determine a recovery operator $X[R]$, with 
the goal that $X[E]X[R]$ acts as the identity on the code space, e.g. when $R=E$.  We fail to decode when $X[E]X[R]=X[W]$, with $W$ being a non-contractible error chain.  Essentially, decoding consists of pairing up anyons with the closest partner.  Since we observe anyons at endpoints of error chains, this pairing process requires long range information telling us the distance between anyons.  The contribution of this work is to provide a simple local method of communicating this information between anyons.

\medskip\noindent\textbf{Error model.} Throughout we assume random noise that is uncorrelated between $X$ and $Z$ errors, such that $X[E]Z[E']$ occurs with probability $\Pr(E)\Pr(E')$ where $\Pr(E)=p^{\abs{E}}(1-p)^{L^2 - \abs{E}}$.  We compare the probability of a decoder failing, with the initial error probability $p$.  A suitable decoder will have a threshold $p_{\text{th}}$, such that for all $p<p_{\text{th}}$, the failure probability can be arbitrarily reduced by increasing $L$.  Equivalently, the expected lifetime of quantum information in the code space is preserved for arbitrarily long time, by increasing the lattice size.  The merit of the uncorrelated noise model lies in its simplicity, with $X$ and $Z$ errors as statistically independent we only need to simulate half the problem.   Furthermore, decoders with the desired threshold behavior for uncorrelated noise will also have a threshold for depolarizing, thermal and other noise models.

The spatial structure of error configurations is essential for the working principle of our decoder. In Ref.\ \cite{kovalev2013fault} it was shown that error strings with a size 
larger than $O(\log L)$ are exponentially unlikely in all quantum LDPC codes. The toric code is one of the simplest and most useful instance of a quantum LDCP code \cite{kovalev2013fault}. However, there is a constant probability for a decoder to miss-identify strings, which for our decoder would correspond to creating larger strings first before contracting them. In Theorem~3, they show that the size of objects that have to be misidentified -- so called violating $(s,m)$ sets -- is also $O(\log L)$ in the same sense as before. In Ref.\ \cite{gottesman2013overhead} it was outlined that this proof only applies to minimum weight perfect matching decoders. However, the observed logarithmic scaling of the recovery sequences in our decoder (see Fig.~\ref{Fig_Main_Results}d) has to be ascribed to similar properties of the spatial error structure.

\medskip\noindent\textbf{Numerical details.} The pseudo code for our $\phi$-automaton decoders is sketched in Table~\ref{tbl:pseudo}.
All numerical results provided in this work, were produced using a C program. While the algorithm is highly optimized for speed on a local parallelized architecture, especially the simulation of the 3D $\phi$-automaton on a traditional architecture can be quite expensive. To optimize the benchmark performance, every decoding process is aborted and considered a fail if the number of sequences exceeds $\tau \geq 10\cdot L$ (2D, 2D$^*$) or $\tau\geq L$ (3D). This is justified by the fact that we are looking for a decoder which has an efficient runtime. It is easy to see 
that the results on required sequences presented in Fig.~\ref{Fig_Main_Results}d are not influenced by the exit condition. Creating the threshold plot presented in 
Fig.~\ref{Fig_Main_Results}b still took approximately one month on $500$ CPUs. An open Python implementation of our decoders is available \cite{Note1}.
%\footnote{\url{http://users.physik.fu-berlin.de/~herold/phi-automaton-decoder/}}.

\begin{table}[h]
\caption{\textbf{Simplified pseudo code.}}
\label{tbl:pseudo}
{\parindent0pt \bfseries\slshape\raggedright\footnotesize
Repeat $c$ times:

\quad Parallel for all $\bm{\xi}\in\Lambda$:

\qquad $\displaystyle \phi(\bm{\xi}) = \avg_{\langle \bm{\xi'},\bm{\xi} \rangle} \phi(\bm{\xi'}) + q(\bm{\xi})$

Parallel for all $\vec{x}\in\VV$:

\quad If $q(\vec{x})\neq0$:

\qquad With probability $0.5$:

\quad\qquad Move anyon from $\vec{x}$ to $\displaystyle\argmax_{\langle \vec{y},\vec{x} \rangle} \phi(\vec{y})$ 

If still anyons present:

\quad $\tau = \tau + 1$

\quad Go to beginning

}

\medskip
\raggedright\footnotesize
Note that for the 2D$^*$ decoder the field velocity $c$ depends on the sequence $\tau$.
\end{table}


\section{Acknowledgements}

We thank J.\ Preskill and F.\ Pastawski  for fruitful discussions, and S. Bravyi, K. Michnicki, 
and A. Hutter for helpful comments on the manuscript. MJK especially thanks K.\ 
Michnicki for very valuable insight and motivation in the buildup to the present work. \jens{We \mjk{also} thank D.\ Poulin for --
upon completion of the present work --}  \mjk{making us aware
of the existence of unpublished results by D.\ Poulin and G.\ Duclos-Cianci, who have previously considered cellular automata based decoders in the 
same spirit as us \jens{\cite{PoulinPrivate}}. A set of slides \jens{from 2011} alluding to their work are available online \cite{Note2}}. %\footnote{\url{http://www.physique.usherbrooke.ca/poulin/utilisateur/files/seminaires/2011Simon.pdf}}.}
We acknowledge support from  the EU (SIQS, RAQUEL, COST), the Alexander-von-Humboldt Foundation, 
the FQXi, the BMBF,
and the ERC (TAQ). 

%Merlin.mbs v4.21 2009-07-09.
\begin{thebibliography}{10}%
\makeatletter
\providecommand \@ifxundefined [1]{%
 \ifx #1\undefined \expandafter \@firstoftwo
 \else \expandafter \@secondoftwo
\fi
}%
\providecommand \@ifnum [1]{%
 \ifnum #1\expandafter \@firstoftwo
 \else \expandafter \@secondoftwo
\fi
}%
\providecommand \enquote [1]{``#1''}%
\providecommand \bibnamefont  [1]{#1}%
\providecommand \bibfnamefont [1]{#1}%
\providecommand \citenamefont [1]{#1}%
\providecommand\href[0]{\@sanitize\@href}%
\providecommand\@href[1]{\endgroup\@@startlink{#1}\endgroup\@@href}%
\providecommand\@@href[1]{#1\@@endlink}%
\providecommand \@sanitize [0]{\begingroup\catcode`\&12\catcode`\#12\relax}%
\@ifxundefined \pdfoutput {\@firstoftwo}{%
 \@ifnum{\z@=\pdfoutput}{\@firstoftwo}{\@secondoftwo}%
}{%
 \providecommand\@@startlink[1]{\leavevmode\special{html:<a href="#1">}}%
 \providecommand\@@endlink[0]{\special{html:</a>}}%
}{%
 \providecommand\@@startlink[1]{%
  \leavevmode
  \pdfstartlink
   attr{/Border[0 0 1 ]/H/I/C[0 1 1]}%
   user{/Subtype/Link/A<</Type/Action/S/URI/URI(#1)>>}%
  \relax
 }%
 \providecommand\@@endlink[0]{\pdfendlink}%
}%
\providecommand \url  [0]{\begingroup\@sanitize \@url }%
\providecommand \@url [1]{\endgroup\@href {#1}{\urlprefix}}%
\providecommand \urlprefix [0]{URL }%
\providecommand \Eprint[0]{\href }%
\@ifxundefined \urlstyle {%
  \providecommand \doi [1]{doi:\discretionary{}{}{}#1}%
}{%
  \providecommand \doi [0]{doi:\discretionary{}{}{}\begingroup
  \urlstyle{rm}\Url }%
}%
\providecommand \doibase [0]{http://dx.doi.org/}%
\providecommand \Doi[1]{\href{\doibase#1}}%
\providecommand \bibAnnote [3]{%
  \BibitemShut{#1}%
  \begin{quotation}\noindent
    \textsc{Key:}\ #2\\\textsc{Annotation:}\ #3%
  \end{quotation}%
}%
\providecommand \bibAnnoteFile [2]{%
  \IfFileExists{#2}{\bibAnnote {#1} {#2} {\input{#2}}}{}%
}%
\providecommand \typeout [0]{\immediate \write \m@ne }%
\providecommand \selectlanguage [0]{\@gobble}%
\providecommand \bibinfo [0]{\@secondoftwo}%
\providecommand \bibfield [0]{\@secondoftwo}%
\providecommand \translation [1]{[#1]}%
\providecommand \BibitemOpen[0]{}%
\providecommand \bibitemStop [0]{}%
\providecommand \bibitemNoStop [0]{.\EOS\space}%
\providecommand \EOS [0]{\spacefactor3000\relax}%
\providecommand \BibitemShut [1]{\csname bibitem#1\endcsname}%
%</preamble>
\bibitem{Aharonov}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{D.}~\bibnamefont{Aharonov}}\ and\ \bibinfo
  {author} {\bibfnamefont{M.}~\bibnamefont{Ben-Or}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {SIAM J. Comput.}\ }%
  \textbf{\bibinfo {volume} {38}},\ \bibinfo {pages} {1207} (\bibinfo {year}
  {2008})%
  \bibAnnoteFile{NoStop}{Aharonov}%
\bibitem{G01a}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{D.}~\bibnamefont{Gottesman}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. A}\ }%
  \textbf{\bibinfo {volume} {57}},\ \bibinfo {pages} {127} (\bibinfo {year}
  {1998})%
  \bibAnnoteFile{NoStop}{G01a}%
\bibitem{SurfaceCode}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{E.}~\bibnamefont{Dennis}}, \bibinfo {author}
  {\bibfnamefont{A.~Y.}\ \bibnamefont{Kitaev}}, \bibinfo {author}
  {\bibfnamefont{A.}~\bibnamefont{Landahl}},\ and\ \bibinfo {author}
  {\bibfnamefont{J.}~\bibnamefont{Preskill}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {J. Math. Phys.}\ }%
  \textbf{\bibinfo {volume} {43}},\ \bibinfo {pages} {4452} (\bibinfo {year}
  {2002})%
  \bibAnnoteFile{NoStop}{SurfaceCode}%
\bibitem{tor}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{A.}~\bibnamefont{Kitaev}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Ann. Phys.}\ }%
  \textbf{\bibinfo {volume} {321}},\ \bibinfo {pages} {2} (\bibinfo {year}
  {2006})%
  \bibAnnoteFile{NoStop}{tor}%
\bibitem{Kitaev}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{A.~Y.}\ \bibnamefont{Kitaev}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Ann. Phys.}\ }%
  \textbf{\bibinfo {volume} {303}},\ \bibinfo {pages} {2} (\bibinfo {year}
  {2003})%
  \bibAnnoteFile{NoStop}{Kitaev}%
\bibitem{yoshida2011feasibility}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{B.}~\bibnamefont{Yoshida}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Annals of Physics}\ }%
  \textbf{\bibinfo {volume} {326}},\ \bibinfo {pages} {2566} (\bibinfo {year}
  {2011})%
  \bibAnnoteFile{NoStop}{yoshida2011feasibility}%
\bibitem{WangFowlerHollenberg}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{D.~S.}\ \bibnamefont{Wang}}, \bibinfo
  {author} {\bibfnamefont{A.~G.}\ \bibnamefont{Fowler}},\ and\ \bibinfo
  {author} {\bibfnamefont{L.~C.~L.}\ \bibnamefont{Hollenberg}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. A}\ }%
  \textbf{\bibinfo {volume} {83}},\ \bibinfo {pages} {020302} (\bibinfo {year}
  {2001})%
  \bibAnnoteFile{NoStop}{WangFowlerHollenberg}%
\bibitem{Duclos-Cianci10}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{G.}~\bibnamefont{Duclos-Cianci}}\ and\
  \bibinfo {author} {\bibfnamefont{D.}~\bibnamefont{Poulin}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. Lett.}\ }%
  \textbf{\bibinfo {volume} {104}},\ \bibinfo {pages} {050504} (\bibinfo {year}
  {2010})%
  \bibAnnoteFile{NoStop}{Duclos-Cianci10}%
\bibitem{BravyiHaah}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{S.}~\bibnamefont{Bravyi}}\ and\ \bibinfo
  {author} {\bibfnamefont{J.}~\bibnamefont{Haah}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. Lett.}\ }%
  \textbf{\bibinfo {volume} {111}},\ \bibinfo {pages} {200501} (\bibinfo {year}
  {2013})%
  \bibAnnoteFile{NoStop}{BravyiHaah}%
\bibitem{Wootton12}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{J.~R.}\ \bibnamefont{Wootton}}\ and\
  \bibinfo {author} {\bibfnamefont{D.}~\bibnamefont{Loss}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. Lett.}\ }%
  \textbf{\bibinfo {volume} {109}},\ \bibinfo {pages} {160503} (\bibinfo {year}
  {2012})%
  \bibAnnoteFile{NoStop}{Wootton12}%
\bibitem{Hutter14}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{A.}~\bibnamefont{Hutter}}, \bibinfo {author}
  {\bibfnamefont{J.~R.}\ \bibnamefont{Wootton}},\ and\ \bibinfo {author}
  {\bibfnamefont{D.}~\bibnamefont{Loss}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. A}\ }%
  \textbf{\bibinfo {volume} {89}},\ \bibinfo {pages} {022326} (\bibinfo {year}
  {2014})%
  \bibAnnoteFile{NoStop}{Hutter14}%
\bibitem{fowler2013minimum}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{A.~G.}\ \bibnamefont{Fowler}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {arXiv:1307.1740}}%
   (\bibinfo {year} {2013})%
  \bibAnnoteFile{NoStop}{fowler2013minimum}%
\bibitem{Gacs}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{P.}~\bibnamefont{G{\'a}cs}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {J. Stat. Phys.}\ }%
  \textbf{\bibinfo {volume} {103}},\ \bibinfo {pages} {45} (\bibinfo {year}
  {2001})%
  \bibAnnoteFile{NoStop}{Gacs}%
\bibitem{Harrington2004}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{J.~W.}\ \bibnamefont{Harrington}},\ }%
  \enquote{\bibinfo {title} {Analysis of quantum error-correcting codes:
  symplectic lattice codes and toric codes},}\  (\bibinfo {year} {2004}),\
  \url{http://thesis.library.caltech.edu/1747/1/jimh_thesis.pdf}%
  \bibAnnoteFile{NoStop}{Harrington2004}%
\bibitem{Hamma}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{A.}~\bibnamefont{Hamma}}, \bibinfo {author}
  {\bibfnamefont{C.}~\bibnamefont{Castelnovo}},\ and\ \bibinfo {author}
  {\bibfnamefont{C.}~\bibnamefont{Chamon}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. B}\ }%
  \textbf{\bibinfo {volume} {79}},\ \bibinfo {pages} {245122} (\bibinfo {year}
  {2009})%
  \bibAnnoteFile{NoStop}{Hamma}%
\bibitem{Pedrocchi11}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{F.~L.}\ \bibnamefont{Pedrocchi}}, \bibinfo
  {author} {\bibfnamefont{S.}~\bibnamefont{Chesi}},\ and\ \bibinfo {author}
  {\bibfnamefont{D.}~\bibnamefont{Loss}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. B}\ }%
  \textbf{\bibinfo {volume} {83}},\ \bibinfo {pages} {115415} (\bibinfo {year}
  {2011})%
  \bibAnnoteFile{NoStop}{Pedrocchi11}%
\bibitem{Pedrocchi13}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{F.~L.}\ \bibnamefont{Pedrocchi}}, \bibinfo
  {author} {\bibfnamefont{A.}~\bibnamefont{Hutter}}, \bibinfo {author}
  {\bibfnamefont{J.~R.}\ \bibnamefont{Wootton}},\ and\ \bibinfo {author}
  {\bibfnamefont{D.}~\bibnamefont{Loss}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. A}\ }%
  \textbf{\bibinfo {volume} {88}},\ \bibinfo {pages} {062313} (\bibinfo {year}
  {2013})%
  \bibAnnoteFile{NoStop}{Pedrocchi13}%
\bibitem{Fujii14}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{K.}~\bibnamefont{Fujii}}, \bibinfo {author}
  {\bibfnamefont{M.}~\bibnamefont{Negoro}}, \bibinfo {author}
  {\bibfnamefont{N.}~\bibnamefont{Imoto}},\ and\ \bibinfo {author}
  {\bibfnamefont{M.}~\bibnamefont{Kitagawa}},\ }%
  \enquote{\bibinfo {title} {Measurement-free topological protection using
  dissipative feedback},}\ \bibinfo {note} {E-print arXiv:1401.6350}%
  \bibAnnoteFile{NoStop}{Fujii14}%
\bibitem{SelfCorrectingMemoryBoundary}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{A.}~\bibnamefont{Hutter}}, \bibinfo {author}
  {\bibfnamefont{J.~R.}\ \bibnamefont{Wootton}}, \bibinfo {author}
  {\bibfnamefont{B.}~\bibnamefont{R{\"o}thlisberger}},\ and\ \bibinfo {author}
  {\bibfnamefont{D.}~\bibnamefont{Loss}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. A}\ }%
  \textbf{\bibinfo {volume} {86}},\ \bibinfo {pages} {052340} (\bibinfo {year}
  {2012})%
  \bibAnnoteFile{NoStop}{SelfCorrectingMemoryBoundary}%
\bibitem{ThermallyStableSurfaceCode}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{F.~L.}\ \bibnamefont{Pedrocchi}}, \bibinfo
  {author} {\bibfnamefont{A.}~\bibnamefont{Hutter}}, \bibinfo {author}
  {\bibfnamefont{J.~R.}\ \bibnamefont{Wootton}},\ and\ \bibinfo {author}
  {\bibfnamefont{D.}~\bibnamefont{Loss}},\ }%
  \enquote{\bibinfo {title} {{Local 3D spin Hamiltonian as a thermally stable
  surface code}},}\  (\bibinfo {year} {2009}),\ \bibinfo {note} {e-print
  arXiv:1209.5289}%
  \bibAnnoteFile{NoStop}{ThermallyStableSurfaceCode}%
\bibitem{Weakly}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{D.}~\bibnamefont{Becker}}, \bibinfo {author}
  {\bibfnamefont{T.}~\bibnamefont{Tanamoto}}, \bibinfo {author}
  {\bibfnamefont{A.}~\bibnamefont{Hutter}}, \bibinfo {author}
  {\bibfnamefont{F.~L.}\ \bibnamefont{Pedrocchi}},\ and\ \bibinfo {author}
  {\bibfnamefont{D.}~\bibnamefont{Loss}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. A}\ }%
  \textbf{\bibinfo {volume} {87}},\ \bibinfo {pages} {042340} (\bibinfo {year}
  {2013})%
  \bibAnnoteFile{NoStop}{Weakly}%
\bibitem{Pastawski11}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{F.}~\bibnamefont{Pastawski}}, \bibinfo
  {author} {\bibfnamefont{L.}~\bibnamefont{Clemente}},\ and\ \bibinfo {author}
  {\bibfnamefont{J.~I.}\ \bibnamefont{Cirac}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. A}\ }%
  \textbf{\bibinfo {volume} {83}},\ \bibinfo {pages} {012304} (\bibinfo {year}
  {2011})%
  \bibAnnoteFile{NoStop}{Pastawski11}%
\bibitem{DissipativeGadgets}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{M.~J.}\ \bibnamefont{Kastoryano}}, \bibinfo
  {author} {\bibfnamefont{M.~M.}\ \bibnamefont{Wolf}},\ and\ \bibinfo {author}
  {\bibfnamefont{J.}~\bibnamefont{Eisert}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. Lett.}\ }%
  \textbf{\bibinfo {volume} {110}},\ \bibinfo {pages} {110501} (\bibinfo {year}
  {2013})%
  \bibAnnoteFile{NoStop}{DissipativeGadgets}%
\bibitem{Bombin12}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{H.}~\bibnamefont{Bombin}}, \bibinfo {author}
  {\bibfnamefont{R.~S.}\ \bibnamefont{Andrist}}, \bibinfo {author}
  {\bibfnamefont{M.}~\bibnamefont{Ohzeki}}, \bibinfo {author}
  {\bibfnamefont{H.~G.}\ \bibnamefont{Katzgraber}},\ and\ \bibinfo {author}
  {\bibfnamefont{M.~A.}\ \bibnamefont{Martin-Delgado}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. X}\ }%
  \textbf{\bibinfo {volume} {2}},\ \bibinfo {pages} {021004} (\bibinfo {year}
  {2012})%
  \bibAnnoteFile{NoStop}{Bombin12}%
\bibitem{Watson2013}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{F.~H.~E.}\ \bibnamefont{{Watson}}}\ and\
  \bibinfo {author} {\bibfnamefont{S.~D.}\ \bibnamefont{{Barrett}}},\ }%
  \enquote{\bibinfo {title} {Estimating overheads for topological quantum
  codes},}\  (\bibinfo {year} {2013}),\ \bibinfo {note} {e-print
  arXiv:1312.5213}%
  \bibAnnoteFile{NoStop}{Watson2013}%
\bibitem{kovalev2013fault}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{A.~A.}\ \bibnamefont{Kovalev}}\ and\
  \bibinfo {author} {\bibfnamefont{L.~P.}\ \bibnamefont{Pryadko}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. A}\ }%
  \textbf{\bibinfo {volume} {87}},\ \bibinfo {pages} {020304} (\bibinfo {year}
  {2013})%
  \bibAnnoteFile{NoStop}{kovalev2013fault}%
\bibitem{gottesman2013overhead}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{D.}~\bibnamefont{Gottesman}},\ }%
  \enquote{\bibinfo {title} {{What is the overhead required for fault-tolerant
  quantum computation?}}}\  (\bibinfo {year} {2013}),\ \bibinfo {note} {e-print
  arXiv:1310.2984}%
  \bibAnnoteFile{NoStop}{gottesman2013overhead}%
\bibitem{Martinis1}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{A.~G.}\ \bibnamefont{Fowler}}, \bibinfo
  {author} {\bibfnamefont{M.}~\bibnamefont{Mariantoni}}, \bibinfo {author}
  {\bibfnamefont{J.~M.}\ \bibnamefont{Martinis}},\ and\ \bibinfo {author}
  {\bibfnamefont{A.~N.}\ \bibnamefont{Cleland}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. A}\ }%
  \textbf{\bibinfo {volume} {86}},\ \bibinfo {pages} {032324} (\bibinfo {year}
  {2012})%
  \bibAnnoteFile{NoStop}{Martinis1}%
\bibitem{barends2014}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{R.}~\bibnamefont{Barends}}, \bibinfo
  {author} {\bibfnamefont{J.}~\bibnamefont{Kelly}}, \bibinfo {author}
  {\bibfnamefont{A.}~\bibnamefont{Megrant}}, \bibinfo {author}
  {\bibfnamefont{A.}~\bibnamefont{Veitia}}, \bibinfo {author}
  {\bibfnamefont{D.}~\bibnamefont{Sank}}, \bibinfo {author}
  {\bibfnamefont{E.}~\bibnamefont{Jeffrey}}, \bibinfo {author}
  {\bibfnamefont{T.}~\bibnamefont{White}}, \bibinfo {author}
  {\bibfnamefont{J.}~\bibnamefont{Mutus}}, \bibinfo {author}
  {\bibfnamefont{A.}~\bibnamefont{Fowler}}, \bibinfo {author}
  {\bibfnamefont{B.}~\bibnamefont{Campbell}}, \emph{et~al.},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Nature}\ }%
  \textbf{\bibinfo {volume} {508}},\ \bibinfo {pages} {500} (\bibinfo {year}
  {2014})%
  \bibAnnoteFile{NoStop}{barends2014}%
\bibitem{DennisPhD}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{E.}~\bibnamefont{Dennis}},\ }%
  Ph.D. thesis,\ \bibinfo {school} {UCSB} (\bibinfo {month} {September}\
  \bibinfo {year} {2003})%
  \bibAnnoteFile{NoStop}{DennisPhD}%
\bibitem{Wootton}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{J.~R.}\ \bibnamefont{Wootton}}, \bibinfo
  {author} {\bibfnamefont{V.}~\bibnamefont{Lahtinen}}, \bibinfo {author}
  {\bibfnamefont{B.}~\bibnamefont{Doucot}},\ and\ \bibinfo {author}
  {\bibfnamefont{J.~K.}\ \bibnamefont{Pachos}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Ann. Phys.}\ }%
  \textbf{\bibinfo {volume} {326}},\ \bibinfo {pages} {2307} (\bibinfo {year}
  {2011})%
  \bibAnnoteFile{NoStop}{Wootton}%
\bibitem{saad2003iterative}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{Y.}~\bibnamefont{Saad}},\ }%
  \emph{\bibinfo {title} {Iterative methods for sparse linear systems}}\
  (\bibinfo {publisher} {Siam},\ \bibinfo {year} {2003})%
  \bibAnnoteFile{NoStop}{saad2003iterative}%
\bibitem{Bhatia}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{R.}~\bibnamefont{Bhatia}},\ }%
  \emph{\bibinfo {title} {Matrix analysis}}\ (\bibinfo {publisher} {Springer},\
  \bibinfo {address} {Heidelberg},\ \bibinfo {year} {1997})%
  \bibAnnoteFile{NoStop}{Bhatia}%
\bibitem{fowler09-2}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{A.~G.}\ \bibnamefont{Fowler}}, \bibinfo
  {author} {\bibfnamefont{A.~M.}\ \bibnamefont{Stephens}},\ and\ \bibinfo
  {author} {\bibfnamefont{P.}~\bibnamefont{Groszkowski}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. A}\ }%
  \textbf{\bibinfo {volume} {80}},\ \bibinfo {pages} {052312} (\bibinfo {year}
  {2009})%
  \bibAnnoteFile{NoStop}{fowler09-2}%
\bibitem{Chesi}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{S.}~\bibnamefont{Chesi}}, \bibinfo {author}
  {\bibfnamefont{B.}~\bibnamefont{R{\"o}thlisberger}},\ and\ \bibinfo {author}
  {\bibfnamefont{D.}~\bibnamefont{Loss}}\ }%
  \textbf{\bibinfo {volume} {82}},\ \bibinfo {pages} {022305} (\bibinfo {year}
  {2010})%
  \bibAnnoteFile{NoStop}{Chesi}%
\bibitem{LossCavity}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{F.~L.}\ \bibnamefont{Pedrocchi}}, \bibinfo
  {author} {\bibfnamefont{S.}~\bibnamefont{Chesi}},\ and\ \bibinfo {author}
  {\bibfnamefont{D.}~\bibnamefont{Loss}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. B}\ }%
  \textbf{\bibinfo {volume} {83}},\ \bibinfo {pages} {115415} (\bibinfo {year}
  {2011})%
  \bibAnnoteFile{NoStop}{LossCavity}%
\bibitem{Enhanced}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{F.~L.}\ \bibnamefont{Pedrocchi}}, \bibinfo
  {author} {\bibfnamefont{A.}~\bibnamefont{Hutter}}, \bibinfo {author}
  {\bibfnamefont{J.~R.}\ \bibnamefont{Wootton}},\ and\ \bibinfo {author}
  {\bibfnamefont{D.}~\bibnamefont{Loss}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. A}\ }%
  \textbf{\bibinfo {volume} {88}},\ \bibinfo {pages} {062313} (\bibinfo {year}
  {2013})%
  \bibAnnoteFile{NoStop}{Enhanced}%
\bibitem{gray2001}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{L.~F.}\ \bibnamefont{Gray}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {J. Stat. Phys.}\ }%
  \textbf{\bibinfo {volume} {103}},\ \bibinfo {pages} {1} (\bibinfo {year}
  {2001})%
  \bibAnnoteFile{NoStop}{gray2001}%
\bibitem{Raussendorf}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{R.}~\bibnamefont{Raussendorf}}\ and\
  \bibinfo {author} {\bibfnamefont{J.}~\bibnamefont{Harrington}},\ }%
  \bibfield{journal}{%
  \bibinfo {journal} {Phys. Rev. Lett.}\ }%
  \textbf{\bibinfo {volume} {98}},\ \bibinfo {pages} {190504} (\bibinfo {year}
  {2007})%
  \bibAnnoteFile{NoStop}{Raussendorf}%
\bibitem{Note1}%
  \BibitemOpen
  \bibinfo {note} {\protect \url
  {http://users.physik.fu-berlin.de/~herold/phi-automaton-decoder/}}%
  \bibAnnoteFile{NoStop}{Note1}%
\bibitem{PoulinPrivate}%
  \BibitemOpen
  \bibfield{author}{%
  \bibinfo {author} {\bibfnamefont{D.}~\bibnamefont{Poulin}},\ }%
  \bibinfo {note} {{private communication}}%
  \bibAnnoteFile{NoStop}{PoulinPrivate}%
\bibitem{Note2}%
  \BibitemOpen
  \bibinfo {note} {\protect \url
  {http://www.physique.usherbrooke.ca/poulin/utilisateur/files/seminaires/2011%
Simon.pdf}}%
  \bibAnnoteFile{NoStop}{Note2}%
\end{thebibliography}%


\clearpage

\appendix

\normalsize

\section{Supplementary Material}

\subsection{The matrix formalisation}

In Eq.~\eqref{EQN_update}, we have
introduced the matrix formulation of Eq.~\eqref{eq:discr_poisson}
and the associated $G$ matrix.  By comparing these equations, we see 
\begin{equation}
\label{Eq_Gform}
    G_{\vec{x},\vec{y}}= 
	\begin{cases}
	(1-\eta) & \text{for } \dist(\vec{x},\vec{y})=0 , \\
    \eta/(2{D}) & \text{for }\dist(\vec{x},\vec{y})=1 , \\
    0 & \dist(\vec{x},\vec{y})>1 .
	\end{cases}    
\end{equation}
The matrix is manifestly invariant under translations, so that $G_{\vec{k}+\vec{x}, \vec{k}+\vec{y} }= G_{\vec{x},\vec{y}}$ for all $\vec{k}$, modulo the system size, 
and such matrices are said to be block circular.  Furthermore, it has the property that $\sum_{\vec{x}}G_{\vec{x},\vec{y}}=1$ and  $\sum_{\vec{y}}G_{\vec{x},\vec{y}}=1$, and so is doubly stochastic.  A consequence of doubly stochasticity is that is preserves the total field potential
\begin{equation}
\label{DoubSto}
    \sum_{\vec{x},\vec{y}}G_{\vec{x},\vec{y}} \phi_t(\vec{y}) = \sum_{\vec{y}} \phi_t(\vec{y}).
\end{equation}
It is instructive to consider the total field potential at a time $t$, which is $T_{t}=\sum_{\vec{y}}\phi_{t}(\vec{y})$.  If no anyons are present, so $\phi_{t+1}=G\phi_{t}$, 
then $T_{t+1}=T_{t}$. However, in the presence of anyons $\phi_{t+1}=G\phi_{t}+q$ and so $T_{t+1}=T_{t}+Q$, 
where $Q=\sum_{\vec{x}}q(\vec{x})$.  In this setting, the absolute field never equilibrates, though rescaling the fields resolves this problem.
Note that for practical implementations it is possible to avoid the infinity growing field by local generation of the gradient field $\bm{\nabla} \phi$. For simplicity we will restrict ourselves to the analysis of the generation of the potential $\phi$.


\subsection{Diagonalizing the update matrix} 

Since the update rules are translationally invariant, the associated update matrix ${G}$
 is block circulant. This entails that the Fourier transform can be employed to diagonalize this matrix and so provide solutions to many dynamical questions.  The kernel of the multi-dimensional Fourier transform $F$ has entries
\begin{equation}
	F_{\vec{j},\vec{k}} = \frac{1}{L^{D/2}} e^{-2 \pi \mathrm{i}\,  \vec{j} \cdot\vec{k}/L}.
\end{equation}
$G$ can be diagonalized as
\begin{equation}
	(F G F^\dagger)_{\vec{j},\vec{k}} = \delta_{\vec{j},\vec{k}} \sum_{\vec{l}\in \Lambda} G_{\vec{l}} e^{-2 \pi \mathrm{i}\,  \vec{j} \cdot \vec{l}/L}.
\end{equation}
What is more, 
\begin{equation}
	G_{\vec{j},\vec{k}} = G_{\vec{j}-\vec{k}} = \frac{1}{L^{D}}\sum_{\vec{l}\in \Lambda } \lambda_{\vec{l}}
	e^{2 \pi \mathrm{i}\,  \vec{l} \cdot
	(
	{\vec{j}-\vec{k}}
	)
	/L
	},
\end{equation}	
where the second expression reflects the block circulant property of $G$.
The eigenvalues of $G$ are given by
\begin{equation}
	\lambda_{\vec{k}} = \sum_{\vec{l} \in \Lambda} 
	G_{\vec{l}}
	\cos(2\pi \vec{l} \cdot\vec{k}/L ) .
\end{equation}
Using Eq.~\eqref{Eq_Gform} one immediately finds
\begin{equation}
\label{Eq_Lambda}
	\lambda_{\vec{k}} = 1-\eta + \frac{\eta}{ D} \sum_{j=1}^{ D} 
	\cos(2\pi k_j/L) 
\end{equation}
for $\vec{k}=(k_1,\dots, k_{ D})^T$. 
%This is Eq.\ (\ref{Eigenvalues}). 
Furthermore, the eigenvectors are 
\begin{equation}
    \vec{v}_{\vec{k}}(\vec{x}) =e^{2 \pi \mathrm{i}\,  \vec{k} \cdot \vec{x} / L} / L^{ D/2} ,
\end{equation}
which are simply Fourier waves.

\section{Stationary field configurations}

In this sub-section, we identify
field configurations that are stationary under field updates assuming a fixed anyon configuration.  As defined in the main text, we use $\tilde{\phi}_{t}$ to denote a rescaled field $\phi_{t}$ so that $\sum_{\vec{x}}\tilde{\phi}_{t}(\vec{x})=0$.  The renormalized fields equilibrate to a stationary value, and we now set out to estimate the equilibration time. The dynamical equation for the field is 
\begin{equation}
	\phi_{t}= G^t \phi_{0} + \sum_{m=0}^{t-1} G^{m} q. 
\end{equation}
Using $\tilde{\phi_{0}}=\phi_{0}-T_{0}$ and $\tilde{\phi_{t}}=\phi_{t}-(T_{0}+Qt)$, we have
\begin{equation}
    \tilde{\phi}_{t} = G^t \tilde{\phi}_{0} + \sum_{m=1}^{t-1}G^m q_{E}  -Qt.
\end{equation}
Let us consider the large $t$ limit.  Since $G$ is doubly stochastic, the absolute value of the eigenvalues are no greater than unity, and indeed Eq.~\eqref{Eq_Lambda} shows that only the $\vec{k}=\vec{0}$ 
subspace has a unit eigenvalue.  Consequently, $G^{t}$ tends to the projector onto the $\vec{v}_{\vec{k}=\vec{0}}$ vector. However, all rescaled fields have no $\vec{v}_{\vec{0}}$ component and so the first term vanishes. Considering the second term, and denoting by $P_{\vec{k}}=\vec{v}_{\vec{k}} \vec{v}_{\vec{k}}^{\dagger}$ 
a projector onto the eigenvector $\vec{v}_{\vec{k}}$, we have
\begin{equation}
    \sum_{m=1}^{t-1}G^m = \sum_{\vec{k}} \left( \sum_{m=1}^{t-1} \lambda^{m}_{\vec{k}} \right) P_{\vec{k}} \rightarrow \sum_{\vec{k}} (1-\lambda_{\vec{k}} )^{-1} P_{\vec{k}},
\end{equation}
where we have used the well-known limit of geometric series. So far we have
\begin{equation}
    \tilde{\phi}_{t} \rightarrow \sum_{\vec{k}} (1-\lambda)^{-1} P_{\vec{k}}q_{E} - Qt.
\end{equation}
Again using the normalization condition, we know the $\vec{k}=\vec{0}$
and constant $-Qt$ terms must cancel exactly, 
so that
\begin{equation}
    \tilde{\phi}_{t} \rightarrow \tilde{\phi}_{\infty}  =  \left( \sum_{\vec{k} \neq \vec{0}} (1-\lambda_{\vec{k}})^{-1} P_{\vec{k}} \right) q_{E}   .
\end{equation}
Using $P_{\vec{k}}=\vec{v}_{\vec{k}} \vec{v}_{\vec{k}}^{\dagger}$, we find 
\begin{equation}
    \tilde{\phi}_{\infty}(\vec{x}) = \sum_{\vec{k}   \in \Lambda \setminus \{ \vec{0} \} } a_{\vec{k}}  e^{2 \pi \mathrm{i}\,  \vec{k} \cdot \vec{x} / L },
\end{equation}
where
\begin{equation}
    a_{\vec{k}} =\frac{\sum_{\vec{x}} e^{-2 \pi \mathrm{i}\,  \vec{k} \cdot \vec{x} /L} q_{E}(\vec{x}) }{L^{ D}(1-\lambda_{\vec{k}})}.
\end{equation}
For a single anyon at the origin, the stationary solution is defined as $\varphi(\vec{x})$ and the Fourier coefficients simplify 
to $a_{\vec{k}}=(L^{ D }(1-\lambda_{\vec{k}}))^{-1}$, so that
\begin{equation}
    \varphi(\vec{x}) = \sum_{\vec{k} \neq \vec{0}}   \frac{e^{2 \pi \mathrm{i}\,  \vec{k} \cdot \vec{x} / L }}{L^{ D}(1-\lambda_{\vec{k}})} .
\end{equation}
More generally, a single anyon at cell $\vec{y}$ has a stationary field with $a_{\vec{k}}=e^{-2 \pi \mathrm{i}\,  \vec{k} \cdot \vec{y}}(L^{ D/2}(1-\lambda_{\vec{k}}))^{-1}$, so that
\begin{equation}
\label{Eq_Shifted}
    \varphi_{\vec{y}}(\vec{x})= \sum_{\vec{k} \neq \vec{0}} e^{-2 \pi \mathrm{i}\,  \vec{k} \cdot \vec{y} /L} 
    \frac{e^{2 \pi \mathrm{i}\,  \vec{k} \cdot \vec{x} / L }}{L^{ D}(1-\lambda_{\vec{k}})}.
\end{equation}
One can verify that this solution agrees with translation invariance since $\varphi_{\vec{y}}(\vec{x})=\varphi(\vec{x}-\vec{y})$. For more than a single anyon the stationary state is a linear combination of the contribution from each anyon.

\section{Global equilibration}

We now proceed to estimate the number of field updates that are needed for a non-equilibrium field, say $\tilde{\phi}_{0}$, to approach a stationary field $\tilde{\phi}_{\infty}$. We first observe that we can time evolve $\tilde{\phi}_{\infty}$ by $t$ time steps, and by virtue of being a stationary state, we have 
\begin{equation}
    \tilde{\phi}_{\infty} = G^t \tilde{\phi}_{\infty} + \sum_{m=1}^{t-1}G^m q  -Qt.
\end{equation}
Taking the difference of $\tilde{\phi}_{\infty}$ and $\tilde{\phi}_{t}$, only the first terms remain
\begin{equation}
\label{Eq_ReExpressed}
    \tilde{\phi}_{t} - \tilde{\phi}_{\infty} = G^t(\tilde{\phi}_{0} - \tilde{\phi}_{\infty}).
\end{equation}
By the H\"{o}lder inequality, for a single charge at the origin,
\begin{eqnarray}
\label{EQ_General_Convergence}
    \norm{ \tilde{\phi_{t}} - \tilde{\phi_{\infty}} }_{2} & \leq &  \lambda_{\text{max}}^t \norm{ \tilde{\phi_{0}} - \tilde{\phi_{\infty}} }_{2},
\end{eqnarray}
where fields are measured in the vector 2-norm $\norm{\vec{u}}_2^2=\vec{u}\cdot \vec{u}$, 
and $\lambda_{\text{max}}=\max_{\vec{k} \neq \vec{0}}  \abs{ \lambda_{\vec{k}} }$.  Again, the $\vec{k}=\vec{0}$ eigenvalue can be neglected since the fields are normalized to have no overlap with this eigenvector.  Provided $\eta \leq 1/2$, we have that $\abs{ \lambda_{\vec{k}} } = \lambda_{\vec{k}}$,  and we find
\begin{equation}
	\lambda_{\text{max}} =	 (1-\eta )+ \frac{\eta}{ D}\biggl( \cos (2\pi/L) + ( D -1)\biggr) ,
\end{equation}
and using $\cos(x) \leq 1-x^2/4$ for $x\in[0,2]$,
we find
\begin{equation}
	\lambda_{\text{max}} \leq	1 - \frac{ \eta  \pi^2 }{D L^2 }
\end{equation}
for $L\geq 4$.
Furthermore, 
\begin{equation}
	1-x \leq e^{-x} ,
\end{equation}
for all $1\geq x\geq 0$,
 so $\lambda_{\text{max}}\leq e^{-\eta \pi^2 / ( D L^2)}$.  Combined with Eq.~\eqref{EQ_General_Convergence}
 gives the result  
\begin{equation}
    \norm{ \tilde{\phi}_{t} - \tilde{\phi_{\infty}} }_{2}  \leq  e^{-(\eta \pi^2 / D)t/L^2} \norm{ \tilde{\phi}_{0} - \tilde{\phi_{\infty}} }_{2}.
\end{equation}
While the equilibration is exponentially fast in $t$ for constant lattice size, this bound tells us little 
in the large lattice limit as $\lambda_{\text{max}}\rightarrow 1$.  This is intuitive since after an event of anyon movement the field can only change within a light cone of the event.  
Consequently, 
for any period of time ($t<L/2$) there is always a distance at which the field has not equilibrated.  However, we are interested in the local equilibration of a cluster of anyons in a small region, and contained within a larger lattice. This finer estimate is presented next.

\subsection{Convergence after anyon steps}

In this subsection, we consider the point-wise convergence of the field, following an anyonic hopping from $\vec{x}=\vec{0}$ to $\vec{x}=-\vec{e}$.
The initial distribution is determined by $\tilde{\phi}_{t=0}(\vec{x})=\varphi(\vec{x})$ for $\vec{x}\in \Lambda$, then at sufficiently late times $\tilde{\phi}_{\infty}(\vec{x})=\varphi(\vec{x}+\vec{e})$.
Recall that
\begin{equation}
	\tilde{\phi}_{t=0}(\vec{x}) = 
	\sum_{\vec{k}  \neq \vec{0} }
	\frac{ e^{-2 \pi \mathrm{i}\,  \vec{x} \cdot \vec{k}/L}}{L^{D}(1-\lambda_{\vec{k}})}.
\end{equation}
The final distribution after a shift by one position (see Eq.~\eqref{Eq_Shifted}) is
\begin{equation}
	\tilde{\phi}_\infty (\vec{x})= 
	\sum_{\vec{k} \neq \vec{0}}
	\frac{ e^{-2 \pi \mathrm{i}\,  (\vec{x} + \vec{e}) \cdot \vec{k}/L} }{L^D(1-\lambda_{\vec{k}})}.
\end{equation}
Therefore, 
\begin{equation}
	\tilde{\phi}_{0}(\vec{x})-\tilde{\phi}_{\infty}(\vec{x})  =  
	\sum_{\vec{k}  \neq \vec{0}}
	 \frac{e^{-2 \pi \mathrm{i}\,  \vec{x}  \cdot \vec{k}/L}(1- e^{-2 \pi \mathrm{i}\,  \vec{e}  \cdot  \vec{k}/L})}{L^{D}(1-\lambda_{\vec{k}})}. 
\end{equation}
Using Eq.~\eqref{Eq_ReExpressed}, 
we find that at time $t$
\begin{equation}
\label{Eq_Delta}
	\Delta_{t}(\vec{x})  =  	\sum_{\vec{k}  \neq \vec{0}}
	 \frac{\lambda_{\vec{k}}^t e^{-2 \pi \mathrm{i}\,  \vec{x}  \cdot \vec{k}/L}(1- e^{-2 \pi \mathrm{i}\,  \vec{e}  \cdot  \vec{k}/L})}{L^{D}(1-\lambda_{\vec{k}})} ,
\end{equation}
where $\Delta_{t}(\vec{x}):=\tilde{\phi}_{t}(\vec{x}) - \tilde{\phi}_\infty (\vec{x})$. We know the left hand side is real and so may take the real part of the right, and using the triangle inequality
\begin{equation}
\label{Eq_Delta_so_far}
	\Delta_{t}(\vec{x})  \leq  	\sum_{\vec{k}  \neq \vec{0}}
 \frac{ \abs{ \lambda_{\vec{k}} }^t A_{\vec{k}} }{ L^{D} B_{\vec{k}} },
\end{equation}
where we have collected many details into $A_{\vec{k}}$ and $B_{\vec{k}}$,
\begin{eqnarray}
    A_{\vec{k}} &=&  \abs{ \re [e^{-2 \pi \mathrm{i}\,  \vec{x}  \cdot \vec{k}/L}(1- e^{-2 \pi \mathrm{i}\,  \vec{e}  \cdot  \vec{k}/L}) ] } , \\ \nonumber
    B_{\vec{k}}&=&    1-\lambda_{\vec{k}}.
\end{eqnarray}
The next few steps of the derivation just concern these quantities, and culminate in the bound
\begin{equation}
\label{Cxk_upper_bound}
      \frac{A_{\vec{k}}}{B_{\vec{k}}} \leq \frac{ D \norm{ 2\vec{x} + \vec{e} }_{1} }{2 \eta} ,
\end{equation}
where  $\norm{ \vec{x} }_{1}=\sum_{j} \abs{ x_{j} }$.
	
First, we recast the numerator $A_{\vec{k}}$,
\begin{eqnarray}
\label{EQ_long_trig_inequal}
A_{\vec{k}}	&=& \abs{ \cos(2 \pi \vec{x} \cdot \vec{k} / L ) - \cos(2 \pi (\vec{e}+\vec{x}) \cdot \vec{k}) / L ) }  , \nonumber \\
	&=& 
	\Abs{ 2 \sin\left( 
	\frac{\pi}{L} \vec{k}\cdot (2\vec{x} + \vec{e}  )
	\right) \sin\left(\frac{\pi}{L } \vec{k}\cdot \vec{e}\right) }.
\end{eqnarray}
Before proceeding we demonstrate the following trigonometric inequality:   $\abs{ \sin(u n) } \leq \abs{ \sin(u) } n$ if $n$ is a positive integer. When $n=0$ both sides are zero so it clearly holds.   For positive integers, we write $un=u(n-1)+ u$ to get\begin{equation*}
   \abs{ \sin(un) } = \abs{ \sin(u(n-1))\cos(u(n-1))+\sin(u)\cos(u) }.
\end{equation*}
Using the triangle inequality and $\abs{ \cos(x) } \leq 1$, we get
\begin{equation*}
   \abs{ \sin(un) } \leq \abs{ \sin(u(n-1)) } + \abs{ \sin(u) }.
\end{equation*}
This recursive relation and the $n=0$ case shows $\abs{ \sin(u n) } \leq \abs{ \sin(u) } n$ for positive integer $n$.  We use this result on the first factor of Eq.~\eqref{EQ_long_trig_inequal}, setting
\begin{eqnarray}
    u &=& \frac{\pi \abs{ \vec{k} \cdot(2 \vec{x}+\vec{e})} }{L \norm{ 2 \vec{x}+\vec{e} }_{1}} ,\\ \nonumber
    n &=& \norm{2 \vec{x}+\vec{e}}_{1} .
\end{eqnarray}
This yields
\begin{equation*}
  \Abs{  \sin \left( \frac{\pi}{L}  \vec{k} \cdot (2\vec{x} + \vec{e} ) \right) }  \leq \sin \left(  \frac{\pi \abs{ \vec{k} \cdot(2 \vec{x}+\vec{e}) } }{L \norm{2 \vec{x}+\vec{e} }_{1}} \right) \norm{ 2 \vec{x}+ \vec{e} }_{1}
\end{equation*}
By applying the H\"{o}lder inequality, one finds 
$\abs{ \vec{k} \cdot (2\vec{x} + \vec{e} ) } \leq \norm{ \vec{k} }_{\infty}  \norm{ 2\vec{x} + \vec{e} }_{1}$ where $\norm{ \vec{x} }_{\infty}=\text{max}_{j} \abs{ x_{j} }$.  Therefore,
\begin{equation}
\label{Eq_U_inequality}
    u \leq  \pi \norm{ \vec{k} }_{\infty} /L .
\end{equation}
Since $\vec{k}  \in \Lambda $, $0 \leq k_{j} \leq L$ and so one might infer $\norm{ \vec{k} }_{\infty}\leq L$. However, due to the periodicity of the lattice we can switch to a co-ordinate system where $-L/2 \leq k_{j} \leq L/2$, and so $\norm{ \vec{k} }_{\infty}\leq L/2$.   This entails $0 < u \leq \pi /2$, which is important because $\sin(u)$ is monotonic on this interval. Monotonicity allows us to upper bound
$\sin(u)$ by $\sin(v)$ whenever $u \leq v\leq \pi/2$, and using $v$ as the RHS of Eq.~\eqref{Eq_U_inequality} we deduce
\begin{equation}
      \Abs{  \sin \left( \frac{\pi}{L}  \vec{k} \cdot (2\vec{x} + \vec{e} ) \right) }  \leq \sin \left( \pi \norm{ \vec{k} }_{\infty} / L \right)  \norm{2 \vec{x}+ \vec{e} }_{1}.
\end{equation}
Similarly the second $\sin$ factor of Eq.~\eqref{EQ_long_trig_inequal} satisfies $\abs{ \sin( \pi \vec{k} \cdot \vec{e} / L) } \leq \abs{ \sin( \pi \norm{ \vec{k} }_{\infty} \norm{ \vec{e} }_{1} / L) } $, 
and since $\vec{e}$ is a 
unit vector, $\abs{ \sin( \pi \vec{k}\cdot\vec{e} / L) } \leq \abs{ \sin( \pi \norm{ \vec{k} }_{\infty}) } $.  Combining these upper bounds with Eq.~\eqref{EQ_long_trig_inequal}, we find
\begin{eqnarray*}
A_{\vec{k}}	&\leq&  \sin^2( \pi \norm{ \vec{k} }_{\infty} / L ) \norm{ 2\vec{x}+ \vec{e} }_{1}   ,\end{eqnarray*}
which completes our simplification of the numerator $A_{\vec{k}}$.
%
Next we turn to the denominator $B_{\vec{k}}$, which is simply
\begin{equation}
    B_{\vec{k}}=1-\lambda_{\vec{k}} = \eta - \frac{\eta}{D} \sum_{j=1}^{D}\cos
    \left(
    2 \pi k_j /L
    \right).
\end{equation}
Clearly, $1-2\sin^2(x) = \cos(2x)$  for all $x$, so that
\begin{equation}
   B_{\vec{k}} =  \frac{2 \eta}{D} \sum_{j=1}^{D}\sin^2
    \left(
    \pi k_j /L
    \right).
\end{equation}
Bringing numerator and denominator together and rearranging we finally have
\begin{equation}
	\frac{A_{\vec{k}}}{B_{\vec{k}}} \leq \left( \frac{\sin^2 ( \pi \norm{ \vec{k} }_{\infty} / L )}{  \sum_{j} \sin^2(\pi \abs{k_j} / L ) } \right) \left( \frac{D  \norm{ 2 \vec{x} +\vec{e} }_{1}}{2\eta} \right).
\end{equation}
Lastly we note the first bracket is upper bounded by unity since the numerator is simply one of the positive terms in the denominator, and this proves Eq.~\eqref{Cxk_upper_bound}.
Putting this into Eq.~\eqref{Eq_Delta_so_far} we arrive at
\begin{equation}
\label{Eq_Delta_Before_shells}
	\abs{ \Delta_{t}(\vec{x}) }
	\leq  \frac{D \norm{ 2\vec{x}+ \vec{e} }_1}{2 \eta L^{D}} 
	\sum_{\vec{k}  \neq \vec{0}} \abs{ \lambda_\vec{k} }^t.
\end{equation}
We proceed by dividing the eigenvalues into shells of equal $\norm{ \vec{k} }_{\infty}$. We denote with $O_{L,l}$ the number of elements in $\vec{k}$-space shell for which $\norm{ \vec{k} }_{\infty}=l$
for $l=1,\dots, (L-1)/2$. Here, we have assumed for simplicity that $L$ is odd, with even $L$ admitting a similar treatment. Let us assume ${D}\geq 2$.
Clearly, we have 
\begin{equation}
	O_{L,l} = (l+2)^{D}  - (l+1)^{D} 
	\leq 
	2^{D}
	l^{{D}-1} .
\end{equation}
We can now upper bound 
\begin{eqnarray}
	V_l &:=& \sup\left\{ 
	\abs{ \lambda_{\vec{k}} }: \vec{k} \in 
	O_{L,l} \right\} \\ \nonumber
	&=& \lambda_{(l,0,\dots, 0)} \\ \nonumber
	  &=& (1-\eta)+\frac{\eta}{D}\left( \cos ( 2 \pi l / L ) + D-1 \right),
\end{eqnarray}
where we have again assumed $\eta \leq 1/2$ to ensure that $\abs{ \lambda_{\vec{k}} }=\lambda_{\vec{k}} $.  Making use of $\cos(x)\leq 1-x^2/4$ for $x\in[-\pi/2,\pi/2]$, one obtains
\begin{equation}
	V_l  \leq 1- 
	\frac{\pi^2 \eta}{ D^2} \frac{l^2}{L^2}.
\end{equation}	
This gives
\begin{eqnarray}
	\sum_{\vec{k}\neq 0} \abs{ \lambda_{\vec{k}} }^t
	&\leq & \sum_{l=1}^{(L-1)/2} O_{L,l} V_{L,l} \\ \nonumber
	&\leq & 2^D\sum_{l=1}^{(L-1)/2} l^{{D}-1} \left(
	 1- 	\frac{\pi^2 \eta}{{D}^2} \frac{l^2}{L^2}	\right)^t.\nonumber
\end{eqnarray}
Plugging this into Eq.~\eqref{Eq_Delta_Before_shells} and collecting constants, gives
\begin{equation}
    \abs{ \Delta_{t}(\vec{x}) } = \frac{\alpha}{L} \sum_{x=\frac{1}{L},\frac{2}{L},\dots, \frac{L-1}{2L}} x^{D-1}(1-\beta x^2)^t
\end{equation}
where 
\begin{eqnarray}
    \alpha & = & \frac{D \norm{ 2 \vec{x} + \vec{e} }_1 2^D}{2 \eta} , \\ \nonumber
    \beta & = &    \frac{\pi^2 \eta}{ D^2} , \\ \nonumber
    x & = & l/L.
\end{eqnarray}
We surely have that
\begin{eqnarray}
	\abs{ \Delta_{t}(\vec{x}) }=
	\abs{ \tilde{\phi}_{t}(\vec{x}) - \tilde{\phi}_\infty (\vec{x}) }
	&\leq & \epsilon,
\end{eqnarray}	
if 
\begin{equation}
	x^{{D}-1} \left(
	1- \beta x^2 \right)^t\leq  \epsilon / \alpha ,
\end{equation}
for all $x\in [0,1/2]$.  This is satisfied provided
\begin{eqnarray}
	t \geq t_{\rm min}:=\max_{x\in [0,1/2]}\frac{\log\left( \epsilon x^{1-D} / \alpha 
	\right)}{\log\left(
	1- \beta x^2 \right)}.
\end{eqnarray}
We can now use that
\begin{equation}
	-\log(1- \beta x^2)^{-1} \leq \frac{1}{\beta x^2},
\end{equation}
for $\beta x^2 \in[0,1/2]$ (which can be inferred from $\eta\leq 1/2$, $d\geq 2$, and $x \leq 1/2$), to bound
\begin{equation}
\label{eq_Tmin}
	t_{\rm min} \leq \beta  \max_{x\in [0,1]} \frac{\log\left(   \alpha x^{D-1} 
/ \epsilon   \right) }{x^2} .
\end{equation}
The extremum of 
\begin{equation}
	f(y)= \log(ay^{{D}-1})/y^2 
\end{equation}	
can be found by differentiation to be at $y_{\text{max}}=e^{1/2} a^{-1/({D}-1)}$ taking the functional value $f(y_{\text{max}})=(D-1)a^{2/(D-1)}/2e  $. In Eq.~\eqref{eq_Tmin} we have this form with $a=\alpha / \epsilon $ and so
\begin{equation}
	t_{\rm min}\leq  \frac{\beta (D-1)}{2 e}\left( \frac{\alpha}{\epsilon}\right)^{\frac{2}{D-1}}  .
\end{equation}
Inserting the values of $\alpha$ and $\beta$ we get
\begin{equation}
	t_{\rm min}\leq \chi(\vec{x}) \epsilon^{\frac{2}{1-D}}
\end{equation}
where
\begin{equation}
    \chi(\vec{x}) = \frac{\pi^2 \eta (D-1)}{ 2 e D^2}\left( \frac{D \norm{ 2 \vec{x} + \vec{e} }_1 2^D }{2 \eta }\right)^{\frac{2}{D-1}}
\end{equation}
This provides Eq.~\eqref{tmin_rough} with an explicit value of $\chi(\vec{x})$.  Setting $\vec{x}=0$ and $\eta=1/2$, we find $\chi(\vec{0})\leq 15$ and $\chi(\vec{0}) \leq 5$ for dimensions $D=2,3$,
 respectively. For general $\vec{x}$, we can obtain a neater upper bound on $\chi(\vec{x})$, so that
\begin{equation}
\label{Chi_approx}
    \chi'(\vec{x}) \leq \begin{cases}
    8(2 \norm{ \vec{x} }_{1}+1)^2/\eta & \text{for } D=2 , \\
    5(2 \norm{ \vec{x} }_{1}+1) & \text{for } D=3 .
 \end{cases}
\end{equation}
This be achieved using the triangle inequality, so $\norm{ 2 \vec{x} + \vec{e} }_{1} \leq 2 \norm{ \vec{x} }_{1}+ \norm{ \vec{e} }_{1}=2 \norm{ \vec{x} }_{1}+1$, and either $\pi^2/(8 e) < 1/2$ (used for $D=2$) or $4 \pi^2 / (3 e) < 5$ (used for $D=3$).




\end{document}


1406.2338.extracted_bib
Shut{#1% \begin{quotation\noindent \textsc{Key:\ #2\\\textsc{Annotation:\ #3%
1406.2338.extracted_bib
Open[0]{% \providecommand
1406.2338.extracted_bib
Stop [0]{% \providecommand
1406.2338.extracted_bib
NoStop [0]{.\EOS\space% \providecommand \EOS [0]{\spacefactor3000\relax% \providecommand
1406.2338.extracted_bib
Shut [1]{\csname bibitem#1\endcsname% %</preamble>
1406.2338.extracted_bib
{Aharonov%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Aharonov\ and\ \bibinfo {author {\bibfnamefont{M.~\bibnamefont{Ben-Or,\ % \bibfield{journal{% \bibinfo {journal {SIAM J. Comput.\ % \bibinfo {volume {38,\ \bibinfo {pages {1207 (\bibinfo {year {2008)% \bibAnnoteFile{NoStop{Aharonov%
1406.2338.extracted_bib
{G01a%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Gottesman,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. A\ % \bibinfo {volume {57,\ \bibinfo {pages {127 (\bibinfo {year {1998)% \bibAnnoteFile{NoStop{G01a%
1406.2338.extracted_bib
{SurfaceCode%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{E.~\bibnamefont{Dennis, \bibinfo {author {\bibfnamefont{A.~Y.\ \bibnamefont{Kitaev, \bibinfo {author {\bibfnamefont{A.~\bibnamefont{Landahl,\ and\ \bibinfo {author {\bibfnamefont{J.~\bibnamefont{Preskill,\ % \bibfield{journal{% \bibinfo {journal {J. Math. Phys.\ % \bibinfo {volume {43,\ \bibinfo {pages {4452 (\bibinfo {year {2002)% \bibAnnoteFile{NoStop{SurfaceCode%
1406.2338.extracted_bib
{tor%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{A.~\bibnamefont{Kitaev,\ % \bibfield{journal{% \bibinfo {journal {Ann. Phys.\ % \bibinfo {volume {321,\ \bibinfo {pages {2 (\bibinfo {year {2006)% \bibAnnoteFile{NoStop{tor%
1406.2338.extracted_bib
{Kitaev%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{A.~Y.\ \bibnamefont{Kitaev,\ % \bibfield{journal{% \bibinfo {journal {Ann. Phys.\ % \bibinfo {volume {303,\ \bibinfo {pages {2 (\bibinfo {year {2003)% \bibAnnoteFile{NoStop{Kitaev%
1406.2338.extracted_bib
{yoshida2011feasibility%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{B.~\bibnamefont{Yoshida,\ % \bibfield{journal{% \bibinfo {journal {Annals of Physics\ % \bibinfo {volume {326,\ \bibinfo {pages {2566 (\bibinfo {year {2011)% \bibAnnoteFile{NoStop{yoshida2011feasibility%
1406.2338.extracted_bib
{WangFowlerHollenberg%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{D.~S.\ \bibnamefont{Wang, \bibinfo {author {\bibfnamefont{A.~G.\ \bibnamefont{Fowler,\ and\ \bibinfo {author {\bibfnamefont{L.~C.~L.\ \bibnamefont{Hollenberg,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. A\ % \bibinfo {volume {83,\ \bibinfo {pages {020302 (\bibinfo {year {2001)% \bibAnnoteFile{NoStop{WangFowlerHollenberg%
1406.2338.extracted_bib
{Duclos-Cianci10%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{G.~\bibnamefont{Duclos-Cianci\ and\ \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Poulin,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. Lett.\ % \bibinfo {volume {104,\ \bibinfo {pages {050504 (\bibinfo {year {2010)% \bibAnnoteFile{NoStop{Duclos-Cianci10%
1406.2338.extracted_bib
{BravyiHaah%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{S.~\bibnamefont{Bravyi\ and\ \bibinfo {author {\bibfnamefont{J.~\bibnamefont{Haah,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. Lett.\ % \bibinfo {volume {111,\ \bibinfo {pages {200501 (\bibinfo {year {2013)% \bibAnnoteFile{NoStop{BravyiHaah%
1406.2338.extracted_bib
{Wootton12%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{J.~R.\ \bibnamefont{Wootton\ and\ \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Loss,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. Lett.\ % \bibinfo {volume {109,\ \bibinfo {pages {160503 (\bibinfo {year {2012)% \bibAnnoteFile{NoStop{Wootton12%
1406.2338.extracted_bib
{Hutter14%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{A.~\bibnamefont{Hutter, \bibinfo {author {\bibfnamefont{J.~R.\ \bibnamefont{Wootton,\ and\ \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Loss,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. A\ % \bibinfo {volume {89,\ \bibinfo {pages {022326 (\bibinfo {year {2014)% \bibAnnoteFile{NoStop{Hutter14%
1406.2338.extracted_bib
{fowler2013minimum%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{A.~G.\ \bibnamefont{Fowler,\ % \bibfield{journal{% \bibinfo {journal {arXiv:1307.1740% (\bibinfo {year {2013)% \bibAnnoteFile{NoStop{fowler2013minimum%
1406.2338.extracted_bib
{Gacs%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{P.~\bibnamefont{G{\'acs,\ % \bibfield{journal{% \bibinfo {journal {J. Stat. Phys.\ % \bibinfo {volume {103,\ \bibinfo {pages {45 (\bibinfo {year {2001)% \bibAnnoteFile{NoStop{Gacs%
1406.2338.extracted_bib
{Harrington2004%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{J.~W.\ \bibnamefont{Harrington,\ % \enquote{\bibinfo {title {Analysis of quantum error-correcting codes: symplectic lattice codes and toric codes,\ (\bibinfo {year {2004),\ \url{http://thesis.library.caltech.edu/1747/1/jimh_thesis.pdf% \bibAnnoteFile{NoStop{Harrington2004%
1406.2338.extracted_bib
{Hamma%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{A.~\bibnamefont{Hamma, \bibinfo {author {\bibfnamefont{C.~\bibnamefont{Castelnovo,\ and\ \bibinfo {author {\bibfnamefont{C.~\bibnamefont{Chamon,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. B\ % \bibinfo {volume {79,\ \bibinfo {pages {245122 (\bibinfo {year {2009)% \bibAnnoteFile{NoStop{Hamma%
1406.2338.extracted_bib
{Pedrocchi11%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{F.~L.\ \bibnamefont{Pedrocchi, \bibinfo {author {\bibfnamefont{S.~\bibnamefont{Chesi,\ and\ \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Loss,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. B\ % \bibinfo {volume {83,\ \bibinfo {pages {115415 (\bibinfo {year {2011)% \bibAnnoteFile{NoStop{Pedrocchi11%
1406.2338.extracted_bib
{Pedrocchi13%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{F.~L.\ \bibnamefont{Pedrocchi, \bibinfo {author {\bibfnamefont{A.~\bibnamefont{Hutter, \bibinfo {author {\bibfnamefont{J.~R.\ \bibnamefont{Wootton,\ and\ \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Loss,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. A\ % \bibinfo {volume {88,\ \bibinfo {pages {062313 (\bibinfo {year {2013)% \bibAnnoteFile{NoStop{Pedrocchi13%
1406.2338.extracted_bib
{Fujii14%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{K.~\bibnamefont{Fujii, \bibinfo {author {\bibfnamefont{M.~\bibnamefont{Negoro, \bibinfo {author {\bibfnamefont{N.~\bibnamefont{Imoto,\ and\ \bibinfo {author {\bibfnamefont{M.~\bibnamefont{Kitagawa,\ % \enquote{\bibinfo {title {Measurement-free topological protection using dissipative feedback,\ \bibinfo {note {E-print arXiv:1401.6350% \bibAnnoteFile{NoStop{Fujii14%
1406.2338.extracted_bib
{SelfCorrectingMemoryBoundary%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{A.~\bibnamefont{Hutter, \bibinfo {author {\bibfnamefont{J.~R.\ \bibnamefont{Wootton, \bibinfo {author {\bibfnamefont{B.~\bibnamefont{R{\"othlisberger,\ and\ \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Loss,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. A\ % \bibinfo {volume {86,\ \bibinfo {pages {052340 (\bibinfo {year {2012)% \bibAnnoteFile{NoStop{SelfCorrectingMemoryBoundary%
1406.2338.extracted_bib
{ThermallyStableSurfaceCode%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{F.~L.\ \bibnamefont{Pedrocchi, \bibinfo {author {\bibfnamefont{A.~\bibnamefont{Hutter, \bibinfo {author {\bibfnamefont{J.~R.\ \bibnamefont{Wootton,\ and\ \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Loss,\ % \enquote{\bibinfo {title {{Local 3D spin Hamiltonian as a thermally stable surface code,\ (\bibinfo {year {2009),\ \bibinfo {note {e-print arXiv:1209.5289% \bibAnnoteFile{NoStop{ThermallyStableSurfaceCode%
1406.2338.extracted_bib
{Weakly%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Becker, \bibinfo {author {\bibfnamefont{T.~\bibnamefont{Tanamoto, \bibinfo {author {\bibfnamefont{A.~\bibnamefont{Hutter, \bibinfo {author {\bibfnamefont{F.~L.\ \bibnamefont{Pedrocchi,\ and\ \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Loss,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. A\ % \bibinfo {volume {87,\ \bibinfo {pages {042340 (\bibinfo {year {2013)% \bibAnnoteFile{NoStop{Weakly%
1406.2338.extracted_bib
{Pastawski11%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{F.~\bibnamefont{Pastawski, \bibinfo {author {\bibfnamefont{L.~\bibnamefont{Clemente,\ and\ \bibinfo {author {\bibfnamefont{J.~I.\ \bibnamefont{Cirac,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. A\ % \bibinfo {volume {83,\ \bibinfo {pages {012304 (\bibinfo {year {2011)% \bibAnnoteFile{NoStop{Pastawski11%
1406.2338.extracted_bib
{DissipativeGadgets%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{M.~J.\ \bibnamefont{Kastoryano, \bibinfo {author {\bibfnamefont{M.~M.\ \bibnamefont{Wolf,\ and\ \bibinfo {author {\bibfnamefont{J.~\bibnamefont{Eisert,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. Lett.\ % \bibinfo {volume {110,\ \bibinfo {pages {110501 (\bibinfo {year {2013)% \bibAnnoteFile{NoStop{DissipativeGadgets%
1406.2338.extracted_bib
{Bombin12%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{H.~\bibnamefont{Bombin, \bibinfo {author {\bibfnamefont{R.~S.\ \bibnamefont{Andrist, \bibinfo {author {\bibfnamefont{M.~\bibnamefont{Ohzeki, \bibinfo {author {\bibfnamefont{H.~G.\ \bibnamefont{Katzgraber,\ and\ \bibinfo {author {\bibfnamefont{M.~A.\ \bibnamefont{Martin-Delgado,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. X\ % \bibinfo {volume {2,\ \bibinfo {pages {021004 (\bibinfo {year {2012)% \bibAnnoteFile{NoStop{Bombin12%
1406.2338.extracted_bib
{Watson2013%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{F.~H.~E.\ \bibnamefont{{Watson\ and\ \bibinfo {author {\bibfnamefont{S.~D.\ \bibnamefont{{Barrett,\ % \enquote{\bibinfo {title {Estimating overheads for topological quantum codes,\ (\bibinfo {year {2013),\ \bibinfo {note {e-print arXiv:1312.5213% \bibAnnoteFile{NoStop{Watson2013%
1406.2338.extracted_bib
{kovalev2013fault%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{A.~A.\ \bibnamefont{Kovalev\ and\ \bibinfo {author {\bibfnamefont{L.~P.\ \bibnamefont{Pryadko,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. A\ % \bibinfo {volume {87,\ \bibinfo {pages {020304 (\bibinfo {year {2013)% \bibAnnoteFile{NoStop{kovalev2013fault%
1406.2338.extracted_bib
{gottesman2013overhead%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Gottesman,\ % \enquote{\bibinfo {title {{What is the overhead required for fault-tolerant quantum computation?\ (\bibinfo {year {2013),\ \bibinfo {note {e-print arXiv:1310.2984% \bibAnnoteFile{NoStop{gottesman2013overhead%
1406.2338.extracted_bib
{Martinis1%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{A.~G.\ \bibnamefont{Fowler, \bibinfo {author {\bibfnamefont{M.~\bibnamefont{Mariantoni, \bibinfo {author {\bibfnamefont{J.~M.\ \bibnamefont{Martinis,\ and\ \bibinfo {author {\bibfnamefont{A.~N.\ \bibnamefont{Cleland,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. A\ % \bibinfo {volume {86,\ \bibinfo {pages {032324 (\bibinfo {year {2012)% \bibAnnoteFile{NoStop{Martinis1%
1406.2338.extracted_bib
{barends2014%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{R.~\bibnamefont{Barends, \bibinfo {author {\bibfnamefont{J.~\bibnamefont{Kelly, \bibinfo {author {\bibfnamefont{A.~\bibnamefont{Megrant, \bibinfo {author {\bibfnamefont{A.~\bibnamefont{Veitia, \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Sank, \bibinfo {author {\bibfnamefont{E.~\bibnamefont{Jeffrey, \bibinfo {author {\bibfnamefont{T.~\bibnamefont{White, \bibinfo {author {\bibfnamefont{J.~\bibnamefont{Mutus, \bibinfo {author {\bibfnamefont{A.~\bibnamefont{Fowler, \bibinfo {author {\bibfnamefont{B.~\bibnamefont{Campbell, et~al.,\ % \bibfield{journal{% \bibinfo {journal {Nature\ % \bibinfo {volume {508,\ \bibinfo {pages {500 (\bibinfo {year {2014)% \bibAnnoteFile{NoStop{barends2014%
1406.2338.extracted_bib
{DennisPhD%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{E.~\bibnamefont{Dennis,\ % Ph.D. thesis,\ \bibinfo {school {UCSB (\bibinfo {month {September\ \bibinfo {year {2003)% \bibAnnoteFile{NoStop{DennisPhD%
1406.2338.extracted_bib
{Wootton%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{J.~R.\ \bibnamefont{Wootton, \bibinfo {author {\bibfnamefont{V.~\bibnamefont{Lahtinen, \bibinfo {author {\bibfnamefont{B.~\bibnamefont{Doucot,\ and\ \bibinfo {author {\bibfnamefont{J.~K.\ \bibnamefont{Pachos,\ % \bibfield{journal{% \bibinfo {journal {Ann. Phys.\ % \bibinfo {volume {326,\ \bibinfo {pages {2307 (\bibinfo {year {2011)% \bibAnnoteFile{NoStop{Wootton%
1406.2338.extracted_bib
{saad2003iterative%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{Y.~\bibnamefont{Saad,\ % \bibinfo {title {Iterative methods for sparse linear systems\ (\bibinfo {publisher {Siam,\ \bibinfo {year {2003)% \bibAnnoteFile{NoStop{saad2003iterative%
1406.2338.extracted_bib
{Bhatia%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{R.~\bibnamefont{Bhatia,\ % \bibinfo {title {Matrix analysis\ (\bibinfo {publisher {Springer,\ \bibinfo {address {Heidelberg,\ \bibinfo {year {1997)% \bibAnnoteFile{NoStop{Bhatia%
1406.2338.extracted_bib
{fowler09-2%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{A.~G.\ \bibnamefont{Fowler, \bibinfo {author {\bibfnamefont{A.~M.\ \bibnamefont{Stephens,\ and\ \bibinfo {author {\bibfnamefont{P.~\bibnamefont{Groszkowski,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. A\ % \bibinfo {volume {80,\ \bibinfo {pages {052312 (\bibinfo {year {2009)% \bibAnnoteFile{NoStop{fowler09-2%
1406.2338.extracted_bib
{Chesi%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{S.~\bibnamefont{Chesi, \bibinfo {author {\bibfnamefont{B.~\bibnamefont{R{\"othlisberger,\ and\ \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Loss\ % \bibinfo {volume {82,\ \bibinfo {pages {022305 (\bibinfo {year {2010)% \bibAnnoteFile{NoStop{Chesi%
1406.2338.extracted_bib
{LossCavity%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{F.~L.\ \bibnamefont{Pedrocchi, \bibinfo {author {\bibfnamefont{S.~\bibnamefont{Chesi,\ and\ \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Loss,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. B\ % \bibinfo {volume {83,\ \bibinfo {pages {115415 (\bibinfo {year {2011)% \bibAnnoteFile{NoStop{LossCavity%
1406.2338.extracted_bib
{Enhanced%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{F.~L.\ \bibnamefont{Pedrocchi, \bibinfo {author {\bibfnamefont{A.~\bibnamefont{Hutter, \bibinfo {author {\bibfnamefont{J.~R.\ \bibnamefont{Wootton,\ and\ \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Loss,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. A\ % \bibinfo {volume {88,\ \bibinfo {pages {062313 (\bibinfo {year {2013)% \bibAnnoteFile{NoStop{Enhanced%
1406.2338.extracted_bib
{gray2001%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{L.~F.\ \bibnamefont{Gray,\ % \bibfield{journal{% \bibinfo {journal {J. Stat. Phys.\ % \bibinfo {volume {103,\ \bibinfo {pages {1 (\bibinfo {year {2001)% \bibAnnoteFile{NoStop{gray2001%
1406.2338.extracted_bib
{Raussendorf%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{R.~\bibnamefont{Raussendorf\ and\ \bibinfo {author {\bibfnamefont{J.~\bibnamefont{Harrington,\ % \bibfield{journal{% \bibinfo {journal {Phys. Rev. Lett.\ % \bibinfo {volume {98,\ \bibinfo {pages {190504 (\bibinfo {year {2007)% \bibAnnoteFile{NoStop{Raussendorf%
1406.2338.extracted_bib
{Note1%
1406.2338.extracted_bib
Open \bibinfo {note {\protect \url {http://users.physik.fu-berlin.de/~herold/phi-automaton-decoder/% \bibAnnoteFile{NoStop{Note1%
1406.2338.extracted_bib
{PoulinPrivate%
1406.2338.extracted_bib
Open \bibfield{author{% \bibinfo {author {\bibfnamefont{D.~\bibnamefont{Poulin,\ % \bibinfo {note {{private communication% \bibAnnoteFile{NoStop{PoulinPrivate%
1406.2338.extracted_bib
{Note2%
1406.2338.extracted_bib
Open \bibinfo {note {\protect \url {http://www.physique.usherbrooke.ca/poulin/utilisateur/files/seminaires/2011% Simon.pdf% \bibAnnoteFile{NoStop{Note2%