<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
      <title>Distinguishably Identical</title>
      <link>https://lexuge.github.io</link>
      <description>Muses and Records on Physics, Maths, and Computing</description>
      <generator>Zola</generator>
      <language>en</language>
      <atom:link href="https://lexuge.github.io/rss.xml" rel="self" type="application/rss+xml"/>
      <lastBuildDate>Sun, 03 May 2026 00:00:00 +0000</lastBuildDate>
      <item>
          <title>Modern Quantum Error Correction Part 1</title>
          <pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate>
          <author>Kanyang Ying</author>
          <link>https://lexuge.github.io/modern-qec-1/</link>
          <guid>https://lexuge.github.io/modern-qec-1/</guid>
          <description xml:base="https://lexuge.github.io/modern-qec-1/">&lt;h1 id=&quot;introduction&quot;&gt;Introduction&lt;&#x2F;h1&gt;
&lt;p&gt;The traditional approach to QEC centered on the error correction code itself. This suffers from the fact that, unlike classical error which mainly affects data at rest, quantum errors occur during &lt;em&gt;computation&lt;&#x2F;em&gt;. In other words, unlike in classical computing where CPU is assumed to be error-free, &quot;QPU&quot; makes errors all the time.&lt;&#x2F;p&gt;
&lt;p&gt;This means error process and computation process are inherently mingled. And that renders some famous theorems and results like &lt;em&gt;Knill–Laflamme conditions&lt;&#x2F;em&gt; rather inelegant or impractical since they assume a dedicated error channel where no computation happens.&lt;&#x2F;p&gt;
&lt;p&gt;A much cleaner approach has recently been developed by Google, called Detector Error Model, which can be seen as a generalization of qubit-level error to circuit-level error. This has been further perfected and rewritten using the language of ZX-calculus, under which we shall see the idea is really natural.&lt;&#x2F;p&gt;
&lt;p&gt;This blog posts series introduces the idea of the &quot;detector&quot;, this &quot;modern&quot; QEC workflow, and fault-tolerance formulated in ZX-calculus. This assumes you are already familiar with the basics of ZX-calculus. Indeed, you would see many ideas&#x2F;definitions are most elegant under the ZX-calculus formulation. Additionally, we would be focusing on &lt;em&gt;Clifford diagram&lt;&#x2F;em&gt; only as it&#x27;s most well understood and we have the more tools to play with.&lt;&#x2F;p&gt;
&lt;p&gt;But right before we start, let&#x27;s restate the definition of Pauli group.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;basic-stuff&quot;&gt;Basic Stuff&lt;&#x2F;h1&gt;




    


&lt;div class=&quot;math-box definition&quot; id=&quot;definition-pauli-string&quot;&gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Definition&lt;&#x2F;span&gt;
        
            &lt;span class=&quot;math-box-title&quot;&gt;(Pauli String)&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;A $n$-Pauli string is a tensor product of Pauli operators of length $n$. For example
$$ \mathbb{I} \otimes X \otimes Z \otimes Z $$
is a 4-Pauli string.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; 



    


&lt;div class=&quot;math-box definition&quot; id=&quot;definition-pauli-group&quot;&gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Definition&lt;&#x2F;span&gt;
        
            &lt;span class=&quot;math-box-title&quot;&gt;(Pauli Group)&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;We denote Pauli group as&lt;&#x2F;p&gt;
&lt;div class=&quot;math-display&quot; data-tex=&quot;\mathcal{P}^n = \{ i^k P | k \in \{0,1,2,3\}, P \text{ is a Pauli string of length } n \}&quot;&gt;&lt;&#x2F;div&gt;
    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; 
&lt;p&gt;The reason we included the prefactor $i^k$ is &lt;a href=&quot;https:&#x2F;&#x2F;lexuge.github.io&#x2F;modern-qec-1&#x2F;#definition-pauli-string&quot;&gt;pauli string&lt;&#x2F;a&gt; themselves don&#x27;t form a group without prefactor as for example $Y = i XZ$.&lt;&#x2F;p&gt;
&lt;p&gt;We can also &quot;recover&quot; the set of $n$-Pauli strings by consider the quotient of &quot;center&quot; of the group. center are elements who commute with the entire group. Here, center is $i^k \mathbb{I}^{\otimes n}$ with $k$ from $0$ to $3$.&lt;&#x2F;p&gt;
&lt;p&gt;Now we can define equivalence relation that two elements are equivalent when they differ by one of the center. Quotienting out this requivalence gives us equivalence &lt;em&gt;classes&lt;&#x2F;em&gt; where each class is identified with a Pauli string. Therefore, after quotient, it&#x27;s essentially the set of all Pauli strings. We denote the set after quotient by $\overline{\mathcal{P}^n}$.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;fault-on-zx-diagrams&quot;&gt;Fault on ZX diagrams&lt;&#x2F;h1&gt;
&lt;p&gt;There are a lot of models to formalize quantum faults, but all of them can be reduced to thinking of only Pauli faults. We will convince ourselves later by considering how general faults may be decomposed into Pauli faults.&lt;&#x2F;p&gt;
&lt;p&gt;First, we would like to define what is a Pauli fault on a daigram.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;pauli-fault&quot;&gt;Pauli Fault&lt;&#x2F;h2&gt;




    


&lt;div class=&quot;math-box definition&quot; id=&quot;definition-pauli-fault&quot;&gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Definition&lt;&#x2F;span&gt;
        
            &lt;span class=&quot;math-box-title&quot;&gt;(Pauli Fault)&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;Let set of all edges of a ZX diagram be $E$. Pauli faults are elements of $\overline{\mathcal{P}^{|E|}}$ where $\mathcal{P}^{|E|}$ means the Pauli group with support on the edge of the ZX diagram.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;  &lt;!----&gt;


&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: rgba(101, 31, 255, 0.1)&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(.&#x2F;icons&#x2F;example.svg)&quot;
    &gt;
      example
    &lt;&#x2F;div&gt;
    &lt;span&gt;&lt;strong&gt;Example&lt;&#x2F;strong&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;p&gt;As a graphical example, consider &lt;a href=&quot;#fig-pauli-fault-1&quot;&gt;figure 1&lt;&#x2F;a&gt; and &lt;a href=&quot;#fig-pauli-fault-2&quot;&gt;figure 2&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;figure id=&quot;fig-pauli-fault-1&quot; class=&quot;diagram&quot;&gt;
&lt;img
  src=&quot;&#x2F;figures&#x2F;pauli-fault-1.svg&quot;
&#x2F;&gt;
&lt;figcaption&gt;Diagram $D$ with fault sites. Here the octagons on edge represent &quot;fault sites&quot; which are support of the Pauli faults.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;figure id=&quot;fig-pauli-fault-2&quot; class=&quot;diagram&quot;&gt;
&lt;img
  src=&quot;&#x2F;figures&#x2F;pauli-fault-2.svg&quot;
&#x2F;&gt;
&lt;figcaption&gt;An example pauli fault on $D$ with a X fault and a Y fault (represented by X and Z product and we ignored the overall proportionality constant).&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;&lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Let $D$ be the diagram and $F \in \overline{\mathcal{P}^{|E|}}$ be a Pauli fault. We denote the final diagram after instantiating $F$ at corresponding fault sites on $D$ by $D^F$.&lt;&#x2F;p&gt;
 &lt;!----&gt;


&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: rgba(101, 31, 255, 0.1)&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(.&#x2F;icons&#x2F;example.svg)&quot;
    &gt;
      example
    &lt;&#x2F;div&gt;
    &lt;span&gt;&lt;strong&gt;Example&lt;&#x2F;strong&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;p&gt;For example, the &quot;X and Y&quot; fault in &lt;a href=&quot;#fig-pauli-fault-2&quot;&gt;figure 2&lt;&#x2F;a&gt; will give rise to an overall $D^F$ below
&lt;img
  class=&quot;diagram-svg&quot;
  src=&quot;&#x2F;figures&#x2F;pauli-fault-3.svg&quot;
&#x2F;&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;
&lt;h2 id=&quot;noise-model&quot;&gt;Noise Model&lt;&#x2F;h2&gt;




    


&lt;div class=&quot;math-box definition&quot; id=&quot;definition-noise-model&quot;&gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Definition&lt;&#x2F;span&gt;
        
            &lt;span class=&quot;math-box-title&quot;&gt;(Noise Model)&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;A noise model consists of a set of atomic (Pauli) faults $\mathcal{F}\subseteq \overline{\mathcal{P}^n}$ and a &lt;em&gt;weight&lt;&#x2F;em&gt; function $\mathrm{wt}: \mathcal{F} \to \mathbb{N}$.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; 
&lt;p&gt;It&#x27;s useful to understand weight intuitively as a log scale probability. So roughly faults of weight $w$ means its probability is proportional to $e^{-w}$. Hence higher weight faults are more &lt;em&gt;unlikely&lt;&#x2F;em&gt; to happen.&lt;&#x2F;p&gt;
&lt;p&gt;Then the possible faults under a specific noise model is then the set of Pauli faults $\langle \mathcal{F} \rangle$ generated by $\mathcal{F}$ (here we ignore the proportionality constant when composing those atomic faults so the result is again a Pauli string. Or if you wish you can say $\overline{\mathcal{P}^n}$ forms a group because center satisfies the congruence relation).&lt;&#x2F;p&gt;
&lt;p&gt;Another &lt;em&gt;assumption&lt;&#x2F;em&gt; we make about atomic fault is that they happen independently. So if we have two atomic fault forming a composite fault, its probability should be the product of the individual atomic faults&#x27; probability. Hence the weight (which is roughly the log of the probability) should &lt;em&gt;add&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Now a natural question is: how do we define weight for those composite faults? Since it&#x27;s possible that there are multiple way to generate one fault from different atomic faults. The answer is we simply take the minimum of those compositions (hence the most likely way to generate this composite fault).&lt;&#x2F;p&gt;
&lt;p&gt;Formally, we can write this kind of recursive definition for any $F \in \langle \mathcal{F} \rangle$,&lt;&#x2F;p&gt;
&lt;div class=&quot;math-display&quot; data-tex=&quot;\mathrm{wt}(F) = \min_{\mathcal{F}_{\mathrm{sub}} \subset \mathcal{F}} \sum_{F_i \in \mathcal{F}_{\mathrm{sub}}} \mathrm{wt}(F_i) \qquad \text{where} \qquad \prod_{F_i \in \mathcal{F}_{\mathrm{sub}}} F_i = F&quot;&gt;&lt;&#x2F;div&gt;
&lt;p&gt;We call the $\mathcal{F}_\mathrm{sub}$ which gives rise to the minimal sum of weights the &quot;minimal weight composition&quot;.&lt;&#x2F;p&gt;
&lt;!-- #### Irreducible Fault

So this definition of _irreducible fault_ would be useful when it comes to checking two diagrams being &quot;fault equivalent&quot;.

We should define it as the set of undetectable faults in $\langle F \rangle$ whose minimal weight composition include detectable atomic faults. If all atomic faults there are undetectable then we would indeed satisfy the condition.

Does this run both ways? --&gt;
 &lt;!----&gt;


&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: rgba(101, 31, 255, 0.1)&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(.&#x2F;icons&#x2F;example.svg)&quot;
    &gt;
      example
    &lt;&#x2F;div&gt;
    &lt;span&gt;&lt;strong&gt;Example&lt;&#x2F;strong&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;p&gt;An &lt;strong&gt;edge flip noise model&lt;&#x2F;strong&gt; defines its atomic faults $\mathcal{F}$ as the set of &lt;em&gt;individual&lt;&#x2F;em&gt; Paulis on $E$. For simplicity, we define them all having weight 1 irrespective of which edge the Pauli is on and what type (i.e. X, Y, Z) of the Pauli it is. The weight of any fault in $\langle \mathcal{F} \rangle$ is then the number of non-identity Paulis of the fault Pauli string in set $\overline{\mathcal{P}^{|E|}}$.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;
 &lt;!----&gt;


&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: rgba(101, 31, 255, 0.1)&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(.&#x2F;icons&#x2F;example.svg)&quot;
    &gt;
      example
    &lt;&#x2F;div&gt;
    &lt;span&gt;&lt;strong&gt;Example&lt;&#x2F;strong&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;p&gt;A &lt;strong&gt;general noise model&lt;&#x2F;strong&gt; might include more interesting definition of atomic fault for example by declaring $XZ$ fault after a CNOT as weight 1 instead of 2 (as one would have for a miminal weight composition under the edge flip noise model).&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;
&lt;h1 id=&quot;stabilizers-on-diagrams&quot;&gt;Stabilizers on diagrams&lt;&#x2F;h1&gt;
&lt;p&gt;Fundamentally we would like to understand how a fault changes our diagram. And that is best understood through stabilizers of our diagram (because for a Clifford diagram its stabilizer pins down what it is). Therefore, it&#x27;s useful to have a theory of stabilizer on diagram.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;stabilizers-of-a-spider&quot;&gt;Stabilizers of a spider&lt;&#x2F;h2&gt;
&lt;p&gt;Recall that a Clifford spider can only have its phase in the form of $\frac{k\pi}{2}, k \in \mathbb{Z}$. And let&#x27;s consider the question of how we may place Paulis around it to stabilize (up to an eigenvalue 1 or -1) the spider.&lt;&#x2F;p&gt;
&lt;p&gt;Since we are placing Paulis on the edge around a single spider, we could do that by coloring the edges of the Pauli. And we would use the convention that:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Green edge corresponds to $Z$&lt;&#x2F;li&gt;
&lt;li&gt;Red edge corresponds to $X$&lt;&#x2F;li&gt;
&lt;li&gt;Blue edge corresponds to $Y$&lt;&#x2F;li&gt;
&lt;li&gt;Uncolored edge corresponds to identity.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;When we say &quot;same color&quot; or &quot;opposite color&quot;, blue edge counts as both types since we consider $Y$ as the combination of $Z$ and $X$.&lt;&#x2F;p&gt;
&lt;p&gt;For blue edges, we instantiate it using $Y=iXZ$ and adopt the convention that $X$ is closer to the spider we are considering. Therefore, for example,&lt;&#x2F;p&gt;
&lt;img src=&quot;&#x2F;figures&#x2F;spider-stabilizer-y.svg&quot; class=&quot;diagram-svg&quot; &#x2F;&gt;
&lt;p&gt;More formally, since they are Paulis on the edge of a spider, we may identify such stabilizers with Pauli strings $w \in \overline{\mathcal{P}^n}$ for an $n$-legged spider.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;all-or-nothing&quot;&gt;All-or-nothing&lt;&#x2F;h3&gt;
&lt;p&gt;We can either color all or none of the edges of a spider in the opposite color.&lt;&#x2F;p&gt;
&lt;p&gt;Remember that $\pi$-copy flips the phase of a spider. This is not an issue for $\pi$ phase as $-\pi = \pi$ modulo $2\pi$. However, it is an issue for $\pm \frac{\pi}{2}$.
&lt;img src=&quot;&#x2F;figures&#x2F;pauli-web-all-or-nothing-1.svg&quot; class=&quot;diagram-svg&quot;&#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;And in this case, we would need an additional same color $\pi$ to fix it up (so flip $\pm \frac{\pi}{2}$ back to $\mp \frac{\pi}{2}$).&lt;&#x2F;p&gt;
&lt;h3 id=&quot;parity-criteria&quot;&gt;Parity criteria&lt;&#x2F;h3&gt;
&lt;p&gt;One obvious thing one can do is to use spider fusion. So one can color the even number of edges of a spider with the same color.&lt;&#x2F;p&gt;
&lt;p&gt;One nuance being that due to &lt;a href=&quot;https:&#x2F;&#x2F;lexuge.github.io&#x2F;modern-qec-1&#x2F;#all-or-nothing&quot;&gt;All-or-nothing rule&lt;&#x2F;a&gt;, for $\pm \frac{\pi}{2}$ phases, if they are colored with the opposite colors, then one would need &lt;em&gt;odd&lt;&#x2F;em&gt; number of same color edge.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;spider-stabilizer-rules&quot;&gt;Spider Stabilizer Rules&lt;&#x2F;h3&gt;
&lt;p&gt;In summary,&lt;&#x2F;p&gt;
 &lt;!----&gt;


&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: rgba(68, 138, 255, 0.1)&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(.&#x2F;icons&#x2F;note.svg)&quot;
    &gt;
      note
    &lt;&#x2F;div&gt;
    &lt;span&gt;&lt;strong&gt;Note&lt;&#x2F;strong&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;p&gt;Let $\alpha$ be the phase of the spider. We can either&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;color all the edges with opposite color, OR&lt;&#x2F;li&gt;
&lt;li&gt;color none of the edges with opposite color&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;AND after that&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;If $\alpha = \pm \pi$, color even number of edges in the same color&lt;&#x2F;li&gt;
&lt;li&gt;If $\alpha = \pm \pi&#x2F;2$ and none of the edges is in opposite color, then color even number of edges in the same color&lt;&#x2F;li&gt;
&lt;li&gt;If $\alpha = \pm \pi&#x2F;2$ and all of the edges is in opposite color, then color odd number of edges in the same color&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;To find the eigenvalues of a spider stabilizer, one simply instantiate the edges according to their color and apply ZX rules while tracking the scalar until we restore the diagram.
 &lt;!----&gt;


&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: rgba(101, 31, 255, 0.1)&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(.&#x2F;icons&#x2F;example.svg)&quot;
    &gt;
      example
    &lt;&#x2F;div&gt;
    &lt;span&gt;&lt;strong&gt;Example&lt;&#x2F;strong&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;p&gt;Here is the generating set of stabilizers for the three-legged green $\pi&#x2F;2$ spider.&lt;&#x2F;p&gt;
&lt;img src=&quot;&#x2F;figures&#x2F;pauli-web-rules-1.svg&quot; class=&quot;diagram-svg&quot;&#x2F;&gt;
With eigenvalues from left to right being $-1, 1, 1$.
&lt;p&gt;The reason why this set has three elements is related to the fact that:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;this is essentially a Clifford state consisting of three qubits;&lt;&#x2F;li&gt;
&lt;li&gt;any $n$-qubit Clifford state can be fully described by $n$ independent stabilizers.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;p&gt;
&lt;h2 id=&quot;pauli-web&quot;&gt;Pauli Web&lt;&#x2F;h2&gt;




    


&lt;div class=&quot;math-box definition&quot; id=&quot;definition-pauli-web&quot;&gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Definition&lt;&#x2F;span&gt;
        
            &lt;span class=&quot;math-box-title&quot;&gt;(Pauli Web)&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;Pauli web is a coloring on edges of a diagram such that for every spider in the diagram, its immediate neighborhood coloring satisfies &lt;a href=&quot;#spider-stabilizer-rules&quot;&gt;spider stabilizer rules&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; &lt;h3 id=&quot;firing-a-pauli-web&quot;&gt;Firing a Pauli Web&lt;&#x2F;h3&gt;
&lt;p&gt;One can instantiate Pauli web as a Pauli string of $\overline{\mathcal{P}^{|E|}}$ by &quot;firing&quot; it. By firing it we mean to instantiate a spider stabilizer around each spider according to the Pauli web coloring.&lt;&#x2F;p&gt;
 &lt;!----&gt;


&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: rgba(101, 31, 255, 0.1)&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(.&#x2F;icons&#x2F;example.svg)&quot;
    &gt;
      example
    &lt;&#x2F;div&gt;
    &lt;span&gt;&lt;strong&gt;Example&lt;&#x2F;strong&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;p&gt;Here is an example of firing a Pauli web.&lt;&#x2F;p&gt;
&lt;figure id=&quot;pauli-web-1&quot; class=&quot;diagram&quot;&gt;
&lt;img src=&quot;&#x2F;figures&#x2F;pauli-web-eg-1.svg&quot;&#x2F;&gt;
&lt;figcaption&gt;Pauli web firing example.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;One see that internal edges can always be cancelled.&lt;&#x2F;p&gt;
&lt;!-- The total product of the each spider&#x27;s eigenvalue here is -1 since the upper green spider is stabilized with eigenvalue -1 and the lower red spider is stabilized with eigenvalue 1. However, this is not the sign of the web which is in fact $1$. See also [Figure in the next example](#pauli-web-2). --&gt;&lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;
 &lt;!----&gt;


&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: rgba(255, 145, 0, 0.1)&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(.&#x2F;icons&#x2F;warning.svg)&quot;
    &gt;
      warning
    &lt;&#x2F;div&gt;
    &lt;span&gt;&lt;strong&gt;Warning&lt;&#x2F;strong&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;p&gt;Don&#x27;t fire a Pauli web by instantiating a single Pauli on each edge according to the coloring. This is tempting to do but isn&#x27;t really meaningful. Always fire by consider each spider and how edges stabilize them.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;




    


&lt;div class=&quot;math-box definition&quot; id=&quot;definition-sign-of-pauli-web&quot;&gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Definition&lt;&#x2F;span&gt;
        
            &lt;span class=&quot;math-box-title&quot;&gt;(Sign of Pauli Web)&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;We define the &lt;strong&gt;sign of a Pauli web&lt;&#x2F;strong&gt; as the total eigenvalue we obtain when we instantiate the Paulis on boundary edges.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; 
&lt;p&gt;To calculate the sign of the web, see the following example,
 &lt;!----&gt;


&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: rgba(101, 31, 255, 0.1)&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(.&#x2F;icons&#x2F;example.svg)&quot;
    &gt;
      example
    &lt;&#x2F;div&gt;
    &lt;span&gt;&lt;strong&gt;Example&lt;&#x2F;strong&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;p&gt;We start by finding the product of individual spider stabilizer&#x27;s eigenvalue. The upper green spider has eigenvalue $-1$ and the lower red spider has eigenvalue $+1$. Therefore,
$$ D = -D_{\text{fired}} $$
And then we can always cancel the internal edges of $D_{\text{fired}}$ to leave exactly only Paulis on the boundary edges of the web. In this step notice that any internal $Y$ edge would incurr a $-1$ phase.&lt;&#x2F;p&gt;
&lt;figure id=&quot;pauli-web-2&quot; class=&quot;diagram&quot;&gt;
&lt;img src=&quot;&#x2F;figures&#x2F;pauli-web-eg-2.svg&quot;&#x2F;&gt;
&lt;figcaption&gt;The Pauli web shows that the Clifford state is stabilized by $X Y Z Z$ with eigenvalue $1$.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
 &lt;!----&gt;
&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: rgba(255, 145, 0, 0.1)&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(.&#x2F;icons&#x2F;warning.svg)&quot;
    &gt;
      warning
    &lt;&#x2F;div&gt;
    &lt;span&gt;&lt;strong&gt;Warning&lt;&#x2F;strong&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;p&gt;Sign of a Pauli web is not equal to product of the individual spider stabilizer&#x27;s eigenvalues as seen in the example above.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;&lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;p&gt;
&lt;p&gt;We can separate Pauli webs into two types:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Stabilizing Pauli webs&lt;&#x2F;strong&gt;. These are webs such that they have non-trivial support on boundary edges of the diagram.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Detecting regions&lt;&#x2F;strong&gt;. These are webs with no boundary edges hence fully closed.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;stabilizing-pauli-webs&quot;&gt;Stabilizing Pauli webs&lt;&#x2F;h3&gt;
&lt;p&gt;The best way to understand these webs is through the fact that every Clifford diagram is essentially a Clifford state (by bending input wires to output wires).&lt;&#x2F;p&gt;
&lt;p&gt;And stabilizing Pauli webs are stabilizers of the Clifford state represented by diagram. And the eigenvalue of the stabilizer is given by the sign of its Pauli web. See &lt;a href=&quot;https:&#x2F;&#x2F;lexuge.github.io&#x2F;modern-qec-1&#x2F;#pauli-web-2&quot;&gt;this example&lt;&#x2F;a&gt; for detail.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;detecting-region&quot;&gt;Detecting Region&lt;&#x2F;h3&gt;
&lt;p&gt;Detecting region has no external edges, hence the stabilizer equation given by the procedure in &lt;a href=&quot;https:&#x2F;&#x2F;lexuge.github.io&#x2F;modern-qec-1&#x2F;#pauli-web-2&quot;&gt;this example&lt;&#x2F;a&gt; would be either vacuous ($D=D$) or dictating $D=-D$ hence $D=0$.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;flipping-sign-of-the-web&quot;&gt;Flipping sign of the web&lt;&#x2F;h3&gt;
&lt;p&gt;How does Pauli web interact with Pauli faults on the edge? Interestingly, when we place a single edge flip Pauli fault on the edge, even though diagram changes (we made one additional edge), the old coloring scheme still works!&lt;&#x2F;p&gt;
 &lt;!----&gt;


&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: rgba(101, 31, 255, 0.1)&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(.&#x2F;icons&#x2F;example.svg)&quot;
    &gt;
      example
    &lt;&#x2F;div&gt;
    &lt;span&gt;&lt;strong&gt;Example&lt;&#x2F;strong&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;figure id=&quot;fault-on-web-1&quot; class=&quot;diagram&quot;&gt;
&lt;img src=&quot;&#x2F;figures&#x2F;fault-on-web-1.svg&quot;&#x2F;&gt;
&lt;figcaption&gt;Up: the original diagram $D$. Down: the diagram $D^F$ where $F$ is a single $Z$-flip on the edge. Note in the new diagram $D^F$ the old Pauli web coloring still works.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;&lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;What&#x27;s more interesting is that when we instantiate the fault on the diagram, it&#x27;s gonna flip the sign of the Pauli web based on how the fault string commutes with the Pauli web coloring.&lt;&#x2F;p&gt;
 &lt;!----&gt;


&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: rgba(68, 138, 255, 0.1)&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(.&#x2F;icons&#x2F;note.svg)&quot;
    &gt;
      note
    &lt;&#x2F;div&gt;
    &lt;span&gt;&lt;strong&gt;Note&lt;&#x2F;strong&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;p&gt;When we say &quot;fault string commutes with the Pauli web coloring&quot; we don&#x27;t mean firing the Pauli web and check commutation but rather checking commutation via the color of the web.&lt;&#x2F;p&gt;
&lt;p&gt;For example an $X$ fault on a green edge or blue edge counts as anti-commuting, and just like checking ordinary Pauli string commutation, we just count the number of anti-commuting edges and check if it&#x27;s even or odd.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;For example in &lt;a href=&quot;https:&#x2F;&#x2F;lexuge.github.io&#x2F;modern-qec-1&#x2F;#fault-on-web-1&quot;&gt;this figure&lt;&#x2F;a&gt;, the detecting region Pauli web&#x27;s sign flipped from $1$ to $-1$. The general reason is that, whenever the Pauli on the edge anti-commutes with the Pauli represented by the coloring, its corresponding spider stabilizer eigenvalue would be $-1$. Hence, if we use the procedure to work out the sign of the new web, it would incur an additional sign of
$$(-1)^{\text{number of anti-commuting sites}}$$&lt;&#x2F;p&gt;
&lt;p&gt;Therefore, anti-commuting faults flip the sign of Pauli webs.&lt;&#x2F;p&gt;
&lt;p&gt;This is a very useful effect because it tells us how to detect fault when running circuit generally, going beyond simple syndrome extraction measurement. With detecting regions, we can do a &quot;space-time syndrome extraction&quot;.&lt;&#x2F;p&gt;
 &lt;!----&gt;


&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: rgba(101, 31, 255, 0.1)&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(.&#x2F;icons&#x2F;example.svg)&quot;
    &gt;
      example
    &lt;&#x2F;div&gt;
    &lt;span&gt;&lt;strong&gt;Example&lt;&#x2F;strong&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;p&gt;Consider a circuit measuring ZZ stabilizers twice.&lt;&#x2F;p&gt;
&lt;figure id=&quot;fault-on-web-2&quot; class=&quot;diagram&quot;&gt;
&lt;img src=&quot;&#x2F;figures&#x2F;fault-on-web-2.svg&quot;&#x2F;&gt;
&lt;figcaption&gt;Anti-commuting faults are detected by Pauli web since it flips the sign of the detecting region to $-1$&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
The left diagram has a detecting region of green color (hence can detect $X, Y$ faults since they anti-commute from what we have). The sign of the detecting region is $k_1 \oplus k_2$.
&lt;p&gt;To have the diagram non-zero (hence probability not zero on that branch of measurement post-selection), we need $k_1 = k_2$.&lt;&#x2F;p&gt;
&lt;p&gt;However, if an $X$ fault appears on one of the edge, the sign of the new web becomes $k_1 \oplus k_2 \oplus 1$ since the fault anti-commutes with the web. Therefore, the non-zero post-selection now becomes $k_1 \not = k_2$. This means we can detect the fault by running measurements!&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;
&lt;p&gt;Hence we could give a formal definition of error detection




    


&lt;div class=&quot;math-box definition&quot; id=&quot;definition-fault-detection&quot;&gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Definition&lt;&#x2F;span&gt;
        
            &lt;span class=&quot;math-box-title&quot;&gt;(Fault Detection)&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;A fault $F$ on diagram $D$ is said to be detectable if $F$ flips any of the detecting regions of $D$.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; &lt;&#x2F;p&gt;
&lt;h2 id=&quot;inconsequential-faults&quot;&gt;Inconsequential Faults&lt;&#x2F;h2&gt;




    


&lt;div class=&quot;math-box definition&quot; id=&quot;definition-inconsequential-fault&quot;&gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Definition&lt;&#x2F;span&gt;
        
            &lt;span class=&quot;math-box-title&quot;&gt;(Inconsequential Fault)&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;Let $D$ be a non-zero diagram. A fault on the diagram $S \in \overline{\mathcal{P}^{|E|}}$ is &lt;strong&gt;inconsequential&lt;&#x2F;strong&gt; if $D^S = D$.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; 
&lt;p&gt;By stabilizer theory, we know that every inconsequential fault is generated by some stabilizers of spiders.&lt;&#x2F;p&gt;
 &lt;!----&gt;


&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: rgba(68, 138, 255, 0.1)&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(.&#x2F;icons&#x2F;note.svg)&quot;
    &gt;
      note
    &lt;&#x2F;div&gt;
    &lt;span&gt;&lt;strong&gt;Note&lt;&#x2F;strong&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;p&gt;Why do we want $D$ to be non-zero? Because under zero diagram we could have $S$ which obviously doesn&#x27;t stabilize the diagram while still $D^S = D = 0$. This is unwanted because we want inconsequential faults be such that they are generated by the spider stabilizers.&lt;&#x2F;p&gt;
&lt;p&gt;For example,&lt;&#x2F;p&gt;
&lt;figure id=&quot;inconseq-fault&quot; class=&quot;diagram&quot;&gt;
&lt;div class=&quot;side-by-side&quot;&gt;
&lt;img
  src=&quot;&#x2F;figures&#x2F;inconseq-fault-1.svg&quot;
&#x2F;&gt;
&lt;img
  src=&quot;&#x2F;figures&#x2F;inconseq-fault-2.svg&quot;
&#x2F;&gt;
&lt;&#x2F;div&gt;
&lt;figcaption&gt;Left: diagram $D$ which is zero, and its two Pauli webs. Right: $S$ such that it isn&#x27;t generated by spider stabilizers while still stabilizes $D$ in the sense that $D^S = D = 0$.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;&lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;




    


&lt;div class=&quot;math-box definition&quot; id=&quot;definition-spacetime-equivalence&quot;&gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Definition&lt;&#x2F;span&gt;
        
            &lt;span class=&quot;math-box-title&quot;&gt;(Spacetime Equivalence)&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;We call two faults $F_1, F_2$ spacetime-equivalent if $F_1 = F_2 S$ for some inconsequential fault $S$.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; &lt;h2 id=&quot;pauli-web-is-all-you-need&quot;&gt;Pauli Web is all you need&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;detecting-region-is-all-you-need&quot;&gt;Detecting region is all you need&lt;&#x2F;h3&gt;
&lt;p&gt;When would a fault send a diagram to zero? Do we need to reduce the diagram via trial-and-error to see if it goes zero or can we &quot;just&quot; check all the detecting regions?&lt;&#x2F;p&gt;




    


&lt;div class=&quot;math-box lemma&quot; id=&quot;lemma-stabilizer-not-compatible&quot;&gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Lemma&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;Let $|a\rangle, |b\rangle$ be two Clifford states, then $\langle a | b \rangle = 0$ if and only if there exists $S$ in stabilizer subgroup of $|a \rangle$ such that $-S$ is in the stabilizer subgroup of $b\rangle$.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; 




&lt;div class=&quot;math-box proof&quot; &gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Proof&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;If there exists such a $S$ then it&#x27;s trivial to see since&lt;&#x2F;p&gt;
&lt;p&gt;$$\langle a | b \rangle = - \langle a | S^2 | b \rangle = - \langle a | b \rangle $$&lt;&#x2F;p&gt;
&lt;p&gt;hence it&#x27;s 0.&lt;&#x2F;p&gt;
&lt;p&gt;Let&#x27;s try prove the converse. The projection $\langle a | b \rangle = 0$ if and only if a sequence of stabilizer projections applied on $|b\rangle$ gives 0. So if the stabilizers of $|a \rangle$ are $Q_i$s then it would be&lt;&#x2F;p&gt;
&lt;div class=&quot;math-display&quot; data-tex=&quot;\Pi^{(0)}_{Q_1} \Pi^{(0)}_{Q_2} \Pi^{(0)}_{Q_3} \Pi^{(0)}_{Q_4} \dots&quot;&gt;&lt;&#x2F;div&gt;
&lt;p&gt;So how do you project a Clifford state with $\Pi_{Q}^{(0)}$? This is a well-known result for Clifford state simulation via stabilizer tableau. Let&#x27;s say we have a $n$-qubits Clifford state described by $n$ stabilizers $\{P_i\}$ before the projection. The resulting state after projection is again a Clifford state with stabilizers $\{P_i&#x27;\}$ given according to the rules below.&lt;&#x2F;p&gt;
&lt;p&gt;Two cases:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;If all the $P_i$ commutes with $Q$ then generate $Q$ using $P_i$ up to a scalar. ($Q$ is guaranteed to be generated up to a scalar by $P_i$ due to Fundamental Theorem of Stabilizer Theory and we have a full-rank of stabilizer set). Since $P_i$ are self-adjoint, we will generate $\pm Q$. If we generate $+Q$ then projection does nothing, otherwise it kills the state.&lt;&#x2F;li&gt;
&lt;li&gt;If some $P_i$ anti-commutes with $Q$ then we pick one anti-commuting $P_i$ as pivot, and then update the rest  of anti-commuting $P_j \to P_j P_i =: P_j&#x27;$ hence $P_j&#x27;$ commutes with $Q$. Then replace $P_i$ with $Q$ and put an arbitrary sign (measurement result gives both results with equal probability).&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;So every time we project, we either:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Kill the state or&lt;&#x2F;li&gt;
&lt;li&gt;Replace (at most) one stabilizer with $Q_i$ from the stabilizer subgroups of $|a\rangle$ while the rest stabilizers still stay in the original stabilizer subgroup of $P_i$s.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;So ultimately to kill the state, we necessarily have to generate $-Q_k$ using a subset of $Q_1, \dots Q_{k-1}$ and a subset of stabilizers in $\langle P_i \rangle$, which proves that there exists an $S$ which is stabilizers of $|b\rangle$ such that $-S$ is in stabilizers of $|a\rangle$.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; 



    


&lt;div class=&quot;math-box proposition&quot; id=&quot;prop-zero-iff-flip-region&quot;&gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Proposition&lt;&#x2F;span&gt;
        
            &lt;span class=&quot;math-box-title&quot;&gt;(Diagram goes to zero iff detecting region got flipped)&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;Let $D$ be a non-zero diagram. $D^S = 0$ if and only if $S$ anti-commutes with at least one of $D$&#x27;s detecting region.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; 




&lt;div class=&quot;math-box proof&quot; &gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Proof&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;If $S$ anti-commutes with at least one of $D$&#x27;s detecting region, then it flips the sign of the detecting region and hence $D=-D=0$ by firing the web.&lt;&#x2F;p&gt;
&lt;p&gt;Hence we only need to prove the inverse: if $D^S = 0$ then $S$ anti-commutes with at least one of $D$&#x27;s detecting region.&lt;&#x2F;p&gt;
&lt;p&gt;Let&#x27;s start by bending wires:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;For simplicity, first bend all the input wires of $D$ into output wires. So from now on we assume $D$ is a Clifford state.&lt;&#x2F;li&gt;
&lt;li&gt;Instantiate faults and pull out the edges where $S$ has support on.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;So we have the following diagrams for $D$ and $D^S$. Without loss of generality we are only drawing fault $S$ with a single edge flip.&lt;&#x2F;p&gt;
&lt;figure id=&quot;detecting-reg-ayd-1&quot; class=&quot;diagram&quot;&gt;
&lt;img
  src=&quot;&#x2F;figures&#x2F;detecting-region-is-ayn-2.svg&quot;
&#x2F;&gt;
&lt;img
  src=&quot;&#x2F;figures&#x2F;detecting-region-is-ayn-1.svg&quot;
&#x2F;&gt;
&lt;&#x2F;div&gt;
&lt;figcaption&gt;Bending wires around. This helps us converting detecting regions relevant to the fault $S$ into stabilizing Pauli webs for $D&#x27;$.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;So $D^S$ now can be seen as prepared through three phases:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Prepare $D&#x27;$ with input bended over.&lt;&#x2F;li&gt;
&lt;li&gt;Apply some Paulis on the bended-over inputs.&lt;&#x2F;li&gt;
&lt;li&gt;Project onto bunch of (here only one drawn) Bell states.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;And we have the following when doing this process:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Without the Paulis applied in the middle, projection is guaranteed to be non-zero (since $D\not = 0$).
This also means $D&#x27;$ can&#x27;t be a zero diagram otherwise $D = 0$ clearly.&lt;&#x2F;li&gt;
&lt;li&gt;$D&#x27;$ (with inputs bended over) is a Clifford state, so is the Bell state.&lt;&#x2F;li&gt;
&lt;li&gt;What does applying Paulis to $D&#x27;$ Clifford state do? It simply flips the sign of its stabilizers. Because in general the new stabilizers of a Clifford state after applying Clifford gate $U$ is given as
$$ P_i&#x27; = U P_i U^\dagger $$
while here $U$ is a Pauli $Q$ and Paulis either commute or anti-commutes hence $P_i&#x27; = \pm P_i$ where $\pm$ depends on the commutation relation between $P_i, Q$.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;So now the question turns to what is the necessary and sufficient condition for two Clifford states to be projected to zero.&lt;&#x2F;p&gt;
&lt;p&gt;Therefore by &lt;a href=&quot;#lemma-stabilizer-not-compatible&quot;&gt;lemma&lt;&#x2F;a&gt;, if $D^S$ is zero, we necessarily need to have the $D&#x27;$ state after Pauli fault string to have a stabilizer $R \in \langle X_1 X_2, Z_1 Z_2, X_3 X_4, Z_3 Z_4, \dots \rangle$ with negative sign.&lt;&#x2F;p&gt;
&lt;p&gt;This $R$ will be a Pauli web on the $D&#x27;$ state before Pauli fault string applied on it. And the sign of this Pauli web would need to be positive because $D \not = 0$ and $S$ can&#x27;t be a negative stabilizer otherwise it kills the state by the lemma.&lt;&#x2F;p&gt;
&lt;p&gt;Therefore, the Pauli fault string $S$ must flip the sign of this web which means it anti-commutes with $R$. Finally, this stabilizing Pauli web representing $S$ has the same color for every pair of edges connecting to the Bell states, hence it will actually make a detecting region of the entire diagram $D$ if we color the bell states part with the same color.&lt;&#x2F;p&gt;
&lt;p&gt;Therefore, we proved if $D^S = 0$ then $S$ anti-commutes with at least one Pauli web.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; 
&lt;p&gt;This means the following three are equivalent:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Fault $F$ flips at least one detecting region&#x27;s sign.&lt;&#x2F;li&gt;
&lt;li&gt;$D^F = 0$.&lt;&#x2F;li&gt;
&lt;li&gt;Fault $F$ is &lt;a href=&quot;https:&#x2F;&#x2F;lexuge.github.io&#x2F;modern-qec-1&#x2F;#definition-fault-detection&quot;&gt;detectable&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;h3 id=&quot;stabilizing-pauli-web-is-all-you-need&quot;&gt;Stabilizing Pauli web is all you need&lt;&#x2F;h3&gt;




    


&lt;div class=&quot;math-box proposition&quot; id=&quot;prop-inconq-faults-flip-none&quot;&gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Proposition&lt;&#x2F;span&gt;
        
            &lt;span class=&quot;math-box-title&quot;&gt;(Fault is inconsequential iff it commutes with all webs)&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;Let $D$ be a non-zero diagram. A fault $S$ is inconsequential if and only if it commutes with all Pauli webs&#x27; colorings.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; 




&lt;div class=&quot;math-box proof&quot; &gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Proof&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;Under the assumption that $D$ is a non-zero diagram, we can reformulate the proposition as $D^S = D$ if and only if it commutes with all Pauli webs&#x27; colorings.&lt;&#x2F;p&gt;
&lt;p&gt;If $D^S = D$, then two diagrams represent the same Clifford state up to a non-zero constant. Since also $D\not = 0$, this means:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;$D^S$ is not zero. Hence none of the signs of detecting regions should be flipped (otherwise $D^S = 0$).&lt;&#x2F;li&gt;
&lt;li&gt;They must be stabilized by the same stabilizers with the same sign. Hence none of the signs of the stabilizing Pauli web should be flipped (otherwise $D^S \not = D$).&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;If it commutes with all Pauli webs&#x27; colorings, then again $D^S$ agrees with $D$ on all the signs of the Pauli webs. Since &lt;a href=&quot;#prop-zero-iff-flip-region&quot;&gt;diagram can&#x27;t go zero without flipping at least one detecting region&lt;&#x2F;a&gt;, we know $D^S \not = 0$. Now since $D^S$ and $D$ are both non-zero and has the same stabilizers and signs of stabilizers, they must be the same state up to a scalar.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; 



    


&lt;div class=&quot;math-box proposition&quot; id=&quot;proposition-spacetime-equivalent-iff-flip-the-same-set-of-webs&quot;&gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Proposition&lt;&#x2F;span&gt;
        
            &lt;span class=&quot;math-box-title&quot;&gt;(Spacetime-equivalent iff flip the same set of webs)&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;Let $D$ be a non-zero diagram and $F_1, F_2$ be two faults on $D$. $F_1, F_2$ are spacetime-equivalent if and only if they flip the signs of the same Pauli webs.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; 




&lt;div class=&quot;math-box proof&quot; &gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Proof&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;If $F_1 = F_2 S$ for some inconsequential $S$, then $F_1 F_2$ is inconsequential and then it commutes with all Pauli webs (detecting or stabilizing) by the &lt;a href=&quot;#prop-inconq-faults-flip-none&quot;&gt;above proposition&lt;&#x2F;a&gt;.  Therefore, it must be the case that Pauli string $F_1, F_2$ individually agrees on commutativity with any Pauli strings.&lt;&#x2F;p&gt;
&lt;p&gt;If $F_1, F_2$ agrees in terms of commutativity with all Pauli webs, then $F_1 F_2$ commutes with all Pauli webs, hence $F_1 F_2$ is inconsequantial and $F_1, F_2$ are spacetime equivalent.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; 



    


&lt;div class=&quot;math-box proposition&quot; id=&quot;prop-undetectable-spacetime-equiv&quot;&gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Proposition&lt;&#x2F;span&gt;
        
            &lt;span class=&quot;math-box-title&quot;&gt;(Undetectable faults are spacetime-equivalent iff diagrams are equivalent)&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;Let $D$ be a non-zero diagram and $F_1, F_2$ are two undetectable faults on $D$. $F_1, F_2$ are spacetime-equivalent if and only if $D^{F_1} = D^{F_2}$.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt; 




&lt;div class=&quot;math-box proof&quot; &gt;
    &lt;div class=&quot;math-box-header&quot;&gt;
        &lt;span class=&quot;math-box-type&quot;&gt;Proof&lt;&#x2F;span&gt;
        
    &lt;&#x2F;div&gt;
    &lt;div class=&quot;math-box-body&quot;&gt;
        &lt;p&gt;we only need to prove that under this assumption, $F_1, F_2$ flips the same Pauli webs if and only if $D^{F_1} = D^{F_2}$.&lt;&#x2F;p&gt;
&lt;p&gt;If $D^{F_1} = D^{F_2}$ and since $F_1, F_2$ are not detectable, by &lt;a href=&quot;#prop-zero-iff-flip-region&quot;&gt;proposition&lt;&#x2F;a&gt; we know both $D^{F_1}, D^{F_2}$ are non-zero. Hence they must be the same non-zero Clifford state and hence flips the same stabliizing Pauli webs.&lt;&#x2F;p&gt;
&lt;p&gt;If undetectable $F_1, F_2$ flips the same Pauli webs, then by &lt;a href=&quot;#prop-zero-iff-flip-region&quot;&gt;proposition&lt;&#x2F;a&gt; both diagrams are not zero and has the same stabilizers and signs, hence must be of the same state and $D^{F_1} = D^{F_2}$.&lt;&#x2F;p&gt;

    &lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;  &lt;!----&gt;


&lt;div
  class=&quot;my-4 flex flex-col rounded-lg bg-(--admonition-bg)&quot;
  style=&quot;--admonition-bg: rgba(68, 138, 255, 0.1)&quot;
&gt;
  &lt;div class=&quot;flex items-center rounded-t-lg bg-(--admonition-bg) p-1&quot;&gt;
    &lt;div
      class=&quot;mx-2 h-4 w-4 text-[0px] [background:var(--url)_center_center_no-repeat] dark:invert&quot;
      style=&quot;--url: url(.&#x2F;icons&#x2F;note.svg)&quot;
    &gt;
      note
    &lt;&#x2F;div&gt;
    &lt;span&gt;&lt;strong&gt;Note&lt;&#x2F;strong&gt;&lt;&#x2F;span&gt;
  &lt;&#x2F;div&gt;
  &lt;div class=&quot;pl-4&quot;&gt;&lt;p&gt;Can there be detectable fault that doesn&#x27;t flip the non-detecting Pauli web&#x27;s sign? Here is a simple example you might want to entertain yourself with.&lt;&#x2F;p&gt;
&lt;figure id=&quot;undetermined-detectable-fault-1&quot; class=&quot;diagram&quot;&gt;
&lt;img
  src=&quot;&#x2F;figures&#x2F;undetermined-detectable-fault-1.svg&quot;
&#x2F;&gt;
&lt;figcaption&gt;The vanilla diagram $D$&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;And there are two Pauli webs of the diagram:&lt;&#x2F;p&gt;
&lt;figure id=&quot;undetermined-detectable-fault-2&quot; class=&quot;diagram&quot;&gt;
&lt;div class=&quot;side-by-side&quot;&gt;
&lt;img
  src=&quot;&#x2F;figures&#x2F;undetermined-detectable-fault-2.svg&quot;
&#x2F;&gt;
&lt;img
  src=&quot;&#x2F;figures&#x2F;undetermined-detectable-fault-3.svg&quot;
&#x2F;&gt;
&lt;&#x2F;div&gt;
&lt;figcaption&gt;Two Pauli webs of $D$, right being a detector region&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;Now consider a X fault on the bottom edge, it anti-commutes with the detecting region and commutes with the left web. Hence $D^F=0$ but still gets stabilized by the left web by eigenvalue 1.&lt;&#x2F;p&gt;
&lt;p&gt;Though this discussion is a bit pointless (since a zero diagram should be stabilized by any stabilizer with both eigenvalue 1 and -1). It does show that it could be possible that a detectable fault anti-commutes with some detecting region while commutes with all the webs with boundaries.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;&#x2F;div&gt;
&lt;h1 id=&quot;next-steps&quot;&gt;Next Steps&lt;&#x2F;h1&gt;
&lt;p&gt;In this blog post, we have gathered basic tools including noise models, Pauli webs and theorems related to them. One immediate observation being that Pauli webs are immensely powerful to pin down faults happening during the diagram (or circuits) which is a major part of quantum error correction (figure out what error has happened without looking at the state).&lt;&#x2F;p&gt;
&lt;p&gt;In the next post, we will define fault-equivalence, formulate fault-tolerance, circuit distance (and see how it relates to usual code distance we like to talk about), define what quantum error correction really means (what do we want to achieve during QEC?) and more.&lt;&#x2F;p&gt;
&lt;!-- # Fault Equivalence

## Why Pauli Error

# Fault Tolerance
How do we formulate fault-tolerance?

# Circuit Distance
How is circuit distance related to code distance we used to talk about? (Simple example on measurement flip), but can we be absolutely sure that $d$ rounds is enough?

Actually, since fault is fully characterized by Pauli web commutation, can we in principle infer circuit distance by looking at how many detecting regions we have? (and how much dimension we have left after making sure fault is undetectable? maybe not exactly cause minimum weight is highly specific to exact placement of Paulis)

# Define Quantum Error Correction
What do we want to achieve when we are doing QEC? --&gt;
&lt;h1 id=&quot;acknowledgement&quot;&gt;Acknowledgement&lt;&#x2F;h1&gt;
&lt;p&gt;Almost none of the content, except examples and the proof on detecting region and zero diagram, in this blog post is original by me. Thanks Aleks, Ben, and Andrey for explaining details of the theory to me, and I hope I successfully reproduced the essentials of those in the blog post so others can benefit :)&lt;&#x2F;p&gt;
&lt;p&gt;Some general useful references I used and learned from include  and . You could find many of the propositions and definitions here probably in more details and&#x2F;or formalities in those papers.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;references&quot;&gt;References&lt;&#x2F;h1&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;dem&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;1&lt;&#x2F;sup&gt;
&lt;p&gt;M. McEwen, D. Bacon, and C. Gidney, “Relaxing Hardware Requirements for Surface Code Circuits using Time-dynamics,” Quantum, vol. 7, p. 1172, Nov. 2023, doi: 10.22331&#x2F;q-2023-11-07-1172.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;stab&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;2&lt;&#x2F;sup&gt;
&lt;p&gt;C. Borghans, “ZX-Calculus and Quantum Stabilizer Theory”.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;construction&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;3&lt;&#x2F;sup&gt;
&lt;p&gt;B. Rodatz, B. Poór, and A. Kissinger, “Fault Tolerance by Construction,” Oct. 09, 2025, arXiv: arXiv:2506.17181. doi: 10.48550&#x2F;arXiv.2506.17181.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;div class=&quot;footnote-definition&quot; id=&quot;completeness&quot;&gt;&lt;sup class=&quot;footnote-definition-label&quot;&gt;4&lt;&#x2F;sup&gt;
&lt;p&gt;M. Rüsch, B. Rodatz, and A. Kissinger, “Completeness for Fault Equivalence of Clifford ZX Diagrams,” Nov. 30, 2025, arXiv: arXiv:2510.08477. doi: 10.48550&#x2F;arXiv.2510.08477.&lt;&#x2F;p&gt;
&lt;&#x2F;div&gt;
&lt;!-- ## Why Pauli errors

The right logic should be for each potential circuit, we write the idealized circuit (including its measurement results) as a ZX diagram and then place unitary faults as a series of diagrams.

Now we can talk about the detectability of the fault by thinking of the terms

How about correction?

Suppose we are running a circuit, it can be thought as going through a circuit with additional _fault sites_ (octagons) as in the figure below

![Fault Sites](figs&#x2F;fault-site.png)

We could place arbitrary unitary $E_{i}$ with support on fault sites represented by octagons as our fault. For example, we could place a single qubit unitary or choose two fault sites and place a CNOT over both.

Now for arbitrary unitary $E_{i}$ we may expand it as a sum of Pauli strings on its support. For example,

$$ CX_{1\to 2} = \frac{1}{2}(II + ZI + IX - ZX) $$

Therefore, for arbitrary unitary error configuration $\\{ E_{i} \\}$ we can expand it as a series of terms where each term is the circuit with fault sites replaced by a Pauli operator.

For example, if a single $CX_{2\to 3}$ happens at timestamp 2 in the figure and no other fault happens then it&#x27;s equivalent to a sum of four figures each corresponding to one Pauli term in the $CX$ expansion.



where each $\mathcal{U}_{i}$ is the channel representing the idealized circuit layer where each $K_{i}$ represents the combined effect of our circuit and error during the process. Notice that this purely quantum description includes the classical bit-flip of the measurement results since such a bit-flip can be emulated by a anti-commuting Pauli right before the measurement.

More specifically, each $K_{i}$ represents the linear map that is

Our ultimate task is to detect if an error has occurred throughout the circuit due to the famous theorem of &quot;detection gives correction&quot;.

(quantum) errors can be thought of as unitaries applied between &quot;slices&quot; of actual quantum circuits we run.

# Detector and Detecting Region --&gt;</description>
      </item>
      <item>
          <title>Typesetting Test</title>
          <pubDate>Tue, 18 Jun 2024 00:00:00 +0000</pubDate>
          <author>Kanyang Ying</author>
          <link>https://lexuge.github.io/test/</link>
          <guid>https://lexuge.github.io/test/</guid>
          <description xml:base="https://lexuge.github.io/test/">&lt;p&gt;This blog uses Kita theme which supports $\LaTeX$ mathematical formulas using &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;katex.org&#x2F;&quot;&gt;KaTeX&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;</description>
      </item>
    </channel>
</rss>
