<?xml version="1.0" encoding="UTF-8"?>
<rss  xmlns:atom="http://www.w3.org/2005/Atom" 
      xmlns:media="http://search.yahoo.com/mrss/" 
      xmlns:content="http://purl.org/rss/1.0/modules/content/" 
      xmlns:dc="http://purl.org/dc/elements/1.1/" 
      version="2.0">
<channel>
<title>Florian&#39;s Blog</title>
<link>https://florian2richter.github.io/</link>
<atom:link href="https://florian2richter.github.io/index.xml" rel="self" type="application/rss+xml"/>
<description>Notes on quantum information, Clifford channels, and the corners of math that make them tick.</description>
<generator>quarto-1.10.18</generator>
<lastBuildDate>Sat, 08 Aug 2026 00:00:00 GMT</lastBuildDate>
<item>
  <title>How finely can you divide a depolarizing channel?</title>
  <dc:creator>Florian Richter</dc:creator>
  <link>https://florian2richter.github.io/posts/clifford-roots/</link>
  <description><![CDATA[ 




<p>This post grew out of my diploma thesis in Quantum Information, which I wrote in Hannover in 2010. The thesis was about quantum memory channels, and in particular about how deep their memory runs. Somewhere inside that work a smaller, self-contained question fell out: how finely can you divide the most destructive process there is?</p>
<p>The original was written for examiners, not for curious readers. I had long meant to rewrite it, and the advent of LLMs finally removed my last excuse. I used them as editorial tools while reorganizing the material, developing examples, and trying out clearer explanations; the mathematical argument comes from the original work, and I checked every derivation myself. The result trades the terse notation of a thesis for pictures, worked examples, and a slower pace intended for motivated undergraduates.</p>
<p>The route, roughly: devices with memory give the problem its physical face, the classical world gives a first answer, and the quantum world a quadratically bigger one. Finally, we settle into a small subclass of all possible channels, simple enough to parameterize by hand, yet powerful enough that in prime dimensions it comes within a factor of two of the full quantum answer: the Clifford channels.</p>
<p>This is a draft under review. If you find an error, a gap, or a passage that does not land, please tell me: in the comments at the end of the post, by highlighting the passage itself with the annotation sidebar at the right edge of the page, or by email through the envelope in the navigation bar.</p>
<p>Enjoy the read.</p>
<hr>
<!-- The body of this post is split into per-section partials so each
     can be edited on its own. Order and content live in the _NN-*.qmd
     files below; this index just stitches them together. Leading
     underscores keep Quarto from rendering them as standalone pages. -->
<p>Take a photograph and make a photocopy. Then a photocopy of the photocopy. Do it again. And again.</p>
<p>If you keep going long enough, the picture is gone. What’s on the page is grey noise that could plausibly have started as almost anything. The information about the original has been erased.</p>
<p>This is a familiar form of loss. Each pass through the copier loses a little, the losses pile up, and eventually nothing remains. Heat works this way too. So does mixing dye into water, or rain working on a pavement chalk drawing. Everywhere you look, processes that destroy information are processes that destroy it in <em>steps</em>: many small irreversible nudges that add up.</p>
<p>Now think about how you’d design such a process. You have full control of the photocopier. The cheap thing you can do is make it violently destructive: a single pass turns any input into grey noise. Erasure in one step. Done.</p>
<p>You can also build copiers that never quite finish in any finite number of passes, and only erase everything in the infinite limit of repeated copying. This is a genuinely interesting region of design space. Characterizing which copiers really do erase everything in the limit (as opposed to settling onto some non-trivial steady image, or oscillating, or simply slowing to a crawl) is the subject of a substantial literature on ergodic and mixing channels.<sup>1</sup> It is not, however, the question of this post.</p>
<p>This post’s question sits between those two. How <em>slowly</em> can you erase, while still finishing in finitely many steps?</p>
<p>Concretely: among all copy-of-a-copy operations that erase the original after some exact number <img src="https://latex.codecogs.com/png.latex?k"> of identical applications, how large can <img src="https://latex.codecogs.com/png.latex?k"> be?</p>
<p>If you build things for a living, this question may sound backwards. Surely the practical art is <em>protecting</em> information from noise, not erasing it slowly on purpose? But the two are one question wearing opposite uniforms. A bound on how slowly erasure can finish is exactly a bound on how long information can <em>survive</em> inside a process that is guaranteed to kill it: the eraser’s patience and the survivor’s endurance are the same number. Beyond that, I will not pretend this post is engineering. It chases that number for the beauty of where the chase leads; stay to the end and you will watch the question turn into the arithmetic of finite groups and finite fields, applied to a single-particle quantum system.</p>
<p>There’s a second way to picture the same question, and it’s the one that makes the problem feel physical. A quantum device you use over and over (a logic gate, a link down a fibre) need not treat each use independently: it can carry a private <em>memory</em> from one use to the next, a lingering excitation or stray correlation that makes what it does now lean on its history. Such a device is <em>forgetful</em> when the influence of how that memory started eventually washes out (the asymptotic case from a moment ago), and <em>strictly forgetful</em> when the washout is <em>exact</em>, every trace of the initial memory provably gone after some finite number of uses. Not small, gone.</p>
<p>And with no separate input to track, a device that becomes strictly forgetful after exactly <img src="https://latex.codecogs.com/png.latex?k"> uses is nothing but a <img src="https://latex.codecogs.com/png.latex?k">-th root of complete erasure.<sup>2</sup> To ask how finely we can divide erasure is to ask how long a finite quantum memory can survive before it is forced to forget exactly, and the largest <img src="https://latex.codecogs.com/png.latex?k"> is the deepest such memory a device of this kind can hold.</p>
<p>That largest <img src="https://latex.codecogs.com/png.latex?k"> is where this post lives, and it has different answers in different settings. If the copier has to behave like a classical probabilistic process, you get one bound. Upgrade to quantum mechanics, and the bound becomes <em>quadratically</em> larger. Then restrict the quantum copier to a tightly constrained, low-parameter family of operations, a family with vastly less freedom than the general quantum case, and you might expect the bound to drop most of the way back down.</p>
<p>It almost doesn’t. The constrained family gives up a factor of two, and nothing more. Why so little freedom costs so little is the most instructive part of the whole story, and the answer sits in the structure of finite fields and how they are represented by matrices.</p>
<section id="sec-classical" class="level2">
<h2 class="anchored" data-anchor-id="sec-classical">The classical setup</h2>
<p>Let’s make the photocopier mathematically precise. We start with the classical case, where everything is ordinary probability theory.</p>
<p>Pick a small number of distinct states your image can be in. Say three, and to keep them vivid, call them red, green, and blue. At any moment a pixel of the image need not be one definite colour. Noise has crept in, and the honest description is a list of how likely each colour is. Right now it might be definitely red. After a few passes through the copier, it might be 40% red, 50% green, 10% blue.</p>
<p>We write that list as a vector. Definitely red is <img src="https://latex.codecogs.com/png.latex?(1,%200,%200)">; the blurred state is <img src="https://latex.codecogs.com/png.latex?(0.4,%200.5,%200.1)">, read in the order red, green, blue. Two rules turn a list of numbers into a probability distribution, and we lean on both later. The entries cannot be negative, since a probability below zero is meaningless. And they must sum to one, since the pixel is certainly <em>some</em> colour. Every classical state we write obeys these two rules, and nothing else counts.</p>
<p>Now picture all the lawful states at once. With three colours a state is three numbers summing to one, so fixing any two pins the third: only two are free. Two free numbers trace out a flat, two-dimensional shape, and that shape is a triangle. Its three corners are the sure things, one per colour: <img src="https://latex.codecogs.com/png.latex?(1,0,0)"> is definitely red, <img src="https://latex.codecogs.com/png.latex?(0,1,0)"> definitely green, <img src="https://latex.codecogs.com/png.latex?(0,0,1)"> definitely blue. Walk along an edge joining two corners and the third colour stays impossible while the other two trade off. Drift inward and the three probabilities become more balanced, until at the dead centre you reach <img src="https://latex.codecogs.com/png.latex?(%5Ctfrac13,%20%5Ctfrac13,%20%5Ctfrac13)">: an even wash of red, green, and blue with no colour favoured, the state that could have come from anything. That even wash is exactly the grey noise from the start of this post, the worn-out photocopy written as a vector, and pushing every corner toward it is the whole job of an erasing copier. The triangle has a name, the <em>simplex</em>, and for <img src="https://latex.codecogs.com/png.latex?d"> states it becomes the <img src="https://latex.codecogs.com/png.latex?(d-1)">-dimensional version of the same idea (Figure&nbsp;1).</p>
<div id="fig-simplex-d3" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-simplex-d3-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<!-- Figure 1: classical state space (purity field). Static SVG inlined verbatim from state_space_figure.py. No interactivity: the interaction lives in Figure 2. -->
<style>
.simplex-static{max-width:520px;margin:1.25rem auto;}
.simplex-static svg{width:100%;height:auto;display:block;}
.simplex-static .si-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
</style>

<div class="simplex-static">
  <p class="si-vh">Probability simplex over three outcomes, coloured by purity (blue-teal at the pure corners, fading to a soft blue-grey centre at the maximally mixed distribution p0, which is marked and labelled at the centroid).</p>

  <svg aria-label="Probability simplex over three outcomes; the three pure-state corners are coloured red, green, and blue, the fill encodes purity, and the grey maximally mixed state p0 is marked at the centre" xmlns="http://www.w3.org/2000/svg" viewbox="0 0 640 620" font-family="Georgia, 'Times New Roman', serif">
    <defs>
      <marker id="arrow" viewbox="0 0 10 10" refx="9" refy="5" markerwidth="8" markerheight="8" orient="auto-start-reverse">
        <path d="M 0 0 L 10 5 L 0 10 z" fill="#233746"></path>
      </marker>
    </defs>
    <!-- Coordinate axes -->
    <line x1="310" y1="430" x2="95" y2="530" stroke="#233746" stroke-width="1.8" marker-end="url(#arrow)"></line>
    <line x1="310" y1="430" x2="590" y2="430" stroke="#233746" stroke-width="1.8" marker-end="url(#arrow)"></line>
    <line x1="310" y1="430" x2="310" y2="75" stroke="#233746" stroke-width="1.8" marker-end="url(#arrow)"></line>
  
    <!-- Purity field: blue-teal at the pure corners, pale at the maximally mixed centre -->
    <g stroke-linejoin="round">
      <polygon points="310.00,130.00 303.46,144.62 318.85,141.54" fill="#3a7896" fill-opacity="0.9" stroke="#3a7896" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="303.46,144.62 318.85,141.54 312.31,156.15" fill="#46809c" fill-opacity="0.9" stroke="#46809c" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="318.85,141.54 312.31,156.15 327.69,153.08" fill="#4c84a0" fill-opacity="0.9" stroke="#4c84a0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="312.31,156.15 327.69,153.08 321.15,167.69" fill="#578ca6" fill-opacity="0.9" stroke="#578ca6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="327.69,153.08 321.15,167.69 336.54,164.62" fill="#5c90a8" fill-opacity="0.9" stroke="#5c90a8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="321.15,167.69 336.54,164.62 330.00,179.23" fill="#6797ae" fill-opacity="0.9" stroke="#6797ae" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="336.54,164.62 330.00,179.23 345.38,176.15" fill="#6b9ab1" fill-opacity="0.9" stroke="#6b9ab1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="330.00,179.23 345.38,176.15 338.85,190.77" fill="#75a1b6" fill-opacity="0.9" stroke="#75a1b6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="345.38,176.15 338.85,190.77 354.23,187.69" fill="#79a4b8" fill-opacity="0.9" stroke="#79a4b8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="338.85,190.77 354.23,187.69 347.69,202.31" fill="#82aabd" fill-opacity="0.9" stroke="#82aabd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="354.23,187.69 347.69,202.31 363.08,199.23" fill="#85acbe" fill-opacity="0.9" stroke="#85acbe" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="347.69,202.31 363.08,199.23 356.54,213.85" fill="#8db2c3" fill-opacity="0.9" stroke="#8db2c3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="363.08,199.23 356.54,213.85 371.92,210.77" fill="#8fb4c4" fill-opacity="0.9" stroke="#8fb4c4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="356.54,213.85 371.92,210.77 365.38,225.38" fill="#97b9c8" fill-opacity="0.9" stroke="#97b9c8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="371.92,210.77 365.38,225.38 380.77,222.31" fill="#98bac9" fill-opacity="0.9" stroke="#98bac9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="365.38,225.38 380.77,222.31 374.23,236.92" fill="#9fbfcd" fill-opacity="0.9" stroke="#9fbfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="380.77,222.31 374.23,236.92 389.62,233.85" fill="#a0bfcd" fill-opacity="0.9" stroke="#a0bfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="374.23,236.92 389.62,233.85 383.08,248.46" fill="#a6c3d0" fill-opacity="0.9" stroke="#a6c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="389.62,233.85 383.08,248.46 398.46,245.38" fill="#a6c3d0" fill-opacity="0.9" stroke="#a6c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="383.08,248.46 398.46,245.38 391.92,260.00" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="398.46,245.38 391.92,260.00 407.31,256.92" fill="#aac6d2" fill-opacity="0.9" stroke="#aac6d2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="391.92,260.00 407.31,256.92 400.77,271.54" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="407.31,256.92 400.77,271.54 416.15,268.46" fill="#adc9d4" fill-opacity="0.9" stroke="#adc9d4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="400.77,271.54 416.15,268.46 409.62,283.08" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="416.15,268.46 409.62,283.08 425.00,280.00" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="409.62,283.08 425.00,280.00 418.46,294.62" fill="#b2ccd7" fill-opacity="0.9" stroke="#b2ccd7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="425.00,280.00 418.46,294.62 433.85,291.54" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="418.46,294.62 433.85,291.54 427.31,306.15" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="433.85,291.54 427.31,306.15 442.69,303.08" fill="#adc9d4" fill-opacity="0.9" stroke="#adc9d4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="427.31,306.15 442.69,303.08 436.15,317.69" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="442.69,303.08 436.15,317.69 451.54,314.62" fill="#aac6d2" fill-opacity="0.9" stroke="#aac6d2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="436.15,317.69 451.54,314.62 445.00,329.23" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="451.54,314.62 445.00,329.23 460.38,326.15" fill="#a6c3d0" fill-opacity="0.9" stroke="#a6c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="445.00,329.23 460.38,326.15 453.85,340.77" fill="#a6c3d0" fill-opacity="0.9" stroke="#a6c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="460.38,326.15 453.85,340.77 469.23,337.69" fill="#a0bfcd" fill-opacity="0.9" stroke="#a0bfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="453.85,340.77 469.23,337.69 462.69,352.31" fill="#9fbfcd" fill-opacity="0.9" stroke="#9fbfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="469.23,337.69 462.69,352.31 478.08,349.23" fill="#98bac9" fill-opacity="0.9" stroke="#98bac9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="462.69,352.31 478.08,349.23 471.54,363.85" fill="#97b9c8" fill-opacity="0.9" stroke="#97b9c8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="478.08,349.23 471.54,363.85 486.92,360.77" fill="#8fb4c4" fill-opacity="0.9" stroke="#8fb4c4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="471.54,363.85 486.92,360.77 480.38,375.38" fill="#8db2c3" fill-opacity="0.9" stroke="#8db2c3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="486.92,360.77 480.38,375.38 495.77,372.31" fill="#85acbe" fill-opacity="0.9" stroke="#85acbe" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="480.38,375.38 495.77,372.31 489.23,386.92" fill="#82aabd" fill-opacity="0.9" stroke="#82aabd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="495.77,372.31 489.23,386.92 504.62,383.85" fill="#79a4b8" fill-opacity="0.9" stroke="#79a4b8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="489.23,386.92 504.62,383.85 498.08,398.46" fill="#75a1b6" fill-opacity="0.9" stroke="#75a1b6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="504.62,383.85 498.08,398.46 513.46,395.38" fill="#6b9ab1" fill-opacity="0.9" stroke="#6b9ab1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="498.08,398.46 513.46,395.38 506.92,410.00" fill="#6797ae" fill-opacity="0.9" stroke="#6797ae" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="513.46,395.38 506.92,410.00 522.31,406.92" fill="#5c90a8" fill-opacity="0.9" stroke="#5c90a8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="506.92,410.00 522.31,406.92 515.77,421.54" fill="#578ca6" fill-opacity="0.9" stroke="#578ca6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="522.31,406.92 515.77,421.54 531.15,418.46" fill="#4c84a0" fill-opacity="0.9" stroke="#4c84a0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="515.77,421.54 531.15,418.46 524.62,433.08" fill="#46809c" fill-opacity="0.9" stroke="#46809c" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="531.15,418.46 524.62,433.08 540.00,430.00" fill="#3a7896" fill-opacity="0.9" stroke="#3a7896" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="303.46,144.62 296.92,159.23 312.31,156.15" fill="#4c84a0" fill-opacity="0.9" stroke="#4c84a0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="296.92,159.23 312.31,156.15 305.77,170.77" fill="#578ca6" fill-opacity="0.9" stroke="#578ca6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="312.31,156.15 305.77,170.77 321.15,167.69" fill="#5d91a9" fill-opacity="0.9" stroke="#5d91a9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="305.77,170.77 321.15,167.69 314.62,182.31" fill="#6898af" fill-opacity="0.9" stroke="#6898af" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="321.15,167.69 314.62,182.31 330.00,179.23" fill="#6d9cb1" fill-opacity="0.9" stroke="#6d9cb1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="314.62,182.31 330.00,179.23 323.46,193.85" fill="#77a2b7" fill-opacity="0.9" stroke="#77a2b7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="330.00,179.23 323.46,193.85 338.85,190.77" fill="#7ba5b9" fill-opacity="0.9" stroke="#7ba5b9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="323.46,193.85 338.85,190.77 332.31,205.38" fill="#84acbe" fill-opacity="0.9" stroke="#84acbe" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="338.85,190.77 332.31,205.38 347.69,202.31" fill="#88aec0" fill-opacity="0.9" stroke="#88aec0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="332.31,205.38 347.69,202.31 341.15,216.92" fill="#90b4c4" fill-opacity="0.9" stroke="#90b4c4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="347.69,202.31 341.15,216.92 356.54,213.85" fill="#93b6c6" fill-opacity="0.9" stroke="#93b6c6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="341.15,216.92 356.54,213.85 350.00,228.46" fill="#9bbcca" fill-opacity="0.9" stroke="#9bbcca" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="356.54,213.85 350.00,228.46 365.38,225.38" fill="#9dbdcb" fill-opacity="0.9" stroke="#9dbdcb" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="350.00,228.46 365.38,225.38 358.85,240.00" fill="#a4c2cf" fill-opacity="0.9" stroke="#a4c2cf" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="365.38,225.38 358.85,240.00 374.23,236.92" fill="#a5c3d0" fill-opacity="0.9" stroke="#a5c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="358.85,240.00 374.23,236.92 367.69,251.54" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="374.23,236.92 367.69,251.54 383.08,248.46" fill="#acc8d3" fill-opacity="0.9" stroke="#acc8d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="367.69,251.54 383.08,248.46 376.54,263.08" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="383.08,248.46 376.54,263.08 391.92,260.00" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="376.54,263.08 391.92,260.00 385.38,274.62" fill="#b6ced9" fill-opacity="0.9" stroke="#b6ced9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="391.92,260.00 385.38,274.62 400.77,271.54" fill="#b5ced8" fill-opacity="0.9" stroke="#b5ced8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="385.38,274.62 400.77,271.54 394.23,286.15" fill="#b9d1da" fill-opacity="0.9" stroke="#b9d1da" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="400.77,271.54 394.23,286.15 409.62,283.08" fill="#b7cfd9" fill-opacity="0.9" stroke="#b7cfd9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="394.23,286.15 409.62,283.08 403.08,297.69" fill="#bad2db" fill-opacity="0.9" stroke="#bad2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="409.62,283.08 403.08,297.69 418.46,294.62" fill="#b8d0da" fill-opacity="0.9" stroke="#b8d0da" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="403.08,297.69 418.46,294.62 411.92,309.23" fill="#bad2db" fill-opacity="0.9" stroke="#bad2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="418.46,294.62 411.92,309.23 427.31,306.15" fill="#b7cfd9" fill-opacity="0.9" stroke="#b7cfd9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="411.92,309.23 427.31,306.15 420.77,320.77" fill="#b9d1da" fill-opacity="0.9" stroke="#b9d1da" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="427.31,306.15 420.77,320.77 436.15,317.69" fill="#b5ced8" fill-opacity="0.9" stroke="#b5ced8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="420.77,320.77 436.15,317.69 429.62,332.31" fill="#b6ced9" fill-opacity="0.9" stroke="#b6ced9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="436.15,317.69 429.62,332.31 445.00,329.23" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="429.62,332.31 445.00,329.23 438.46,343.85" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="445.00,329.23 438.46,343.85 453.85,340.77" fill="#acc8d3" fill-opacity="0.9" stroke="#acc8d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="438.46,343.85 453.85,340.77 447.31,355.38" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="453.85,340.77 447.31,355.38 462.69,352.31" fill="#a5c3d0" fill-opacity="0.9" stroke="#a5c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="447.31,355.38 462.69,352.31 456.15,366.92" fill="#a4c2cf" fill-opacity="0.9" stroke="#a4c2cf" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="462.69,352.31 456.15,366.92 471.54,363.85" fill="#9dbdcb" fill-opacity="0.9" stroke="#9dbdcb" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="456.15,366.92 471.54,363.85 465.00,378.46" fill="#9bbcca" fill-opacity="0.9" stroke="#9bbcca" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="471.54,363.85 465.00,378.46 480.38,375.38" fill="#93b6c6" fill-opacity="0.9" stroke="#93b6c6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="465.00,378.46 480.38,375.38 473.85,390.00" fill="#90b4c4" fill-opacity="0.9" stroke="#90b4c4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="480.38,375.38 473.85,390.00 489.23,386.92" fill="#88aec0" fill-opacity="0.9" stroke="#88aec0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="473.85,390.00 489.23,386.92 482.69,401.54" fill="#84acbe" fill-opacity="0.9" stroke="#84acbe" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="489.23,386.92 482.69,401.54 498.08,398.46" fill="#7ba5b9" fill-opacity="0.9" stroke="#7ba5b9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="482.69,401.54 498.08,398.46 491.54,413.08" fill="#77a2b7" fill-opacity="0.9" stroke="#77a2b7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="498.08,398.46 491.54,413.08 506.92,410.00" fill="#6d9cb1" fill-opacity="0.9" stroke="#6d9cb1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="491.54,413.08 506.92,410.00 500.38,424.62" fill="#6898af" fill-opacity="0.9" stroke="#6898af" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="506.92,410.00 500.38,424.62 515.77,421.54" fill="#5d91a9" fill-opacity="0.9" stroke="#5d91a9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="500.38,424.62 515.77,421.54 509.23,436.15" fill="#578ca6" fill-opacity="0.9" stroke="#578ca6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="515.77,421.54 509.23,436.15 524.62,433.08" fill="#4c84a0" fill-opacity="0.9" stroke="#4c84a0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="296.92,159.23 290.38,173.85 305.77,170.77" fill="#5c90a8" fill-opacity="0.9" stroke="#5c90a8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="290.38,173.85 305.77,170.77 299.23,185.38" fill="#6797ae" fill-opacity="0.9" stroke="#6797ae" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="305.77,170.77 299.23,185.38 314.62,182.31" fill="#6d9cb1" fill-opacity="0.9" stroke="#6d9cb1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="299.23,185.38 314.62,182.31 308.08,196.92" fill="#77a2b7" fill-opacity="0.9" stroke="#77a2b7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="314.62,182.31 308.08,196.92 323.46,193.85" fill="#7ca6b9" fill-opacity="0.9" stroke="#7ca6b9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="308.08,196.92 323.46,193.85 316.92,208.46" fill="#85acbe" fill-opacity="0.9" stroke="#85acbe" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="323.46,193.85 316.92,208.46 332.31,205.38" fill="#89afc1" fill-opacity="0.9" stroke="#89afc1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="316.92,208.46 332.31,205.38 325.77,220.00" fill="#92b5c5" fill-opacity="0.9" stroke="#92b5c5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="332.31,205.38 325.77,220.00 341.15,216.92" fill="#95b8c7" fill-opacity="0.9" stroke="#95b8c7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="325.77,220.00 341.15,216.92 334.62,231.54" fill="#9dbdcb" fill-opacity="0.9" stroke="#9dbdcb" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="341.15,216.92 334.62,231.54 350.00,228.46" fill="#a0bfcd" fill-opacity="0.9" stroke="#a0bfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="334.62,231.54 350.00,228.46 343.46,243.08" fill="#a7c4d1" fill-opacity="0.9" stroke="#a7c4d1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="350.00,228.46 343.46,243.08 358.85,240.00" fill="#a9c5d2" fill-opacity="0.9" stroke="#a9c5d2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="343.46,243.08 358.85,240.00 352.31,254.62" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="358.85,240.00 352.31,254.62 367.69,251.54" fill="#b0cbd6" fill-opacity="0.9" stroke="#b0cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="352.31,254.62 367.69,251.54 361.15,266.15" fill="#b6ced9" fill-opacity="0.9" stroke="#b6ced9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="367.69,251.54 361.15,266.15 376.54,263.08" fill="#b6cfd9" fill-opacity="0.9" stroke="#b6cfd9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="361.15,266.15 376.54,263.08 370.00,277.69" fill="#bbd2db" fill-opacity="0.9" stroke="#bbd2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="376.54,263.08 370.00,277.69 385.38,274.62" fill="#bbd2db" fill-opacity="0.9" stroke="#bbd2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="370.00,277.69 385.38,274.62 378.85,289.23" fill="#bfd5dd" fill-opacity="0.9" stroke="#bfd5dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="385.38,274.62 378.85,289.23 394.23,286.15" fill="#bed4dd" fill-opacity="0.9" stroke="#bed4dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="378.85,289.23 394.23,286.15 387.69,300.77" fill="#c1d6df" fill-opacity="0.9" stroke="#c1d6df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="394.23,286.15 387.69,300.77 403.08,297.69" fill="#bfd5de" fill-opacity="0.9" stroke="#bfd5de" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="387.69,300.77 403.08,297.69 396.54,312.31" fill="#c2d7df" fill-opacity="0.9" stroke="#c2d7df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="403.08,297.69 396.54,312.31 411.92,309.23" fill="#bfd5de" fill-opacity="0.9" stroke="#bfd5de" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="396.54,312.31 411.92,309.23 405.38,323.85" fill="#c1d6df" fill-opacity="0.9" stroke="#c1d6df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="411.92,309.23 405.38,323.85 420.77,320.77" fill="#bed4dd" fill-opacity="0.9" stroke="#bed4dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="405.38,323.85 420.77,320.77 414.23,335.38" fill="#bfd5dd" fill-opacity="0.9" stroke="#bfd5dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="420.77,320.77 414.23,335.38 429.62,332.31" fill="#bbd2db" fill-opacity="0.9" stroke="#bbd2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="414.23,335.38 429.62,332.31 423.08,346.92" fill="#bbd2db" fill-opacity="0.9" stroke="#bbd2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="429.62,332.31 423.08,346.92 438.46,343.85" fill="#b6cfd9" fill-opacity="0.9" stroke="#b6cfd9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="423.08,346.92 438.46,343.85 431.92,358.46" fill="#b6ced9" fill-opacity="0.9" stroke="#b6ced9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="438.46,343.85 431.92,358.46 447.31,355.38" fill="#b0cbd6" fill-opacity="0.9" stroke="#b0cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="431.92,358.46 447.31,355.38 440.77,370.00" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="447.31,355.38 440.77,370.00 456.15,366.92" fill="#a9c5d2" fill-opacity="0.9" stroke="#a9c5d2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="440.77,370.00 456.15,366.92 449.62,381.54" fill="#a7c4d1" fill-opacity="0.9" stroke="#a7c4d1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="456.15,366.92 449.62,381.54 465.00,378.46" fill="#a0bfcd" fill-opacity="0.9" stroke="#a0bfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="449.62,381.54 465.00,378.46 458.46,393.08" fill="#9dbdcb" fill-opacity="0.9" stroke="#9dbdcb" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="465.00,378.46 458.46,393.08 473.85,390.00" fill="#95b8c7" fill-opacity="0.9" stroke="#95b8c7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="458.46,393.08 473.85,390.00 467.31,404.62" fill="#92b5c5" fill-opacity="0.9" stroke="#92b5c5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="473.85,390.00 467.31,404.62 482.69,401.54" fill="#89afc1" fill-opacity="0.9" stroke="#89afc1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="467.31,404.62 482.69,401.54 476.15,416.15" fill="#85acbe" fill-opacity="0.9" stroke="#85acbe" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="482.69,401.54 476.15,416.15 491.54,413.08" fill="#7ca6b9" fill-opacity="0.9" stroke="#7ca6b9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="476.15,416.15 491.54,413.08 485.00,427.69" fill="#77a2b7" fill-opacity="0.9" stroke="#77a2b7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="491.54,413.08 485.00,427.69 500.38,424.62" fill="#6d9cb1" fill-opacity="0.9" stroke="#6d9cb1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="485.00,427.69 500.38,424.62 493.85,439.23" fill="#6797ae" fill-opacity="0.9" stroke="#6797ae" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="500.38,424.62 493.85,439.23 509.23,436.15" fill="#5c90a8" fill-opacity="0.9" stroke="#5c90a8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="290.38,173.85 283.85,188.46 299.23,185.38" fill="#6b9ab1" fill-opacity="0.9" stroke="#6b9ab1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="283.85,188.46 299.23,185.38 292.69,200.00" fill="#75a1b6" fill-opacity="0.9" stroke="#75a1b6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="299.23,185.38 292.69,200.00 308.08,196.92" fill="#7ba5b9" fill-opacity="0.9" stroke="#7ba5b9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="292.69,200.00 308.08,196.92 301.54,211.54" fill="#84acbe" fill-opacity="0.9" stroke="#84acbe" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="308.08,196.92 301.54,211.54 316.92,208.46" fill="#89afc1" fill-opacity="0.9" stroke="#89afc1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="301.54,211.54 316.92,208.46 310.38,223.08" fill="#92b5c5" fill-opacity="0.9" stroke="#92b5c5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="316.92,208.46 310.38,223.08 325.77,220.00" fill="#96b8c8" fill-opacity="0.9" stroke="#96b8c8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="310.38,223.08 325.77,220.00 319.23,234.62" fill="#9ebecc" fill-opacity="0.9" stroke="#9ebecc" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="325.77,220.00 319.23,234.62 334.62,231.54" fill="#a1c0ce" fill-opacity="0.9" stroke="#a1c0ce" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="319.23,234.62 334.62,231.54 328.08,246.15" fill="#a8c5d1" fill-opacity="0.9" stroke="#a8c5d1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="334.62,231.54 328.08,246.15 343.46,243.08" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="328.08,246.15 343.46,243.08 336.92,257.69" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="343.46,243.08 336.92,257.69 352.31,254.62" fill="#b3cdd7" fill-opacity="0.9" stroke="#b3cdd7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="336.92,257.69 352.31,254.62 345.77,269.23" fill="#b9d1da" fill-opacity="0.9" stroke="#b9d1da" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="352.31,254.62 345.77,269.23 361.15,266.15" fill="#bad1db" fill-opacity="0.9" stroke="#bad1db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="345.77,269.23 361.15,266.15 354.62,280.77" fill="#bfd5dd" fill-opacity="0.9" stroke="#bfd5dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="361.15,266.15 354.62,280.77 370.00,277.69" fill="#bfd5de" fill-opacity="0.9" stroke="#bfd5de" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="354.62,280.77 370.00,277.69 363.46,292.31" fill="#c3d8e0" fill-opacity="0.9" stroke="#c3d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="370.00,277.69 363.46,292.31 378.85,289.23" fill="#c3d8e0" fill-opacity="0.9" stroke="#c3d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="363.46,292.31 378.85,289.23 372.31,303.85" fill="#c6dae2" fill-opacity="0.9" stroke="#c6dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="378.85,289.23 372.31,303.85 387.69,300.77" fill="#c5d9e1" fill-opacity="0.9" stroke="#c5d9e1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="372.31,303.85 387.69,300.77 381.15,315.38" fill="#c8dbe2" fill-opacity="0.9" stroke="#c8dbe2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="387.69,300.77 381.15,315.38 396.54,312.31" fill="#c6dae1" fill-opacity="0.9" stroke="#c6dae1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="381.15,315.38 396.54,312.31 390.00,326.92" fill="#c8dbe2" fill-opacity="0.9" stroke="#c8dbe2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="396.54,312.31 390.00,326.92 405.38,323.85" fill="#c5d9e1" fill-opacity="0.9" stroke="#c5d9e1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="390.00,326.92 405.38,323.85 398.85,338.46" fill="#c6dae2" fill-opacity="0.9" stroke="#c6dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="405.38,323.85 398.85,338.46 414.23,335.38" fill="#c3d8e0" fill-opacity="0.9" stroke="#c3d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="398.85,338.46 414.23,335.38 407.69,350.00" fill="#c3d8e0" fill-opacity="0.9" stroke="#c3d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="414.23,335.38 407.69,350.00 423.08,346.92" fill="#bfd5de" fill-opacity="0.9" stroke="#bfd5de" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="407.69,350.00 423.08,346.92 416.54,361.54" fill="#bfd5dd" fill-opacity="0.9" stroke="#bfd5dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="423.08,346.92 416.54,361.54 431.92,358.46" fill="#bad1db" fill-opacity="0.9" stroke="#bad1db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="416.54,361.54 431.92,358.46 425.38,373.08" fill="#b9d1da" fill-opacity="0.9" stroke="#b9d1da" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="431.92,358.46 425.38,373.08 440.77,370.00" fill="#b3cdd7" fill-opacity="0.9" stroke="#b3cdd7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="425.38,373.08 440.77,370.00 434.23,384.62" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="440.77,370.00 434.23,384.62 449.62,381.54" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="434.23,384.62 449.62,381.54 443.08,396.15" fill="#a8c5d1" fill-opacity="0.9" stroke="#a8c5d1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="449.62,381.54 443.08,396.15 458.46,393.08" fill="#a1c0ce" fill-opacity="0.9" stroke="#a1c0ce" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="443.08,396.15 458.46,393.08 451.92,407.69" fill="#9ebecc" fill-opacity="0.9" stroke="#9ebecc" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="458.46,393.08 451.92,407.69 467.31,404.62" fill="#96b8c8" fill-opacity="0.9" stroke="#96b8c8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="451.92,407.69 467.31,404.62 460.77,419.23" fill="#92b5c5" fill-opacity="0.9" stroke="#92b5c5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="467.31,404.62 460.77,419.23 476.15,416.15" fill="#89afc1" fill-opacity="0.9" stroke="#89afc1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="460.77,419.23 476.15,416.15 469.62,430.77" fill="#84acbe" fill-opacity="0.9" stroke="#84acbe" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="476.15,416.15 469.62,430.77 485.00,427.69" fill="#7ba5b9" fill-opacity="0.9" stroke="#7ba5b9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="469.62,430.77 485.00,427.69 478.46,442.31" fill="#75a1b6" fill-opacity="0.9" stroke="#75a1b6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="485.00,427.69 478.46,442.31 493.85,439.23" fill="#6b9ab1" fill-opacity="0.9" stroke="#6b9ab1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="283.85,188.46 277.31,203.08 292.69,200.00" fill="#79a4b8" fill-opacity="0.9" stroke="#79a4b8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="277.31,203.08 292.69,200.00 286.15,214.62" fill="#82aabd" fill-opacity="0.9" stroke="#82aabd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="292.69,200.00 286.15,214.62 301.54,211.54" fill="#88aec0" fill-opacity="0.9" stroke="#88aec0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="286.15,214.62 301.54,211.54 295.00,226.15" fill="#90b4c4" fill-opacity="0.9" stroke="#90b4c4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="301.54,211.54 295.00,226.15 310.38,223.08" fill="#95b8c7" fill-opacity="0.9" stroke="#95b8c7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="295.00,226.15 310.38,223.08 303.85,237.69" fill="#9dbdcb" fill-opacity="0.9" stroke="#9dbdcb" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="310.38,223.08 303.85,237.69 319.23,234.62" fill="#a1c0ce" fill-opacity="0.9" stroke="#a1c0ce" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="303.85,237.69 319.23,234.62 312.69,249.23" fill="#a8c5d1" fill-opacity="0.9" stroke="#a8c5d1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="319.23,234.62 312.69,249.23 328.08,246.15" fill="#acc8d3" fill-opacity="0.9" stroke="#acc8d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="312.69,249.23 328.08,246.15 321.54,260.77" fill="#b2ccd7" fill-opacity="0.9" stroke="#b2ccd7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="328.08,246.15 321.54,260.77 336.92,257.69" fill="#b5ced8" fill-opacity="0.9" stroke="#b5ced8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="321.54,260.77 336.92,257.69 330.38,272.31" fill="#bad2db" fill-opacity="0.9" stroke="#bad2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="336.92,257.69 330.38,272.31 345.77,269.23" fill="#bcd3dc" fill-opacity="0.9" stroke="#bcd3dc" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="330.38,272.31 345.77,269.23 339.23,283.85" fill="#c1d6df" fill-opacity="0.9" stroke="#c1d6df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="345.77,269.23 339.23,283.85 354.62,280.77" fill="#c2d7df" fill-opacity="0.9" stroke="#c2d7df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="339.23,283.85 354.62,280.77 348.08,295.38" fill="#c6dae2" fill-opacity="0.9" stroke="#c6dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="354.62,280.77 348.08,295.38 363.46,292.31" fill="#c7dae2" fill-opacity="0.9" stroke="#c7dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="348.08,295.38 363.46,292.31 356.92,306.92" fill="#cadde4" fill-opacity="0.9" stroke="#cadde4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="363.46,292.31 356.92,306.92 372.31,303.85" fill="#cadce3" fill-opacity="0.9" stroke="#cadce3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="356.92,306.92 372.31,303.85 365.77,318.46" fill="#ccdee5" fill-opacity="0.9" stroke="#ccdee5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="372.31,303.85 365.77,318.46 381.15,315.38" fill="#cbdde4" fill-opacity="0.9" stroke="#cbdde4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="365.77,318.46 381.15,315.38 374.62,330.00" fill="#cddfe5" fill-opacity="0.9" stroke="#cddfe5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="381.15,315.38 374.62,330.00 390.00,326.92" fill="#cbdde4" fill-opacity="0.9" stroke="#cbdde4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="374.62,330.00 390.00,326.92 383.46,341.54" fill="#ccdee5" fill-opacity="0.9" stroke="#ccdee5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="390.00,326.92 383.46,341.54 398.85,338.46" fill="#cadce3" fill-opacity="0.9" stroke="#cadce3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="383.46,341.54 398.85,338.46 392.31,353.08" fill="#cadde4" fill-opacity="0.9" stroke="#cadde4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="398.85,338.46 392.31,353.08 407.69,350.00" fill="#c7dae2" fill-opacity="0.9" stroke="#c7dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="392.31,353.08 407.69,350.00 401.15,364.62" fill="#c6dae2" fill-opacity="0.9" stroke="#c6dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="407.69,350.00 401.15,364.62 416.54,361.54" fill="#c2d7df" fill-opacity="0.9" stroke="#c2d7df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="401.15,364.62 416.54,361.54 410.00,376.15" fill="#c1d6df" fill-opacity="0.9" stroke="#c1d6df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="416.54,361.54 410.00,376.15 425.38,373.08" fill="#bcd3dc" fill-opacity="0.9" stroke="#bcd3dc" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="410.00,376.15 425.38,373.08 418.85,387.69" fill="#bad2db" fill-opacity="0.9" stroke="#bad2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="425.38,373.08 418.85,387.69 434.23,384.62" fill="#b5ced8" fill-opacity="0.9" stroke="#b5ced8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="418.85,387.69 434.23,384.62 427.69,399.23" fill="#b2ccd7" fill-opacity="0.9" stroke="#b2ccd7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="434.23,384.62 427.69,399.23 443.08,396.15" fill="#acc8d3" fill-opacity="0.9" stroke="#acc8d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="427.69,399.23 443.08,396.15 436.54,410.77" fill="#a8c5d1" fill-opacity="0.9" stroke="#a8c5d1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="443.08,396.15 436.54,410.77 451.92,407.69" fill="#a1c0ce" fill-opacity="0.9" stroke="#a1c0ce" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="436.54,410.77 451.92,407.69 445.38,422.31" fill="#9dbdcb" fill-opacity="0.9" stroke="#9dbdcb" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="451.92,407.69 445.38,422.31 460.77,419.23" fill="#95b8c7" fill-opacity="0.9" stroke="#95b8c7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="445.38,422.31 460.77,419.23 454.23,433.85" fill="#90b4c4" fill-opacity="0.9" stroke="#90b4c4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="460.77,419.23 454.23,433.85 469.62,430.77" fill="#88aec0" fill-opacity="0.9" stroke="#88aec0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="454.23,433.85 469.62,430.77 463.08,445.38" fill="#82aabd" fill-opacity="0.9" stroke="#82aabd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="469.62,430.77 463.08,445.38 478.46,442.31" fill="#79a4b8" fill-opacity="0.9" stroke="#79a4b8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="277.31,203.08 270.77,217.69 286.15,214.62" fill="#85acbe" fill-opacity="0.9" stroke="#85acbe" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="270.77,217.69 286.15,214.62 279.62,229.23" fill="#8db2c3" fill-opacity="0.9" stroke="#8db2c3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="286.15,214.62 279.62,229.23 295.00,226.15" fill="#93b6c6" fill-opacity="0.9" stroke="#93b6c6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="279.62,229.23 295.00,226.15 288.46,240.77" fill="#9bbcca" fill-opacity="0.9" stroke="#9bbcca" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="295.00,226.15 288.46,240.77 303.85,237.69" fill="#a0bfcd" fill-opacity="0.9" stroke="#a0bfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="288.46,240.77 303.85,237.69 297.31,252.31" fill="#a7c4d1" fill-opacity="0.9" stroke="#a7c4d1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="303.85,237.69 297.31,252.31 312.69,249.23" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="297.31,252.31 312.69,249.23 306.15,263.85" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="312.69,249.23 306.15,263.85 321.54,260.77" fill="#b5ced8" fill-opacity="0.9" stroke="#b5ced8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="306.15,263.85 321.54,260.77 315.00,275.38" fill="#bad2db" fill-opacity="0.9" stroke="#bad2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="321.54,260.77 315.00,275.38 330.38,272.31" fill="#bdd4dd" fill-opacity="0.9" stroke="#bdd4dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="315.00,275.38 330.38,272.31 323.85,286.92" fill="#c2d7df" fill-opacity="0.9" stroke="#c2d7df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="330.38,272.31 323.85,286.92 339.23,283.85" fill="#c4d8e0" fill-opacity="0.9" stroke="#c4d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="323.85,286.92 339.23,283.85 332.69,298.46" fill="#c8dbe2" fill-opacity="0.9" stroke="#c8dbe2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="339.23,283.85 332.69,298.46 348.08,295.38" fill="#c9dce3" fill-opacity="0.9" stroke="#c9dce3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="332.69,298.46 348.08,295.38 341.54,310.00" fill="#ccdee5" fill-opacity="0.9" stroke="#ccdee5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="348.08,295.38 341.54,310.00 356.92,306.92" fill="#cddfe5" fill-opacity="0.9" stroke="#cddfe5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="341.54,310.00 356.92,306.92 350.38,321.54" fill="#cfe0e6" fill-opacity="0.9" stroke="#cfe0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="356.92,306.92 350.38,321.54 365.77,318.46" fill="#cfe0e6" fill-opacity="0.9" stroke="#cfe0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="350.38,321.54 365.77,318.46 359.23,333.08" fill="#d1e1e7" fill-opacity="0.9" stroke="#d1e1e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="365.77,318.46 359.23,333.08 374.62,330.00" fill="#d0e1e7" fill-opacity="0.9" stroke="#d0e1e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="359.23,333.08 374.62,330.00 368.08,344.62" fill="#d1e1e7" fill-opacity="0.9" stroke="#d1e1e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="374.62,330.00 368.08,344.62 383.46,341.54" fill="#cfe0e6" fill-opacity="0.9" stroke="#cfe0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="368.08,344.62 383.46,341.54 376.92,356.15" fill="#cfe0e6" fill-opacity="0.9" stroke="#cfe0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="383.46,341.54 376.92,356.15 392.31,353.08" fill="#cddfe5" fill-opacity="0.9" stroke="#cddfe5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="376.92,356.15 392.31,353.08 385.77,367.69" fill="#ccdee5" fill-opacity="0.9" stroke="#ccdee5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="392.31,353.08 385.77,367.69 401.15,364.62" fill="#c9dce3" fill-opacity="0.9" stroke="#c9dce3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="385.77,367.69 401.15,364.62 394.62,379.23" fill="#c8dbe2" fill-opacity="0.9" stroke="#c8dbe2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="401.15,364.62 394.62,379.23 410.00,376.15" fill="#c4d8e0" fill-opacity="0.9" stroke="#c4d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="394.62,379.23 410.00,376.15 403.46,390.77" fill="#c2d7df" fill-opacity="0.9" stroke="#c2d7df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="410.00,376.15 403.46,390.77 418.85,387.69" fill="#bdd4dd" fill-opacity="0.9" stroke="#bdd4dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="403.46,390.77 418.85,387.69 412.31,402.31" fill="#bad2db" fill-opacity="0.9" stroke="#bad2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="418.85,387.69 412.31,402.31 427.69,399.23" fill="#b5ced8" fill-opacity="0.9" stroke="#b5ced8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="412.31,402.31 427.69,399.23 421.15,413.85" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="427.69,399.23 421.15,413.85 436.54,410.77" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="421.15,413.85 436.54,410.77 430.00,425.38" fill="#a7c4d1" fill-opacity="0.9" stroke="#a7c4d1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="436.54,410.77 430.00,425.38 445.38,422.31" fill="#a0bfcd" fill-opacity="0.9" stroke="#a0bfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="430.00,425.38 445.38,422.31 438.85,436.92" fill="#9bbcca" fill-opacity="0.9" stroke="#9bbcca" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="445.38,422.31 438.85,436.92 454.23,433.85" fill="#93b6c6" fill-opacity="0.9" stroke="#93b6c6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="438.85,436.92 454.23,433.85 447.69,448.46" fill="#8db2c3" fill-opacity="0.9" stroke="#8db2c3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="454.23,433.85 447.69,448.46 463.08,445.38" fill="#85acbe" fill-opacity="0.9" stroke="#85acbe" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="270.77,217.69 264.23,232.31 279.62,229.23" fill="#8fb4c4" fill-opacity="0.9" stroke="#8fb4c4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="264.23,232.31 279.62,229.23 273.08,243.85" fill="#97b9c8" fill-opacity="0.9" stroke="#97b9c8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="279.62,229.23 273.08,243.85 288.46,240.77" fill="#9dbdcb" fill-opacity="0.9" stroke="#9dbdcb" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="273.08,243.85 288.46,240.77 281.92,255.38" fill="#a4c2cf" fill-opacity="0.9" stroke="#a4c2cf" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="288.46,240.77 281.92,255.38 297.31,252.31" fill="#a9c5d2" fill-opacity="0.9" stroke="#a9c5d2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="281.92,255.38 297.31,252.31 290.77,266.92" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="297.31,252.31 290.77,266.92 306.15,263.85" fill="#b3cdd7" fill-opacity="0.9" stroke="#b3cdd7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="290.77,266.92 306.15,263.85 299.62,278.46" fill="#b9d1da" fill-opacity="0.9" stroke="#b9d1da" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="306.15,263.85 299.62,278.46 315.00,275.38" fill="#bcd3dc" fill-opacity="0.9" stroke="#bcd3dc" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="299.62,278.46 315.00,275.38 308.46,290.00" fill="#c1d6df" fill-opacity="0.9" stroke="#c1d6df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="315.00,275.38 308.46,290.00 323.85,286.92" fill="#c4d8e0" fill-opacity="0.9" stroke="#c4d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="308.46,290.00 323.85,286.92 317.31,301.54" fill="#c8dbe2" fill-opacity="0.9" stroke="#c8dbe2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="323.85,286.92 317.31,301.54 332.69,298.46" fill="#cadce3" fill-opacity="0.9" stroke="#cadce3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="317.31,301.54 332.69,298.46 326.15,313.08" fill="#cddfe5" fill-opacity="0.9" stroke="#cddfe5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="332.69,298.46 326.15,313.08 341.54,310.00" fill="#cee0e6" fill-opacity="0.9" stroke="#cee0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="326.15,313.08 341.54,310.00 335.00,324.62" fill="#d1e1e7" fill-opacity="0.9" stroke="#d1e1e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="341.54,310.00 335.00,324.62 350.38,321.54" fill="#d1e2e7" fill-opacity="0.9" stroke="#d1e2e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="335.00,324.62 350.38,321.54 343.85,336.15" fill="#d3e3e8" fill-opacity="0.9" stroke="#d3e3e8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="350.38,321.54 343.85,336.15 359.23,333.08" fill="#d3e3e8" fill-opacity="0.9" stroke="#d3e3e8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="343.85,336.15 359.23,333.08 352.69,347.69" fill="#d4e3e9" fill-opacity="0.9" stroke="#d4e3e9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="359.23,333.08 352.69,347.69 368.08,344.62" fill="#d3e3e8" fill-opacity="0.9" stroke="#d3e3e8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="352.69,347.69 368.08,344.62 361.54,359.23" fill="#d3e3e8" fill-opacity="0.9" stroke="#d3e3e8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="368.08,344.62 361.54,359.23 376.92,356.15" fill="#d1e2e7" fill-opacity="0.9" stroke="#d1e2e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="361.54,359.23 376.92,356.15 370.38,370.77" fill="#d1e1e7" fill-opacity="0.9" stroke="#d1e1e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="376.92,356.15 370.38,370.77 385.77,367.69" fill="#cee0e6" fill-opacity="0.9" stroke="#cee0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="370.38,370.77 385.77,367.69 379.23,382.31" fill="#cddfe5" fill-opacity="0.9" stroke="#cddfe5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="385.77,367.69 379.23,382.31 394.62,379.23" fill="#cadce3" fill-opacity="0.9" stroke="#cadce3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="379.23,382.31 394.62,379.23 388.08,393.85" fill="#c8dbe2" fill-opacity="0.9" stroke="#c8dbe2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="394.62,379.23 388.08,393.85 403.46,390.77" fill="#c4d8e0" fill-opacity="0.9" stroke="#c4d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="388.08,393.85 403.46,390.77 396.92,405.38" fill="#c1d6df" fill-opacity="0.9" stroke="#c1d6df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="403.46,390.77 396.92,405.38 412.31,402.31" fill="#bcd3dc" fill-opacity="0.9" stroke="#bcd3dc" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="396.92,405.38 412.31,402.31 405.77,416.92" fill="#b9d1da" fill-opacity="0.9" stroke="#b9d1da" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="412.31,402.31 405.77,416.92 421.15,413.85" fill="#b3cdd7" fill-opacity="0.9" stroke="#b3cdd7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="405.77,416.92 421.15,413.85 414.62,428.46" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="421.15,413.85 414.62,428.46 430.00,425.38" fill="#a9c5d2" fill-opacity="0.9" stroke="#a9c5d2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="414.62,428.46 430.00,425.38 423.46,440.00" fill="#a4c2cf" fill-opacity="0.9" stroke="#a4c2cf" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="430.00,425.38 423.46,440.00 438.85,436.92" fill="#9dbdcb" fill-opacity="0.9" stroke="#9dbdcb" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="423.46,440.00 438.85,436.92 432.31,451.54" fill="#97b9c8" fill-opacity="0.9" stroke="#97b9c8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="438.85,436.92 432.31,451.54 447.69,448.46" fill="#8fb4c4" fill-opacity="0.9" stroke="#8fb4c4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="264.23,232.31 257.69,246.92 273.08,243.85" fill="#98bac9" fill-opacity="0.9" stroke="#98bac9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="257.69,246.92 273.08,243.85 266.54,258.46" fill="#9fbfcd" fill-opacity="0.9" stroke="#9fbfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="273.08,243.85 266.54,258.46 281.92,255.38" fill="#a5c3d0" fill-opacity="0.9" stroke="#a5c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="266.54,258.46 281.92,255.38 275.38,270.00" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="281.92,255.38 275.38,270.00 290.77,266.92" fill="#b0cbd6" fill-opacity="0.9" stroke="#b0cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="275.38,270.00 290.77,266.92 284.23,281.54" fill="#b6ced9" fill-opacity="0.9" stroke="#b6ced9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="290.77,266.92 284.23,281.54 299.62,278.46" fill="#bad1db" fill-opacity="0.9" stroke="#bad1db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="284.23,281.54 299.62,278.46 293.08,293.08" fill="#bfd5dd" fill-opacity="0.9" stroke="#bfd5dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="299.62,278.46 293.08,293.08 308.46,290.00" fill="#c2d7df" fill-opacity="0.9" stroke="#c2d7df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="293.08,293.08 308.46,290.00 301.92,304.62" fill="#c6dae2" fill-opacity="0.9" stroke="#c6dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="308.46,290.00 301.92,304.62 317.31,301.54" fill="#c9dce3" fill-opacity="0.9" stroke="#c9dce3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="301.92,304.62 317.31,301.54 310.77,316.15" fill="#ccdee5" fill-opacity="0.9" stroke="#ccdee5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="317.31,301.54 310.77,316.15 326.15,313.08" fill="#cee0e6" fill-opacity="0.9" stroke="#cee0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="310.77,316.15 326.15,313.08 319.62,327.69" fill="#d1e1e7" fill-opacity="0.9" stroke="#d1e1e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="326.15,313.08 319.62,327.69 335.00,324.62" fill="#d2e2e8" fill-opacity="0.9" stroke="#d2e2e8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="319.62,327.69 335.00,324.62 328.46,339.23" fill="#d4e3e9" fill-opacity="0.9" stroke="#d4e3e9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="335.00,324.62 328.46,339.23 343.85,336.15" fill="#d4e4e9" fill-opacity="0.9" stroke="#d4e4e9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="328.46,339.23 343.85,336.15 337.31,350.77" fill="#d5e4ea" fill-opacity="0.9" stroke="#d5e4ea" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="343.85,336.15 337.31,350.77 352.69,347.69" fill="#d5e4e9" fill-opacity="0.9" stroke="#d5e4e9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="337.31,350.77 352.69,347.69 346.15,362.31" fill="#d5e4ea" fill-opacity="0.9" stroke="#d5e4ea" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="352.69,347.69 346.15,362.31 361.54,359.23" fill="#d4e4e9" fill-opacity="0.9" stroke="#d4e4e9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="346.15,362.31 361.54,359.23 355.00,373.85" fill="#d4e3e9" fill-opacity="0.9" stroke="#d4e3e9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="361.54,359.23 355.00,373.85 370.38,370.77" fill="#d2e2e8" fill-opacity="0.9" stroke="#d2e2e8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="355.00,373.85 370.38,370.77 363.85,385.38" fill="#d1e1e7" fill-opacity="0.9" stroke="#d1e1e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="370.38,370.77 363.85,385.38 379.23,382.31" fill="#cee0e6" fill-opacity="0.9" stroke="#cee0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="363.85,385.38 379.23,382.31 372.69,396.92" fill="#ccdee5" fill-opacity="0.9" stroke="#ccdee5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="379.23,382.31 372.69,396.92 388.08,393.85" fill="#c9dce3" fill-opacity="0.9" stroke="#c9dce3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="372.69,396.92 388.08,393.85 381.54,408.46" fill="#c6dae2" fill-opacity="0.9" stroke="#c6dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="388.08,393.85 381.54,408.46 396.92,405.38" fill="#c2d7df" fill-opacity="0.9" stroke="#c2d7df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="381.54,408.46 396.92,405.38 390.38,420.00" fill="#bfd5dd" fill-opacity="0.9" stroke="#bfd5dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="396.92,405.38 390.38,420.00 405.77,416.92" fill="#bad1db" fill-opacity="0.9" stroke="#bad1db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="390.38,420.00 405.77,416.92 399.23,431.54" fill="#b6ced9" fill-opacity="0.9" stroke="#b6ced9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="405.77,416.92 399.23,431.54 414.62,428.46" fill="#b0cbd6" fill-opacity="0.9" stroke="#b0cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="399.23,431.54 414.62,428.46 408.08,443.08" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="414.62,428.46 408.08,443.08 423.46,440.00" fill="#a5c3d0" fill-opacity="0.9" stroke="#a5c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="408.08,443.08 423.46,440.00 416.92,454.62" fill="#9fbfcd" fill-opacity="0.9" stroke="#9fbfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="423.46,440.00 416.92,454.62 432.31,451.54" fill="#98bac9" fill-opacity="0.9" stroke="#98bac9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="257.69,246.92 251.15,261.54 266.54,258.46" fill="#a0bfcd" fill-opacity="0.9" stroke="#a0bfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="251.15,261.54 266.54,258.46 260.00,273.08" fill="#a6c3d0" fill-opacity="0.9" stroke="#a6c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="266.54,258.46 260.00,273.08 275.38,270.00" fill="#acc8d3" fill-opacity="0.9" stroke="#acc8d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="260.00,273.08 275.38,270.00 268.85,284.62" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="275.38,270.00 268.85,284.62 284.23,281.54" fill="#b6cfd9" fill-opacity="0.9" stroke="#b6cfd9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="268.85,284.62 284.23,281.54 277.69,296.15" fill="#bbd2db" fill-opacity="0.9" stroke="#bbd2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="284.23,281.54 277.69,296.15 293.08,293.08" fill="#bfd5de" fill-opacity="0.9" stroke="#bfd5de" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="277.69,296.15 293.08,293.08 286.54,307.69" fill="#c3d8e0" fill-opacity="0.9" stroke="#c3d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="293.08,293.08 286.54,307.69 301.92,304.62" fill="#c7dae2" fill-opacity="0.9" stroke="#c7dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="286.54,307.69 301.92,304.62 295.38,319.23" fill="#cadde4" fill-opacity="0.9" stroke="#cadde4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="301.92,304.62 295.38,319.23 310.77,316.15" fill="#cddfe5" fill-opacity="0.9" stroke="#cddfe5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="295.38,319.23 310.77,316.15 304.23,330.77" fill="#cfe0e6" fill-opacity="0.9" stroke="#cfe0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="310.77,316.15 304.23,330.77 319.62,327.69" fill="#d1e2e7" fill-opacity="0.9" stroke="#d1e2e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="304.23,330.77 319.62,327.69 313.08,342.31" fill="#d3e3e8" fill-opacity="0.9" stroke="#d3e3e8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="319.62,327.69 313.08,342.31 328.46,339.23" fill="#d4e4e9" fill-opacity="0.9" stroke="#d4e4e9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="313.08,342.31 328.46,339.23 321.92,353.85" fill="#d5e4ea" fill-opacity="0.9" stroke="#d5e4ea" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="328.46,339.23 321.92,353.85 337.31,350.77" fill="#d6e5ea" fill-opacity="0.9" stroke="#d6e5ea" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="321.92,353.85 337.31,350.77 330.77,365.38" fill="#d6e5ea" fill-opacity="0.9" stroke="#d6e5ea" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="337.31,350.77 330.77,365.38 346.15,362.31" fill="#d6e5ea" fill-opacity="0.9" stroke="#d6e5ea" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="330.77,365.38 346.15,362.31 339.62,376.92" fill="#d5e4ea" fill-opacity="0.9" stroke="#d5e4ea" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="346.15,362.31 339.62,376.92 355.00,373.85" fill="#d4e4e9" fill-opacity="0.9" stroke="#d4e4e9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="339.62,376.92 355.00,373.85 348.46,388.46" fill="#d3e3e8" fill-opacity="0.9" stroke="#d3e3e8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="355.00,373.85 348.46,388.46 363.85,385.38" fill="#d1e2e7" fill-opacity="0.9" stroke="#d1e2e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="348.46,388.46 363.85,385.38 357.31,400.00" fill="#cfe0e6" fill-opacity="0.9" stroke="#cfe0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="363.85,385.38 357.31,400.00 372.69,396.92" fill="#cddfe5" fill-opacity="0.9" stroke="#cddfe5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="357.31,400.00 372.69,396.92 366.15,411.54" fill="#cadde4" fill-opacity="0.9" stroke="#cadde4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="372.69,396.92 366.15,411.54 381.54,408.46" fill="#c7dae2" fill-opacity="0.9" stroke="#c7dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="366.15,411.54 381.54,408.46 375.00,423.08" fill="#c3d8e0" fill-opacity="0.9" stroke="#c3d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="381.54,408.46 375.00,423.08 390.38,420.00" fill="#bfd5de" fill-opacity="0.9" stroke="#bfd5de" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="375.00,423.08 390.38,420.00 383.85,434.62" fill="#bbd2db" fill-opacity="0.9" stroke="#bbd2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="390.38,420.00 383.85,434.62 399.23,431.54" fill="#b6cfd9" fill-opacity="0.9" stroke="#b6cfd9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="383.85,434.62 399.23,431.54 392.69,446.15" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="399.23,431.54 392.69,446.15 408.08,443.08" fill="#acc8d3" fill-opacity="0.9" stroke="#acc8d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="392.69,446.15 408.08,443.08 401.54,457.69" fill="#a6c3d0" fill-opacity="0.9" stroke="#a6c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="408.08,443.08 401.54,457.69 416.92,454.62" fill="#a0bfcd" fill-opacity="0.9" stroke="#a0bfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="251.15,261.54 244.62,276.15 260.00,273.08" fill="#a6c3d0" fill-opacity="0.9" stroke="#a6c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="244.62,276.15 260.00,273.08 253.46,287.69" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="260.00,273.08 253.46,287.69 268.85,284.62" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="253.46,287.69 268.85,284.62 262.31,299.23" fill="#b6ced9" fill-opacity="0.9" stroke="#b6ced9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="268.85,284.62 262.31,299.23 277.69,296.15" fill="#bbd2db" fill-opacity="0.9" stroke="#bbd2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="262.31,299.23 277.69,296.15 271.15,310.77" fill="#bfd5dd" fill-opacity="0.9" stroke="#bfd5dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="277.69,296.15 271.15,310.77 286.54,307.69" fill="#c3d8e0" fill-opacity="0.9" stroke="#c3d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="271.15,310.77 286.54,307.69 280.00,322.31" fill="#c6dae2" fill-opacity="0.9" stroke="#c6dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="286.54,307.69 280.00,322.31 295.38,319.23" fill="#cadce3" fill-opacity="0.9" stroke="#cadce3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="280.00,322.31 295.38,319.23 288.85,333.85" fill="#ccdee5" fill-opacity="0.9" stroke="#ccdee5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="295.38,319.23 288.85,333.85 304.23,330.77" fill="#cfe0e6" fill-opacity="0.9" stroke="#cfe0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="288.85,333.85 304.23,330.77 297.69,345.38" fill="#d1e1e7" fill-opacity="0.9" stroke="#d1e1e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="304.23,330.77 297.69,345.38 313.08,342.31" fill="#d3e3e8" fill-opacity="0.9" stroke="#d3e3e8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="297.69,345.38 313.08,342.31 306.54,356.92" fill="#d4e3e9" fill-opacity="0.9" stroke="#d4e3e9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="313.08,342.31 306.54,356.92 321.92,353.85" fill="#d5e4e9" fill-opacity="0.9" stroke="#d5e4e9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="306.54,356.92 321.92,353.85 315.38,368.46" fill="#d5e4ea" fill-opacity="0.9" stroke="#d5e4ea" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="321.92,353.85 315.38,368.46 330.77,365.38" fill="#d6e5ea" fill-opacity="0.9" stroke="#d6e5ea" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="315.38,368.46 330.77,365.38 324.23,380.00" fill="#d5e4ea" fill-opacity="0.9" stroke="#d5e4ea" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="330.77,365.38 324.23,380.00 339.62,376.92" fill="#d5e4e9" fill-opacity="0.9" stroke="#d5e4e9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="324.23,380.00 339.62,376.92 333.08,391.54" fill="#d4e3e9" fill-opacity="0.9" stroke="#d4e3e9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="339.62,376.92 333.08,391.54 348.46,388.46" fill="#d3e3e8" fill-opacity="0.9" stroke="#d3e3e8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="333.08,391.54 348.46,388.46 341.92,403.08" fill="#d1e1e7" fill-opacity="0.9" stroke="#d1e1e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="348.46,388.46 341.92,403.08 357.31,400.00" fill="#cfe0e6" fill-opacity="0.9" stroke="#cfe0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="341.92,403.08 357.31,400.00 350.77,414.62" fill="#ccdee5" fill-opacity="0.9" stroke="#ccdee5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="357.31,400.00 350.77,414.62 366.15,411.54" fill="#cadce3" fill-opacity="0.9" stroke="#cadce3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="350.77,414.62 366.15,411.54 359.62,426.15" fill="#c6dae2" fill-opacity="0.9" stroke="#c6dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="366.15,411.54 359.62,426.15 375.00,423.08" fill="#c3d8e0" fill-opacity="0.9" stroke="#c3d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="359.62,426.15 375.00,423.08 368.46,437.69" fill="#bfd5dd" fill-opacity="0.9" stroke="#bfd5dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="375.00,423.08 368.46,437.69 383.85,434.62" fill="#bbd2db" fill-opacity="0.9" stroke="#bbd2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="368.46,437.69 383.85,434.62 377.31,449.23" fill="#b6ced9" fill-opacity="0.9" stroke="#b6ced9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="383.85,434.62 377.31,449.23 392.69,446.15" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="377.31,449.23 392.69,446.15 386.15,460.77" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="392.69,446.15 386.15,460.77 401.54,457.69" fill="#a6c3d0" fill-opacity="0.9" stroke="#a6c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="244.62,276.15 238.08,290.77 253.46,287.69" fill="#aac6d2" fill-opacity="0.9" stroke="#aac6d2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="238.08,290.77 253.46,287.69 246.92,302.31" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="253.46,287.69 246.92,302.31 262.31,299.23" fill="#b5ced8" fill-opacity="0.9" stroke="#b5ced8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="246.92,302.31 262.31,299.23 255.77,313.85" fill="#b9d1da" fill-opacity="0.9" stroke="#b9d1da" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="262.31,299.23 255.77,313.85 271.15,310.77" fill="#bed4dd" fill-opacity="0.9" stroke="#bed4dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="255.77,313.85 271.15,310.77 264.62,325.38" fill="#c1d6df" fill-opacity="0.9" stroke="#c1d6df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="271.15,310.77 264.62,325.38 280.00,322.31" fill="#c5d9e1" fill-opacity="0.9" stroke="#c5d9e1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="264.62,325.38 280.00,322.31 273.46,336.92" fill="#c8dbe2" fill-opacity="0.9" stroke="#c8dbe2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="280.00,322.31 273.46,336.92 288.85,333.85" fill="#cbdde4" fill-opacity="0.9" stroke="#cbdde4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="273.46,336.92 288.85,333.85 282.31,348.46" fill="#cddfe5" fill-opacity="0.9" stroke="#cddfe5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="288.85,333.85 282.31,348.46 297.69,345.38" fill="#d0e1e7" fill-opacity="0.9" stroke="#d0e1e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="282.31,348.46 297.69,345.38 291.15,360.00" fill="#d1e1e7" fill-opacity="0.9" stroke="#d1e1e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="297.69,345.38 291.15,360.00 306.54,356.92" fill="#d3e3e8" fill-opacity="0.9" stroke="#d3e3e8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="291.15,360.00 306.54,356.92 300.00,371.54" fill="#d3e3e8" fill-opacity="0.9" stroke="#d3e3e8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="306.54,356.92 300.00,371.54 315.38,368.46" fill="#d4e4e9" fill-opacity="0.9" stroke="#d4e4e9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="300.00,371.54 315.38,368.46 308.85,383.08" fill="#d4e3e9" fill-opacity="0.9" stroke="#d4e3e9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="315.38,368.46 308.85,383.08 324.23,380.00" fill="#d4e4e9" fill-opacity="0.9" stroke="#d4e4e9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="308.85,383.08 324.23,380.00 317.69,394.62" fill="#d3e3e8" fill-opacity="0.9" stroke="#d3e3e8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="324.23,380.00 317.69,394.62 333.08,391.54" fill="#d3e3e8" fill-opacity="0.9" stroke="#d3e3e8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="317.69,394.62 333.08,391.54 326.54,406.15" fill="#d1e1e7" fill-opacity="0.9" stroke="#d1e1e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="333.08,391.54 326.54,406.15 341.92,403.08" fill="#d0e1e7" fill-opacity="0.9" stroke="#d0e1e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="326.54,406.15 341.92,403.08 335.38,417.69" fill="#cddfe5" fill-opacity="0.9" stroke="#cddfe5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="341.92,403.08 335.38,417.69 350.77,414.62" fill="#cbdde4" fill-opacity="0.9" stroke="#cbdde4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="335.38,417.69 350.77,414.62 344.23,429.23" fill="#c8dbe2" fill-opacity="0.9" stroke="#c8dbe2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="350.77,414.62 344.23,429.23 359.62,426.15" fill="#c5d9e1" fill-opacity="0.9" stroke="#c5d9e1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="344.23,429.23 359.62,426.15 353.08,440.77" fill="#c1d6df" fill-opacity="0.9" stroke="#c1d6df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="359.62,426.15 353.08,440.77 368.46,437.69" fill="#bed4dd" fill-opacity="0.9" stroke="#bed4dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="353.08,440.77 368.46,437.69 361.92,452.31" fill="#b9d1da" fill-opacity="0.9" stroke="#b9d1da" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="368.46,437.69 361.92,452.31 377.31,449.23" fill="#b5ced8" fill-opacity="0.9" stroke="#b5ced8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="361.92,452.31 377.31,449.23 370.77,463.85" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="377.31,449.23 370.77,463.85 386.15,460.77" fill="#aac6d2" fill-opacity="0.9" stroke="#aac6d2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="238.08,290.77 231.54,305.38 246.92,302.31" fill="#adc9d4" fill-opacity="0.9" stroke="#adc9d4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="231.54,305.38 246.92,302.31 240.38,316.92" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="246.92,302.31 240.38,316.92 255.77,313.85" fill="#b7cfd9" fill-opacity="0.9" stroke="#b7cfd9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="240.38,316.92 255.77,313.85 249.23,328.46" fill="#bad2db" fill-opacity="0.9" stroke="#bad2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="255.77,313.85 249.23,328.46 264.62,325.38" fill="#bfd5de" fill-opacity="0.9" stroke="#bfd5de" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="249.23,328.46 264.62,325.38 258.08,340.00" fill="#c2d7df" fill-opacity="0.9" stroke="#c2d7df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="264.62,325.38 258.08,340.00 273.46,336.92" fill="#c6dae1" fill-opacity="0.9" stroke="#c6dae1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="258.08,340.00 273.46,336.92 266.92,351.54" fill="#c8dbe2" fill-opacity="0.9" stroke="#c8dbe2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="273.46,336.92 266.92,351.54 282.31,348.46" fill="#cbdde4" fill-opacity="0.9" stroke="#cbdde4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="266.92,351.54 282.31,348.46 275.77,363.08" fill="#ccdee5" fill-opacity="0.9" stroke="#ccdee5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="282.31,348.46 275.77,363.08 291.15,360.00" fill="#cfe0e6" fill-opacity="0.9" stroke="#cfe0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="275.77,363.08 291.15,360.00 284.62,374.62" fill="#cfe0e6" fill-opacity="0.9" stroke="#cfe0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="291.15,360.00 284.62,374.62 300.00,371.54" fill="#d1e2e7" fill-opacity="0.9" stroke="#d1e2e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="284.62,374.62 300.00,371.54 293.46,386.15" fill="#d1e1e7" fill-opacity="0.9" stroke="#d1e1e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="300.00,371.54 293.46,386.15 308.85,383.08" fill="#d2e2e8" fill-opacity="0.9" stroke="#d2e2e8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="293.46,386.15 308.85,383.08 302.31,397.69" fill="#d1e1e7" fill-opacity="0.9" stroke="#d1e1e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="308.85,383.08 302.31,397.69 317.69,394.62" fill="#d1e2e7" fill-opacity="0.9" stroke="#d1e2e7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="302.31,397.69 317.69,394.62 311.15,409.23" fill="#cfe0e6" fill-opacity="0.9" stroke="#cfe0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="317.69,394.62 311.15,409.23 326.54,406.15" fill="#cfe0e6" fill-opacity="0.9" stroke="#cfe0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="311.15,409.23 326.54,406.15 320.00,420.77" fill="#ccdee5" fill-opacity="0.9" stroke="#ccdee5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="326.54,406.15 320.00,420.77 335.38,417.69" fill="#cbdde4" fill-opacity="0.9" stroke="#cbdde4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="320.00,420.77 335.38,417.69 328.85,432.31" fill="#c8dbe2" fill-opacity="0.9" stroke="#c8dbe2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="335.38,417.69 328.85,432.31 344.23,429.23" fill="#c6dae1" fill-opacity="0.9" stroke="#c6dae1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="328.85,432.31 344.23,429.23 337.69,443.85" fill="#c2d7df" fill-opacity="0.9" stroke="#c2d7df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="344.23,429.23 337.69,443.85 353.08,440.77" fill="#bfd5de" fill-opacity="0.9" stroke="#bfd5de" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="337.69,443.85 353.08,440.77 346.54,455.38" fill="#bad2db" fill-opacity="0.9" stroke="#bad2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="353.08,440.77 346.54,455.38 361.92,452.31" fill="#b7cfd9" fill-opacity="0.9" stroke="#b7cfd9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="346.54,455.38 361.92,452.31 355.38,466.92" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="361.92,452.31 355.38,466.92 370.77,463.85" fill="#adc9d4" fill-opacity="0.9" stroke="#adc9d4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="231.54,305.38 225.00,320.00 240.38,316.92" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="225.00,320.00 240.38,316.92 233.85,331.54" fill="#b2ccd7" fill-opacity="0.9" stroke="#b2ccd7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="240.38,316.92 233.85,331.54 249.23,328.46" fill="#b8d0da" fill-opacity="0.9" stroke="#b8d0da" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="233.85,331.54 249.23,328.46 242.69,343.08" fill="#bad2db" fill-opacity="0.9" stroke="#bad2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="249.23,328.46 242.69,343.08 258.08,340.00" fill="#bfd5de" fill-opacity="0.9" stroke="#bfd5de" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="242.69,343.08 258.08,340.00 251.54,354.62" fill="#c1d6df" fill-opacity="0.9" stroke="#c1d6df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="258.08,340.00 251.54,354.62 266.92,351.54" fill="#c5d9e1" fill-opacity="0.9" stroke="#c5d9e1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="251.54,354.62 266.92,351.54 260.38,366.15" fill="#c6dae2" fill-opacity="0.9" stroke="#c6dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="266.92,351.54 260.38,366.15 275.77,363.08" fill="#cadce3" fill-opacity="0.9" stroke="#cadce3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="260.38,366.15 275.77,363.08 269.23,377.69" fill="#cadde4" fill-opacity="0.9" stroke="#cadde4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="275.77,363.08 269.23,377.69 284.62,374.62" fill="#cddfe5" fill-opacity="0.9" stroke="#cddfe5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="269.23,377.69 284.62,374.62 278.08,389.23" fill="#ccdee5" fill-opacity="0.9" stroke="#ccdee5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="284.62,374.62 278.08,389.23 293.46,386.15" fill="#cee0e6" fill-opacity="0.9" stroke="#cee0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="278.08,389.23 293.46,386.15 286.92,400.77" fill="#cddfe5" fill-opacity="0.9" stroke="#cddfe5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="293.46,386.15 286.92,400.77 302.31,397.69" fill="#cee0e6" fill-opacity="0.9" stroke="#cee0e6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="286.92,400.77 302.31,397.69 295.77,412.31" fill="#ccdee5" fill-opacity="0.9" stroke="#ccdee5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="302.31,397.69 295.77,412.31 311.15,409.23" fill="#cddfe5" fill-opacity="0.9" stroke="#cddfe5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="295.77,412.31 311.15,409.23 304.62,423.85" fill="#cadde4" fill-opacity="0.9" stroke="#cadde4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="311.15,409.23 304.62,423.85 320.00,420.77" fill="#cadce3" fill-opacity="0.9" stroke="#cadce3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="304.62,423.85 320.00,420.77 313.46,435.38" fill="#c6dae2" fill-opacity="0.9" stroke="#c6dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="320.00,420.77 313.46,435.38 328.85,432.31" fill="#c5d9e1" fill-opacity="0.9" stroke="#c5d9e1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="313.46,435.38 328.85,432.31 322.31,446.92" fill="#c1d6df" fill-opacity="0.9" stroke="#c1d6df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="328.85,432.31 322.31,446.92 337.69,443.85" fill="#bfd5de" fill-opacity="0.9" stroke="#bfd5de" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="322.31,446.92 337.69,443.85 331.15,458.46" fill="#bad2db" fill-opacity="0.9" stroke="#bad2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="337.69,443.85 331.15,458.46 346.54,455.38" fill="#b8d0da" fill-opacity="0.9" stroke="#b8d0da" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="331.15,458.46 346.54,455.38 340.00,470.00" fill="#b2ccd7" fill-opacity="0.9" stroke="#b2ccd7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="346.54,455.38 340.00,470.00 355.38,466.92" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="225.00,320.00 218.46,334.62 233.85,331.54" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="218.46,334.62 233.85,331.54 227.31,346.15" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="233.85,331.54 227.31,346.15 242.69,343.08" fill="#b7cfd9" fill-opacity="0.9" stroke="#b7cfd9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="227.31,346.15 242.69,343.08 236.15,357.69" fill="#b9d1da" fill-opacity="0.9" stroke="#b9d1da" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="242.69,343.08 236.15,357.69 251.54,354.62" fill="#bed4dd" fill-opacity="0.9" stroke="#bed4dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="236.15,357.69 251.54,354.62 245.00,369.23" fill="#bfd5dd" fill-opacity="0.9" stroke="#bfd5dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="251.54,354.62 245.00,369.23 260.38,366.15" fill="#c3d8e0" fill-opacity="0.9" stroke="#c3d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="245.00,369.23 260.38,366.15 253.85,380.77" fill="#c3d8e0" fill-opacity="0.9" stroke="#c3d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="260.38,366.15 253.85,380.77 269.23,377.69" fill="#c7dae2" fill-opacity="0.9" stroke="#c7dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="253.85,380.77 269.23,377.69 262.69,392.31" fill="#c6dae2" fill-opacity="0.9" stroke="#c6dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="269.23,377.69 262.69,392.31 278.08,389.23" fill="#c9dce3" fill-opacity="0.9" stroke="#c9dce3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="262.69,392.31 278.08,389.23 271.54,403.85" fill="#c8dbe2" fill-opacity="0.9" stroke="#c8dbe2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="278.08,389.23 271.54,403.85 286.92,400.77" fill="#cadce3" fill-opacity="0.9" stroke="#cadce3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="271.54,403.85 286.92,400.77 280.38,415.38" fill="#c8dbe2" fill-opacity="0.9" stroke="#c8dbe2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="286.92,400.77 280.38,415.38 295.77,412.31" fill="#c9dce3" fill-opacity="0.9" stroke="#c9dce3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="280.38,415.38 295.77,412.31 289.23,426.92" fill="#c6dae2" fill-opacity="0.9" stroke="#c6dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="295.77,412.31 289.23,426.92 304.62,423.85" fill="#c7dae2" fill-opacity="0.9" stroke="#c7dae2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="289.23,426.92 304.62,423.85 298.08,438.46" fill="#c3d8e0" fill-opacity="0.9" stroke="#c3d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="304.62,423.85 298.08,438.46 313.46,435.38" fill="#c3d8e0" fill-opacity="0.9" stroke="#c3d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="298.08,438.46 313.46,435.38 306.92,450.00" fill="#bfd5dd" fill-opacity="0.9" stroke="#bfd5dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="313.46,435.38 306.92,450.00 322.31,446.92" fill="#bed4dd" fill-opacity="0.9" stroke="#bed4dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="306.92,450.00 322.31,446.92 315.77,461.54" fill="#b9d1da" fill-opacity="0.9" stroke="#b9d1da" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="322.31,446.92 315.77,461.54 331.15,458.46" fill="#b7cfd9" fill-opacity="0.9" stroke="#b7cfd9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="315.77,461.54 331.15,458.46 324.62,473.08" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="331.15,458.46 324.62,473.08 340.00,470.00" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="218.46,334.62 211.92,349.23 227.31,346.15" fill="#adc9d4" fill-opacity="0.9" stroke="#adc9d4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="211.92,349.23 227.31,346.15 220.77,360.77" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="227.31,346.15 220.77,360.77 236.15,357.69" fill="#b5ced8" fill-opacity="0.9" stroke="#b5ced8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="220.77,360.77 236.15,357.69 229.62,372.31" fill="#b6ced9" fill-opacity="0.9" stroke="#b6ced9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="236.15,357.69 229.62,372.31 245.00,369.23" fill="#bbd2db" fill-opacity="0.9" stroke="#bbd2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="229.62,372.31 245.00,369.23 238.46,383.85" fill="#bbd2db" fill-opacity="0.9" stroke="#bbd2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="245.00,369.23 238.46,383.85 253.85,380.77" fill="#bfd5de" fill-opacity="0.9" stroke="#bfd5de" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="238.46,383.85 253.85,380.77 247.31,395.38" fill="#bfd5dd" fill-opacity="0.9" stroke="#bfd5dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="253.85,380.77 247.31,395.38 262.69,392.31" fill="#c2d7df" fill-opacity="0.9" stroke="#c2d7df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="247.31,395.38 262.69,392.31 256.15,406.92" fill="#c1d6df" fill-opacity="0.9" stroke="#c1d6df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="262.69,392.31 256.15,406.92 271.54,403.85" fill="#c4d8e0" fill-opacity="0.9" stroke="#c4d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="256.15,406.92 271.54,403.85 265.00,418.46" fill="#c2d7df" fill-opacity="0.9" stroke="#c2d7df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="271.54,403.85 265.00,418.46 280.38,415.38" fill="#c4d8e0" fill-opacity="0.9" stroke="#c4d8e0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="265.00,418.46 280.38,415.38 273.85,430.00" fill="#c1d6df" fill-opacity="0.9" stroke="#c1d6df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="280.38,415.38 273.85,430.00 289.23,426.92" fill="#c2d7df" fill-opacity="0.9" stroke="#c2d7df" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="273.85,430.00 289.23,426.92 282.69,441.54" fill="#bfd5dd" fill-opacity="0.9" stroke="#bfd5dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="289.23,426.92 282.69,441.54 298.08,438.46" fill="#bfd5de" fill-opacity="0.9" stroke="#bfd5de" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="282.69,441.54 298.08,438.46 291.54,453.08" fill="#bbd2db" fill-opacity="0.9" stroke="#bbd2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="298.08,438.46 291.54,453.08 306.92,450.00" fill="#bbd2db" fill-opacity="0.9" stroke="#bbd2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="291.54,453.08 306.92,450.00 300.38,464.62" fill="#b6ced9" fill-opacity="0.9" stroke="#b6ced9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="306.92,450.00 300.38,464.62 315.77,461.54" fill="#b5ced8" fill-opacity="0.9" stroke="#b5ced8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="300.38,464.62 315.77,461.54 309.23,476.15" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="315.77,461.54 309.23,476.15 324.62,473.08" fill="#adc9d4" fill-opacity="0.9" stroke="#adc9d4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="211.92,349.23 205.38,363.85 220.77,360.77" fill="#aac6d2" fill-opacity="0.9" stroke="#aac6d2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="205.38,363.85 220.77,360.77 214.23,375.38" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="220.77,360.77 214.23,375.38 229.62,372.31" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="214.23,375.38 229.62,372.31 223.08,386.92" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="229.62,372.31 223.08,386.92 238.46,383.85" fill="#b6cfd9" fill-opacity="0.9" stroke="#b6cfd9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="223.08,386.92 238.46,383.85 231.92,398.46" fill="#b6ced9" fill-opacity="0.9" stroke="#b6ced9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="238.46,383.85 231.92,398.46 247.31,395.38" fill="#bad1db" fill-opacity="0.9" stroke="#bad1db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="231.92,398.46 247.31,395.38 240.77,410.00" fill="#b9d1da" fill-opacity="0.9" stroke="#b9d1da" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="247.31,395.38 240.77,410.00 256.15,406.92" fill="#bcd3dc" fill-opacity="0.9" stroke="#bcd3dc" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="240.77,410.00 256.15,406.92 249.62,421.54" fill="#bad2db" fill-opacity="0.9" stroke="#bad2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="256.15,406.92 249.62,421.54 265.00,418.46" fill="#bdd4dd" fill-opacity="0.9" stroke="#bdd4dd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="249.62,421.54 265.00,418.46 258.46,433.08" fill="#bad2db" fill-opacity="0.9" stroke="#bad2db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="265.00,418.46 258.46,433.08 273.85,430.00" fill="#bcd3dc" fill-opacity="0.9" stroke="#bcd3dc" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="258.46,433.08 273.85,430.00 267.31,444.62" fill="#b9d1da" fill-opacity="0.9" stroke="#b9d1da" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="273.85,430.00 267.31,444.62 282.69,441.54" fill="#bad1db" fill-opacity="0.9" stroke="#bad1db" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="267.31,444.62 282.69,441.54 276.15,456.15" fill="#b6ced9" fill-opacity="0.9" stroke="#b6ced9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="282.69,441.54 276.15,456.15 291.54,453.08" fill="#b6cfd9" fill-opacity="0.9" stroke="#b6cfd9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="276.15,456.15 291.54,453.08 285.00,467.69" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="291.54,453.08 285.00,467.69 300.38,464.62" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="285.00,467.69 300.38,464.62 293.85,479.23" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="300.38,464.62 293.85,479.23 309.23,476.15" fill="#aac6d2" fill-opacity="0.9" stroke="#aac6d2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="205.38,363.85 198.85,378.46 214.23,375.38" fill="#a6c3d0" fill-opacity="0.9" stroke="#a6c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="198.85,378.46 214.23,375.38 207.69,390.00" fill="#a6c3d0" fill-opacity="0.9" stroke="#a6c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="214.23,375.38 207.69,390.00 223.08,386.92" fill="#acc8d3" fill-opacity="0.9" stroke="#acc8d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="207.69,390.00 223.08,386.92 216.54,401.54" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="223.08,386.92 216.54,401.54 231.92,398.46" fill="#b0cbd6" fill-opacity="0.9" stroke="#b0cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="216.54,401.54 231.92,398.46 225.38,413.08" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="231.92,398.46 225.38,413.08 240.77,410.00" fill="#b3cdd7" fill-opacity="0.9" stroke="#b3cdd7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="225.38,413.08 240.77,410.00 234.23,424.62" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="240.77,410.00 234.23,424.62 249.62,421.54" fill="#b5ced8" fill-opacity="0.9" stroke="#b5ced8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="234.23,424.62 249.62,421.54 243.08,436.15" fill="#b2ccd7" fill-opacity="0.9" stroke="#b2ccd7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="249.62,421.54 243.08,436.15 258.46,433.08" fill="#b5ced8" fill-opacity="0.9" stroke="#b5ced8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="243.08,436.15 258.46,433.08 251.92,447.69" fill="#b1cbd6" fill-opacity="0.9" stroke="#b1cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="258.46,433.08 251.92,447.69 267.31,444.62" fill="#b3cdd7" fill-opacity="0.9" stroke="#b3cdd7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="251.92,447.69 267.31,444.62 260.77,459.23" fill="#afcad5" fill-opacity="0.9" stroke="#afcad5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="267.31,444.62 260.77,459.23 276.15,456.15" fill="#b0cbd6" fill-opacity="0.9" stroke="#b0cbd6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="260.77,459.23 276.15,456.15 269.62,470.77" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="276.15,456.15 269.62,470.77 285.00,467.69" fill="#acc8d3" fill-opacity="0.9" stroke="#acc8d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="269.62,470.77 285.00,467.69 278.46,482.31" fill="#a6c3d0" fill-opacity="0.9" stroke="#a6c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="285.00,467.69 278.46,482.31 293.85,479.23" fill="#a6c3d0" fill-opacity="0.9" stroke="#a6c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="198.85,378.46 192.31,393.08 207.69,390.00" fill="#a0bfcd" fill-opacity="0.9" stroke="#a0bfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="192.31,393.08 207.69,390.00 201.15,404.62" fill="#9fbfcd" fill-opacity="0.9" stroke="#9fbfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="207.69,390.00 201.15,404.62 216.54,401.54" fill="#a5c3d0" fill-opacity="0.9" stroke="#a5c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="201.15,404.62 216.54,401.54 210.00,416.15" fill="#a4c2cf" fill-opacity="0.9" stroke="#a4c2cf" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="216.54,401.54 210.00,416.15 225.38,413.08" fill="#a9c5d2" fill-opacity="0.9" stroke="#a9c5d2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="210.00,416.15 225.38,413.08 218.85,427.69" fill="#a7c4d1" fill-opacity="0.9" stroke="#a7c4d1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="225.38,413.08 218.85,427.69 234.23,424.62" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="218.85,427.69 234.23,424.62 227.69,439.23" fill="#a8c5d1" fill-opacity="0.9" stroke="#a8c5d1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="234.23,424.62 227.69,439.23 243.08,436.15" fill="#acc8d3" fill-opacity="0.9" stroke="#acc8d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="227.69,439.23 243.08,436.15 236.54,450.77" fill="#a8c5d1" fill-opacity="0.9" stroke="#a8c5d1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="243.08,436.15 236.54,450.77 251.92,447.69" fill="#abc7d3" fill-opacity="0.9" stroke="#abc7d3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="236.54,450.77 251.92,447.69 245.38,462.31" fill="#a7c4d1" fill-opacity="0.9" stroke="#a7c4d1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="251.92,447.69 245.38,462.31 260.77,459.23" fill="#a9c5d2" fill-opacity="0.9" stroke="#a9c5d2" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="245.38,462.31 260.77,459.23 254.23,473.85" fill="#a4c2cf" fill-opacity="0.9" stroke="#a4c2cf" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="260.77,459.23 254.23,473.85 269.62,470.77" fill="#a5c3d0" fill-opacity="0.9" stroke="#a5c3d0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="254.23,473.85 269.62,470.77 263.08,485.38" fill="#9fbfcd" fill-opacity="0.9" stroke="#9fbfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="269.62,470.77 263.08,485.38 278.46,482.31" fill="#a0bfcd" fill-opacity="0.9" stroke="#a0bfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="192.31,393.08 185.77,407.69 201.15,404.62" fill="#98bac9" fill-opacity="0.9" stroke="#98bac9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="185.77,407.69 201.15,404.62 194.62,419.23" fill="#97b9c8" fill-opacity="0.9" stroke="#97b9c8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="201.15,404.62 194.62,419.23 210.00,416.15" fill="#9dbdcb" fill-opacity="0.9" stroke="#9dbdcb" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="194.62,419.23 210.00,416.15 203.46,430.77" fill="#9bbcca" fill-opacity="0.9" stroke="#9bbcca" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="210.00,416.15 203.46,430.77 218.85,427.69" fill="#a0bfcd" fill-opacity="0.9" stroke="#a0bfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="203.46,430.77 218.85,427.69 212.31,442.31" fill="#9dbdcb" fill-opacity="0.9" stroke="#9dbdcb" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="218.85,427.69 212.31,442.31 227.69,439.23" fill="#a1c0ce" fill-opacity="0.9" stroke="#a1c0ce" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="212.31,442.31 227.69,439.23 221.15,453.85" fill="#9ebecc" fill-opacity="0.9" stroke="#9ebecc" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="227.69,439.23 221.15,453.85 236.54,450.77" fill="#a1c0ce" fill-opacity="0.9" stroke="#a1c0ce" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="221.15,453.85 236.54,450.77 230.00,465.38" fill="#9dbdcb" fill-opacity="0.9" stroke="#9dbdcb" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="236.54,450.77 230.00,465.38 245.38,462.31" fill="#a0bfcd" fill-opacity="0.9" stroke="#a0bfcd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="230.00,465.38 245.38,462.31 238.85,476.92" fill="#9bbcca" fill-opacity="0.9" stroke="#9bbcca" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="245.38,462.31 238.85,476.92 254.23,473.85" fill="#9dbdcb" fill-opacity="0.9" stroke="#9dbdcb" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="238.85,476.92 254.23,473.85 247.69,488.46" fill="#97b9c8" fill-opacity="0.9" stroke="#97b9c8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="254.23,473.85 247.69,488.46 263.08,485.38" fill="#98bac9" fill-opacity="0.9" stroke="#98bac9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="185.77,407.69 179.23,422.31 194.62,419.23" fill="#8fb4c4" fill-opacity="0.9" stroke="#8fb4c4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="179.23,422.31 194.62,419.23 188.08,433.85" fill="#8db2c3" fill-opacity="0.9" stroke="#8db2c3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="194.62,419.23 188.08,433.85 203.46,430.77" fill="#93b6c6" fill-opacity="0.9" stroke="#93b6c6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="188.08,433.85 203.46,430.77 196.92,445.38" fill="#90b4c4" fill-opacity="0.9" stroke="#90b4c4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="203.46,430.77 196.92,445.38 212.31,442.31" fill="#95b8c7" fill-opacity="0.9" stroke="#95b8c7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="196.92,445.38 212.31,442.31 205.77,456.92" fill="#92b5c5" fill-opacity="0.9" stroke="#92b5c5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="212.31,442.31 205.77,456.92 221.15,453.85" fill="#96b8c8" fill-opacity="0.9" stroke="#96b8c8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="205.77,456.92 221.15,453.85 214.62,468.46" fill="#92b5c5" fill-opacity="0.9" stroke="#92b5c5" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="221.15,453.85 214.62,468.46 230.00,465.38" fill="#95b8c7" fill-opacity="0.9" stroke="#95b8c7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="214.62,468.46 230.00,465.38 223.46,480.00" fill="#90b4c4" fill-opacity="0.9" stroke="#90b4c4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="230.00,465.38 223.46,480.00 238.85,476.92" fill="#93b6c6" fill-opacity="0.9" stroke="#93b6c6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="223.46,480.00 238.85,476.92 232.31,491.54" fill="#8db2c3" fill-opacity="0.9" stroke="#8db2c3" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="238.85,476.92 232.31,491.54 247.69,488.46" fill="#8fb4c4" fill-opacity="0.9" stroke="#8fb4c4" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="179.23,422.31 172.69,436.92 188.08,433.85" fill="#85acbe" fill-opacity="0.9" stroke="#85acbe" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="172.69,436.92 188.08,433.85 181.54,448.46" fill="#82aabd" fill-opacity="0.9" stroke="#82aabd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="188.08,433.85 181.54,448.46 196.92,445.38" fill="#88aec0" fill-opacity="0.9" stroke="#88aec0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="181.54,448.46 196.92,445.38 190.38,460.00" fill="#84acbe" fill-opacity="0.9" stroke="#84acbe" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="196.92,445.38 190.38,460.00 205.77,456.92" fill="#89afc1" fill-opacity="0.9" stroke="#89afc1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="190.38,460.00 205.77,456.92 199.23,471.54" fill="#85acbe" fill-opacity="0.9" stroke="#85acbe" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="205.77,456.92 199.23,471.54 214.62,468.46" fill="#89afc1" fill-opacity="0.9" stroke="#89afc1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="199.23,471.54 214.62,468.46 208.08,483.08" fill="#84acbe" fill-opacity="0.9" stroke="#84acbe" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="214.62,468.46 208.08,483.08 223.46,480.00" fill="#88aec0" fill-opacity="0.9" stroke="#88aec0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="208.08,483.08 223.46,480.00 216.92,494.62" fill="#82aabd" fill-opacity="0.9" stroke="#82aabd" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="223.46,480.00 216.92,494.62 232.31,491.54" fill="#85acbe" fill-opacity="0.9" stroke="#85acbe" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="172.69,436.92 166.15,451.54 181.54,448.46" fill="#79a4b8" fill-opacity="0.9" stroke="#79a4b8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="166.15,451.54 181.54,448.46 175.00,463.08" fill="#75a1b6" fill-opacity="0.9" stroke="#75a1b6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="181.54,448.46 175.00,463.08 190.38,460.00" fill="#7ba5b9" fill-opacity="0.9" stroke="#7ba5b9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="175.00,463.08 190.38,460.00 183.85,474.62" fill="#77a2b7" fill-opacity="0.9" stroke="#77a2b7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="190.38,460.00 183.85,474.62 199.23,471.54" fill="#7ca6b9" fill-opacity="0.9" stroke="#7ca6b9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="183.85,474.62 199.23,471.54 192.69,486.15" fill="#77a2b7" fill-opacity="0.9" stroke="#77a2b7" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="199.23,471.54 192.69,486.15 208.08,483.08" fill="#7ba5b9" fill-opacity="0.9" stroke="#7ba5b9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="192.69,486.15 208.08,483.08 201.54,497.69" fill="#75a1b6" fill-opacity="0.9" stroke="#75a1b6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="208.08,483.08 201.54,497.69 216.92,494.62" fill="#79a4b8" fill-opacity="0.9" stroke="#79a4b8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="166.15,451.54 159.62,466.15 175.00,463.08" fill="#6b9ab1" fill-opacity="0.9" stroke="#6b9ab1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="159.62,466.15 175.00,463.08 168.46,477.69" fill="#6797ae" fill-opacity="0.9" stroke="#6797ae" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="175.00,463.08 168.46,477.69 183.85,474.62" fill="#6d9cb1" fill-opacity="0.9" stroke="#6d9cb1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="168.46,477.69 183.85,474.62 177.31,489.23" fill="#6898af" fill-opacity="0.9" stroke="#6898af" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="183.85,474.62 177.31,489.23 192.69,486.15" fill="#6d9cb1" fill-opacity="0.9" stroke="#6d9cb1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="177.31,489.23 192.69,486.15 186.15,500.77" fill="#6797ae" fill-opacity="0.9" stroke="#6797ae" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="192.69,486.15 186.15,500.77 201.54,497.69" fill="#6b9ab1" fill-opacity="0.9" stroke="#6b9ab1" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="159.62,466.15 153.08,480.77 168.46,477.69" fill="#5c90a8" fill-opacity="0.9" stroke="#5c90a8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="153.08,480.77 168.46,477.69 161.92,492.31" fill="#578ca6" fill-opacity="0.9" stroke="#578ca6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="168.46,477.69 161.92,492.31 177.31,489.23" fill="#5d91a9" fill-opacity="0.9" stroke="#5d91a9" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="161.92,492.31 177.31,489.23 170.77,503.85" fill="#578ca6" fill-opacity="0.9" stroke="#578ca6" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="177.31,489.23 170.77,503.85 186.15,500.77" fill="#5c90a8" fill-opacity="0.9" stroke="#5c90a8" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="153.08,480.77 146.54,495.38 161.92,492.31" fill="#4c84a0" fill-opacity="0.9" stroke="#4c84a0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="146.54,495.38 161.92,492.31 155.38,506.92" fill="#46809c" fill-opacity="0.9" stroke="#46809c" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="161.92,492.31 155.38,506.92 170.77,503.85" fill="#4c84a0" fill-opacity="0.9" stroke="#4c84a0" stroke-width="0.6" stroke-opacity="0.9"></polygon>
      <polygon points="146.54,495.38 140.00,510.00 155.38,506.92" fill="#3a7896" fill-opacity="0.9" stroke="#3a7896" stroke-width="0.6" stroke-opacity="0.9"></polygon>
    </g>
  
    <!-- Simplex outline -->
    <polygon points="140,510 540,430 310,130" fill="none" stroke="#2d6f8f" stroke-width="2.2" stroke-linejoin="round"></polygon>
  
    <!-- Medians -->
    <g stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="4,5">
      <line x1="140" y1="510" x2="425.0" y2="280.0"></line>
      <line x1="540" y1="430" x2="225.0" y2="320.0"></line>
      <line x1="310" y1="130" x2="340.0" y2="470.0"></line>
    </g>
  
    <!-- Unit tick marks -->
    <line x1="143.0" y1="516.3" x2="137.0" y2="503.7" stroke="#233746" stroke-width="1.6"></line>
    <line x1="540.0" y1="423.0" x2="540.0" y2="437.0" stroke="#233746" stroke-width="1.6"></line>
    <line x1="303.0" y1="130.0" x2="317.0" y2="130.0" stroke="#233746" stroke-width="1.6"></line>
  
    <!-- Pure states (identity colours: e1 red, e2 green, e3 blue) -->
    <circle cx="140" cy="510" r="6" fill="#cc3b3b"></circle>
    <circle cx="540" cy="430" r="6" fill="#2e9e5b"></circle>
    <circle cx="310" cy="130" r="6" fill="#3b6fb0"></circle>
  
    <!-- Maximally mixed state p0 (solid grey marker) -->
    <circle cx="330.0" cy="356.6666666666667" r="9" fill="#f5f7f8"></circle>
    <circle cx="330.0" cy="356.6666666666667" r="6" fill="#8a8f94"></circle>
  
    <!-- Vertex labels (identity colours) + probability vectors (muted) -->
    <text x="124" y="538" text-anchor="end" font-size="22" font-style="italic" fill="#cc3b3b">e₁</text>
    <text x="124" y="558" text-anchor="end" font-size="14" fill="#829aa6">(1, 0, 0)</text>
    <text x="562" y="438" text-anchor="start" font-size="22" font-style="italic" fill="#2e9e5b">e₂</text>
    <text x="562" y="458" text-anchor="start" font-size="14" fill="#829aa6">(0, 1, 0)</text>
    <text x="288" y="122" text-anchor="end" font-size="22" font-style="italic" fill="#3b6fb0">e₃</text>
    <text x="288" y="142" text-anchor="end" font-size="14" fill="#829aa6">(0, 0, 1)</text>
  
    <!-- p0 label (full strength) -->
    <text x="346.0" y="354.6666666666667" font-size="21" font-style="italic" fill="#233746">p₀</text>
    <text x="346.0" y="374.6666666666667" font-size="13" fill="#233746">(⅓, ⅓, ⅓)</text>
  </svg>
</div>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-simplex-d3-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;1: The classical state space for three outcomes: the probability simplex sitting inside the positive octant. Its three pure states sit at the vertices, marked in red, green, and blue, and the uniform distribution <img src="https://latex.codecogs.com/png.latex?p_0%20=%20(%5Ctfrac13,%20%5Ctfrac13,%20%5Ctfrac13)"> is the grey point at the centre, an even wash of all three. The fill separately encodes purity, saturated at the pure corners and fading toward the maximally mixed centre.
</figcaption>
</figure>
</div>
<p>A copy operation takes one probability distribution as input and returns another. Before we write down what kind of object such an operation is, it is worth asking what we want to insist on.</p>
<p>The first thing is <em>linearity</em>. The copier <img src="https://latex.codecogs.com/png.latex?S"> has to be a linear map: if you feed it a coin-flip mixture of two inputs, the output has to be the same coin-flip mixture of the two separate outputs. Anything else would let the copier react to information beyond what the input distribution actually contains, which is a contradiction in terms.</p>
<details class="aside">
<summary>Why must mixtures behave this way?</summary>
<p>Suppose you decide your input on the flip of a coin: with probability <img src="https://latex.codecogs.com/png.latex?%5Calpha"> you start from distribution <img src="https://latex.codecogs.com/png.latex?p">, and with probability <img src="https://latex.codecogs.com/png.latex?1%20-%20%5Calpha"> you start from <img src="https://latex.codecogs.com/png.latex?q">. The total input, before you flip the coin, is the mixture <img src="https://latex.codecogs.com/png.latex?%5Calpha%20p%20+%20(1%20-%20%5Calpha)%20q">.</p>
<p>Apply the copier <img src="https://latex.codecogs.com/png.latex?S">. You can describe what comes out in two ways. From inside the experiment, the output is “<img src="https://latex.codecogs.com/png.latex?S(p)"> with probability <img src="https://latex.codecogs.com/png.latex?%5Calpha">, <img src="https://latex.codecogs.com/png.latex?S(q)"> otherwise,” which is the distribution <img src="https://latex.codecogs.com/png.latex?%5Calpha%20S(p)%20+%20(1%20-%20%5Calpha)%20S(q)">. From outside, ignoring the coin flip, you simply fed the copier a single mixture, so the output is <img src="https://latex.codecogs.com/png.latex?S(%5Calpha%20p%20+%20(1%20-%20%5Calpha)%20q)">.</p>
<p>These two descriptions had better agree: <img src="https://latex.codecogs.com/png.latex?%0AS%5Cbigl(%5Calpha%20p%20+%20(1%20-%20%5Calpha)%20q%5Cbigr)%20%5C;=%5C;%20%5Calpha%20S(p)%20+%20(1%20-%20%5Calpha)%20S(q).%0A"> If they disagreed, “the input is a probability distribution” would stop meaning what we want it to mean. So <img src="https://latex.codecogs.com/png.latex?S"> is linear.</p>
</details>
<p>A linear map of vectors is exactly a matrix, so from here on our copier is a matrix, which we will call <img src="https://latex.codecogs.com/png.latex?S">, and applying it to a distribution is ordinary matrix-times-vector multiplication.</p>
<p>It is worth seeing what that does to our three corners, because it pins down the whole matrix. Feed in pure red, the vector <img src="https://latex.codecogs.com/png.latex?(1,%200,%200)">. Multiplying <img src="https://latex.codecogs.com/png.latex?S"> by a vector that is all zeros except for a single one just reads off the matching column, so the output is the first column of <img src="https://latex.codecogs.com/png.latex?S">: whatever <img src="https://latex.codecogs.com/png.latex?S"> does to red lives there. Pure green <img src="https://latex.codecogs.com/png.latex?(0,%201,%200)"> picks out the second column, pure blue <img src="https://latex.codecogs.com/png.latex?(0,%200,%201)"> the third. The three columns of <img src="https://latex.codecogs.com/png.latex?S"> are therefore nothing but the images of the three pure states, the three places the corners are sent, and once those are fixed linearity supplies every blend in between.</p>
<p>That already constrains the entries. Each column is the image of a pure state, and that image has to be a legal state in its own right: its entries non-negative and summing to one, <img src="https://latex.codecogs.com/png.latex?%0AS_%7Bij%7D%20%5Cgeq%200,%20%5Cqquad%20%5Csum_i%20S_%7Bij%7D%20=%201.%0A"> The same holds for every column, and linearity then takes care of every mixture in between. A matrix of this kind, non-negative entries with every column summing to one, is called a <em>stochastic matrix</em>: exactly the linear maps that send probability distributions to probability distributions.</p>
<p>There is one more restriction we will impose, and in retrospect it is the most interesting one. We will only consider copiers that leave the <em>uniform distribution</em> untouched, the grey centre of the triangle from a moment ago: the flat distribution that puts equal weight on every state has to come back out exactly as it went in.</p>
<p>Why? The uniform distribution is the symmetric point of the simplex, the one distribution that treats every colour exactly alike. It is also the destination. The grey centre is exactly where an erasing copier is trying to send everything, so a process whose job is to forget should come to rest there once it arrives, not stir the grey back into a sharper image. A copier that moved the centre would be privileging some outcomes over others, a bias built into the dynamics rather than read from the input, and leaving the grey centre fixed is the natural way to rule that out. (In the quantum upgrade later in the post, the analogous restriction is more than just natural, it is the standard convention. For now, take it as a sensible thing to ask for; in a moment it will reveal itself as no restriction at all.)</p>
<p>This small demand has a tidy consequence. We already know the columns of <img src="https://latex.codecogs.com/png.latex?S"> sum to one. Insisting that the uniform distribution survives forces the <em>rows</em> to sum to one as well. A stochastic matrix with that extra symmetry is called <em>bistochastic</em>, and from here on “copier” will mean “bistochastic matrix.”</p>
<details class="aside">
<summary>The one-line computation</summary>
<p>Write <img src="https://latex.codecogs.com/png.latex?u%20=%20(1/d,%20%5Cldots,%201/d)"> for the uniform distribution and ask for <img src="https://latex.codecogs.com/png.latex?Su%20=%20u">. Reading off entry <img src="https://latex.codecogs.com/png.latex?i"> of the output, <img src="https://latex.codecogs.com/png.latex?%0A(Su)_i%20%5C;=%5C;%20%5Csum_j%20S_%7Bij%7D%20%5Ccdot%20%5Cfrac%7B1%7D%7Bd%7D%0A%5C;=%5C;%20%5Cfrac%7B1%7D%7Bd%7D%20%5Csum_j%20S_%7Bij%7D%0A%5C;%5Coverset%7B!%7D%7B=%7D%5C;%20%5Cfrac%7B1%7D%7Bd%7D,%0A"> which is exactly <img src="https://latex.codecogs.com/png.latex?%5Csum_j%20S_%7Bij%7D%20=%201"> for every row <img src="https://latex.codecogs.com/png.latex?i">.</p>
</details>
<p>One small fact worth pinning down before we go further: the product of two bistochastic matrices is bistochastic, which you can verify directly from the row and column sum conditions. So <img src="https://latex.codecogs.com/png.latex?S%5Ek"> stays bistochastic for any <img src="https://latex.codecogs.com/png.latex?k">, and the question of finite roots is going to be a question about powers of matrices that stay safely inside our chosen class.</p>
<p>Now we can say precisely what “total erasure” means. The most depolarizing copier you can write down is the one whose every column is the uniform distribution. Every input state, no matter which one, produces the same uniform output: <img src="https://latex.codecogs.com/png.latex?%0AP%20=%20%5Cfrac%7B1%7D%7Bd%7D%5Cbegin%7Bpmatrix%7D%0A1%20&amp;%201%20&amp;%20%5Ccdots%20&amp;%201%20%5C%5C%0A1%20&amp;%201%20&amp;%20%5Ccdots%20&amp;%201%20%5C%5C%0A%5Cvdots%20&amp;%20%5Cvdots%20&amp;%20%5Cddots%20&amp;%20%5Cvdots%20%5C%5C%0A1%20&amp;%201%20&amp;%20%5Ccdots%20&amp;%201%0A%5Cend%7Bpmatrix%7D.%0A"></p>
<p>Apply <img src="https://latex.codecogs.com/png.latex?P"> to anything and you get the uniform distribution back. All information about the input has been thrown away in a single step. Apply <img src="https://latex.codecogs.com/png.latex?P"> again and nothing changes: the simplex has contracted to a single point, the centre, and <img src="https://latex.codecogs.com/png.latex?P"> just keeps mapping it there. This <img src="https://latex.codecogs.com/png.latex?P"> is bistochastic by inspection (every row sums to one as well), and it is the <em>completely depolarizing channel</em> in dimension <img src="https://latex.codecogs.com/png.latex?d">, or CDC for short.</p>
<p>With <img src="https://latex.codecogs.com/png.latex?P"> pinned down, the question we opened with stops being a story about photocopiers and becomes one line of mathematics. The copier that erases in steps, the demand that it finish after exactly <img src="https://latex.codecogs.com/png.latex?k"> identical passes: all of it is now this. Here <img src="https://latex.codecogs.com/png.latex?k"> is a positive integer, the number of passes. A <em><img src="https://latex.codecogs.com/png.latex?k">-th root</em> of <img src="https://latex.codecogs.com/png.latex?P"> is a bistochastic matrix <img src="https://latex.codecogs.com/png.latex?S"> for which <img src="https://latex.codecogs.com/png.latex?%0A%5Cboxed%7B%5C;%20S%5Ek%20=%20P,%20%5Cqquad%20S%5Ej%20%5Cneq%20P%20%5C%20%5Ctext%7B%20for%20every%20integer%20%7D%201%20%5Cle%20j%20%3C%20k.%20%5C;%7D%0A"> Spelled out: apply the copier <img src="https://latex.codecogs.com/png.latex?S"> exactly <img src="https://latex.codecogs.com/png.latex?k"> times and you get <img src="https://latex.codecogs.com/png.latex?P">, total erasure; apply it any smaller number of times and the erasure has not happened yet. The first equation is the whole post in miniature, a single copier that erases totally in <img src="https://latex.codecogs.com/png.latex?k"> identical steps; the second pins <img src="https://latex.codecogs.com/png.latex?k"> down as the <em>exact</em> number, and that exact <img src="https://latex.codecogs.com/png.latex?k"> is called the <em>order</em> of the root. Everything from here on is the hunt for such an <img src="https://latex.codecogs.com/png.latex?S"> with <img src="https://latex.codecogs.com/png.latex?k"> as large as possible, and the difficulty (and the beauty) is finding a <em>non-trivial</em> one, an <img src="https://latex.codecogs.com/png.latex?S"> that is not simply <img src="https://latex.codecogs.com/png.latex?P"> itself.</p>
<p>And here the restriction we imposed by hand grants itself. Suppose <img src="https://latex.codecogs.com/png.latex?S"> were merely stochastic, columns summing to one, rows unconstrained, and satisfied <img src="https://latex.codecogs.com/png.latex?S%5Ek%20=%20P">. Multiply one more copy of <img src="https://latex.codecogs.com/png.latex?S"> onto that equation, once on each side: both products are <img src="https://latex.codecogs.com/png.latex?S%5E%7Bk+1%7D">, so <img src="https://latex.codecogs.com/png.latex?SP%20=%20PS">. Now feed any distribution <img src="https://latex.codecogs.com/png.latex?p"> through both sides. The right side copies first and then erases, <img src="https://latex.codecogs.com/png.latex?P(Sp)%20=%20u">, the uniform distribution, no matter what <img src="https://latex.codecogs.com/png.latex?Sp"> was. The left side erases first and then copies once more, <img src="https://latex.codecogs.com/png.latex?S(Pp)%20=%20Su">. So <img src="https://latex.codecogs.com/png.latex?Su%20=%20u">: every stochastic root of <img src="https://latex.codecogs.com/png.latex?P"> fixes the uniform distribution of its own accord, rows summing to one and all. Bistochasticity is not a fence we built around the hunt. It is a property every candidate already has, and demanding it up front just names the terrain honestly.</p>
<p>Before hunting, notice where the teeth of the problem are. Finding some matrix with <img src="https://latex.codecogs.com/png.latex?S%5Ek%20=%20P"> is a linear-algebra exercise. The demand with teeth is that <img src="https://latex.codecogs.com/png.latex?S"> must be a <em>lawful copier</em>: entries non-negative, every column summing to one, and, by our standing rule, every row as well. The hunt is always for the largest order <em>inside</em> the set of lawful matrices, and it is worth marking the non-negativity half of that checklist now. It looks like the tamest of the conditions. It returns in every setting of this post, wearing a different name each time, and in the quantum world it will grow into the main obstacle of the whole story. How large can <img src="https://latex.codecogs.com/png.latex?k"> be?</p>
<p>The smallest case settles itself. A two-state bistochastic matrix has a single free number, <img src="https://latex.codecogs.com/png.latex?%0AS%20=%20%5Cbegin%7Bpmatrix%7D%201-a%20&amp;%20a%20%5C%5C%20a%20&amp;%201-a%20%5Cend%7Bpmatrix%7D,%0A"> and <img src="https://latex.codecogs.com/png.latex?P"> is the case <img src="https://latex.codecogs.com/png.latex?a%20=%20%5Ctfrac12">. Its one direction away from the grey centre, <img src="https://latex.codecogs.com/png.latex?v%20=%20(1,-1)">, is merely rescaled, <img src="https://latex.codecogs.com/png.latex?%0ASv%20=%20(1-2a)%5C,v,%0A"> so <img src="https://latex.codecogs.com/png.latex?S%5Ek"> scales it by <img src="https://latex.codecogs.com/png.latex?(1-2a)%5Ek">. Asking <img src="https://latex.codecogs.com/png.latex?S%5Ek%20=%20P"> forces <img src="https://latex.codecogs.com/png.latex?(1-2a)%5Ek%20=%200">, and a number powers to zero only if it was already zero. So <img src="https://latex.codecogs.com/png.latex?a%20=%20%5Ctfrac12"> and <img src="https://latex.codecogs.com/png.latex?S%20=%20P"> from the start: one classical bit has no genuine root, <img src="https://latex.codecogs.com/png.latex?k%20=%201">, erasure in a single shot.</p>
<p>Three states are the first with room to spare, and the clean way to find that room is to stop guessing whole matrices and split off the part that does the forgetting. Every copier in our class fixes the grey centre, so write <img src="https://latex.codecogs.com/png.latex?%0AS%20=%20P%20+%20N,%0A"> with <img src="https://latex.codecogs.com/png.latex?P"> the completely depolarizing channel and <img src="https://latex.codecogs.com/png.latex?N"> whatever is left over. Two facts about <img src="https://latex.codecogs.com/png.latex?P"> make this split pay off. It is idempotent, <img src="https://latex.codecogs.com/png.latex?P%5E2%20=%20P">, and it absorbs <img src="https://latex.codecogs.com/png.latex?N"> from both sides, <img src="https://latex.codecogs.com/png.latex?PN%20=%20NP%20=%200"> (the columns of <img src="https://latex.codecogs.com/png.latex?N"> sum to zero because those of <img src="https://latex.codecogs.com/png.latex?S"> and <img src="https://latex.codecogs.com/png.latex?P"> both sum to one, and its rows sum to zero because <img src="https://latex.codecogs.com/png.latex?S"> fixes the uniform state). Square <img src="https://latex.codecogs.com/png.latex?S"> and the cross terms vanish: <img src="https://latex.codecogs.com/png.latex?%0AS%5E2%20=%20(P%20+%20N)%5E2%20=%20P%5E2%20+%20PN%20+%20NP%20+%20N%5E2%20=%20P%20+%20N%5E2.%0A"> The question has collapsed. <img src="https://latex.codecogs.com/png.latex?S%5E2%20=%20P"> holds exactly when <img src="https://latex.codecogs.com/png.latex?N%5E2%20=%200">. We no longer need a square root of <img src="https://latex.codecogs.com/png.latex?P">; we need a single nonzero <img src="https://latex.codecogs.com/png.latex?N"> that squares to zero and keeps <img src="https://latex.codecogs.com/png.latex?P%20+%20N"> a legal copier.</p>
<p>So solve <img src="https://latex.codecogs.com/png.latex?N%5E2%20=%200"> directly. The condition is stricter than it looks. If <img src="https://latex.codecogs.com/png.latex?N"> squares to zero it can have rank at most one, which means it is a single outer product, <img src="https://latex.codecogs.com/png.latex?%0AN%20=%20u%5C,v%5E%7B%5Cmathsf%20T%7D,%0A"> and then all three demands become conditions on the two vectors alone: <img src="https://latex.codecogs.com/png.latex?%0AN%5E2%20=%200%20%5Ciff%20v%5E%7B%5Cmathsf%20T%7D%20u%20=%200,%20%5Cqquad%0A%5Ctextstyle%5Csum_i%20u_i%20=%200,%20%5Cqquad%0A%5Ctextstyle%5Csum_j%20v_j%20=%200,%0A"> the last two being the vanishing column and row sums. In words: take any two vectors that are orthogonal and that each sum to zero. That is the whole recipe.</p>
<details class="aside">
<summary>Why $N^2 = 0$ forces rank one</summary>
<p>If <img src="https://latex.codecogs.com/png.latex?N%5E2%20=%200"> then <img src="https://latex.codecogs.com/png.latex?N"> sends everything into its own kernel: for any <img src="https://latex.codecogs.com/png.latex?x">, <img src="https://latex.codecogs.com/png.latex?N(Nx)%20=%200">, so <img src="https://latex.codecogs.com/png.latex?%5Coperatorname%7Bim%7D%20N%20%5Csubseteq%20%5Cker%20N">. Their dimensions add to the full size, <img src="https://latex.codecogs.com/png.latex?%5Coperatorname%7Brank%7D%20N%20+%20%5Cdim%20%5Cker%20N%20=%20d">, so <img src="https://latex.codecogs.com/png.latex?%5Coperatorname%7Brank%7D%20N%20%5Cle%20%5Cdim%20%5Cker%20N%20=%20d%20-%20%5Coperatorname%7Brank%7D%20N">, which gives <img src="https://latex.codecogs.com/png.latex?2%5Coperatorname%7Brank%7D%20N%20%5Cle%20d">. For <img src="https://latex.codecogs.com/png.latex?d%20=%203"> that forces <img src="https://latex.codecogs.com/png.latex?%5Coperatorname%7Brank%7D%20N%20%5Cle%201">, a single outer product <img src="https://latex.codecogs.com/png.latex?u%5C,v%5E%7B%5Cmathsf%20T%7D">.</p>
</details>
<p>The simplest such pair is small and concrete: <img src="https://latex.codecogs.com/png.latex?%0Au%20=%20(1,%20-1,%200),%20%5Cqquad%20v%20=%20(1,%201,%20-2),%0A"> orthogonal, each summing to zero. Their outer product, scaled by <img src="https://latex.codecogs.com/png.latex?%5Ctfrac16"> so that <img src="https://latex.codecogs.com/png.latex?P%20+%20N"> stays non-negative, is <img src="https://latex.codecogs.com/png.latex?%0AN%20=%20%5Cfrac%7B1%7D%7B6%7D%5Cbegin%7Bpmatrix%7D%201%20&amp;%201%20&amp;%20-2%20%5C%5C%20-1%20&amp;%20-1%20&amp;%202%20%5C%5C%200%20&amp;%200%20&amp;%200%20%5Cend%7Bpmatrix%7D,%0A"> and adding it to <img src="https://latex.codecogs.com/png.latex?P"> gives an honest copier, <img src="https://latex.codecogs.com/png.latex?%0AS%20=%20P%20+%20N%20=%20%5Cbegin%7Bpmatrix%7D%201/2%20&amp;%201/2%20&amp;%200%20%5C%5C%201/6%20&amp;%201/6%20&amp;%202/3%20%5C%5C%201/3%20&amp;%201/3%20&amp;%201/3%20%5Cend%7Bpmatrix%7D,%0A"> non-negative, with every row and column summing to one. By construction <img src="https://latex.codecogs.com/png.latex?S%5E2%20=%20P%20+%20N%5E2%20=%20P"> while <img src="https://latex.codecogs.com/png.latex?S%20%5Cne%20P">, so this <img src="https://latex.codecogs.com/png.latex?S"> is a genuine square root of total erasure: a copier that erases a three-state image in two equal steps rather than one, funnelling every point along a two-step path to the grey centre (Figure&nbsp;2). It is one especially simple member of a continuous family of such roots (any orthogonal pair of zero-sum vectors, scaled gently enough, gives another), and it is the member drawn in the figure.</p>
<p>That same split hands us the general bound for free. For any <img src="https://latex.codecogs.com/png.latex?S%20=%20P%20+%20N"> in our class the cross terms always die, so <img src="https://latex.codecogs.com/png.latex?S%5Ek%20=%20P%20+%20N%5Ek">, and <img src="https://latex.codecogs.com/png.latex?S%5Ek%20=%20P"> exactly when <img src="https://latex.codecogs.com/png.latex?N%5Ek%20=%200">. Erasing in exactly <img src="https://latex.codecogs.com/png.latex?k"> steps is nothing more than <img src="https://latex.codecogs.com/png.latex?N"> being nilpotent of order <img src="https://latex.codecogs.com/png.latex?k">, and a nilpotent map on the <img src="https://latex.codecogs.com/png.latex?(d-1)">-dimensional space of deviations from the grey centre runs out of room after at most <img src="https://latex.codecogs.com/png.latex?d%20-%201"> steps. So the bound is <img src="https://latex.codecogs.com/png.latex?%0Ak%20%5Cle%20d%20-%201,%0A"> already reached at <img src="https://latex.codecogs.com/png.latex?d%20=%203"> by the matrix above. (In the quantum upgrade these deviations become the <em>traceless</em> operators, the same idea in matrix language.)</p>
<details class="aside">
<summary>Why the bound is reached in every dimension</summary>
<p>A nilpotent <img src="https://latex.codecogs.com/png.latex?N"> is governed by its Jordan form, a stack of blocks each of which powers to zero in exactly its own size. The largest block that fits on the <img src="https://latex.codecogs.com/png.latex?(d-1)">-dimensional space of deviations is a single <img src="https://latex.codecogs.com/png.latex?(d-1)%20%5Ctimes%20(d-1)"> block with ones on the superdiagonal, <img src="https://latex.codecogs.com/png.latex?%0AN%20%5C;%5Ccong%5C;%0A%5Cbegin%7Bpmatrix%7D%0A0%20&amp;%201%20&amp;%20&amp;%20&amp;%20%5C%5C%0A&amp;%200%20&amp;%201%20&amp;%20&amp;%20%5C%5C%0A&amp;%20&amp;%20%5Cddots%20&amp;%20%5Cddots%20&amp;%20%5C%5C%0A&amp;%20&amp;%20&amp;%200%20&amp;%201%20%5C%5C%0A&amp;%20&amp;%20&amp;%20&amp;%200%0A%5Cend%7Bpmatrix%7D.%0A"> That matrix is a representation of <img src="https://latex.codecogs.com/png.latex?N">, and the basis is ours to pick. The deviations are exactly the orthogonal complement of the maximally mixed state, so any orthonormal basis of that complement will do, and nothing in the argument depends on which one we take.</p>
<p>Each power pushes that diagonal of ones one step toward the corner, so <img src="https://latex.codecogs.com/png.latex?N%5E%7Bd-1%7D%20=%200"> while <img src="https://latex.codecogs.com/png.latex?N%5E%7Bd-2%7D%20%5Cneq%200">.</p>
<p>The row and column sums of <img src="https://latex.codecogs.com/png.latex?P%20+%20%5Cvarepsilon%20N"> are right by construction, so only non-negativity can fail. Since every entry of <img src="https://latex.codecogs.com/png.latex?P"> is <img src="https://latex.codecogs.com/png.latex?1/d">, the explicit sufficient condition <img src="https://latex.codecogs.com/png.latex?%0A%7C%5Cvarepsilon%7C%20%5C;%5Cleq%5C;%20%5Cfrac%7B1%7D%7Bd%20%5C,%20%5Cmax_%7Bi,j%7D%20%7CN_%7Bij%7D%7C%7D%0A"> keeps every entry <img src="https://latex.codecogs.com/png.latex?1/d%20+%20%5Cvarepsilon%20N_%7Bij%7D"> non-negative. For an orthonormally represented Jordan shift, <img src="https://latex.codecogs.com/png.latex?%5C%7CN%5C%7C_2%20=%201">, hence <img src="https://latex.codecogs.com/png.latex?%7CN_%7Bij%7D%7C%20%5Cleq%201">, and the simpler dimension-only choice <img src="https://latex.codecogs.com/png.latex?%7C%5Cvarepsilon%7C%20%5Cleq%201/d"> suffices. Scaling leaves the nilpotency order untouched because <img src="https://latex.codecogs.com/png.latex?(%5Cvarepsilon%20N)%5Ek%20=%20%5Cvarepsilon%5Ek%20N%5Ek">. In the <img src="https://latex.codecogs.com/png.latex?d%20=%203"> example, the unscaled outer product has largest entry <img src="https://latex.codecogs.com/png.latex?2">, giving exactly <img src="https://latex.codecogs.com/png.latex?%7C%5Cvarepsilon%7C%20%5Cleq%201/6">. Thus the block yields a root of order <img src="https://latex.codecogs.com/png.latex?d%20-%201"> in every dimension.</p>
</details>
<div id="fig-root-d3" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-root-d3-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<!-- Figure 2: square-root channel animated on the simplex. The static SVG is a skeleton (outline + corner labels + grey p0 + empty layers); the script builds the resting view and the cloud-collapse animation. JS off or reduced motion => static labelled simplex. Geometry: vertices read from polygon.tri in e1,e2,e3 order. -->
<style>
.trajectory-animated{max-width:520px;margin:1.25rem auto;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
.trajectory-animated svg{width:100%;height:auto;display:block;}
.trajectory-animated .anim-hint{margin:.4rem 0 0;text-align:center;font-size:13px;color:#9aa9b5;}
.trajectory-animated .tr-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
</style>
<div class="trajectory-animated">
<p class="tr-vh">Animation of the square-root channel S on the probability simplex. A cloud of states, coloured by its red-green-blue mixture, is mapped by S onto a line segment (the 2D simplex collapses to 1D), then by a second S onto the single grey maximally mixed point (1D collapses to 0D). The three pure corners e1, e2, e3 trace highlighted paths; e1 and e2 merge onto the same intermediate point. Tap the figure to play the animation.</p>
<svg aria-label="The square-root channel collapsing the probability simplex to its grey centre in two steps. The three pure-state corners are coloured red, green, and blue; a cloud of states flows under the channel onto a line segment, then onto the single grey maximally mixed point." xmlns="http://www.w3.org/2000/svg" viewbox="0 0 640 620" font-family="Georgia, 'Times New Roman', serif">
  <defs>
    <marker id="arrow2" viewbox="0 0 10 10" refx="9" refy="5" markerwidth="8" markerheight="8" orient="auto-start-reverse">
      <path d="M 0 0 L 10 5 L 0 10 z" fill="#233746"></path>
    </marker>
  </defs>
  <!-- Coordinate axes (shared with Figure 1; static, so they stay through the whole animation) -->
  <line x1="310" y1="430" x2="95" y2="530" stroke="#233746" stroke-width="1.8" marker-end="url(#arrow2)"></line>
  <line x1="310" y1="430" x2="590" y2="430" stroke="#233746" stroke-width="1.8" marker-end="url(#arrow2)"></line>
  <line x1="310" y1="430" x2="310" y2="75" stroke="#233746" stroke-width="1.8" marker-end="url(#arrow2)"></line>
  <!-- Unit tick marks -->
  <line x1="143.0" y1="516.3" x2="137.0" y2="503.7" stroke="#233746" stroke-width="1.6"></line>
  <line x1="540.0" y1="423.0" x2="540.0" y2="437.0" stroke="#233746" stroke-width="1.6"></line>
  <line x1="303.0" y1="130.0" x2="317.0" y2="130.0" stroke="#233746" stroke-width="1.6"></line>
  <polygon class="tri" points="140,510 540,430 310,130" fill="none" stroke="#2d6f8f" stroke-width="2.2" stroke-linejoin="round"></polygon>
  <g class="resting"></g>
  <g class="trails"></g>
  <g class="cloud"></g>
  <g class="hl"></g>
  <circle cx="330.0" cy="356.6666666666667" r="9" fill="#f5f7f8"></circle>
  <circle cx="330.0" cy="356.6666666666667" r="6" fill="#8a8f94"></circle>
  <text x="132" y="538" text-anchor="end" font-size="22" font-style="italic" fill="#cc3b3b">e₁</text>
  <text x="132" y="556" text-anchor="end" font-size="14" fill="#829aa6">(1, 0, 0)</text>
  <text x="556" y="438" text-anchor="start" font-size="22" font-style="italic" fill="#2e9e5b">e₂</text>
  <text x="556" y="456" text-anchor="start" font-size="14" fill="#829aa6">(0, 1, 0)</text>
  <text x="310" y="102" text-anchor="middle" font-size="22" font-style="italic" fill="#3b6fb0">e₃</text>
  <text x="310" y="120" text-anchor="middle" font-size="14" fill="#829aa6">(0, 0, 1)</text>
  <text x="346.0" y="352.6666666666667" font-size="22" font-style="italic" fill="#233746">p₀</text>
</svg>
<p class="anim-hint">Tap to play.</p>
</div>
<script>
(function(){
  var NS="http://www.w3.org/2000/svg";
  var COL=[[204,59,59],[46,158,91],[59,111,176]]; // e1 red, e2 green, e3 blue
  var S=[[0.5,0.5,0],[1/6,1/6,2/3],[1/3,1/3,1/3]]; // S^2 = P
  var CENTER=[1/3,1/3,1/3];
  var NPTS=150;
  function el(t,a){var e=document.createElementNS(NS,t);for(var k in a)e.setAttribute(k,a[k]);return e;}
  function applyS(p){return [S[0][0]*p[0]+S[0][1]*p[1]+S[0][2]*p[2],
                             S[1][0]*p[0]+S[1][1]*p[1]+S[1][2]*p[2],
                             S[2][0]*p[0]+S[2][1]*p[1]+S[2][2]*p[2]];}
  function lerp(a,b,u){var r=[];for(var i=0;i<a.length;i++)r.push(a[i]+(b[i]-a[i])*u);return r;}
  function ease(t){return t<0.5?4*t*t*t:1-Math.pow(-2*t+2,3)/2;}

  function setup(root){
    var svg=root.querySelector('svg'); if(!svg) return;
    var tri=svg.querySelector('polygon.tri');
    if(!tri){var ps=svg.querySelectorAll('polygon');for(var i=0;i<ps.length;i++){if(ps[i].getAttribute('fill')==='none'){tri=ps[i];break;}}}
    if(!tri) return;
    var V=tri.getAttribute('points').trim().split(/\s+/).map(function(s){var c=s.split(',');return [parseFloat(c[0]),parseFloat(c[1])];});
    function b2c(p){return [p[0]*V[0][0]+p[1]*V[1][0]+p[2]*V[2][0], p[0]*V[0][1]+p[1]*V[1][1]+p[2]*V[2][1]];}
    function colof(p){var c=[];for(var k=0;k<3;k++){var v=Math.round(p[0]*COL[0][k]+p[1]*COL[1][k]+p[2]*COL[2][k]);c.push(Math.max(0,Math.min(255,v)));}return 'rgb('+c[0]+','+c[1]+','+c[2]+')';}
    function g(name){return svg.querySelector('g.'+name);}
    var gRest=g('resting'),gTrail=g('trails'),gCloud=g('cloud'),gHL=g('hl');
    var corners=[[1,0,0],[0,1,0],[0,0,1]];
    var cornerCol=['rgb(204,59,59)','rgb(46,158,91)','rgb(59,111,176)'];
    function clear(node){while(node.firstChild)node.removeChild(node.firstChild);}
    function label(x,y,anchor,parts){var t=el('text',{x:x,y:y,'text-anchor':anchor,'font-size':16,fill:'#5e7886'});
      parts.forEach(function(pr){if(pr.i){var ts=el('tspan',{'font-style':'italic'});ts.appendChild(document.createTextNode(pr.t));t.appendChild(ts);}else t.appendChild(document.createTextNode(pr.t));});return t;}

    function buildResting(){
      clear(gRest);
      for(var i=0;i<3;i++){
        var pa=b2c(corners[i]),pb=b2c(applyS(corners[i])),pc=b2c(CENTER);
        gRest.appendChild(el('polyline',{points:pa[0]+','+pa[1]+' '+pb[0]+','+pb[1]+' '+pc[0]+','+pc[1],
          fill:'none',stroke:cornerCol[i],'stroke-width':2.2,'stroke-opacity':0.5,'stroke-linecap':'round','stroke-linejoin':'round'}));
      }
      var qa=b2c(applyS(corners[0])),qb=b2c(applyS(corners[2]));
      gRest.appendChild(el('circle',{cx:qa[0],cy:qa[1],r:5,fill:'#7d8f99',stroke:'#1c4a60','stroke-width':1.2}));
      gRest.appendChild(el('circle',{cx:qb[0],cy:qb[1],r:5,fill:'#7d8f99',stroke:'#1c4a60','stroke-width':1.2}));
      gRest.appendChild(label(qa[0],qa[1]-12,'middle',[{i:1,t:'Se'},{t:'₁ = '},{i:1,t:'Se'},{t:'₂'}]));
      gRest.appendChild(label(qb[0]+12,qb[1]+5,'start',[{i:1,t:'Se'},{t:'₃'}]));
      for(var j=0;j<3;j++){var p=b2c(corners[j]);gRest.appendChild(el('circle',{cx:p[0],cy:p[1],r:6,fill:cornerCol[j]}));}
    }

    var cloud=[],hl=[];
    function buildAnim(){
      clear(gCloud);clear(gHL);clear(gTrail);cloud=[];hl=[];
      for(var i=0;i<NPTS;i++){
        var r1=Math.random(),r2=Math.random();
        var a=[1-Math.sqrt(r1),Math.sqrt(r1)*(1-r2),Math.sqrt(r1)*r2];
        var dot=el('circle',{r:3.1,'fill-opacity':0.85});gCloud.appendChild(dot);
        cloud.push({a:a,b:applyS(a),dot:dot});
      }
      for(var k=0;k<3;k++){
        var tr=el('polyline',{fill:'none',stroke:cornerCol[k],'stroke-width':2.6,'stroke-opacity':0.6,'stroke-linecap':'round','stroke-linejoin':'round'});gTrail.appendChild(tr);
        var d=el('circle',{r:6,fill:cornerCol[k],stroke:'#1c4a60','stroke-width':1.3});gHL.appendChild(d);
        hl.push({a:corners[k],b:applyS(corners[k]),dot:d,trail:tr,path:[]});
      }
    }

    var A=1500,MID=700,B=1500,DUR=A+MID+B;
    function stateAt(o,t){
      if(t<A)return lerp(o.a,o.b,ease(t/A));
      if(t<A+MID)return o.b;
      if(t<A+MID+B)return lerp(o.b,CENTER,ease((t-A-MID)/B));
      return CENTER;
    }
    function showMode(anim){
      gRest.style.display=anim?'none':'';
      gCloud.style.display=anim?'':'none';
      gHL.style.display=anim?'':'none';
      gTrail.style.display=anim?'':'none';
    }
    var running=false;
    // Position the cloud and highlight dots at time t, without touching the trails.
    function renderFrame(t){
      var i,st,c;
      for(i=0;i<cloud.length;i++){st=stateAt(cloud[i],t);c=b2c(st);cloud[i].dot.setAttribute('cx',c[0]);cloud[i].dot.setAttribute('cy',c[1]);cloud[i].dot.setAttribute('fill',colof(st));}
      for(i=0;i<hl.length;i++){st=stateAt(hl[i],t);c=b2c(st);hl[i].dot.setAttribute('cx',c[0]);hl[i].dot.setAttribute('cy',c[1]);hl[i].dot.setAttribute('fill',colof(st));}
    }
    // Rest on the initial state: a fresh, uncollapsed cloud at t=0.
    function showInitial(){buildAnim();renderFrame(0);showMode(true);}
    function animate(){
      if(running)return;running=true;showMode(true);
      if(hint)hint.textContent='Tap to replay.';
      var t0=null;
      function frame(now){
        if(t0===null)t0=now;var t=now-t0;if(t>DUR)t=DUR;var i,st,c;
        for(i=0;i<cloud.length;i++){st=stateAt(cloud[i],t);c=b2c(st);cloud[i].dot.setAttribute('cx',c[0]);cloud[i].dot.setAttribute('cy',c[1]);cloud[i].dot.setAttribute('fill',colof(st));}
        for(i=0;i<hl.length;i++){st=stateAt(hl[i],t);c=b2c(st);hl[i].path.push(c[0]+','+c[1]);hl[i].trail.setAttribute('points',hl[i].path.join(' '));hl[i].dot.setAttribute('cx',c[0]);hl[i].dot.setAttribute('cy',c[1]);hl[i].dot.setAttribute('fill',colof(st));}
        if(t<DUR)requestAnimationFrame(frame);
        // Hold on the collapsed centre, then jump back to the initial state.
        else setTimeout(function(){running=false;showInitial();},900);
      }
      requestAnimationFrame(frame);
    }

    var hint=root.querySelector('.anim-hint');
    var reduce=window.matchMedia&&window.matchMedia('(prefers-reduced-motion: reduce)').matches;
    if(reduce){
      buildResting();showMode(false);
      if(hint)hint.style.display='none';
    }else{
      showInitial();
      svg.style.cursor='pointer';
      svg.addEventListener('click',animate);
    }
  }
  function init(){var rs=document.querySelectorAll('.trajectory-animated');for(var i=0;i<rs.length;i++)setup(rs[i]);}
  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);
  else init();
})();
</script>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-root-d3-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;2: One square root <img src="https://latex.codecogs.com/png.latex?S"> of the <img src="https://latex.codecogs.com/png.latex?d%20=%203"> bistochastic CDC (others exist), animated on the simplex. A cloud of states, coloured by its red-green-blue mixture, is sent to the centre in two equal steps: one application of <img src="https://latex.codecogs.com/png.latex?S"> collapses the filled triangle onto a line segment, a second collapses that segment onto the grey maximally mixed centre <img src="https://latex.codecogs.com/png.latex?p_0">, since <img src="https://latex.codecogs.com/png.latex?S%5E2%20=%20P">, and the colours drain toward grey as it goes. The three pure corners trace highlighted paths; <img src="https://latex.codecogs.com/png.latex?e_1"> and <img src="https://latex.codecogs.com/png.latex?e_2"> land on the same intermediate point <img src="https://latex.codecogs.com/png.latex?Se_1%20=%20Se_2">, the merge that erases information in a stage. Tap the figure to play the animation.
</figcaption>
</figure>
</div>
<p>And that is the classical story. A clean bound, a clean construction, and not much more to say about it.</p>
<p>The interesting thing is what happens to that bound when we let ourselves leave classical probability behind.</p>
</section>
<section id="sec-quantum" class="level2">
<h2 class="anchored" data-anchor-id="sec-quantum">The quantum upgrade</h2>
<p>Everything so far was a rehearsal. The real question is about quantum information, and a quantum state carries more than a <em>classical</em> probability distribution does. More in a way we can count, and the count turns out to be the whole plot of this section.</p>
<p>Go back to the smallest example. A classical bit is one number: how a coin is weighted between its two outcomes, <img src="https://latex.codecogs.com/png.latex?0"> and <img src="https://latex.codecogs.com/png.latex?1">. Picture that number as a position on a line segment. The two ends are the only <em>certain</em> states, “definitely <img src="https://latex.codecogs.com/png.latex?0">” and “definitely <img src="https://latex.codecogs.com/png.latex?1">”; every point between is a blend, more or less uncertain, with the fair coin sitting at the dead centre. One number, one dimension of freedom.</p>
<p>A quantum bit, a <em>qubit</em>, has more room, and the cleanest way to see how much more is to ask what its <em>certain</em> states are. (Quantum mechanics also allows genuine superpositions, the <img src="https://latex.codecogs.com/png.latex?%5Calpha%5C,%7C0%5Crangle%20+%20%5Cbeta%5C,%7C1%5Crangle"> of the amplitude picture,<sup>3</sup> but for a story about forgetting we want the geometry of states, not the algebra of amplitudes.) Classically there were exactly two certain states, the two ends of the line. A qubit has infinitely many. That is one of the genuine surprises of quantum mechanics, and not one this post can derive; we take it as given and simply draw it. The certain states no longer sit at two points. They fill the entire surface of a ball.</p>
<p>This is not a mathematical fiction. Two everyday incarnations make it concrete. The polarization of a photon is a qubit: a filter aligned with it passes the photon every time, a filter at right angles blocks it, and one at <img src="https://latex.codecogs.com/png.latex?45%5E%5Ccirc"> lets it through half the time. So is the spin of an electron: point a detector along the spin and you always read the same way, turn the detector sideways and the outcome goes random. In each, the certain states are not two but a whole continuum, one for every direction on the Bloch sphere.</p>
<p>That continuum is the surface of the qubit’s state space, the <em>Bloch ball</em> (Figure&nbsp;3). Picture a state as an arrow inside the ball, with a direction and a length. The <em>length</em> says how certain the state is: arrows reaching the surface are the certain, <em>pure</em> states, shorter arrows are blurrier mixtures, and the zero-length arrow at the dead centre is total ignorance, the quantum coin flip. The <em>direction</em> says which question the state answers with certainty. Every direction names a measurement you could make, and the state pointing that way is the one whose outcome you can predict. The poles are the ordinary question, “are you <img src="https://latex.codecogs.com/png.latex?0"> or <img src="https://latex.codecogs.com/png.latex?1">?”, and the classical bit’s two states sit there. A state out on the equator answers that question with a perfect coin flip, yet is itself perfectly definite, just for a <em>different</em> question. Ask a qubit the wrong question and the answer turns random; that, and not fuzziness, is what the surface is encoding.</p>
<p>The object that bookkeeps this arrow is a small matrix, the <em>density matrix</em>, and for a qubit it is small enough that we will shortly write it out whole and watch the ball fall out of it.</p>
<div id="fig-bloch" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-bloch-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<!-- Figure 3: Bloch ball (qubit state space), interactive. Static SVG inlined from bloch_ball_figure.py (carries data-* projection attrs); the script ADDS a click-to-pick-a-direction + Purity-slider state marker and a plain-words readout of the one measurement the state answers with certainty. No root dynamics (that is Figure 4). JS off => static ball. -->
<style>
.bloch-state-interactive{max-width:520px;margin:1.25rem auto;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
.bloch-state-interactive svg{width:100%;height:auto;display:block;cursor:crosshair;}
.bloch-state-interactive .bl-readout{margin-top:1rem;padding:0.9rem 1.1rem;background:#f4f6f8;border:1px solid #e2e8ee;border-radius:10px;}
.bloch-state-interactive .bl-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px;}
.bloch-state-interactive .bl-head-label{font-size:13px;color:#3a5a72;}
.bloch-state-interactive .bl-hint{font-size:13px;color:#9aa9b5;}
.bloch-state-interactive .bl-hint.is-set{color:#1565c0;}
.bloch-state-interactive .bl-slider-row{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.bloch-state-interactive .bl-slabel{font-size:13px;color:#3a5a72;min-width:42px;}
.bloch-state-interactive .bl-slider-row input[type=range]{flex:1;accent-color:#1565c0;cursor:pointer;}
.bloch-state-interactive .bl-slider-row input[type=range]:disabled{cursor:default;opacity:0.45;}
.bloch-state-interactive .bl-rval{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:13px;color:#1a3550;min-width:62px;text-align:right;}
.bloch-state-interactive .bl-say{margin:0;font-size:14px;line-height:1.5;color:#1a3550;}
.bloch-state-interactive .bl-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
</style>
<div class="bloch-state-interactive">
<p class="bl-vh">Interactive Bloch ball, the qubit state space. Click the front of the ball to pick a direction; the Purity slider moves the state from the pure surface inward toward the maximally mixed centre. A readout names the one yes/no measurement the state answers with certainty, and how that certainty fades as the state becomes mixed.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 640 640" font-family="Georgia, 'Times New Roman', serif" aria-label="Bloch ball: the qubit state space" data-cx="320" data-cy="332" data-r="210" data-alpha-deg="35" data-elev-deg="20">
  <defs>
    <marker id="arrow" viewbox="0 0 10 10" refx="9" refy="5" markerwidth="8" markerheight="8" orient="auto-start-reverse">
      <path d="M 0 0 L 10 5 L 0 10 z" fill="#233746"></path>
    </marker>
    <radialgradient id="purity" cx="320" cy="332" r="210" gradientunits="userSpaceOnUse">
      <stop offset="0%" stop-color="#d6e5ea" stop-opacity="0.30"></stop>
      <stop offset="60%" stop-color="#5f93ad" stop-opacity="0.35"></stop>
      <stop offset="100%" stop-color="#2d6f8f" stop-opacity="0.40"></stop>
    </radialgradient>
  </defs>

  <!-- Ball interior: purity field -->
  <circle cx="320.0" cy="332.0" r="210.0" fill="url(#purity)" stroke="none"></circle>

  <!-- Latitude circles -->
  <g>
    <polyline points="439.10,159.08 440.97,160.52 442.69,161.97 444.25,163.45 445.67,164.94 446.94,166.45 448.05,167.97 449.00,169.50 449.80,171.05 450.43,172.60 450.91,174.16 451.23,175.73 451.39,177.29 451.39,178.86 451.23,180.43 450.91,182.00 450.43,183.56 449.80,185.11 449.00,186.65 448.05,188.19 446.94,189.71 445.67,191.22 444.25,192.71 442.69,194.19 440.97,195.64 439.10,197.07 437.09,198.48 434.94,199.87 432.64,201.23 430.21,202.56 427.65,203.86 424.95,205.13 422.13,206.36 419.18,207.57 416.11,208.73 412.92,209.86 409.62,210.95 406.22,212.00 402.70,213.01 399.09,213.97 395.38,214.90 391.57,215.77 387.68,216.60 383.71,217.39 379.66,218.13 375.54,218.81 371.35,219.45 367.09,220.04 362.78,220.58 358.42,221.06 354.01,221.49 349.56,221.87 345.07,222.20 340.56,222.47 336.02,222.69 331.45,222.85 326.88,222.96 322.29,223.02 317.71,223.02 313.12,222.96 308.55,222.85 303.98,222.69 299.44,222.47 294.93,222.20 290.44,221.87 285.99,221.49 281.58,221.06 277.22,220.58 272.91,220.04 268.65,219.45 264.46,218.81 260.34,218.13 256.29,217.39 252.32,216.60 248.43,215.77 244.62,214.90 240.91,213.97 237.30,213.01 233.78,212.00 230.38,210.95 227.08,209.86 223.89,208.73 220.82,207.57 217.87,206.36 215.05,205.13 212.35,203.86 209.79,202.56 207.36,201.23 205.06,199.87 202.91,198.48 200.90,197.07 199.03,195.64 197.31,194.19 195.75,192.71 194.33,191.22 193.06,189.71 191.95,188.19 191.00,186.65 190.20,185.11 189.57,183.56 189.09,182.00 188.77,180.43 188.61,178.86 188.61,177.29 188.77,175.73 189.09,174.16 189.57,172.60 190.20,171.05 191.00,169.50 191.95,167.97 193.06,166.45 194.33,164.94 195.75,163.45 197.31,161.97 199.03,160.52 200.90,159.08 202.91,157.67" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="202.91,157.67 205.06,156.29 207.36,154.93 209.79,153.60 212.35,152.30 215.05,151.03 217.87,149.79 220.82,148.59 223.89,147.43 227.08,146.30 230.38,145.21 233.78,144.16 237.30,143.15 240.91,142.18 244.62,141.26 248.43,140.38 252.32,139.55 256.29,138.77 260.34,138.03 264.46,137.34 268.65,136.71 272.91,136.12 277.22,135.58 281.58,135.10 285.99,134.66 290.44,134.28 294.93,133.96 299.44,133.69 303.98,133.47 308.55,133.30 313.12,133.19 317.71,133.14 322.29,133.14 326.88,133.19 331.45,133.30 336.02,133.47 340.56,133.69 345.07,133.96 349.56,134.28 354.01,134.66 358.42,135.10 362.78,135.58 367.09,136.12 371.35,136.71 375.54,137.34 379.66,138.03 383.71,138.77 387.68,139.55 391.57,140.38 395.38,141.26 399.09,142.18 402.70,143.15 406.22,144.16 409.62,145.21 412.92,146.30 416.11,147.43 419.18,148.59 422.13,149.79 424.95,151.03 427.65,152.30 430.21,153.60 432.64,154.93 434.94,156.29 437.09,157.67 439.10,159.08" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="508.23,238.92 509.16,241.18 509.85,243.44 510.32,245.71 510.55,247.98 510.55,250.26 510.32,252.53 509.85,254.80 509.16,257.06 508.23,259.32 507.08,261.56 505.70,263.78 504.09,265.99 502.25,268.18 500.20,270.34 497.92,272.48 495.43,274.59 492.72,276.67 489.81,278.71 486.69,280.72 483.36,282.69 479.83,284.62 476.11,286.51 472.20,288.35 468.11,290.14 463.83,291.88 459.38,293.57 454.76,295.21 449.98,296.79 445.03,298.31 439.94,299.78 434.69,301.18 429.31,302.51 423.80,303.79 418.16,304.99 412.40,306.13 406.52,307.20 400.54,308.19 394.47,309.12 388.30,309.97 382.05,310.75 375.72,311.45 369.33,312.08 362.87,312.63 356.36,313.10 349.81,313.50 343.23,313.82 336.61,314.05 329.97,314.21 323.33,314.29 316.67,314.29 310.03,314.21 303.39,314.05 296.77,313.82 290.19,313.50 283.64,313.10 277.13,312.63 270.67,312.08 264.28,311.45 257.95,310.75 251.70,309.97 245.53,309.12 239.46,308.19 233.48,307.20 227.60,306.13 221.84,304.99 216.20,303.79 210.69,302.51 205.31,301.18 200.06,299.78 194.97,298.31 190.02,296.79 185.24,295.21 180.62,293.57 176.17,291.88 171.89,290.14 167.80,288.35 163.89,286.51 160.17,284.62 156.64,282.69 153.31,280.72 150.19,278.71 147.28,276.67 144.57,274.59 142.08,272.48 139.80,270.34 137.75,268.18 135.91,265.99 134.30,263.78 132.92,261.56 131.77,259.32 130.84,257.06 130.15,254.80 129.68,252.53 129.45,250.26 129.45,247.98 129.68,245.71 130.15,243.44 130.84,241.18 131.77,238.92 132.92,236.68" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="132.92,236.68 134.30,234.46 135.91,232.25 137.75,230.06 139.80,227.90 142.08,225.76 144.57,223.65 147.28,221.57 150.19,219.53 153.31,217.52 156.64,215.55 160.17,213.62 163.89,211.73 167.80,209.89 171.89,208.10 176.17,206.36 180.62,204.66 185.24,203.03 190.02,201.45 194.97,199.93 200.06,198.46 205.31,197.06 210.69,195.72 216.20,194.45 221.84,193.25 227.60,192.11 233.48,191.04 239.46,190.04 245.53,189.12 251.70,188.27 257.95,187.49 264.28,186.79 270.67,186.16 277.13,185.61 283.64,185.13 290.19,184.74 296.77,184.42 303.39,184.18 310.03,184.03 316.67,183.95 323.33,183.95 329.97,184.03 336.61,184.18 343.23,184.42 349.81,184.74 356.36,185.13 362.87,185.61 369.33,186.16 375.72,186.79 382.05,187.49 388.30,188.27 394.47,189.12 400.54,190.04 406.52,191.04 412.40,192.11 418.16,193.25 423.80,194.45 429.31,195.72 434.69,197.06 439.94,198.46 445.03,199.93 449.98,201.45 454.76,203.03 459.38,204.66 463.83,206.36 468.11,208.10 472.20,209.89 476.11,211.73 479.83,213.62 483.36,215.55 486.69,217.52 489.81,219.53 492.72,221.57 495.43,223.65 497.92,225.76 500.20,227.90 502.25,230.06 504.09,232.25 505.70,234.46 507.08,236.68 508.23,238.92" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="529.97,333.25 529.71,335.76 529.20,338.26 528.43,340.75 527.41,343.24 526.14,345.70 524.62,348.16 522.84,350.59 520.82,353.00 518.56,355.38 516.05,357.74 513.31,360.06 510.32,362.35 507.11,364.61 503.67,366.82 500.01,368.99 496.12,371.12 492.02,373.20 487.71,375.22 483.20,377.20 478.49,379.12 473.58,380.98 468.49,382.79 463.22,384.53 457.77,386.21 452.16,387.82 446.38,389.36 440.45,390.83 434.37,392.24 428.16,393.57 421.81,394.82 415.34,396.00 408.75,397.09 402.05,398.11 395.26,399.05 388.37,399.91 381.40,400.69 374.35,401.38 367.24,401.98 360.07,402.50 352.85,402.94 345.59,403.29 338.30,403.55 330.99,403.73 323.67,403.81 316.33,403.81 309.01,403.73 301.70,403.55 294.41,403.29 287.15,402.94 279.93,402.50 272.76,401.98 265.65,401.38 258.60,400.69 251.63,399.91 244.74,399.05 237.95,398.11 231.25,397.09 224.66,396.00 218.19,394.82 211.84,393.57 205.63,392.24 199.55,390.83 193.62,389.36 187.84,387.82 182.23,386.21 176.78,384.53 171.51,382.79 166.42,380.98 161.51,379.12 156.80,377.20 152.29,375.22 147.98,373.20 143.88,371.12 139.99,368.99 136.33,366.82 132.89,364.61 129.68,362.35 126.69,360.06 123.95,357.74 121.44,355.38 119.18,353.00 117.16,350.59 115.38,348.16 113.86,345.70 112.59,343.24 111.57,340.75 110.80,338.26 110.29,335.76 110.03,333.25 110.03,330.75" fill="none" stroke="#829aa6" stroke-width="1.7" stroke-opacity="0.85" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="110.03,330.75 110.29,328.24 110.80,325.74 111.57,323.25 112.59,320.76 113.86,318.30 115.38,315.84 117.16,313.41 119.18,311.00 121.44,308.62 123.95,306.26 126.69,303.94 129.68,301.65 132.89,299.39 136.33,297.18 139.99,295.01 143.88,292.88 147.98,290.80 152.29,288.78 156.80,286.80 161.51,284.88 166.42,283.02 171.51,281.21 176.78,279.47 182.23,277.79 187.84,276.18 193.62,274.64 199.55,273.17 205.63,271.76 211.84,270.43 218.19,269.18 224.66,268.00 231.25,266.91 237.95,265.89 244.74,264.95 251.63,264.09 258.60,263.31 265.65,262.62 272.76,262.02 279.93,261.50 287.15,261.06 294.41,260.71 301.70,260.45 309.01,260.27 316.33,260.19 323.67,260.19 330.99,260.27 338.30,260.45 345.59,260.71 352.85,261.06 360.07,261.50 367.24,262.02 374.35,262.62 381.40,263.31 388.37,264.09 395.26,264.95 402.05,265.89 408.75,266.91 415.34,268.00 421.81,269.18 428.16,270.43 434.37,271.76 440.45,273.17 446.38,274.64 452.16,276.18 457.77,277.79 463.22,279.47 468.49,281.21 473.58,283.02 478.49,284.88 483.20,286.80 487.71,288.78 492.02,290.80 496.12,292.88 500.01,295.01 503.67,297.18 507.11,299.39 510.32,301.65 513.31,303.94 516.05,306.26 518.56,308.62 520.82,311.00 522.84,313.41 524.62,315.84 526.14,318.30 527.41,320.76 528.43,323.25 529.20,325.74 529.71,328.24 529.97,330.75 529.97,333.25" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.3" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="507.08,427.32 505.70,429.54 504.09,431.75 502.25,433.94 500.20,436.10 497.92,438.24 495.43,440.35 492.72,442.43 489.81,444.47 486.69,446.48 483.36,448.45 479.83,450.38 476.11,452.27 472.20,454.11 468.11,455.90 463.83,457.64 459.38,459.34 454.76,460.97 449.98,462.55 445.03,464.07 439.94,465.54 434.69,466.94 429.31,468.28 423.80,469.55 418.16,470.75 412.40,471.89 406.52,472.96 400.54,473.96 394.47,474.88 388.30,475.73 382.05,476.51 375.72,477.21 369.33,477.84 362.87,478.39 356.36,478.87 349.81,479.26 343.23,479.58 336.61,479.82 329.97,479.97 323.33,480.05 316.67,480.05 310.03,479.97 303.39,479.82 296.77,479.58 290.19,479.26 283.64,478.87 277.13,478.39 270.67,477.84 264.28,477.21 257.95,476.51 251.70,475.73 245.53,474.88 239.46,473.96 233.48,472.96 227.60,471.89 221.84,470.75 216.20,469.55 210.69,468.28 205.31,466.94 200.06,465.54 194.97,464.07 190.02,462.55 185.24,460.97 180.62,459.34 176.17,457.64 171.89,455.90 167.80,454.11 163.89,452.27 160.17,450.38 156.64,448.45 153.31,446.48 150.19,444.47 147.28,442.43 144.57,440.35 142.08,438.24 139.80,436.10 137.75,433.94 135.91,431.75 134.30,429.54 132.92,427.32 131.77,425.08" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="131.77,425.08 130.84,422.82 130.15,420.56 129.68,418.29 129.45,416.02 129.45,413.74 129.68,411.47 130.15,409.20 130.84,406.94 131.77,404.68 132.92,402.44 134.30,400.22 135.91,398.01 137.75,395.82 139.80,393.66 142.08,391.52 144.57,389.41 147.28,387.33 150.19,385.29 153.31,383.28 156.64,381.31 160.17,379.38 163.89,377.49 167.80,375.65 171.89,373.86 176.17,372.12 180.62,370.43 185.24,368.79 190.02,367.21 194.97,365.69 200.06,364.22 205.31,362.82 210.69,361.49 216.20,360.21 221.84,359.01 227.60,357.87 233.48,356.80 239.46,355.81 245.53,354.88 251.70,354.03 257.95,353.25 264.28,352.55 270.67,351.92 277.13,351.37 283.64,350.90 290.19,350.50 296.77,350.18 303.39,349.95 310.03,349.79 316.67,349.71 323.33,349.71 329.97,349.79 336.61,349.95 343.23,350.18 349.81,350.50 356.36,350.90 362.87,351.37 369.33,351.92 375.72,352.55 382.05,353.25 388.30,354.03 394.47,354.88 400.54,355.81 406.52,356.80 412.40,357.87 418.16,359.01 423.80,360.21 429.31,361.49 434.69,362.82 439.94,364.22 445.03,365.69 449.98,367.21 454.76,368.79 459.38,370.43 463.83,372.12 468.11,373.86 472.20,375.65 476.11,377.49 479.83,379.38 483.36,381.31 486.69,383.28 489.81,385.29 492.72,387.33 495.43,389.41 497.92,391.52 500.20,393.66 502.25,395.82 504.09,398.01 505.70,400.22 507.08,402.44 508.23,404.68 509.16,406.94 509.85,409.20 510.32,411.47 510.55,413.74 510.55,416.02 510.32,418.29 509.85,420.56 509.16,422.82 508.23,425.08 507.08,427.32" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="437.09,506.33 434.94,507.71 432.64,509.07 430.21,510.40 427.65,511.70 424.95,512.97 422.13,514.21 419.18,515.41 416.11,516.57 412.92,517.70 409.62,518.79 406.22,519.84 402.70,520.85 399.09,521.82 395.38,522.74 391.57,523.62 387.68,524.45 383.71,525.23 379.66,525.97 375.54,526.66 371.35,527.29 367.09,527.88 362.78,528.42 358.42,528.90 354.01,529.34 349.56,529.72 345.07,530.04 340.56,530.31 336.02,530.53 331.45,530.70 326.88,530.81 322.29,530.86 317.71,530.86 313.12,530.81 308.55,530.70 303.98,530.53 299.44,530.31 294.93,530.04 290.44,529.72 285.99,529.34 281.58,528.90 277.22,528.42 272.91,527.88 268.65,527.29 264.46,526.66 260.34,525.97 256.29,525.23 252.32,524.45 248.43,523.62 244.62,522.74 240.91,521.82 237.30,520.85 233.78,519.84 230.38,518.79 227.08,517.70 223.89,516.57 220.82,515.41 217.87,514.21 215.05,512.97 212.35,511.70 209.79,510.40 207.36,509.07 205.06,507.71 202.91,506.33 200.90,504.92" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="200.90,504.92 199.03,503.48 197.31,502.03 195.75,500.55 194.33,499.06 193.06,497.55 191.95,496.03 191.00,494.50 190.20,492.95 189.57,491.40 189.09,489.84 188.77,488.27 188.61,486.71 188.61,485.14 188.77,483.57 189.09,482.00 189.57,480.44 190.20,478.89 191.00,477.35 191.95,475.81 193.06,474.29 194.33,472.78 195.75,471.29 197.31,469.81 199.03,468.36 200.90,466.93 202.91,465.52 205.06,464.13 207.36,462.77 209.79,461.44 212.35,460.14 215.05,458.87 217.87,457.64 220.82,456.43 223.89,455.27 227.08,454.14 230.38,453.05 233.78,452.00 237.30,450.99 240.91,450.03 244.62,449.10 248.43,448.23 252.32,447.40 256.29,446.61 260.34,445.87 264.46,445.19 268.65,444.55 272.91,443.96 277.22,443.42 281.58,442.94 285.99,442.51 290.44,442.13 294.93,441.80 299.44,441.53 303.98,441.31 308.55,441.15 313.12,441.04 317.71,440.98 322.29,440.98 326.88,441.04 331.45,441.15 336.02,441.31 340.56,441.53 345.07,441.80 349.56,442.13 354.01,442.51 358.42,442.94 362.78,443.42 367.09,443.96 371.35,444.55 375.54,445.19 379.66,445.87 383.71,446.61 387.68,447.40 391.57,448.23 395.38,449.10 399.09,450.03 402.70,450.99 406.22,452.00 409.62,453.05 412.92,454.14 416.11,455.27 419.18,456.43 422.13,457.64 424.95,458.87 427.65,460.14 430.21,461.44 432.64,462.77 434.94,464.13 437.09,465.52 439.10,466.93 440.97,468.36 442.69,469.81 444.25,471.29 445.67,472.78 446.94,474.29 448.05,475.81 449.00,477.35 449.80,478.89 450.43,480.44 450.91,482.00 451.23,483.57 451.39,485.14 451.39,486.71 451.23,488.27 450.91,489.84 450.43,491.40 449.80,492.95 449.00,494.50 448.05,496.03 446.94,497.55 445.67,499.06 444.25,500.55 442.69,502.03 440.97,503.48 439.10,504.92 437.09,506.33" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  </g>

  <!-- Longitude meridians -->
  <g>
    <polyline points="320.00,134.66 323.00,135.41 326.00,136.22 329.00,137.09 332.00,138.02 334.99,139.01 337.98,140.05 340.96,141.16 343.94,142.32 346.91,143.54 349.87,144.82 352.82,146.15 355.77,147.54 358.70,148.99 361.62,150.49 364.52,152.05 367.42,153.66 370.29,155.33 373.16,157.05 376.00,158.83 378.83,160.66 381.65,162.54 384.44,164.47 387.21,166.45 389.97,168.48 392.70,170.56 395.41,172.70 398.10,174.88 400.76,177.10 403.40,179.38 406.01,181.70 408.60,184.07 411.16,186.48 413.69,188.94 416.19,191.44 418.67,193.98 421.11,196.57 423.53,199.19 425.91,201.86 428.26,204.57 430.57,207.31 432.86,210.10 435.11,212.92 437.32,215.77 439.50,218.67 441.64,221.59 443.74,224.55 445.81,227.55 447.84,230.57 449.83,233.63 451.78,236.71 453.69,239.83 455.56,242.97 457.38,246.14 459.17,249.34 460.91,252.56 462.61,255.81 464.27,259.07 465.88,262.36 467.45,265.68 468.98,269.01 470.45,272.36 471.89,275.73 473.27,279.12 474.61,282.52 475.90,285.94 477.15,289.37 478.35,292.82 479.50,296.27 480.60,299.74 481.65,303.22 482.65,306.71 483.60,310.20 484.51,313.70 485.36,317.21 486.16,320.72 486.91,324.23 487.61,327.75 488.26,331.27 488.86,334.79 489.41,338.30 489.90,341.82 490.35,345.33 490.74,348.84 491.08,352.34 491.37,355.84 491.60,359.33 491.79,362.81 491.92,366.28 492.00,369.75 492.02,373.20 492.00,376.63 491.92,380.06 491.79,383.47 491.60,386.86 491.37,390.24 491.08,393.60 490.74,396.94 490.35,400.26 489.90,403.56 489.41,406.84 488.86,410.09 488.26,413.32 487.61,416.53 486.91,419.71 486.16,422.87 485.36,425.99 484.51,429.09 483.60,432.16 482.65,435.20 481.65,438.20 480.60,441.18 479.50,444.12 478.35,447.03 477.15,449.90 475.90,452.73 474.61,455.53 473.27,458.29 471.89,461.02 470.45,463.70 468.98,466.35 467.45,468.95 465.88,471.51 464.27,474.03 462.61,476.50 460.91,478.93 459.17,481.32 457.38,483.66 455.56,485.96 453.69,488.20 451.78,490.40 449.83,492.56 447.84,494.66 445.81,496.71 443.74,498.72 441.64,500.67 439.50,502.57 437.32,504.42 435.11,506.21 432.86,507.96 430.57,509.65 428.26,511.28 425.91,512.87 423.53,514.39 421.11,515.86 418.67,517.28 416.19,518.64 413.69,519.94 411.16,521.18" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="411.16,521.18 408.60,522.37 406.01,523.50 403.40,524.57 400.76,525.58 398.10,526.53 395.41,527.42 392.70,528.26 389.97,529.03 387.21,529.75 384.44,530.40 381.65,530.99 378.83,531.52 376.00,532.00 373.16,532.41 370.29,532.76 367.42,533.05 364.52,533.27 361.62,533.44 358.70,533.54 355.77,533.59 352.82,533.57 349.87,533.49 346.91,533.35 343.94,533.15 340.96,532.89 337.98,532.56 334.99,532.18 332.00,531.73 329.00,531.22 326.00,530.65 323.00,530.02 320.00,529.34" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="320.00,134.66 320.64,135.93 321.27,137.25 321.91,138.64 322.54,140.08 323.18,141.58 323.81,143.14 324.44,144.76 325.08,146.43 325.70,148.16 326.33,149.95 326.96,151.79 327.58,153.68 328.20,155.63 328.82,157.64 329.44,159.70 330.05,161.81 330.66,163.97 331.27,166.18 331.87,168.44 332.47,170.76 333.07,173.12 333.66,175.53 334.25,177.99 334.83,180.49 335.41,183.05 335.99,185.64 336.56,188.28 337.12,190.97 337.68,193.70 338.23,196.47 338.78,199.28 339.32,202.13 339.86,205.02 340.39,207.95 340.92,210.92 341.43,213.93 341.95,216.97 342.45,220.05 342.95,223.16 343.44,226.30 343.92,229.47 344.40,232.68 344.87,235.92 345.33,239.18 345.79,242.48 346.23,245.80 346.67,249.15 347.10,252.52 347.52,255.92 347.93,259.34 348.34,262.78 348.74,266.25 349.12,269.73 349.50,273.23 349.87,276.75 350.23,280.29 350.58,283.85 350.93,287.41 351.26,290.99 351.58,294.59 351.89,298.19 352.20,301.81 352.49,305.44 352.78,309.07 353.05,312.71 353.31,316.35 353.57,320.01 353.81,323.66 354.04,327.32 354.27,330.97 354.48,334.63 354.68,338.29 354.87,341.95 355.05,345.60 355.22,349.25 355.38,352.89 355.53,356.53 355.67,360.16 355.80,363.78 355.91,367.39 356.02,370.99 356.11,374.58 356.19,378.16 356.27,381.72 356.33,385.26 356.38,388.80 356.42,392.31 356.44,395.80 356.46,399.28 356.47,402.73 356.46,406.17 356.44,409.58 356.42,412.96 356.38,416.33 356.33,419.66 356.27,422.97 356.19,426.25 356.11,429.51 356.02,432.73 355.91,435.93 355.80,439.09 355.67,442.22 355.53,445.31 355.38,448.37 355.22,451.40 355.05,454.39 354.87,457.34 354.68,460.25 354.48,463.13 354.27,465.96 354.04,468.75 353.81,471.51 353.57,474.22 353.31,476.88 353.05,479.50 352.78,482.08 352.49,484.61 352.20,487.10 351.89,489.53 351.58,491.92 351.26,494.27 350.93,496.56 350.58,498.80 350.23,500.99 349.87,503.13 349.50,505.22 349.12,507.25 348.74,509.23 348.34,511.16 347.93,513.03 347.52,514.85 347.10,516.61 346.67,518.31 346.23,519.96 345.79,521.55 345.33,523.09 344.87,524.56 344.40,525.98 343.92,527.34 343.44,528.63 342.95,529.87 342.45,531.05 341.95,532.17 341.43,533.22 340.92,534.22 340.39,535.15 339.86,536.02 339.32,536.83 338.78,537.58 338.23,538.26 337.68,538.89 337.12,539.44 336.56,539.94 335.99,540.37 335.41,540.74 334.83,541.04 334.25,541.29 333.66,541.46 333.07,541.58 332.47,541.63" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="332.47,541.63 331.87,541.61 331.27,541.53 330.66,541.39 330.05,541.19 329.44,540.92 328.82,540.59 328.20,540.19 327.58,539.73 326.96,539.21 326.33,538.62 325.70,537.97 325.08,537.26 324.44,536.48 323.81,535.65 323.18,534.75 322.54,533.79 321.91,532.77 321.27,531.68 320.64,530.54 320.00,529.34" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="320.00,134.66 317.90,135.72 315.80,136.84 313.70,138.01 311.60,139.25 309.50,140.54 307.41,141.90 305.32,143.31 303.24,144.77 301.16,146.30 299.08,147.88 297.02,149.52 294.96,151.21 292.90,152.96 290.86,154.76 288.82,156.62 286.80,158.53 284.78,160.49 282.78,162.50 280.78,164.57 278.80,166.69 276.83,168.86 274.88,171.07 272.94,173.34 271.01,175.66 269.10,178.02 267.20,180.43 265.32,182.88 263.45,185.38 261.60,187.93 259.77,190.52 257.96,193.15 256.17,195.83 254.40,198.54 252.64,201.30 250.91,204.10 249.20,206.93 247.51,209.81 245.84,212.72 244.20,215.67 242.58,218.65 240.98,221.67 239.40,224.72 237.85,227.80 236.33,230.92 234.83,234.07 233.35,237.24 231.91,240.45 230.49,243.68 229.09,246.94 227.73,250.23 226.39,253.54 225.08,256.87 223.80,260.23 222.55,263.61 221.33,267.01 220.14,270.43 218.98,273.87 217.85,277.32 216.75,280.80 215.69,284.28 214.65,287.79 213.65,291.30 212.68,294.83 211.74,298.37 210.83,301.93 209.96,305.48 209.12,309.05 208.32,312.63 207.55,316.21 206.81,319.79 206.11,323.38 205.44,326.98 204.81,330.57 204.22,334.16 203.65,337.76 203.13,341.35 202.64,344.94 202.18,348.52 201.76,352.10 201.38,355.67 201.03,359.24 200.72,362.80 200.45,366.35 200.21,369.89 200.01,373.41 199.84,376.93 199.71,380.43 199.62,383.91 199.57,387.38 199.55,390.83 199.57,394.27 199.62,397.69 199.71,401.08 199.84,404.46 200.01,407.81 200.21,411.14 200.45,414.45 200.72,417.73 201.03,420.98 201.38,424.21 201.76,427.41 202.18,430.58 202.64,433.72 203.13,436.83 203.65,439.90 204.22,442.95 204.81,445.96 205.44,448.94 206.11,451.88 206.81,454.78 207.55,457.65 208.32,460.47 209.12,463.26 209.96,466.01 210.83,468.72 211.74,471.39 212.68,474.01 213.65,476.59 214.65,479.13 215.69,481.62 216.75,484.07 217.85,486.47 218.98,488.82 220.14,491.12 221.33,493.38 222.55,495.59 223.80,497.75 225.08,499.85 226.39,501.91 227.73,503.91 229.09,505.87 230.49,507.77 231.91,509.61 233.35,511.40 234.83,513.14 236.33,514.82 237.85,516.45 239.40,518.02 240.98,519.53 242.58,520.99 244.20,522.38 245.84,523.72 247.51,525.01 249.20,526.23 250.91,527.39 252.64,528.50 254.40,529.54 256.17,530.53 257.96,531.45 259.77,532.31 261.60,533.12 263.45,533.86 265.32,534.54 267.20,535.16 269.10,535.71 271.01,536.21 272.94,536.64" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="272.94,536.64 274.88,537.01 276.83,537.31 278.80,537.56 280.78,537.74 282.78,537.86 284.78,537.91 286.80,537.91 288.82,537.84 290.86,537.71 292.90,537.51 294.96,537.26 297.02,536.94 299.08,536.55 301.16,536.11 303.24,535.60 305.32,535.03 307.41,534.40 309.50,533.71 311.60,532.96 313.70,532.14 315.80,531.27 317.90,530.33 320.00,529.34" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="320.00,134.66 316.39,134.91 312.78,135.22 309.18,135.59 305.57,136.02 301.98,136.50 298.38,137.05 294.80,137.66 291.22,138.32 287.65,139.05 284.09,139.83 280.54,140.67 277.00,141.57 273.48,142.53 269.97,143.54 266.47,144.62 263.00,145.75 259.53,146.93 256.09,148.18 252.67,149.48 249.27,150.83 245.89,152.24 242.53,153.71 239.19,155.23 235.88,156.80 232.60,158.42 229.34,160.10 226.11,161.84 222.91,163.62 219.74,165.45 216.60,167.34 213.49,169.27 210.41,171.26 207.36,173.29 204.35,175.38 201.38,177.51 198.44,179.68 195.54,181.91 192.68,184.18 189.85,186.49 187.07,188.85 184.32,191.25 181.62,193.70 178.96,196.18 176.34,198.71 173.76,201.28 171.23,203.89 168.75,206.54 166.31,209.23 163.92,211.95 161.57,214.71 159.28,217.51 157.03,220.34 154.83,223.20 152.69,226.10 150.59,229.03 148.55,231.99 146.55,234.98 144.62,238.01 142.73,241.06 140.90,244.13 139.12,247.24 137.40,250.37 135.73,253.52 134.12,256.70 132.57,259.91 131.07,263.13 129.63,266.38 128.25,269.64 126.93,272.93 125.66,276.23 124.46,279.55 123.31,282.88 122.23,286.23 121.20,289.60 120.24,292.97 119.33,296.36 118.49,299.76 117.71,303.17 116.99,306.59 116.33,310.02 115.74,313.45 115.20,316.89 114.73,320.33 114.32,323.78 113.98,327.23 113.69,330.68 113.47,334.13 113.32,337.58 113.22,341.03 113.19,344.47 113.22,347.91 113.32,351.35 113.47,354.78 113.69,358.21 113.98,361.62 114.32,365.03 114.73,368.43 115.20,371.81 115.74,375.19 116.33,378.55 116.99,381.90 117.71,385.23 118.49,388.54 119.33,391.84 120.24,395.12 121.20,398.38 122.23,401.62 123.31,404.84 124.46,408.04 125.66,411.21 126.93,414.36 128.25,417.49 129.63,420.59 131.07,423.66 132.57,426.70 134.12,429.72" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="134.12,429.72 135.73,432.70 137.40,435.66 139.12,438.58 140.90,441.47 142.73,444.33 144.62,447.15 146.55,449.94 148.55,452.69 150.59,455.40 152.69,458.08 154.83,460.72 157.03,463.32 159.28,465.88 161.57,468.40 163.92,470.88 166.31,473.31 168.75,475.70 171.23,478.05 173.76,480.36 176.34,482.62 178.96,484.83 181.62,486.99 184.32,489.11 187.07,491.18 189.85,493.21 192.68,495.18 195.54,497.11 198.44,498.98 201.38,500.80 204.35,502.57 207.36,504.29 210.41,505.96 213.49,507.57 216.60,509.13 219.74,510.64 222.91,512.09 226.11,513.49 229.34,514.83 232.60,516.12 235.88,517.35 239.19,518.52 242.53,519.64 245.89,520.70 249.27,521.70 252.67,522.64 256.09,523.53 259.53,524.36 263.00,525.13 266.47,525.84 269.97,526.49 273.48,527.08 277.00,527.62 280.54,528.09 284.09,528.50 287.65,528.86 291.22,529.15 294.80,529.38 298.38,529.56 301.98,529.67 305.57,529.72 309.18,529.72 312.78,529.65 316.39,529.52 320.00,529.34" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="320.00,134.66 317.00,133.98 314.00,133.35 311.00,132.78 308.00,132.27 305.01,131.82 302.02,131.44 299.04,131.11 296.06,130.85 293.09,130.65 290.13,130.51 287.18,130.43 284.23,130.41 281.30,130.46 278.38,130.56 275.48,130.73 272.58,130.95 269.71,131.24 266.84,131.59 264.00,132.00 261.17,132.48 258.35,133.01 255.56,133.60 252.79,134.25 250.03,134.97 247.30,135.74 244.59,136.58 241.90,137.47 239.24,138.42 236.60,139.43 233.99,140.50 231.40,141.63 228.84,142.82 226.31,144.06" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="226.31,144.06 223.81,145.36 221.33,146.72 218.89,148.14 216.47,149.61 214.09,151.13 211.74,152.72 209.43,154.35 207.14,156.04 204.89,157.79 202.68,159.58 200.50,161.43 198.36,163.33 196.26,165.28 194.19,167.29 192.16,169.34 190.17,171.44 188.22,173.60 186.31,175.80 184.44,178.04 182.62,180.34 180.83,182.68 179.09,185.07 177.39,187.50 175.73,189.97 174.12,192.49 172.55,195.05 171.02,197.65 169.55,200.30 168.11,202.98 166.73,205.71 165.39,208.47 164.10,211.27 162.85,214.10 161.65,216.97 160.50,219.88 159.40,222.82 158.35,225.80 157.35,228.80 156.40,231.84 155.49,234.91 154.64,238.01 153.84,241.13 153.09,244.29 152.39,247.47 151.74,250.68 151.14,253.91 150.59,257.16 150.10,260.44 149.65,263.74 149.26,267.06 148.92,270.40 148.63,273.76 148.40,277.14 148.21,280.53 148.08,283.94 148.00,287.37 147.98,290.80 148.00,294.25 148.08,297.72 148.21,301.19 148.40,304.67 148.63,308.16 148.92,311.66 149.26,315.16 149.65,318.67 150.10,322.18 150.59,325.70 151.14,329.21 151.74,332.73 152.39,336.25 153.09,339.77 153.84,343.28 154.64,346.79 155.49,350.30 156.40,353.80 157.35,357.29 158.35,360.78 159.40,364.26 160.50,367.73 161.65,371.18 162.85,374.63 164.10,378.06 165.39,381.48 166.73,384.88 168.11,388.27 169.55,391.64 171.02,394.99 172.55,398.32 174.12,401.64 175.73,404.93 177.39,408.19 179.09,411.44 180.83,414.66 182.62,417.86 184.44,421.03 186.31,424.17 188.22,427.29 190.17,430.37 192.16,433.43 194.19,436.45 196.26,439.45 198.36,442.41 200.50,445.33 202.68,448.23 204.89,451.08 207.14,453.90 209.43,456.69 211.74,459.43 214.09,462.14 216.47,464.81 218.89,467.43 221.33,470.02 223.81,472.56 226.31,475.06 228.84,477.52 231.40,479.93 233.99,482.30 236.60,484.62 239.24,486.90 241.90,489.12 244.59,491.30 247.30,493.44 250.03,495.52 252.79,497.55 255.56,499.53 258.35,501.46 261.17,503.34 264.00,505.17 266.84,506.95 269.71,508.67 272.58,510.34 275.48,511.95 278.38,513.51 281.30,515.01 284.23,516.46 287.18,517.85 290.13,519.18 293.09,520.46 296.06,521.68 299.04,522.84 302.02,523.95 305.01,524.99 308.00,525.98 311.00,526.91 314.00,527.78 317.00,528.59 320.00,529.34" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="320.00,134.66 319.36,133.46 318.73,132.32 318.09,131.23 317.46,130.21 316.82,129.25 316.19,128.35 315.56,127.52 314.92,126.74 314.30,126.03 313.67,125.38 313.04,124.79 312.42,124.27 311.80,123.81 311.18,123.41 310.56,123.08 309.95,122.81 309.34,122.61 308.73,122.47 308.13,122.39 307.53,122.37 306.93,122.42" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="306.93,122.42 306.34,122.54 305.75,122.71 305.17,122.96 304.59,123.26 304.01,123.63 303.44,124.06 302.88,124.56 302.32,125.11 301.77,125.74 301.22,126.42 300.68,127.17 300.14,127.98 299.61,128.85 299.08,129.78 298.57,130.78 298.05,131.83 297.55,132.95 297.05,134.13 296.56,135.37 296.08,136.66 295.60,138.02 295.13,139.44 294.67,140.91 294.21,142.45 293.77,144.04 293.33,145.69 292.90,147.39 292.48,149.15 292.07,150.97 291.66,152.84 291.26,154.77 290.88,156.75 290.50,158.78 290.13,160.87 289.77,163.01 289.42,165.20 289.07,167.44 288.74,169.73 288.42,172.08 288.11,174.47 287.80,176.90 287.51,179.39 287.22,181.92 286.95,184.50 286.69,187.12 286.43,189.78 286.19,192.49 285.96,195.25 285.73,198.04 285.52,200.87 285.32,203.75 285.13,206.66 284.95,209.61 284.78,212.60 284.62,215.63 284.47,218.69 284.33,221.78 284.20,224.91 284.09,228.07 283.98,231.27 283.89,234.49 283.81,237.75 283.73,241.03 283.67,244.34 283.62,247.67 283.58,251.04 283.56,254.42 283.54,257.83 283.53,261.27 283.54,264.72 283.56,268.20 283.58,271.69 283.62,275.20 283.67,278.74 283.73,282.28 283.81,285.84 283.89,289.42 283.98,293.01 284.09,296.61 284.20,300.22 284.33,303.84 284.47,307.47 284.62,311.11 284.78,314.75 284.95,318.40 285.13,322.05 285.32,325.71 285.52,329.37 285.73,333.03 285.96,336.68 286.19,340.34 286.43,343.99 286.69,347.65 286.95,351.29 287.22,354.93 287.51,358.56 287.80,362.19 288.11,365.81 288.42,369.41 288.74,373.01 289.07,376.59 289.42,380.15 289.77,383.71 290.13,387.25 290.50,390.77 290.88,394.27 291.26,397.75 291.66,401.22 292.07,404.66 292.48,408.08 292.90,411.48 293.33,414.85 293.77,418.20 294.21,421.52 294.67,424.82 295.13,428.08 295.60,431.32 296.08,434.53 296.56,437.70 297.05,440.84 297.55,443.95 298.05,447.03 298.57,450.07 299.08,453.08 299.61,456.05 300.14,458.98 300.68,461.87 301.22,464.72 301.77,467.53 302.32,470.30 302.88,473.03 303.44,475.72 304.01,478.36 304.59,480.95 305.17,483.51 305.75,486.01 306.34,488.47 306.93,490.88 307.53,493.24 308.13,495.56 308.73,497.82 309.34,500.03 309.95,502.19 310.56,504.30 311.18,506.36 311.80,508.37 312.42,510.32 313.04,512.21 313.67,514.05 314.30,515.84 314.92,517.57 315.56,519.24 316.19,520.86 316.82,522.42 317.46,523.92 318.09,525.36 318.73,526.75 319.36,528.07 320.00,529.34" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="320.00,134.66 322.10,133.67 324.20,132.73 326.30,131.86 328.40,131.04 330.50,130.29 332.59,129.60 334.68,128.97 336.76,128.40 338.84,127.89 340.92,127.45 342.98,127.06 345.04,126.74 347.10,126.49 349.14,126.29 351.18,126.16 353.20,126.09 355.22,126.09 357.22,126.14 359.22,126.26 361.20,126.44 363.17,126.69 365.12,126.99 367.06,127.36 368.99,127.79" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="368.99,127.79 370.90,128.29 372.80,128.84 374.68,129.46 376.55,130.14 378.40,130.88 380.23,131.69 382.04,132.55 383.83,133.47 385.60,134.46 387.36,135.50 389.09,136.61 390.80,137.77 392.49,138.99 394.16,140.28 395.80,141.62 397.42,143.01 399.02,144.47 400.60,145.98 402.15,147.55 403.67,149.18 405.17,150.86 406.65,152.60 408.09,154.39 409.51,156.23 410.91,158.13 412.27,160.09 413.61,162.09 414.92,164.15 416.20,166.25 417.45,168.41 418.67,170.62 419.86,172.88 421.02,175.18 422.15,177.53 423.25,179.93 424.31,182.38 425.35,184.87 426.35,187.41 427.32,189.99 428.26,192.61 429.17,195.28 430.04,197.99 430.88,200.74 431.68,203.53 432.45,206.35 433.19,209.22 433.89,212.12 434.56,215.06 435.19,218.04 435.78,221.05 436.35,224.10 436.87,227.17 437.36,230.28 437.82,233.42 438.24,236.59 438.62,239.79 438.97,243.02 439.28,246.27 439.55,249.55 439.79,252.86 439.99,256.19 440.16,259.54 440.29,262.92 440.38,266.31 440.43,269.73 440.45,273.17 440.43,276.62 440.38,280.09 440.29,283.57 440.16,287.07 439.99,290.59 439.79,294.11 439.55,297.65 439.28,301.20 438.97,304.76 438.62,308.33 438.24,311.90 437.82,315.48 437.36,319.06 436.87,322.65 436.35,326.24 435.78,329.84 435.19,333.43 434.56,337.02 433.89,340.62 433.19,344.21 432.45,347.79 431.68,351.37 430.88,354.95 430.04,358.52 429.17,362.07 428.26,365.63 427.32,369.17 426.35,372.70 425.35,376.21 424.31,379.72 423.25,383.20 422.15,386.68 421.02,390.13 419.86,393.57 418.67,396.99 417.45,400.39 416.20,403.77 414.92,407.13 413.61,410.46 412.27,413.77 410.91,417.06 409.51,420.32 408.09,423.55 406.65,426.76 405.17,429.93 403.67,433.08 402.15,436.20 400.60,439.28 399.02,442.33 397.42,445.35 395.80,448.33 394.16,451.28 392.49,454.19 390.80,457.07 389.09,459.90 387.36,462.70 385.60,465.46 383.83,468.17 382.04,470.85 380.23,473.48 378.40,476.07 376.55,478.62 374.68,481.12 372.80,483.57 370.90,485.98 368.99,488.34 367.06,490.66 365.12,492.93 363.17,495.14 361.20,497.31 359.22,499.43 357.22,501.50 355.22,503.51 353.20,505.47 351.18,507.38 349.14,509.24 347.10,511.04 345.04,512.79 342.98,514.48 340.92,516.12 338.84,517.70 336.76,519.23 334.68,520.69 332.59,522.10 330.50,523.46 328.40,524.75 326.30,525.99 324.20,527.16 322.10,528.28 320.00,529.34" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="320.00,134.66 323.61,134.48 327.22,134.35 330.82,134.28 334.43,134.28 338.02,134.33 341.62,134.44 345.20,134.62 348.78,134.85 352.35,135.14 355.91,135.50 359.46,135.91 363.00,136.38 366.52,136.92 370.03,137.51 373.53,138.16 377.00,138.87 380.47,139.64 383.91,140.47 387.33,141.36 390.73,142.30 394.11,143.30 397.47,144.36 400.81,145.48 404.12,146.65 407.40,147.88 410.66,149.17 413.89,150.51 417.09,151.91 420.26,153.36 423.40,154.87 426.51,156.43 429.59,158.04 432.64,159.71 435.65,161.43 438.62,163.20 441.56,165.02 444.46,166.89 447.32,168.82 450.15,170.79 452.93,172.82 455.68,174.89 458.38,177.01 461.04,179.17 463.66,181.38 466.24,183.64 468.77,185.95 471.25,188.30 473.69,190.69 476.08,193.12 478.43,195.60 480.72,198.12 482.97,200.68 485.17,203.28 487.31,205.92 489.41,208.60 491.45,211.31 493.45,214.06 495.38,216.85 497.27,219.67 499.10,222.53 500.88,225.42 502.60,228.34 504.27,231.30 505.88,234.28 507.43,237.30" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="507.43,237.30 508.93,240.34 510.37,243.41 511.75,246.51 513.07,249.64 514.34,252.79 515.54,255.96 516.69,259.16 517.77,262.38 518.80,265.62 519.76,268.88 520.67,272.16 521.51,275.46 522.29,278.77 523.01,282.10 523.67,285.45 524.26,288.81 524.80,292.19 525.27,295.57 525.68,298.97 526.02,302.38 526.31,305.79 526.53,309.22 526.68,312.65 526.78,316.09 526.81,319.53 526.78,322.97 526.68,326.42 526.53,329.87 526.31,333.32 526.02,336.77 525.68,340.22 525.27,343.67 524.80,347.11 524.26,350.55 523.67,353.98 523.01,357.41 522.29,360.83 521.51,364.24 520.67,367.64 519.76,371.03 518.80,374.40 517.77,377.77 516.69,381.12 515.54,384.45 514.34,387.77 513.07,391.07 511.75,394.36 510.37,397.62 508.93,400.87 507.43,404.09 505.88,407.30 504.27,410.48 502.60,413.63 500.88,416.76 499.10,419.87 497.27,422.94 495.38,425.99 493.45,429.02 491.45,432.01 489.41,434.97 487.31,437.90 485.17,440.80 482.97,443.66 480.72,446.49 478.43,449.29 476.08,452.05 473.69,454.77 471.25,457.46 468.77,460.11 466.24,462.72 463.66,465.29 461.04,467.82 458.38,470.30 455.68,472.75 452.93,475.15 450.15,477.51 447.32,479.82 444.46,482.09 441.56,484.32 438.62,486.49 435.65,488.62 432.64,490.71 429.59,492.74 426.51,494.73 423.40,496.66 420.26,498.55 417.09,500.38 413.89,502.16 410.66,503.90 407.40,505.58 404.12,507.20 400.81,508.77 397.47,510.29 394.11,511.76 390.73,513.17 387.33,514.52 383.91,515.82 380.47,517.07 377.00,518.25 373.53,519.38 370.03,520.46 366.52,521.47 363.00,522.43 359.46,523.33 355.91,524.17 352.35,524.95 348.78,525.68 345.20,526.34 341.62,526.95 338.02,527.50 334.43,527.98 330.82,528.41 327.22,528.78 323.61,529.09 320.00,529.34" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  </g>

  <!-- Silhouette (pure-state boundary) -->
  <circle cx="320.0" cy="332.0" r="210.0" fill="none" stroke="#2d6f8f" stroke-width="2.2"></circle>

  <!-- Coordinate axes -->
  <line x1="320.00" y1="332.00" x2="522.99" y2="380.61" stroke="#233746" stroke-width="1.8" marker-end="url(#arrow)"></line>
  <line x1="320.00" y1="332.00" x2="177.87" y2="401.43" stroke="#233746" stroke-width="1.8" marker-end="url(#arrow)"></line>
  <line x1="320.00" y1="529.34" x2="320.00" y2="99.14" stroke="#233746" stroke-width="1.8" marker-end="url(#arrow)"></line>

  <!-- State markers -->
  <circle cx="320.00" cy="134.66" r="5.5" fill="#2d6f8f"></circle>
  <circle cx="320.00" cy="529.34" r="5.5" fill="#2d6f8f"></circle>
  <circle cx="320.0" cy="332.0" r="8.5" fill="#f5f7f8" fill-opacity="0.5"></circle>
  <circle cx="320.0" cy="332.0" r="5.5" fill="#5e7886" fill-opacity="0.85"></circle>

  <!-- Labels -->
  <text x="300.00" y="124.66" text-anchor="end" font-size="21" font-style="italic" fill="#233746">|0⟩</text>
  <text x="320.00" y="563.34" text-anchor="middle" font-size="21" font-style="italic" fill="#233746">|1⟩</text>
  <text x="564.27" y="396.50" text-anchor="middle" font-size="20" font-style="italic" fill="#233746">x</text>
  <text x="144.96" y="421.55" text-anchor="end" font-size="20" font-style="italic" fill="#233746">y</text>
  <text x="328.00" y="71.52" text-anchor="start" font-size="20" font-style="italic" fill="#233746">z</text>
  <text x="334.00" y="330.00" text-anchor="start" font-size="20" fill="#5e7886">I/2</text>
</svg>
  <div class="bl-readout">
    <div class="bl-head">
      <span class="bl-head-label">What this state answers</span>
      <span class="bl-hint" data-bl="hint">click the front of the ball</span>
    </div>
    <div class="bl-slider-row">
      <span class="bl-slabel">Purity</span>
      <input type="range" min="0" max="1" step="0.01" value="1" data-bl="purity" aria-label="Purity of the state" disabled="">
      <span class="bl-rval" data-bl="rval">r = ?</span>
    </div>
    <p class="bl-say" data-bl="say">Pick a direction on the ball to read off the one measurement it answers with certainty.</p>
  </div>
</div>
<script>
(function () {
  function setup(root) {
    var svg = root.querySelector('svg');
    if (!svg) return;
    var CX = parseFloat(svg.dataset.cx), CY = parseFloat(svg.dataset.cy), R = parseFloat(svg.dataset.r);
    var A = parseFloat(svg.dataset.alphaDeg) * Math.PI / 180;
    var E = parseFloat(svg.dataset.elevDeg) * Math.PI / 180;
    var cA = Math.cos(A), sA = Math.sin(A), cE = Math.cos(E), sE = Math.sin(E);
    var NS = 'http://www.w3.org/2000/svg';
    function el(t, a) { var e = document.createElementNS(NS, t); for (var k in a) e.setAttribute(k, a[k]); return e; }

    function project(p) {
      var x = p[0], y = p[1], z = p[2];
      var u = R * (x * cA - y * sA);
      var w = x * sA + y * cA;
      var v = R * (z * cE - w * sE);
      return [CX + u, CY - v];
    }
    function invert(sx, sy) {
      var er = (sx - CX) / R, eu = (CY - sy) / R, s = er * er + eu * eu;
      if (s > 1) return null;
      var ev = Math.sqrt(1 - s);
      var z = cE * eu + sE * ev, w = -sE * eu + cE * ev;
      return [cA * er + sA * w, -sA * er + cA * w, z];
    }
    function toSvg(evt) { var pt = svg.createSVGPoint(); pt.x = evt.clientX; pt.y = evt.clientY; var m = svg.getScreenCTM(); if (!m) return null; var l = pt.matrixTransform(m.inverse()); return [l.x, l.y]; }

    var hover = el('circle', { r: 6, fill: '#1565c0', 'fill-opacity': '0.4', 'pointer-events': 'none', opacity: '0' });
    svg.appendChild(hover);
    var layer = el('g', { 'pointer-events': 'none' });
    svg.appendChild(layer);
    function clearLayer() { while (layer.firstChild) layer.removeChild(layer.firstChild); }

    var slider = root.querySelector('[data-bl="purity"]');
    var rvalEl = root.querySelector('[data-bl="rval"]');
    var hint = root.querySelector('[data-bl="hint"]');
    var sayEl = root.querySelector('[data-bl="say"]');
    var dir = null, rVal = 1;

    function poleName(n) { if (n[2] > 0.985) return '|0⟩'; if (n[2] < -0.985) return '|1⟩'; return null; }
    function say() {
      if (!dir) { sayEl.textContent = 'Pick a direction on the ball to read off the one measurement it answers with certainty.'; return; }
      if (rVal < 0.02) {
        sayEl.textContent = 'The maximally mixed state I/2: total ignorance. No measurement has a certain answer; every yes/no question is a 50/50 coin flip.';
      } else if (rVal > 0.985) {
        var p = poleName(dir);
        sayEl.textContent = p
          ? ('This is the pole ' + p + ', the certain answer to the "0 or 1?" question. Along that axis you always get the same outcome; along a perpendicular axis the answer is a perfect coin flip.')
          : 'A pure state on the surface. It is the certain answer to one yes/no measurement, the one along its own axis. Along that axis you always get the same outcome; along a perpendicular axis the answer is a perfect coin flip.';
      } else {
        var pct = Math.round(100 * (1 + rVal) / 2);
        sayEl.textContent = 'A mixed state, partway in. Along its own axis it still leans the same way, giving that outcome about ' + pct + '% of the time; the deeper toward the centre, the more every question slides to a 50/50 coin flip.';
      }
    }

    function update() {
      if (!dir) return;
      var r0 = [rVal * dir[0], rVal * dir[1], rVal * dir[2]];
      var p0 = project(r0);
      clearLayer();
      // The measurement axis the readout refers to: the diameter through the
      // chosen direction, with its two outcomes marked at the poles (the
      // certain outcome filled, the opposite one hollow).
      var ap = project([-dir[0], -dir[1], -dir[2]]);
      var bp = project([dir[0], dir[1], dir[2]]);
      layer.appendChild(el('line', { x1: ap[0], y1: ap[1], x2: bp[0], y2: bp[1], stroke: '#1565c0', 'stroke-width': '1.6', 'stroke-opacity': '0.45', 'stroke-linecap': 'round' }));
      layer.appendChild(el('circle', { cx: bp[0], cy: bp[1], r: 3.4, fill: '#1565c0', 'fill-opacity': '0.7' }));
      layer.appendChild(el('circle', { cx: ap[0], cy: ap[1], r: 3.4, fill: 'none', stroke: '#1565c0', 'stroke-width': '1.4', 'stroke-opacity': '0.6' }));
      var mk = el('g', { opacity: (0.4 + 0.6 * rVal).toFixed(3) });
      mk.appendChild(el('circle', { cx: p0[0], cy: p0[1], r: 8, fill: '#ffffff', opacity: rVal.toFixed(3) }));
      mk.appendChild(el('circle', { cx: p0[0], cy: p0[1], r: 6.5, fill: '#1565c0', stroke: '#0d3f8f', 'stroke-width': '1.5' }));
      layer.appendChild(mk);
      rvalEl.textContent = 'r = ' + rVal.toFixed(2);
      hint.textContent = 'slide to mix'; hint.classList.add('is-set');
      say();
    }

    function reset() {
      dir = null; rVal = 1;
      clearLayer();
      slider.disabled = true; slider.value = 1; rvalEl.textContent = 'r = ?';
      hint.textContent = 'click the front of the ball'; hint.classList.remove('is-set');
      say();
    }

    svg.addEventListener('pointermove', function (e) {
      if (e.pointerType && e.pointerType !== 'mouse') return;
      var loc = toSvg(e); if (!loc) return;
      if (invert(loc[0], loc[1])) { hover.setAttribute('cx', loc[0]); hover.setAttribute('cy', loc[1]); hover.setAttribute('opacity', '1'); }
      else hover.setAttribute('opacity', '0');
    });
    svg.addEventListener('pointerleave', function () { hover.setAttribute('opacity', '0'); });
    svg.addEventListener('click', function (e) {
      var loc = toSvg(e); if (!loc) return;
      var n = invert(loc[0], loc[1]);
      if (n) { dir = n; rVal = 1; slider.disabled = false; slider.value = 1; update(); }
      else reset();
    });
    slider.addEventListener('input', function () { if (!dir) return; rVal = parseFloat(slider.value); update(); });

    reset();
  }
  function init() { var roots = document.querySelectorAll('.bloch-state-interactive'); for (var i = 0; i < roots.length; i++) setup(roots[i]); }
  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init);
  else init();
})();
</script>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-bloch-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;3: The Bloch ball, the state space of a single qubit: pure states live on the surface, mixed states inside, and the maximally mixed state <img src="https://latex.codecogs.com/png.latex?I/2"> sits at the centre. Compare the classical bit, whose states fill only a line segment. This is the quantum counterpart of the simplex in Figure&nbsp;1. Click the front of the ball to pick a direction, and use the Purity slider to slide the state inward from the surface; the readout names the one measurement that direction answers with certainty, and how that certainty fades as the state mixes.
</figcaption>
</figure>
</div>
<p>Notice what happened to the dimension. The classical bit lived on a line, one dimension; the qubit fills a ball, <em>three</em>. Where does three come from? For a qubit, nothing has to be taken on faith, because the promised bookkeeping matrix is small enough to write out entry by entry, with the arrow <img src="https://latex.codecogs.com/png.latex?(x,%20y,%20z)"> filed inside it: <img src="https://latex.codecogs.com/png.latex?%0A%5Crho%20%5C;=%5C;%0A%5Cbegin%7Bpmatrix%7D%0A%5Cdfrac%7B1%20+%20z%7D%7B2%7D%20&amp;%20%5Cdfrac%7Bx%20-%20iy%7D%7B2%7D%20%5C%5C%5B6pt%5D%0A%5Cdfrac%7Bx%20+%20iy%7D%7B2%7D%20&amp;%20%5Cdfrac%7B1%20-%20z%7D%7B2%7D%0A%5Cend%7Bpmatrix%7D.%0A"> Look at how little freedom the grid has. The two diagonal entries are real and sum to one, so a single number, <img src="https://latex.codecogs.com/png.latex?z">, fixes both. The two off-diagonal entries are mirror images of each other across the diagonal (complex conjugates), so a single complex number, worth two real ones, fixes that pair. Three free real numbers in all, and they are exactly the coordinates of the arrow. The ball’s three dimensions are not a metaphor. They are the room this matrix has.</p>
<p>The matrix even knows the ball is <em>round</em>. Its two eigenvalues work out to <img src="https://latex.codecogs.com/png.latex?%5Ctfrac12(1%20%5Cpm%20%5Cell)">, with <img src="https://latex.codecogs.com/png.latex?%5Cell%20=%20%5Csqrt%7Bx%5E2%20+%20y%5E2%20+%20z%5E2%7D"> the length of the arrow (a two-line computation, done in the aside below), and the eigenvalues of a density matrix are the probabilities it carries, a point made precise in a moment. Probabilities cannot go negative, so <img src="https://latex.codecogs.com/png.latex?%5Cell%20%5Cle%201">: one inequality, and it carves the solid ball out of space. The surface is <img src="https://latex.codecogs.com/png.latex?%5Cell%20=%201">, eigenvalues <img src="https://latex.codecogs.com/png.latex?1"> and <img src="https://latex.codecogs.com/png.latex?0">, some question answered with certainty, which is why the certain states live exactly there; the zero-length arrow at the centre has eigenvalues <img src="https://latex.codecogs.com/png.latex?%5Ctfrac12"> and <img src="https://latex.codecogs.com/png.latex?%5Ctfrac12">, the fair coin. And file one promise away as you look at the grid: in the next section each of the three directions will get a matrix of its own, and the way those matrices multiply carries the rest of the post.</p>
<details class="aside">
<summary>The two eigenvalues, computed</summary>
<p>Two numbers pin down two eigenvalues: their sum and their product. The sum is the trace, <img src="https://latex.codecogs.com/png.latex?1"> by inspection of the diagonal. The product is the determinant, <img src="https://latex.codecogs.com/png.latex?%0A%5Cdet%20%5Crho%0A%5C;=%5C;%20%5Cfrac%7B(1%20+%20z)(1%20-%20z)%7D%7B4%7D%20-%20%5Cfrac%7B(x%20-%20iy)(x%20+%20iy)%7D%7B4%7D%0A%5C;=%5C;%20%5Cfrac%7B1%20-%20(x%5E2%20+%20y%5E2%20+%20z%5E2)%7D%7B4%7D%0A%5C;=%5C;%20%5Cfrac%7B1%20-%20%5Cell%5E2%7D%7B4%7D.%0A"> The matrix is Hermitian, so both eigenvalues are real, and the pair with sum <img src="https://latex.codecogs.com/png.latex?1"> and product <img src="https://latex.codecogs.com/png.latex?%5Ctfrac14(1%20-%20%5Cell%5E2)"> is <img src="https://latex.codecogs.com/png.latex?%0A%5Clambda_%5Cpm%20%5C;=%5C;%20%5Cfrac%7B1%20%5Cpm%20%5Cell%7D%7B2%7D,%0A"> as multiplying them back out confirms. Demanding <img src="https://latex.codecogs.com/png.latex?%5Clambda_-%20%5Cge%200"> is exactly demanding <img src="https://latex.codecogs.com/png.latex?%5Cell%20%5Cle%201">: the ball.</p>
</details>
<p>That jump, one dimension to three, is the pattern worth chasing, but to count it for any number of levels we first have to say what a quantum state even is beyond the qubit.</p>
<p>For <img src="https://latex.codecogs.com/png.latex?d"> levels the bookkeeping object is the same kind of thing as the grid we just unpacked: a <img src="https://latex.codecogs.com/png.latex?d%20%5Ctimes%20d"> matrix, the <em>density matrix</em> at full size, and its rules are not arbitrary. They are exactly what it takes to still be describing probabilities. The matrix is Hermitian, mirror-conjugate across the diagonal just like the qubit’s, so its eigenvalues are real; those eigenvalues are non-negative and sum to one. That last clause is the point, because non-negative numbers summing to one are a probability distribution. So each density matrix carries a classical probability distribution inside it: the eigenvalues are the probabilities, and the eigenvectors say which mutually exclusive pure states they are spread across. But the basis belongs to the <em>state</em>, and that is where the quantum content lives: two density matrices need not agree about which alternatives they are distributions over, and when they disagree they do not commute. The classical simplex from the first half of this post is the special case where one common set of axes has been fixed once and for all.</p>
<p>Now we can count. A quantum state in dimension <img src="https://latex.codecogs.com/png.latex?d"> is pinned down by <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> real numbers, the qubit’s three being the case <img src="https://latex.codecogs.com/png.latex?d%20=%202">.</p>
<details class="aside">
<summary>Where $d^2 - 1$ comes from</summary>
<p>A <img src="https://latex.codecogs.com/png.latex?d%20%5Ctimes%20d"> Hermitian matrix is fixed by <img src="https://latex.codecogs.com/png.latex?d%5E2"> real numbers: <img src="https://latex.codecogs.com/png.latex?d"> real numbers on the diagonal, plus the entries above the diagonal, each complex and so worth two reals, with everything below the diagonal forced by Hermiticity. The off-diagonal count is <img src="https://latex.codecogs.com/png.latex?2%20%5Ccdot%20%5Ctfrac%7Bd(d-1)%7D%7B2%7D%20=%20d(d-1)">, and <img src="https://latex.codecogs.com/png.latex?d%20+%20d(d-1)%20=%20d%5E2">. Fixing the trace to one removes a single degree of freedom, leaving <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201">.</p>
</details>
<p>So the quantum state space is <img src="https://latex.codecogs.com/png.latex?(d%5E2%20-%201)">-dimensional, against the classical simplex’s <img src="https://latex.codecogs.com/png.latex?d%20-%201">. For a single bit, three against one. The freedom grew <em>quadratically</em>, and every result in this post is a shadow of that one fact.</p>
<p>The rest of the cast carries over almost unchanged. A quantum copier is a <em>channel</em>: a linear map that turns density matrices into density matrices. It has to be linear for exactly the reason it was classically, that a coin-flip mixture of inputs must come out as the same coin-flip mixture of outputs. And the classical lawfulness checklist survives the upgrade, renamed. Non-negative entries grow into <em>positivity</em>: a channel must keep the density matrix’s eigenvalues non-negative, so that they can stay probabilities. Columns summing to one grow into <em>trace preservation</em>, the matrix version of “the outcomes still add up to one”. (Row sums, our standing fixed-centre rule, return in a moment.) Only one word of the checklist is genuinely new. The positivity demand sharpens to <em>complete positivity</em>: the map must keep sending valid states to valid states even when it acts on only part of a larger entangled system, a failure mode classical probability simply does not have. Channels are well-understood objects with a clean structure theory.<sup>4</sup> For us they are simply the right notion of “physically allowed operation,” and we will not pry them open.</p>
<p>We make the same restriction we made classically. Out of all channels we keep the ones that leave the state of total ignorance untouched. Classically that was the uniform distribution. Here it is the <em>maximally mixed state</em>, the centre of the Bloch ball, written <img src="https://latex.codecogs.com/png.latex?I/d"> with <img src="https://latex.codecogs.com/png.latex?I"> the identity matrix. A channel that fixes it prefers no state to any other, which is the least we should ask of a process whose only job is to forget. (Such channels have a name, <em>unital</em>, but the name matters less than the picture.)</p>
<p>Total erasure is the same idea as before, too. The <em>completely depolarizing channel</em> sends every input, no exceptions, to the maximally mixed state. The whole Bloch ball collapses to its centre point in a single step. This is the quantum CDC, and it is the operator we now want to take roots of.</p>
<p>The classical bonus survives the upgrade word for word. The argument that any stochastic root of the classical <img src="https://latex.codecogs.com/png.latex?P"> fixes the uniform distribution used nothing but <img src="https://latex.codecogs.com/png.latex?SP%20=%20PS"> and the fact that <img src="https://latex.codecogs.com/png.latex?P"> erases everything, and both survive here. So any trace-preserving channel root of the quantum CDC fixes the maximally mixed state of its own accord: unitality, like bistochasticity before it, is not a restriction on the hunt but a property every candidate brings along.</p>
<p>Here is where that quadratic shows up where it counts. Ask the same question as in the classical case: how large can <img src="https://latex.codecogs.com/png.latex?k"> be, if a channel <img src="https://latex.codecogs.com/png.latex?S"> satisfies <img src="https://latex.codecogs.com/png.latex?S%5Ek%20=%20P"> but no smaller power does? The argument has the same skeleton. The quantum CDC is again a rank-one map, rank one as a linear map on the <img src="https://latex.codecogs.com/png.latex?d%5E2">-dimensional space of operators: it sends the entire space of traceless operators, the directions away from the maximally mixed state, to zero. Any <img src="https://latex.codecogs.com/png.latex?S"> powering to it must carry a <em>nilpotent</em> part on that space, and a single nilpotent block on a space of dimension <img src="https://latex.codecogs.com/png.latex?D"> takes at most <img src="https://latex.codecogs.com/png.latex?D"> steps to wind down. Only now <img src="https://latex.codecogs.com/png.latex?D%20=%20d%5E2%20-%201"> rather than <img src="https://latex.codecogs.com/png.latex?d%20-%201">, so <img src="https://latex.codecogs.com/png.latex?%0Ak%20%5C;%5Cleq%5C;%20d%5E2%20-%201.%0A"></p>
<details class="aside">
<summary>Why the bound is reached in every dimension</summary>
<p>Work with operators instead of probability vectors. Let <img src="https://latex.codecogs.com/png.latex?D%20=%20d%5E2%20-%201"> and pick a basis of Hermitian matrices <img src="https://latex.codecogs.com/png.latex?I/%5Csqrt%7Bd%7D,%5C,%20F_1,%20%5Cldots,%20F_D"> with every <img src="https://latex.codecogs.com/png.latex?F_j"> traceless, orthonormal in the trace inner product <img src="https://latex.codecogs.com/png.latex?%5Clangle%20A,%20B%20%5Crangle%20=%20%5Coperatorname%7Btr%7D(A%5E%5Cdagger%20B)">. Let <img src="https://latex.codecogs.com/png.latex?N"> shift the list: <img src="https://latex.codecogs.com/png.latex?%0AN(I)%20=%20N(F_1)%20=%200,%20%5Cqquad%20N(F_j)%20=%20F_%7Bj-1%7D%20%5Cquad%20(2%20%5Cle%20j%20%5Cle%20D),%0A"> so <img src="https://latex.codecogs.com/png.latex?N%5ED%20=%200"> while <img src="https://latex.codecogs.com/png.latex?N%5E%7BD-1%7D%20%5Cneq%200">: the operator <img src="https://latex.codecogs.com/png.latex?F_D"> survives <img src="https://latex.codecogs.com/png.latex?D%20-%201"> steps. Set <img src="https://latex.codecogs.com/png.latex?S_%5Cvarepsilon%20=%20P%20+%20%5Cvarepsilon%20N">. Trace preservation and unitality hold by construction, since <img src="https://latex.codecogs.com/png.latex?N"> kills the identity and outputs only traceless operators, and the same two facts give <img src="https://latex.codecogs.com/png.latex?PN%20=%20NP%20=%200">. The cross terms die exactly as they did classically, <img src="https://latex.codecogs.com/png.latex?%0AS_%5Cvarepsilon%5Ek%20%5C;=%5C;%20P%20+%20%5Cvarepsilon%5Ek%20N%5Ek,%0A"> so every nonzero admissible <img src="https://latex.codecogs.com/png.latex?%5Cvarepsilon"> keeps the maximal order <img src="https://latex.codecogs.com/png.latex?D">.</p>
<p>Only complete positivity can still fail, and the check mirrors the classical non-negativity argument. Complete positivity of a map is the positive semidefiniteness of a single matrix assembled from it, its <em>Choi matrix</em> <img src="https://latex.codecogs.com/png.latex?J"> (part of the structure theory in the footnote above), and <img src="https://latex.codecogs.com/png.latex?J"> depends linearly on the map: <img src="https://latex.codecogs.com/png.latex?%0AJ(S_%5Cvarepsilon)%20%5C;=%5C;%20J(P)%20+%20%5Cvarepsilon%5C,%20J(N).%0A"> In the convention <img src="https://latex.codecogs.com/png.latex?J(T)%20=%20%5Csum_%7Bij%7D%20T(%7Ci%5Crangle%5Clangle%20j%7C)%20%5Cotimes%20%7Ci%5Crangle%5Clangle%20j%7C">, the completely depolarizing channel has <img src="https://latex.codecogs.com/png.latex?J(P)%20=%20I_%7Bd%5E2%7D/d">, with <img src="https://latex.codecogs.com/png.latex?I_%7Bd%5E2%7D"> the identity on the doubled, <img src="https://latex.codecogs.com/png.latex?d%5E2">-dimensional space: strictly positive definite, the quantum counterpart of “every entry of <img src="https://latex.codecogs.com/png.latex?P"> is <img src="https://latex.codecogs.com/png.latex?1/d">”. A Hermitian perturbation cannot drag an eigenvalue below zero while <img src="https://latex.codecogs.com/png.latex?%0A%7C%5Cvarepsilon%7C%20%5C;%5Cle%5C;%20%5Cfrac%7B%5Clambda_%7B%5Cmin%7D(J(P))%7D%7B%5C%7CJ(N)%5C%7C_%7B%5Cmathrm%7Bop%7D%7D%7D%20.%0A"> With the basis above, <img src="https://latex.codecogs.com/png.latex?%5C%7CJ(N)%5C%7C_%7B%5Cmathrm%7Bop%7D%7D%20%5Cle%20d%5E2%20-%202">: the Choi matrix of the shift is a sum of <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%202"> terms <img src="https://latex.codecogs.com/png.latex?F_%7Bj-1%7D%20%5Cotimes%20%5Coverline%7BF_j%7D">, each of operator norm at most one, because a Hermitian matrix of unit Hilbert-Schmidt norm has operator norm at most one. So the dimension-only choice <img src="https://latex.codecogs.com/png.latex?%0A%7C%5Cvarepsilon%7C%20%5C;%5Cle%5C;%20%5Cfrac%7B1%7D%7Bd%5C,(d%5E2%20-%202)%7D%0A"> suffices, and the shifted block, shrunk gently, is a lawful channel of order exactly <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> in every dimension. The polished version of this construction is Theorem 3.4 of the paper.<sup>5</sup></p>
</details>
<p>Set <img src="https://latex.codecogs.com/png.latex?d%20=%202">. The classical bound was <img src="https://latex.codecogs.com/png.latex?k%20%5Cleq%201">: a single bit could not be erased in more than one step. The quantum bound is <img src="https://latex.codecogs.com/png.latex?k%20%5Cleq%203">. Three gentle steps to forget one qubit (Figure&nbsp;4), where one classical bit allowed only the abrupt single step. The room to subdivide erasure grew, and it grew quadratically.</p>
<div id="fig-bloch-root" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-bloch-root-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<!-- Figure 4: maximal qubit root S on the Bloch ball, animated. Skeleton SVG (ball wireframe + axes + poles + I/2 + data-* + empty layers) from bloch_root_figure.py; the script builds the resting axis orbits and the cloud-collapse animation (z->y->x->0) from S. Tap to play, reduced-motion/JS-off => static ball. -->
<style>
.bloch-root-animated{max-width:520px;margin:1.25rem auto;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
.bloch-root-animated svg{width:100%;height:auto;display:block;}
.bloch-root-animated .bl-hint{margin:.4rem 0 0;text-align:center;font-size:13px;color:#9aa9b5;}
.bloch-root-animated .bl-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
</style>
<div class="bloch-root-animated">
<p class="bl-vh">Animation of the maximal qubit root S on the Bloch ball. A cloud of Bloch vectors is driven by S to the maximally mixed centre I/2 in stages, each step shrinking and rotating it onto the next axis (z to y to x to 0). Three pure axis states are highlighted: the z-pole takes three steps (the hero, realizing the order-3 bound), the y-axis two, the x-axis one. Tap the figure to play the animation.</p>
<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 640 640" font-family="Georgia, 'Times New Roman', serif" aria-label="The maximal qubit root S driving Bloch vectors to the centre in stages" data-cx="320" data-cy="332" data-r="210" data-alpha-deg="35" data-elev-deg="20">
  <defs>
    <marker id="arrow" viewbox="0 0 10 10" refx="9" refy="5" markerwidth="8" markerheight="8" orient="auto-start-reverse">
      <path d="M 0 0 L 10 5 L 0 10 z" fill="#233746"></path>
    </marker>
    <marker id="arrowG" viewbox="0 0 10 10" refx="9" refy="5" markerwidth="7" markerheight="7" orient="auto-start-reverse">
      <path d="M 0 0 L 10 5 L 0 10 z" fill="#829aa6"></path>
    </marker>
    <marker id="arrowB" viewbox="0 0 10 10" refx="9" refy="5" markerwidth="7" markerheight="7" orient="auto-start-reverse">
      <path d="M 0 0 L 10 5 L 0 10 z" fill="#1565c0"></path>
    </marker>
  </defs>

  <!-- Latitude circles -->
  <g>
    <polyline points="439.10,159.08 440.97,160.52 442.69,161.97 444.25,163.45 445.67,164.94 446.94,166.45 448.05,167.97 449.00,169.50 449.80,171.05 450.43,172.60 450.91,174.16 451.23,175.73 451.39,177.29 451.39,178.86 451.23,180.43 450.91,182.00 450.43,183.56 449.80,185.11 449.00,186.65 448.05,188.19 446.94,189.71 445.67,191.22 444.25,192.71 442.69,194.19 440.97,195.64 439.10,197.07 437.09,198.48 434.94,199.87 432.64,201.23 430.21,202.56 427.65,203.86 424.95,205.13 422.13,206.36 419.18,207.57 416.11,208.73 412.92,209.86 409.62,210.95 406.22,212.00 402.70,213.01 399.09,213.97 395.38,214.90 391.57,215.77 387.68,216.60 383.71,217.39 379.66,218.13 375.54,218.81 371.35,219.45 367.09,220.04 362.78,220.58 358.42,221.06 354.01,221.49 349.56,221.87 345.07,222.20 340.56,222.47 336.02,222.69 331.45,222.85 326.88,222.96 322.29,223.02 317.71,223.02 313.12,222.96 308.55,222.85 303.98,222.69 299.44,222.47 294.93,222.20 290.44,221.87 285.99,221.49 281.58,221.06 277.22,220.58 272.91,220.04 268.65,219.45 264.46,218.81 260.34,218.13 256.29,217.39 252.32,216.60 248.43,215.77 244.62,214.90 240.91,213.97 237.30,213.01 233.78,212.00 230.38,210.95 227.08,209.86 223.89,208.73 220.82,207.57 217.87,206.36 215.05,205.13 212.35,203.86 209.79,202.56 207.36,201.23 205.06,199.87 202.91,198.48 200.90,197.07 199.03,195.64 197.31,194.19 195.75,192.71 194.33,191.22 193.06,189.71 191.95,188.19 191.00,186.65 190.20,185.11 189.57,183.56 189.09,182.00 188.77,180.43 188.61,178.86 188.61,177.29 188.77,175.73 189.09,174.16 189.57,172.60 190.20,171.05 191.00,169.50 191.95,167.97 193.06,166.45 194.33,164.94 195.75,163.45 197.31,161.97 199.03,160.52 200.90,159.08 202.91,157.67" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="202.91,157.67 205.06,156.29 207.36,154.93 209.79,153.60 212.35,152.30 215.05,151.03 217.87,149.79 220.82,148.59 223.89,147.43 227.08,146.30 230.38,145.21 233.78,144.16 237.30,143.15 240.91,142.18 244.62,141.26 248.43,140.38 252.32,139.55 256.29,138.77 260.34,138.03 264.46,137.34 268.65,136.71 272.91,136.12 277.22,135.58 281.58,135.10 285.99,134.66 290.44,134.28 294.93,133.96 299.44,133.69 303.98,133.47 308.55,133.30 313.12,133.19 317.71,133.14 322.29,133.14 326.88,133.19 331.45,133.30 336.02,133.47 340.56,133.69 345.07,133.96 349.56,134.28 354.01,134.66 358.42,135.10 362.78,135.58 367.09,136.12 371.35,136.71 375.54,137.34 379.66,138.03 383.71,138.77 387.68,139.55 391.57,140.38 395.38,141.26 399.09,142.18 402.70,143.15 406.22,144.16 409.62,145.21 412.92,146.30 416.11,147.43 419.18,148.59 422.13,149.79 424.95,151.03 427.65,152.30 430.21,153.60 432.64,154.93 434.94,156.29 437.09,157.67 439.10,159.08" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="508.23,238.92 509.16,241.18 509.85,243.44 510.32,245.71 510.55,247.98 510.55,250.26 510.32,252.53 509.85,254.80 509.16,257.06 508.23,259.32 507.08,261.56 505.70,263.78 504.09,265.99 502.25,268.18 500.20,270.34 497.92,272.48 495.43,274.59 492.72,276.67 489.81,278.71 486.69,280.72 483.36,282.69 479.83,284.62 476.11,286.51 472.20,288.35 468.11,290.14 463.83,291.88 459.38,293.57 454.76,295.21 449.98,296.79 445.03,298.31 439.94,299.78 434.69,301.18 429.31,302.51 423.80,303.79 418.16,304.99 412.40,306.13 406.52,307.20 400.54,308.19 394.47,309.12 388.30,309.97 382.05,310.75 375.72,311.45 369.33,312.08 362.87,312.63 356.36,313.10 349.81,313.50 343.23,313.82 336.61,314.05 329.97,314.21 323.33,314.29 316.67,314.29 310.03,314.21 303.39,314.05 296.77,313.82 290.19,313.50 283.64,313.10 277.13,312.63 270.67,312.08 264.28,311.45 257.95,310.75 251.70,309.97 245.53,309.12 239.46,308.19 233.48,307.20 227.60,306.13 221.84,304.99 216.20,303.79 210.69,302.51 205.31,301.18 200.06,299.78 194.97,298.31 190.02,296.79 185.24,295.21 180.62,293.57 176.17,291.88 171.89,290.14 167.80,288.35 163.89,286.51 160.17,284.62 156.64,282.69 153.31,280.72 150.19,278.71 147.28,276.67 144.57,274.59 142.08,272.48 139.80,270.34 137.75,268.18 135.91,265.99 134.30,263.78 132.92,261.56 131.77,259.32 130.84,257.06 130.15,254.80 129.68,252.53 129.45,250.26 129.45,247.98 129.68,245.71 130.15,243.44 130.84,241.18 131.77,238.92 132.92,236.68" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="132.92,236.68 134.30,234.46 135.91,232.25 137.75,230.06 139.80,227.90 142.08,225.76 144.57,223.65 147.28,221.57 150.19,219.53 153.31,217.52 156.64,215.55 160.17,213.62 163.89,211.73 167.80,209.89 171.89,208.10 176.17,206.36 180.62,204.66 185.24,203.03 190.02,201.45 194.97,199.93 200.06,198.46 205.31,197.06 210.69,195.72 216.20,194.45 221.84,193.25 227.60,192.11 233.48,191.04 239.46,190.04 245.53,189.12 251.70,188.27 257.95,187.49 264.28,186.79 270.67,186.16 277.13,185.61 283.64,185.13 290.19,184.74 296.77,184.42 303.39,184.18 310.03,184.03 316.67,183.95 323.33,183.95 329.97,184.03 336.61,184.18 343.23,184.42 349.81,184.74 356.36,185.13 362.87,185.61 369.33,186.16 375.72,186.79 382.05,187.49 388.30,188.27 394.47,189.12 400.54,190.04 406.52,191.04 412.40,192.11 418.16,193.25 423.80,194.45 429.31,195.72 434.69,197.06 439.94,198.46 445.03,199.93 449.98,201.45 454.76,203.03 459.38,204.66 463.83,206.36 468.11,208.10 472.20,209.89 476.11,211.73 479.83,213.62 483.36,215.55 486.69,217.52 489.81,219.53 492.72,221.57 495.43,223.65 497.92,225.76 500.20,227.90 502.25,230.06 504.09,232.25 505.70,234.46 507.08,236.68 508.23,238.92" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="529.97,333.25 529.71,335.76 529.20,338.26 528.43,340.75 527.41,343.24 526.14,345.70 524.62,348.16 522.84,350.59 520.82,353.00 518.56,355.38 516.05,357.74 513.31,360.06 510.32,362.35 507.11,364.61 503.67,366.82 500.01,368.99 496.12,371.12 492.02,373.20 487.71,375.22 483.20,377.20 478.49,379.12 473.58,380.98 468.49,382.79 463.22,384.53 457.77,386.21 452.16,387.82 446.38,389.36 440.45,390.83 434.37,392.24 428.16,393.57 421.81,394.82 415.34,396.00 408.75,397.09 402.05,398.11 395.26,399.05 388.37,399.91 381.40,400.69 374.35,401.38 367.24,401.98 360.07,402.50 352.85,402.94 345.59,403.29 338.30,403.55 330.99,403.73 323.67,403.81 316.33,403.81 309.01,403.73 301.70,403.55 294.41,403.29 287.15,402.94 279.93,402.50 272.76,401.98 265.65,401.38 258.60,400.69 251.63,399.91 244.74,399.05 237.95,398.11 231.25,397.09 224.66,396.00 218.19,394.82 211.84,393.57 205.63,392.24 199.55,390.83 193.62,389.36 187.84,387.82 182.23,386.21 176.78,384.53 171.51,382.79 166.42,380.98 161.51,379.12 156.80,377.20 152.29,375.22 147.98,373.20 143.88,371.12 139.99,368.99 136.33,366.82 132.89,364.61 129.68,362.35 126.69,360.06 123.95,357.74 121.44,355.38 119.18,353.00 117.16,350.59 115.38,348.16 113.86,345.70 112.59,343.24 111.57,340.75 110.80,338.26 110.29,335.76 110.03,333.25 110.03,330.75" fill="none" stroke="#829aa6" stroke-width="1.7" stroke-opacity="0.85" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="110.03,330.75 110.29,328.24 110.80,325.74 111.57,323.25 112.59,320.76 113.86,318.30 115.38,315.84 117.16,313.41 119.18,311.00 121.44,308.62 123.95,306.26 126.69,303.94 129.68,301.65 132.89,299.39 136.33,297.18 139.99,295.01 143.88,292.88 147.98,290.80 152.29,288.78 156.80,286.80 161.51,284.88 166.42,283.02 171.51,281.21 176.78,279.47 182.23,277.79 187.84,276.18 193.62,274.64 199.55,273.17 205.63,271.76 211.84,270.43 218.19,269.18 224.66,268.00 231.25,266.91 237.95,265.89 244.74,264.95 251.63,264.09 258.60,263.31 265.65,262.62 272.76,262.02 279.93,261.50 287.15,261.06 294.41,260.71 301.70,260.45 309.01,260.27 316.33,260.19 323.67,260.19 330.99,260.27 338.30,260.45 345.59,260.71 352.85,261.06 360.07,261.50 367.24,262.02 374.35,262.62 381.40,263.31 388.37,264.09 395.26,264.95 402.05,265.89 408.75,266.91 415.34,268.00 421.81,269.18 428.16,270.43 434.37,271.76 440.45,273.17 446.38,274.64 452.16,276.18 457.77,277.79 463.22,279.47 468.49,281.21 473.58,283.02 478.49,284.88 483.20,286.80 487.71,288.78 492.02,290.80 496.12,292.88 500.01,295.01 503.67,297.18 507.11,299.39 510.32,301.65 513.31,303.94 516.05,306.26 518.56,308.62 520.82,311.00 522.84,313.41 524.62,315.84 526.14,318.30 527.41,320.76 528.43,323.25 529.20,325.74 529.71,328.24 529.97,330.75 529.97,333.25" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.3" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="507.08,427.32 505.70,429.54 504.09,431.75 502.25,433.94 500.20,436.10 497.92,438.24 495.43,440.35 492.72,442.43 489.81,444.47 486.69,446.48 483.36,448.45 479.83,450.38 476.11,452.27 472.20,454.11 468.11,455.90 463.83,457.64 459.38,459.34 454.76,460.97 449.98,462.55 445.03,464.07 439.94,465.54 434.69,466.94 429.31,468.28 423.80,469.55 418.16,470.75 412.40,471.89 406.52,472.96 400.54,473.96 394.47,474.88 388.30,475.73 382.05,476.51 375.72,477.21 369.33,477.84 362.87,478.39 356.36,478.87 349.81,479.26 343.23,479.58 336.61,479.82 329.97,479.97 323.33,480.05 316.67,480.05 310.03,479.97 303.39,479.82 296.77,479.58 290.19,479.26 283.64,478.87 277.13,478.39 270.67,477.84 264.28,477.21 257.95,476.51 251.70,475.73 245.53,474.88 239.46,473.96 233.48,472.96 227.60,471.89 221.84,470.75 216.20,469.55 210.69,468.28 205.31,466.94 200.06,465.54 194.97,464.07 190.02,462.55 185.24,460.97 180.62,459.34 176.17,457.64 171.89,455.90 167.80,454.11 163.89,452.27 160.17,450.38 156.64,448.45 153.31,446.48 150.19,444.47 147.28,442.43 144.57,440.35 142.08,438.24 139.80,436.10 137.75,433.94 135.91,431.75 134.30,429.54 132.92,427.32 131.77,425.08" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="131.77,425.08 130.84,422.82 130.15,420.56 129.68,418.29 129.45,416.02 129.45,413.74 129.68,411.47 130.15,409.20 130.84,406.94 131.77,404.68 132.92,402.44 134.30,400.22 135.91,398.01 137.75,395.82 139.80,393.66 142.08,391.52 144.57,389.41 147.28,387.33 150.19,385.29 153.31,383.28 156.64,381.31 160.17,379.38 163.89,377.49 167.80,375.65 171.89,373.86 176.17,372.12 180.62,370.43 185.24,368.79 190.02,367.21 194.97,365.69 200.06,364.22 205.31,362.82 210.69,361.49 216.20,360.21 221.84,359.01 227.60,357.87 233.48,356.80 239.46,355.81 245.53,354.88 251.70,354.03 257.95,353.25 264.28,352.55 270.67,351.92 277.13,351.37 283.64,350.90 290.19,350.50 296.77,350.18 303.39,349.95 310.03,349.79 316.67,349.71 323.33,349.71 329.97,349.79 336.61,349.95 343.23,350.18 349.81,350.50 356.36,350.90 362.87,351.37 369.33,351.92 375.72,352.55 382.05,353.25 388.30,354.03 394.47,354.88 400.54,355.81 406.52,356.80 412.40,357.87 418.16,359.01 423.80,360.21 429.31,361.49 434.69,362.82 439.94,364.22 445.03,365.69 449.98,367.21 454.76,368.79 459.38,370.43 463.83,372.12 468.11,373.86 472.20,375.65 476.11,377.49 479.83,379.38 483.36,381.31 486.69,383.28 489.81,385.29 492.72,387.33 495.43,389.41 497.92,391.52 500.20,393.66 502.25,395.82 504.09,398.01 505.70,400.22 507.08,402.44 508.23,404.68 509.16,406.94 509.85,409.20 510.32,411.47 510.55,413.74 510.55,416.02 510.32,418.29 509.85,420.56 509.16,422.82 508.23,425.08 507.08,427.32" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="437.09,506.33 434.94,507.71 432.64,509.07 430.21,510.40 427.65,511.70 424.95,512.97 422.13,514.21 419.18,515.41 416.11,516.57 412.92,517.70 409.62,518.79 406.22,519.84 402.70,520.85 399.09,521.82 395.38,522.74 391.57,523.62 387.68,524.45 383.71,525.23 379.66,525.97 375.54,526.66 371.35,527.29 367.09,527.88 362.78,528.42 358.42,528.90 354.01,529.34 349.56,529.72 345.07,530.04 340.56,530.31 336.02,530.53 331.45,530.70 326.88,530.81 322.29,530.86 317.71,530.86 313.12,530.81 308.55,530.70 303.98,530.53 299.44,530.31 294.93,530.04 290.44,529.72 285.99,529.34 281.58,528.90 277.22,528.42 272.91,527.88 268.65,527.29 264.46,526.66 260.34,525.97 256.29,525.23 252.32,524.45 248.43,523.62 244.62,522.74 240.91,521.82 237.30,520.85 233.78,519.84 230.38,518.79 227.08,517.70 223.89,516.57 220.82,515.41 217.87,514.21 215.05,512.97 212.35,511.70 209.79,510.40 207.36,509.07 205.06,507.71 202.91,506.33 200.90,504.92" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="200.90,504.92 199.03,503.48 197.31,502.03 195.75,500.55 194.33,499.06 193.06,497.55 191.95,496.03 191.00,494.50 190.20,492.95 189.57,491.40 189.09,489.84 188.77,488.27 188.61,486.71 188.61,485.14 188.77,483.57 189.09,482.00 189.57,480.44 190.20,478.89 191.00,477.35 191.95,475.81 193.06,474.29 194.33,472.78 195.75,471.29 197.31,469.81 199.03,468.36 200.90,466.93 202.91,465.52 205.06,464.13 207.36,462.77 209.79,461.44 212.35,460.14 215.05,458.87 217.87,457.64 220.82,456.43 223.89,455.27 227.08,454.14 230.38,453.05 233.78,452.00 237.30,450.99 240.91,450.03 244.62,449.10 248.43,448.23 252.32,447.40 256.29,446.61 260.34,445.87 264.46,445.19 268.65,444.55 272.91,443.96 277.22,443.42 281.58,442.94 285.99,442.51 290.44,442.13 294.93,441.80 299.44,441.53 303.98,441.31 308.55,441.15 313.12,441.04 317.71,440.98 322.29,440.98 326.88,441.04 331.45,441.15 336.02,441.31 340.56,441.53 345.07,441.80 349.56,442.13 354.01,442.51 358.42,442.94 362.78,443.42 367.09,443.96 371.35,444.55 375.54,445.19 379.66,445.87 383.71,446.61 387.68,447.40 391.57,448.23 395.38,449.10 399.09,450.03 402.70,450.99 406.22,452.00 409.62,453.05 412.92,454.14 416.11,455.27 419.18,456.43 422.13,457.64 424.95,458.87 427.65,460.14 430.21,461.44 432.64,462.77 434.94,464.13 437.09,465.52 439.10,466.93 440.97,468.36 442.69,469.81 444.25,471.29 445.67,472.78 446.94,474.29 448.05,475.81 449.00,477.35 449.80,478.89 450.43,480.44 450.91,482.00 451.23,483.57 451.39,485.14 451.39,486.71 451.23,488.27 450.91,489.84 450.43,491.40 449.80,492.95 449.00,494.50 448.05,496.03 446.94,497.55 445.67,499.06 444.25,500.55 442.69,502.03 440.97,503.48 439.10,504.92 437.09,506.33" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  </g>

  <!-- Longitude meridians -->
  <g>
    <polyline points="320.00,134.66 323.00,135.41 326.00,136.22 329.00,137.09 332.00,138.02 334.99,139.01 337.98,140.05 340.96,141.16 343.94,142.32 346.91,143.54 349.87,144.82 352.82,146.15 355.77,147.54 358.70,148.99 361.62,150.49 364.52,152.05 367.42,153.66 370.29,155.33 373.16,157.05 376.00,158.83 378.83,160.66 381.65,162.54 384.44,164.47 387.21,166.45 389.97,168.48 392.70,170.56 395.41,172.70 398.10,174.88 400.76,177.10 403.40,179.38 406.01,181.70 408.60,184.07 411.16,186.48 413.69,188.94 416.19,191.44 418.67,193.98 421.11,196.57 423.53,199.19 425.91,201.86 428.26,204.57 430.57,207.31 432.86,210.10 435.11,212.92 437.32,215.77 439.50,218.67 441.64,221.59 443.74,224.55 445.81,227.55 447.84,230.57 449.83,233.63 451.78,236.71 453.69,239.83 455.56,242.97 457.38,246.14 459.17,249.34 460.91,252.56 462.61,255.81 464.27,259.07 465.88,262.36 467.45,265.68 468.98,269.01 470.45,272.36 471.89,275.73 473.27,279.12 474.61,282.52 475.90,285.94 477.15,289.37 478.35,292.82 479.50,296.27 480.60,299.74 481.65,303.22 482.65,306.71 483.60,310.20 484.51,313.70 485.36,317.21 486.16,320.72 486.91,324.23 487.61,327.75 488.26,331.27 488.86,334.79 489.41,338.30 489.90,341.82 490.35,345.33 490.74,348.84 491.08,352.34 491.37,355.84 491.60,359.33 491.79,362.81 491.92,366.28 492.00,369.75 492.02,373.20 492.00,376.63 491.92,380.06 491.79,383.47 491.60,386.86 491.37,390.24 491.08,393.60 490.74,396.94 490.35,400.26 489.90,403.56 489.41,406.84 488.86,410.09 488.26,413.32 487.61,416.53 486.91,419.71 486.16,422.87 485.36,425.99 484.51,429.09 483.60,432.16 482.65,435.20 481.65,438.20 480.60,441.18 479.50,444.12 478.35,447.03 477.15,449.90 475.90,452.73 474.61,455.53 473.27,458.29 471.89,461.02 470.45,463.70 468.98,466.35 467.45,468.95 465.88,471.51 464.27,474.03 462.61,476.50 460.91,478.93 459.17,481.32 457.38,483.66 455.56,485.96 453.69,488.20 451.78,490.40 449.83,492.56 447.84,494.66 445.81,496.71 443.74,498.72 441.64,500.67 439.50,502.57 437.32,504.42 435.11,506.21 432.86,507.96 430.57,509.65 428.26,511.28 425.91,512.87 423.53,514.39 421.11,515.86 418.67,517.28 416.19,518.64 413.69,519.94 411.16,521.18" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="411.16,521.18 408.60,522.37 406.01,523.50 403.40,524.57 400.76,525.58 398.10,526.53 395.41,527.42 392.70,528.26 389.97,529.03 387.21,529.75 384.44,530.40 381.65,530.99 378.83,531.52 376.00,532.00 373.16,532.41 370.29,532.76 367.42,533.05 364.52,533.27 361.62,533.44 358.70,533.54 355.77,533.59 352.82,533.57 349.87,533.49 346.91,533.35 343.94,533.15 340.96,532.89 337.98,532.56 334.99,532.18 332.00,531.73 329.00,531.22 326.00,530.65 323.00,530.02 320.00,529.34" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="320.00,134.66 320.64,135.93 321.27,137.25 321.91,138.64 322.54,140.08 323.18,141.58 323.81,143.14 324.44,144.76 325.08,146.43 325.70,148.16 326.33,149.95 326.96,151.79 327.58,153.68 328.20,155.63 328.82,157.64 329.44,159.70 330.05,161.81 330.66,163.97 331.27,166.18 331.87,168.44 332.47,170.76 333.07,173.12 333.66,175.53 334.25,177.99 334.83,180.49 335.41,183.05 335.99,185.64 336.56,188.28 337.12,190.97 337.68,193.70 338.23,196.47 338.78,199.28 339.32,202.13 339.86,205.02 340.39,207.95 340.92,210.92 341.43,213.93 341.95,216.97 342.45,220.05 342.95,223.16 343.44,226.30 343.92,229.47 344.40,232.68 344.87,235.92 345.33,239.18 345.79,242.48 346.23,245.80 346.67,249.15 347.10,252.52 347.52,255.92 347.93,259.34 348.34,262.78 348.74,266.25 349.12,269.73 349.50,273.23 349.87,276.75 350.23,280.29 350.58,283.85 350.93,287.41 351.26,290.99 351.58,294.59 351.89,298.19 352.20,301.81 352.49,305.44 352.78,309.07 353.05,312.71 353.31,316.35 353.57,320.01 353.81,323.66 354.04,327.32 354.27,330.97 354.48,334.63 354.68,338.29 354.87,341.95 355.05,345.60 355.22,349.25 355.38,352.89 355.53,356.53 355.67,360.16 355.80,363.78 355.91,367.39 356.02,370.99 356.11,374.58 356.19,378.16 356.27,381.72 356.33,385.26 356.38,388.80 356.42,392.31 356.44,395.80 356.46,399.28 356.47,402.73 356.46,406.17 356.44,409.58 356.42,412.96 356.38,416.33 356.33,419.66 356.27,422.97 356.19,426.25 356.11,429.51 356.02,432.73 355.91,435.93 355.80,439.09 355.67,442.22 355.53,445.31 355.38,448.37 355.22,451.40 355.05,454.39 354.87,457.34 354.68,460.25 354.48,463.13 354.27,465.96 354.04,468.75 353.81,471.51 353.57,474.22 353.31,476.88 353.05,479.50 352.78,482.08 352.49,484.61 352.20,487.10 351.89,489.53 351.58,491.92 351.26,494.27 350.93,496.56 350.58,498.80 350.23,500.99 349.87,503.13 349.50,505.22 349.12,507.25 348.74,509.23 348.34,511.16 347.93,513.03 347.52,514.85 347.10,516.61 346.67,518.31 346.23,519.96 345.79,521.55 345.33,523.09 344.87,524.56 344.40,525.98 343.92,527.34 343.44,528.63 342.95,529.87 342.45,531.05 341.95,532.17 341.43,533.22 340.92,534.22 340.39,535.15 339.86,536.02 339.32,536.83 338.78,537.58 338.23,538.26 337.68,538.89 337.12,539.44 336.56,539.94 335.99,540.37 335.41,540.74 334.83,541.04 334.25,541.29 333.66,541.46 333.07,541.58 332.47,541.63" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="332.47,541.63 331.87,541.61 331.27,541.53 330.66,541.39 330.05,541.19 329.44,540.92 328.82,540.59 328.20,540.19 327.58,539.73 326.96,539.21 326.33,538.62 325.70,537.97 325.08,537.26 324.44,536.48 323.81,535.65 323.18,534.75 322.54,533.79 321.91,532.77 321.27,531.68 320.64,530.54 320.00,529.34" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="320.00,134.66 317.90,135.72 315.80,136.84 313.70,138.01 311.60,139.25 309.50,140.54 307.41,141.90 305.32,143.31 303.24,144.77 301.16,146.30 299.08,147.88 297.02,149.52 294.96,151.21 292.90,152.96 290.86,154.76 288.82,156.62 286.80,158.53 284.78,160.49 282.78,162.50 280.78,164.57 278.80,166.69 276.83,168.86 274.88,171.07 272.94,173.34 271.01,175.66 269.10,178.02 267.20,180.43 265.32,182.88 263.45,185.38 261.60,187.93 259.77,190.52 257.96,193.15 256.17,195.83 254.40,198.54 252.64,201.30 250.91,204.10 249.20,206.93 247.51,209.81 245.84,212.72 244.20,215.67 242.58,218.65 240.98,221.67 239.40,224.72 237.85,227.80 236.33,230.92 234.83,234.07 233.35,237.24 231.91,240.45 230.49,243.68 229.09,246.94 227.73,250.23 226.39,253.54 225.08,256.87 223.80,260.23 222.55,263.61 221.33,267.01 220.14,270.43 218.98,273.87 217.85,277.32 216.75,280.80 215.69,284.28 214.65,287.79 213.65,291.30 212.68,294.83 211.74,298.37 210.83,301.93 209.96,305.48 209.12,309.05 208.32,312.63 207.55,316.21 206.81,319.79 206.11,323.38 205.44,326.98 204.81,330.57 204.22,334.16 203.65,337.76 203.13,341.35 202.64,344.94 202.18,348.52 201.76,352.10 201.38,355.67 201.03,359.24 200.72,362.80 200.45,366.35 200.21,369.89 200.01,373.41 199.84,376.93 199.71,380.43 199.62,383.91 199.57,387.38 199.55,390.83 199.57,394.27 199.62,397.69 199.71,401.08 199.84,404.46 200.01,407.81 200.21,411.14 200.45,414.45 200.72,417.73 201.03,420.98 201.38,424.21 201.76,427.41 202.18,430.58 202.64,433.72 203.13,436.83 203.65,439.90 204.22,442.95 204.81,445.96 205.44,448.94 206.11,451.88 206.81,454.78 207.55,457.65 208.32,460.47 209.12,463.26 209.96,466.01 210.83,468.72 211.74,471.39 212.68,474.01 213.65,476.59 214.65,479.13 215.69,481.62 216.75,484.07 217.85,486.47 218.98,488.82 220.14,491.12 221.33,493.38 222.55,495.59 223.80,497.75 225.08,499.85 226.39,501.91 227.73,503.91 229.09,505.87 230.49,507.77 231.91,509.61 233.35,511.40 234.83,513.14 236.33,514.82 237.85,516.45 239.40,518.02 240.98,519.53 242.58,520.99 244.20,522.38 245.84,523.72 247.51,525.01 249.20,526.23 250.91,527.39 252.64,528.50 254.40,529.54 256.17,530.53 257.96,531.45 259.77,532.31 261.60,533.12 263.45,533.86 265.32,534.54 267.20,535.16 269.10,535.71 271.01,536.21 272.94,536.64" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="272.94,536.64 274.88,537.01 276.83,537.31 278.80,537.56 280.78,537.74 282.78,537.86 284.78,537.91 286.80,537.91 288.82,537.84 290.86,537.71 292.90,537.51 294.96,537.26 297.02,536.94 299.08,536.55 301.16,536.11 303.24,535.60 305.32,535.03 307.41,534.40 309.50,533.71 311.60,532.96 313.70,532.14 315.80,531.27 317.90,530.33 320.00,529.34" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="320.00,134.66 316.39,134.91 312.78,135.22 309.18,135.59 305.57,136.02 301.98,136.50 298.38,137.05 294.80,137.66 291.22,138.32 287.65,139.05 284.09,139.83 280.54,140.67 277.00,141.57 273.48,142.53 269.97,143.54 266.47,144.62 263.00,145.75 259.53,146.93 256.09,148.18 252.67,149.48 249.27,150.83 245.89,152.24 242.53,153.71 239.19,155.23 235.88,156.80 232.60,158.42 229.34,160.10 226.11,161.84 222.91,163.62 219.74,165.45 216.60,167.34 213.49,169.27 210.41,171.26 207.36,173.29 204.35,175.38 201.38,177.51 198.44,179.68 195.54,181.91 192.68,184.18 189.85,186.49 187.07,188.85 184.32,191.25 181.62,193.70 178.96,196.18 176.34,198.71 173.76,201.28 171.23,203.89 168.75,206.54 166.31,209.23 163.92,211.95 161.57,214.71 159.28,217.51 157.03,220.34 154.83,223.20 152.69,226.10 150.59,229.03 148.55,231.99 146.55,234.98 144.62,238.01 142.73,241.06 140.90,244.13 139.12,247.24 137.40,250.37 135.73,253.52 134.12,256.70 132.57,259.91 131.07,263.13 129.63,266.38 128.25,269.64 126.93,272.93 125.66,276.23 124.46,279.55 123.31,282.88 122.23,286.23 121.20,289.60 120.24,292.97 119.33,296.36 118.49,299.76 117.71,303.17 116.99,306.59 116.33,310.02 115.74,313.45 115.20,316.89 114.73,320.33 114.32,323.78 113.98,327.23 113.69,330.68 113.47,334.13 113.32,337.58 113.22,341.03 113.19,344.47 113.22,347.91 113.32,351.35 113.47,354.78 113.69,358.21 113.98,361.62 114.32,365.03 114.73,368.43 115.20,371.81 115.74,375.19 116.33,378.55 116.99,381.90 117.71,385.23 118.49,388.54 119.33,391.84 120.24,395.12 121.20,398.38 122.23,401.62 123.31,404.84 124.46,408.04 125.66,411.21 126.93,414.36 128.25,417.49 129.63,420.59 131.07,423.66 132.57,426.70 134.12,429.72" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="134.12,429.72 135.73,432.70 137.40,435.66 139.12,438.58 140.90,441.47 142.73,444.33 144.62,447.15 146.55,449.94 148.55,452.69 150.59,455.40 152.69,458.08 154.83,460.72 157.03,463.32 159.28,465.88 161.57,468.40 163.92,470.88 166.31,473.31 168.75,475.70 171.23,478.05 173.76,480.36 176.34,482.62 178.96,484.83 181.62,486.99 184.32,489.11 187.07,491.18 189.85,493.21 192.68,495.18 195.54,497.11 198.44,498.98 201.38,500.80 204.35,502.57 207.36,504.29 210.41,505.96 213.49,507.57 216.60,509.13 219.74,510.64 222.91,512.09 226.11,513.49 229.34,514.83 232.60,516.12 235.88,517.35 239.19,518.52 242.53,519.64 245.89,520.70 249.27,521.70 252.67,522.64 256.09,523.53 259.53,524.36 263.00,525.13 266.47,525.84 269.97,526.49 273.48,527.08 277.00,527.62 280.54,528.09 284.09,528.50 287.65,528.86 291.22,529.15 294.80,529.38 298.38,529.56 301.98,529.67 305.57,529.72 309.18,529.72 312.78,529.65 316.39,529.52 320.00,529.34" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="320.00,134.66 317.00,133.98 314.00,133.35 311.00,132.78 308.00,132.27 305.01,131.82 302.02,131.44 299.04,131.11 296.06,130.85 293.09,130.65 290.13,130.51 287.18,130.43 284.23,130.41 281.30,130.46 278.38,130.56 275.48,130.73 272.58,130.95 269.71,131.24 266.84,131.59 264.00,132.00 261.17,132.48 258.35,133.01 255.56,133.60 252.79,134.25 250.03,134.97 247.30,135.74 244.59,136.58 241.90,137.47 239.24,138.42 236.60,139.43 233.99,140.50 231.40,141.63 228.84,142.82 226.31,144.06" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="226.31,144.06 223.81,145.36 221.33,146.72 218.89,148.14 216.47,149.61 214.09,151.13 211.74,152.72 209.43,154.35 207.14,156.04 204.89,157.79 202.68,159.58 200.50,161.43 198.36,163.33 196.26,165.28 194.19,167.29 192.16,169.34 190.17,171.44 188.22,173.60 186.31,175.80 184.44,178.04 182.62,180.34 180.83,182.68 179.09,185.07 177.39,187.50 175.73,189.97 174.12,192.49 172.55,195.05 171.02,197.65 169.55,200.30 168.11,202.98 166.73,205.71 165.39,208.47 164.10,211.27 162.85,214.10 161.65,216.97 160.50,219.88 159.40,222.82 158.35,225.80 157.35,228.80 156.40,231.84 155.49,234.91 154.64,238.01 153.84,241.13 153.09,244.29 152.39,247.47 151.74,250.68 151.14,253.91 150.59,257.16 150.10,260.44 149.65,263.74 149.26,267.06 148.92,270.40 148.63,273.76 148.40,277.14 148.21,280.53 148.08,283.94 148.00,287.37 147.98,290.80 148.00,294.25 148.08,297.72 148.21,301.19 148.40,304.67 148.63,308.16 148.92,311.66 149.26,315.16 149.65,318.67 150.10,322.18 150.59,325.70 151.14,329.21 151.74,332.73 152.39,336.25 153.09,339.77 153.84,343.28 154.64,346.79 155.49,350.30 156.40,353.80 157.35,357.29 158.35,360.78 159.40,364.26 160.50,367.73 161.65,371.18 162.85,374.63 164.10,378.06 165.39,381.48 166.73,384.88 168.11,388.27 169.55,391.64 171.02,394.99 172.55,398.32 174.12,401.64 175.73,404.93 177.39,408.19 179.09,411.44 180.83,414.66 182.62,417.86 184.44,421.03 186.31,424.17 188.22,427.29 190.17,430.37 192.16,433.43 194.19,436.45 196.26,439.45 198.36,442.41 200.50,445.33 202.68,448.23 204.89,451.08 207.14,453.90 209.43,456.69 211.74,459.43 214.09,462.14 216.47,464.81 218.89,467.43 221.33,470.02 223.81,472.56 226.31,475.06 228.84,477.52 231.40,479.93 233.99,482.30 236.60,484.62 239.24,486.90 241.90,489.12 244.59,491.30 247.30,493.44 250.03,495.52 252.79,497.55 255.56,499.53 258.35,501.46 261.17,503.34 264.00,505.17 266.84,506.95 269.71,508.67 272.58,510.34 275.48,511.95 278.38,513.51 281.30,515.01 284.23,516.46 287.18,517.85 290.13,519.18 293.09,520.46 296.06,521.68 299.04,522.84 302.02,523.95 305.01,524.99 308.00,525.98 311.00,526.91 314.00,527.78 317.00,528.59 320.00,529.34" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="320.00,134.66 319.36,133.46 318.73,132.32 318.09,131.23 317.46,130.21 316.82,129.25 316.19,128.35 315.56,127.52 314.92,126.74 314.30,126.03 313.67,125.38 313.04,124.79 312.42,124.27 311.80,123.81 311.18,123.41 310.56,123.08 309.95,122.81 309.34,122.61 308.73,122.47 308.13,122.39 307.53,122.37 306.93,122.42" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="306.93,122.42 306.34,122.54 305.75,122.71 305.17,122.96 304.59,123.26 304.01,123.63 303.44,124.06 302.88,124.56 302.32,125.11 301.77,125.74 301.22,126.42 300.68,127.17 300.14,127.98 299.61,128.85 299.08,129.78 298.57,130.78 298.05,131.83 297.55,132.95 297.05,134.13 296.56,135.37 296.08,136.66 295.60,138.02 295.13,139.44 294.67,140.91 294.21,142.45 293.77,144.04 293.33,145.69 292.90,147.39 292.48,149.15 292.07,150.97 291.66,152.84 291.26,154.77 290.88,156.75 290.50,158.78 290.13,160.87 289.77,163.01 289.42,165.20 289.07,167.44 288.74,169.73 288.42,172.08 288.11,174.47 287.80,176.90 287.51,179.39 287.22,181.92 286.95,184.50 286.69,187.12 286.43,189.78 286.19,192.49 285.96,195.25 285.73,198.04 285.52,200.87 285.32,203.75 285.13,206.66 284.95,209.61 284.78,212.60 284.62,215.63 284.47,218.69 284.33,221.78 284.20,224.91 284.09,228.07 283.98,231.27 283.89,234.49 283.81,237.75 283.73,241.03 283.67,244.34 283.62,247.67 283.58,251.04 283.56,254.42 283.54,257.83 283.53,261.27 283.54,264.72 283.56,268.20 283.58,271.69 283.62,275.20 283.67,278.74 283.73,282.28 283.81,285.84 283.89,289.42 283.98,293.01 284.09,296.61 284.20,300.22 284.33,303.84 284.47,307.47 284.62,311.11 284.78,314.75 284.95,318.40 285.13,322.05 285.32,325.71 285.52,329.37 285.73,333.03 285.96,336.68 286.19,340.34 286.43,343.99 286.69,347.65 286.95,351.29 287.22,354.93 287.51,358.56 287.80,362.19 288.11,365.81 288.42,369.41 288.74,373.01 289.07,376.59 289.42,380.15 289.77,383.71 290.13,387.25 290.50,390.77 290.88,394.27 291.26,397.75 291.66,401.22 292.07,404.66 292.48,408.08 292.90,411.48 293.33,414.85 293.77,418.20 294.21,421.52 294.67,424.82 295.13,428.08 295.60,431.32 296.08,434.53 296.56,437.70 297.05,440.84 297.55,443.95 298.05,447.03 298.57,450.07 299.08,453.08 299.61,456.05 300.14,458.98 300.68,461.87 301.22,464.72 301.77,467.53 302.32,470.30 302.88,473.03 303.44,475.72 304.01,478.36 304.59,480.95 305.17,483.51 305.75,486.01 306.34,488.47 306.93,490.88 307.53,493.24 308.13,495.56 308.73,497.82 309.34,500.03 309.95,502.19 310.56,504.30 311.18,506.36 311.80,508.37 312.42,510.32 313.04,512.21 313.67,514.05 314.30,515.84 314.92,517.57 315.56,519.24 316.19,520.86 316.82,522.42 317.46,523.92 318.09,525.36 318.73,526.75 319.36,528.07 320.00,529.34" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="320.00,134.66 322.10,133.67 324.20,132.73 326.30,131.86 328.40,131.04 330.50,130.29 332.59,129.60 334.68,128.97 336.76,128.40 338.84,127.89 340.92,127.45 342.98,127.06 345.04,126.74 347.10,126.49 349.14,126.29 351.18,126.16 353.20,126.09 355.22,126.09 357.22,126.14 359.22,126.26 361.20,126.44 363.17,126.69 365.12,126.99 367.06,127.36 368.99,127.79" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="368.99,127.79 370.90,128.29 372.80,128.84 374.68,129.46 376.55,130.14 378.40,130.88 380.23,131.69 382.04,132.55 383.83,133.47 385.60,134.46 387.36,135.50 389.09,136.61 390.80,137.77 392.49,138.99 394.16,140.28 395.80,141.62 397.42,143.01 399.02,144.47 400.60,145.98 402.15,147.55 403.67,149.18 405.17,150.86 406.65,152.60 408.09,154.39 409.51,156.23 410.91,158.13 412.27,160.09 413.61,162.09 414.92,164.15 416.20,166.25 417.45,168.41 418.67,170.62 419.86,172.88 421.02,175.18 422.15,177.53 423.25,179.93 424.31,182.38 425.35,184.87 426.35,187.41 427.32,189.99 428.26,192.61 429.17,195.28 430.04,197.99 430.88,200.74 431.68,203.53 432.45,206.35 433.19,209.22 433.89,212.12 434.56,215.06 435.19,218.04 435.78,221.05 436.35,224.10 436.87,227.17 437.36,230.28 437.82,233.42 438.24,236.59 438.62,239.79 438.97,243.02 439.28,246.27 439.55,249.55 439.79,252.86 439.99,256.19 440.16,259.54 440.29,262.92 440.38,266.31 440.43,269.73 440.45,273.17 440.43,276.62 440.38,280.09 440.29,283.57 440.16,287.07 439.99,290.59 439.79,294.11 439.55,297.65 439.28,301.20 438.97,304.76 438.62,308.33 438.24,311.90 437.82,315.48 437.36,319.06 436.87,322.65 436.35,326.24 435.78,329.84 435.19,333.43 434.56,337.02 433.89,340.62 433.19,344.21 432.45,347.79 431.68,351.37 430.88,354.95 430.04,358.52 429.17,362.07 428.26,365.63 427.32,369.17 426.35,372.70 425.35,376.21 424.31,379.72 423.25,383.20 422.15,386.68 421.02,390.13 419.86,393.57 418.67,396.99 417.45,400.39 416.20,403.77 414.92,407.13 413.61,410.46 412.27,413.77 410.91,417.06 409.51,420.32 408.09,423.55 406.65,426.76 405.17,429.93 403.67,433.08 402.15,436.20 400.60,439.28 399.02,442.33 397.42,445.35 395.80,448.33 394.16,451.28 392.49,454.19 390.80,457.07 389.09,459.90 387.36,462.70 385.60,465.46 383.83,468.17 382.04,470.85 380.23,473.48 378.40,476.07 376.55,478.62 374.68,481.12 372.80,483.57 370.90,485.98 368.99,488.34 367.06,490.66 365.12,492.93 363.17,495.14 361.20,497.31 359.22,499.43 357.22,501.50 355.22,503.51 353.20,505.47 351.18,507.38 349.14,509.24 347.10,511.04 345.04,512.79 342.98,514.48 340.92,516.12 338.84,517.70 336.76,519.23 334.68,520.69 332.59,522.10 330.50,523.46 328.40,524.75 326.30,525.99 324.20,527.16 322.10,528.28 320.00,529.34" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="320.00,134.66 323.61,134.48 327.22,134.35 330.82,134.28 334.43,134.28 338.02,134.33 341.62,134.44 345.20,134.62 348.78,134.85 352.35,135.14 355.91,135.50 359.46,135.91 363.00,136.38 366.52,136.92 370.03,137.51 373.53,138.16 377.00,138.87 380.47,139.64 383.91,140.47 387.33,141.36 390.73,142.30 394.11,143.30 397.47,144.36 400.81,145.48 404.12,146.65 407.40,147.88 410.66,149.17 413.89,150.51 417.09,151.91 420.26,153.36 423.40,154.87 426.51,156.43 429.59,158.04 432.64,159.71 435.65,161.43 438.62,163.20 441.56,165.02 444.46,166.89 447.32,168.82 450.15,170.79 452.93,172.82 455.68,174.89 458.38,177.01 461.04,179.17 463.66,181.38 466.24,183.64 468.77,185.95 471.25,188.30 473.69,190.69 476.08,193.12 478.43,195.60 480.72,198.12 482.97,200.68 485.17,203.28 487.31,205.92 489.41,208.60 491.45,211.31 493.45,214.06 495.38,216.85 497.27,219.67 499.10,222.53 500.88,225.42 502.60,228.34 504.27,231.30 505.88,234.28 507.43,237.30" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
    <polyline points="507.43,237.30 508.93,240.34 510.37,243.41 511.75,246.51 513.07,249.64 514.34,252.79 515.54,255.96 516.69,259.16 517.77,262.38 518.80,265.62 519.76,268.88 520.67,272.16 521.51,275.46 522.29,278.77 523.01,282.10 523.67,285.45 524.26,288.81 524.80,292.19 525.27,295.57 525.68,298.97 526.02,302.38 526.31,305.79 526.53,309.22 526.68,312.65 526.78,316.09 526.81,319.53 526.78,322.97 526.68,326.42 526.53,329.87 526.31,333.32 526.02,336.77 525.68,340.22 525.27,343.67 524.80,347.11 524.26,350.55 523.67,353.98 523.01,357.41 522.29,360.83 521.51,364.24 520.67,367.64 519.76,371.03 518.80,374.40 517.77,377.77 516.69,381.12 515.54,384.45 514.34,387.77 513.07,391.07 511.75,394.36 510.37,397.62 508.93,400.87 507.43,404.09 505.88,407.30 504.27,410.48 502.60,413.63 500.88,416.76 499.10,419.87 497.27,422.94 495.38,425.99 493.45,429.02 491.45,432.01 489.41,434.97 487.31,437.90 485.17,440.80 482.97,443.66 480.72,446.49 478.43,449.29 476.08,452.05 473.69,454.77 471.25,457.46 468.77,460.11 466.24,462.72 463.66,465.29 461.04,467.82 458.38,470.30 455.68,472.75 452.93,475.15 450.15,477.51 447.32,479.82 444.46,482.09 441.56,484.32 438.62,486.49 435.65,488.62 432.64,490.71 429.59,492.74 426.51,494.73 423.40,496.66 420.26,498.55 417.09,500.38 413.89,502.16 410.66,503.90 407.40,505.58 404.12,507.20 400.81,508.77 397.47,510.29 394.11,511.76 390.73,513.17 387.33,514.52 383.91,515.82 380.47,517.07 377.00,518.25 373.53,519.38 370.03,520.46 366.52,521.47 363.00,522.43 359.46,523.33 355.91,524.17 352.35,524.95 348.78,525.68 345.20,526.34 341.62,526.95 338.02,527.50 334.43,527.98 330.82,528.41 327.22,528.78 323.61,529.09 320.00,529.34" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  </g>

  <!-- Silhouette (pure-state boundary) -->
  <circle cx="320.0" cy="332.0" r="210.0" fill="none" stroke="#2d6f8f" stroke-width="2.2"></circle>

  <!-- Coordinate axes -->
  <line x1="320.00" y1="332.00" x2="522.99" y2="380.61" stroke="#233746" stroke-width="1.8" marker-end="url(#arrow)"></line>
  <line x1="320.00" y1="332.00" x2="177.87" y2="401.43" stroke="#233746" stroke-width="1.8" marker-end="url(#arrow)"></line>
  <line x1="320.00" y1="529.34" x2="320.00" y2="99.14" stroke="#233746" stroke-width="1.8" marker-end="url(#arrow)"></line>

  <!-- Layers filled by the script (resting orbits, trails, cloud, hero) -->
  <g class="resting"></g>
  <g class="trails"></g>
  <g class="cloud"></g>
  <g class="hl"></g>

  <!-- Maximally mixed state I/2 (recessed, depth-cued) -->
  <circle cx="320.0" cy="332.0" r="8.5" fill="#f5f7f8" fill-opacity="0.5"></circle>
  <circle cx="320.0" cy="332.0" r="5.5" fill="#5e7886" fill-opacity="0.85"></circle>

  <!-- Labels -->
  <text x="300.00" y="124.66" text-anchor="end" font-size="21" font-style="italic" fill="#233746">|0⟩</text>
  <text x="320.00" y="563.34" text-anchor="middle" font-size="21" font-style="italic" fill="#233746">|1⟩</text>
  <text x="564.27" y="396.50" text-anchor="middle" font-size="20" font-style="italic" fill="#233746">x</text>
  <text x="144.96" y="421.55" text-anchor="end" font-size="20" font-style="italic" fill="#233746">y</text>
  <text x="328.00" y="71.52" text-anchor="start" font-size="20" font-style="italic" fill="#233746">z</text>
  <text x="334.00" y="330.00" text-anchor="start" font-size="20" fill="#5e7886">I/2</text>
</svg>
<p class="bl-hint">Tap to play.</p>
</div>
<script>
(function(){
  var NS="http://www.w3.org/2000/svg";
  function el(t,a){var e=document.createElementNS(NS,t);for(var k in a)e.setAttribute(k,a[k]);return e;}
  var PURE=[45,111,143], MIXED=[214,229,234];
  function lerp(a,b,u){var r=[];for(var i=0;i<a.length;i++)r.push(a[i]+(b[i]-a[i])*u);return r;}
  function ease(t){return t<0.5?4*t*t*t:1-Math.pow(-2*t+2,3)/2;}

  function setup(root){
    var svg=root.querySelector('svg'); if(!svg) return;
    var CX=parseFloat(svg.dataset.cx),CY=parseFloat(svg.dataset.cy),R=parseFloat(svg.dataset.r);
    var A=parseFloat(svg.dataset.alphaDeg)*Math.PI/180, E=parseFloat(svg.dataset.elevDeg)*Math.PI/180;
    var cA=Math.cos(A),sA=Math.sin(A),cE=Math.cos(E),sE=Math.sin(E);
    function project(p){var x=p[0],y=p[1],z=p[2];var u=R*(x*cA-y*sA);var w=x*sA+y*cA;var v=R*(z*cE-w*sE);var d=z*sE+w*cE;return [CX+u,CY-v,d];}
    function applyS(r){return [r[1]/2,r[2]/2,0];}
    function mag(r){return Math.sqrt(r[0]*r[0]+r[1]*r[1]+r[2]*r[2]);}
    function colof(r){var t=Math.max(0,Math.min(1,r[0]*r[0]+r[1]*r[1]+r[2]*r[2]));var c=[];for(var k=0;k<3;k++)c.push(Math.round(MIXED[k]+t*(PURE[k]-MIXED[k])));return 'rgb('+c[0]+','+c[1]+','+c[2]+')';}
    function frontOp(d){return 0.45+0.55*Math.max(0,Math.min(1,(d+1)/2));}

    function g(n){return svg.querySelector('g.'+n);}
    var gRest=g('resting'),gTrail=g('trails'),gCloud=g('cloud'),gHL=g('hl');
    function clear(n){while(n.firstChild)n.removeChild(n.firstChild);}

    function orbit(s){var o=[s.slice()];for(var i=0;i<3;i++)o.push(applyS(o[o.length-1]));return o;}
    var HERO='#1565c0', GREY='#829aa6';
    var defs=[{o:orbit([0,0,1]),col:HERO,hero:true},{o:orbit([0,1,0]),col:GREY,hero:false},{o:orbit([1,0,0]),col:GREY,hero:false}];

    function arrow(a,b,col,w,op){
      var dx=b[0]-a[0],dy=b[1]-a[1],L=Math.sqrt(dx*dx+dy*dy); if(L<14)return null;
      var ux=dx/L,uy=dy/L,s=[a[0]+8*ux,a[1]+8*uy],e=[b[0]-9*ux,b[1]-9*uy];
      return el('line',{x1:s[0],y1:s[1],x2:e[0],y2:e[1],stroke:col,'stroke-width':w,opacity:op,'stroke-linecap':'round','marker-end':'url(#'+(col===HERO?'arrowB':'arrowG')+')'});
    }
    function buildResting(){
      clear(gRest);
      defs.forEach(function(h){
        var o=h.o, pr=o.map(project);
        for(var i=0;i<o.length-1;i++){var m=(mag(o[i])+mag(o[i+1]))/2;var op=(0.30+0.60*Math.min(1,m)).toFixed(3);var ar=arrow(pr[i],pr[i+1],h.col,h.hero?2.7:2.0,op);if(ar)gRest.appendChild(ar);}
        for(var j=1;j<o.length-1;j++){var p=pr[j];var op=(0.22+0.63*Math.min(1,mag(o[j]))).toFixed(3);gRest.appendChild(el('circle',{cx:p[0],cy:p[1],r:5,fill:colof(o[j]),'fill-opacity':op,stroke:'#1c4a60','stroke-width':1.2,'stroke-opacity':op}));}
        var ps=pr[0];gRest.appendChild(el('circle',{cx:ps[0],cy:ps[1],r:h.hero?6.5:5.5,fill:colof(o[0]),stroke:h.hero?'#0d3f8f':'#1c4a60','stroke-width':1.4}));
      });
    }

    var cloud=[],hl=[];
    function buildAnim(){
      clear(gCloud);clear(gHL);clear(gTrail);cloud=[];hl=[];
      for(var i=0;i<150;i++){
        var th=Math.acos(2*Math.random()-1), ph=2*Math.PI*Math.random();
        var n=[Math.sin(th)*Math.cos(ph),Math.sin(th)*Math.sin(ph),Math.cos(th)];
        var rad=Math.pow(Math.random(),1/3);
        var r0=[rad*n[0],rad*n[1],rad*n[2]];
        var s=[r0];for(var k=0;k<3;k++)s.push(applyS(s[s.length-1]));
        var dot=el('circle',{r:2.8});gCloud.appendChild(dot);
        cloud.push({s:s,dot:dot});
      }
      defs.forEach(function(h){
        var tr=el('polyline',{fill:'none',stroke:h.col,'stroke-width':h.hero?2.7:2.0,'stroke-opacity':0.6,'stroke-linecap':'round','stroke-linejoin':'round'});gTrail.appendChild(tr);
        var d=el('circle',{r:h.hero?6.5:5.5,fill:h.col,stroke:h.hero?'#0d3f8f':'#1c4a60','stroke-width':1.3});gHL.appendChild(d);
        hl.push({o:h.o,dot:d,trail:tr,path:[]});
      });
    }

    var MOVE=900,DWELL=350,HOLD=900;
    var seq=[['m',0],['d',0],['m',1],['d',1],['m',2],['h',2]], durs=[MOVE,DWELL,MOVE,DWELL,MOVE,HOLD];
    var DUR=durs.reduce(function(a,b){return a+b;},0);
    function stateAt(o,t){for(var i=0;i<seq.length;i++){var kind=seq[i][0],si=seq[i][1],du=durs[i];if(t<du){if(kind==='m')return lerp(o[si],o[si+1],ease(t/du));return o[si+1];}t-=du;}return o[3];}
    function showMode(anim){gRest.style.display=anim?'none':'';gCloud.style.display=anim?'':'none';gHL.style.display=anim?'':'none';gTrail.style.display=anim?'':'none';}

    var running=false;
    // Position the cloud and highlight dots at time t, without touching the trails.
    function renderFrame(t){
      var i,st,pr;
      for(i=0;i<cloud.length;i++){st=stateAt(cloud[i].s,t);pr=project(st);cloud[i].dot.setAttribute('cx',pr[0]);cloud[i].dot.setAttribute('cy',pr[1]);cloud[i].dot.setAttribute('fill',colof(st));cloud[i].dot.setAttribute('fill-opacity',frontOp(pr[2]).toFixed(3));}
      for(i=0;i<hl.length;i++){st=stateAt(hl[i].o,t);pr=project(st);hl[i].dot.setAttribute('cx',pr[0]);hl[i].dot.setAttribute('cy',pr[1]);}
    }
    // Rest on the initial state: a fresh, uncollapsed cloud at t=0.
    function showInitial(){buildAnim();renderFrame(0);showMode(true);}
    function animate(){
      if(running)return;running=true;showMode(true);
      if(hint)hint.textContent='Tap to replay.';
      var t0=null;
      function frame(now){if(t0===null)t0=now;var t=now-t0;if(t>DUR)t=DUR;var i,st,pr;
        for(i=0;i<cloud.length;i++){st=stateAt(cloud[i].s,t);pr=project(st);cloud[i].dot.setAttribute('cx',pr[0]);cloud[i].dot.setAttribute('cy',pr[1]);cloud[i].dot.setAttribute('fill',colof(st));cloud[i].dot.setAttribute('fill-opacity',frontOp(pr[2]).toFixed(3));}
        for(i=0;i<hl.length;i++){st=stateAt(hl[i].o,t);pr=project(st);hl[i].path.push(pr[0]+','+pr[1]);hl[i].trail.setAttribute('points',hl[i].path.join(' '));hl[i].dot.setAttribute('cx',pr[0]);hl[i].dot.setAttribute('cy',pr[1]);}
        // Hold on the collapsed centre I/2, then jump back to the initial state.
        if(t<DUR)requestAnimationFrame(frame);else setTimeout(function(){running=false;showInitial();},700);
      }
      requestAnimationFrame(frame);
    }

    var hint=root.querySelector('.bl-hint');
    var reduce=window.matchMedia&&window.matchMedia('(prefers-reduced-motion: reduce)').matches;
    if(reduce){
      buildResting();showMode(false);
      if(hint)hint.style.display='none';
    }else{
      showInitial();
      svg.style.cursor='pointer';
      svg.addEventListener('click',animate);
    }
  }
  function init(){var rs=document.querySelectorAll('.bloch-root-animated');for(var i=0;i<rs.length;i++)setup(rs[i]);}
  if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);
  else init();
})();
</script>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-bloch-root-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;4: A maximal qubit root <img src="https://latex.codecogs.com/png.latex?S"> acting on the Bloch ball (others exist). It sends a Bloch vector <img src="https://latex.codecogs.com/png.latex?(r_1,%20r_2,%20r_3)"> to <img src="https://latex.codecogs.com/png.latex?(r_2/2,%5C,%20r_3/2,%5C,%200)">, driving every state to the centre <img src="https://latex.codecogs.com/png.latex?I/2"> in at most three steps, and the <img src="https://latex.codecogs.com/png.latex?z">-pole takes all three, realizing the order-3 bound (<img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201%20=%203"> at <img src="https://latex.codecogs.com/png.latex?d%20=%202">). As with the classical square root in Figure&nbsp;2, erasure happens in stages: each step both shrinks the vector and rotates it onto the next axis. Directions already in the channel’s kernel (here the <img src="https://latex.codecogs.com/png.latex?x">-axis) collapse sooner; the slowest direction sets the order. The animation drives a whole cloud of Bloch vectors to <img src="https://latex.codecogs.com/png.latex?I/2"> through these stages and picks out the three axis orbits (the blue <img src="https://latex.codecogs.com/png.latex?z">-pole is the hero that takes all three steps); tap the figure to play it.
</figcaption>
</figure>
</div>
<p>The unrestricted answer is therefore <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201">, ceiling and construction both: the aside above delivers a channel of exactly that order in every dimension. How much of that quadratic scaling survives inside a far more rigid family? That is the question with life left in it, and the rest of the post lives in a smaller room: a family of channels with a handful of parameters in place of the full continuum, one that has proved fruitful before across quantum information, and simple enough that the question yields to direct computation. Building the room takes a little construction work, and the construction starts further back than you might expect.</p>
</section>
<section id="sec-paulis" class="level2">
<h2 class="anchored" data-anchor-id="sec-paulis">Rebuilding the qubit from the bit</h2>
<p>Two settings are closed, and it is worth reading the scoreboard before opening a third. Both times the same skeleton carried the argument: split the copier as <img src="https://latex.codecogs.com/png.latex?P%20+%20N">, watch the cross terms die, and read the largest order off the size of the space <img src="https://latex.codecogs.com/png.latex?N"> has to wander in. Classically that space was the set of deviations from the grey centre, of dimension <img src="https://latex.codecogs.com/png.latex?d%20-%201">. Quantum mechanically it was the traceless operators, of dimension <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201">. Both bounds were reached, and both times the part of the argument with teeth was not the order but the lawfulness check, non-negative entries in one world and complete positivity in the other, paid off by shrinking the nilpotent part until the check went through.</p>
<div id="tbl-scoreboard" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-tbl figure">
<figcaption class="quarto-float-caption-top quarto-float-caption quarto-float-tbl" id="tbl-scoreboard-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Table&nbsp;1: The scoreboard after two settings. The third column is this section’s and the next one’s to fill.
</figcaption>
<div aria-describedby="tbl-scoreboard-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<table class="caption-top table">
<colgroup>
<col style="width: 25%">
<col style="width: 25%">
<col style="width: 25%">
<col style="width: 25%">
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;"></th>
<th style="text-align: left;">Classical</th>
<th style="text-align: left;">Quantum</th>
<th style="text-align: left;">Clifford</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Copiers considered</td>
<td style="text-align: left;">bistochastic matrices</td>
<td style="text-align: left;">channels fixing the centre <img src="https://latex.codecogs.com/png.latex?I/d"></td>
<td style="text-align: left;">a rigid subfamily, built below</td>
</tr>
<tr class="even">
<td style="text-align: left;">Free parameters</td>
<td style="text-align: left;"><img src="https://latex.codecogs.com/png.latex?(d-1)%5E2"></td>
<td style="text-align: left;"><img src="https://latex.codecogs.com/png.latex?(d%5E2-1)%5E2"></td>
<td style="text-align: left;">a finite choice, plus <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> scale factors</td>
</tr>
<tr class="odd">
<td style="text-align: left;">The condition with teeth</td>
<td style="text-align: left;">non-negative entries</td>
<td style="text-align: left;">complete positivity</td>
<td style="text-align: left;">complete positivity, as one explicit matrix</td>
</tr>
<tr class="even">
<td style="text-align: left;">Largest order <img src="https://latex.codecogs.com/png.latex?k"></td>
<td style="text-align: left;"><img src="https://latex.codecogs.com/png.latex?d%20-%201"></td>
<td style="text-align: left;"><img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"></td>
<td style="text-align: left;">?</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Reached by</td>
<td style="text-align: left;">a nilpotent <img src="https://latex.codecogs.com/png.latex?N"> on the deviations, scaled gently</td>
<td style="text-align: left;">a nilpotent <img src="https://latex.codecogs.com/png.latex?N"> on the traceless operators, shrunk until the Choi matrix stays positive</td>
<td style="text-align: left;">?</td>
</tr>
<tr class="even">
<td style="text-align: left;">Seen in action</td>
<td style="text-align: left;"><img src="https://latex.codecogs.com/png.latex?d%20=%203">, two steps (Figure&nbsp;2)</td>
<td style="text-align: left;"><img src="https://latex.codecogs.com/png.latex?d%20=%202">, three steps (Figure&nbsp;4)</td>
<td style="text-align: left;">?</td>
</tr>
</tbody>
</table>
</div>
</figure>
</div>
<p>So why open a third column when the second is closed? Because the quantum construction settles the number and shows no structure. A Jordan block on the traceless operators, in any orthonormal basis you care to pick, shrunk until the Choi matrix stays positive, is an existence proof. It certifies that <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> steps of room are there and is indifferent to everything else: the axes are arbitrary, and lawfulness is settled by an inequality rather than seen. The family this section builds, the Clifford channels, is a room small enough for the mechanism to sit in plain view. Inside it the non-commutativity of quantum mechanics is packaged as bookkeeping on a finite grid of labels, the root problem turns into a board game on that grid, and complete positivity, the condition that separates channels from mere linear maps, becomes the positivity of one matrix whose entries are the channel’s own parameters.</p>
<p>Nor is the family a toy invented for the occasion. The bit-flip, dephasing and depolarizing noise models that quantum error correction is built to fight are all members, so the question of how slowly such noise can erase has standing of its own. And the payoff is the surprise promised in the hook. Rigidity turns out to cost almost nothing: in prime dimensions the family gives up a factor of two against the full quantum bound, and nothing more. Where that factor comes from, and why the drop is not most of the way back to the classical <img src="https://latex.codecogs.com/png.latex?d%20-%201">, is the rest of the post.</p>
<p>Where should the building start? Look once more at the Bloch ball of Figure&nbsp;3, because something classical is hiding in plain sight. The two states of an ordinary bit sit at the poles. The straight line between them, running through the centre, is the entire state space of the classical bit: the segment from the very start of this post, with its two certain ends and its ignorant middle. The quantum ball did not replace the classical picture. It grew <em>around</em> it.</p>
<p>That is worth taking seriously, because it says which way round to build. The previous section went at the space of all quantum channels from the top and got its number by shrinking a block until an inequality held. This time we go the other way around. Start from the classical bit, the smallest state space we own, and take the smallest step that turns it quantum, keeping both hands on the algebra the whole way. By the end of the section that small step will have produced a coordinate system for the qubit, a family of channels that respects those coordinates, and a rederivation of the three-step eraser of Figure&nbsp;4: not pulled from a hat this time, but designed, with every choice visible.</p>
<p>Begin with the bit, dressed in matrix clothes. A classical bit is a probability <img src="https://latex.codecogs.com/png.latex?p"> of reading <img src="https://latex.codecogs.com/png.latex?0"> and <img src="https://latex.codecogs.com/png.latex?1%20-%20p"> of reading <img src="https://latex.codecogs.com/png.latex?1">, and its density matrix is diagonal: <img src="https://latex.codecogs.com/png.latex?%0A%5Crho%20%5C;=%5C;%20%5Cbegin%7Bpmatrix%7D%20p%20&amp;%200%20%5C%5C%200%20&amp;%201-p%20%5Cend%7Bpmatrix%7D%0A%5C;=%5C;%20%5Ctfrac12%5Cbigl(I%20+%20r%5C,Z%5Cbigr),%0A%5Cqquad%20r%20=%202p%20-%201%20.%0A"> Two matrices carry the whole classical story: the identity <img src="https://latex.codecogs.com/png.latex?I">, and <img src="https://latex.codecogs.com/png.latex?%0AZ%20=%20%5Cbegin%7Bpmatrix%7D%201%20&amp;%200%20%5C%5C%200%20&amp;%20-1%20%5Cend%7Bpmatrix%7D.%0A"> As <img src="https://latex.codecogs.com/png.latex?p"> sweeps from one to zero, <img src="https://latex.codecogs.com/png.latex?r"> slides from <img src="https://latex.codecogs.com/png.latex?+1"> down to <img src="https://latex.codecogs.com/png.latex?-1">, and <img src="https://latex.codecogs.com/png.latex?%5Ctfrac12(I%20+%20rZ)"> traces out exactly the vertical diameter of the Bloch ball. So <img src="https://latex.codecogs.com/png.latex?I"> and <img src="https://latex.codecogs.com/png.latex?Z"> are a <em>basis</em> for the classical states: every state of a bit is a combination of these two matrices, and nothing else is needed.</p>
<p>That is the first role the two matrices play. Here is the second, and it looks almost too small to mention. Give them labels: attach <img src="https://latex.codecogs.com/png.latex?0"> to <img src="https://latex.codecogs.com/png.latex?I"> and <img src="https://latex.codecogs.com/png.latex?1"> to <img src="https://latex.codecogs.com/png.latex?Z">, writing <img src="https://latex.codecogs.com/png.latex?%5Csigma(0)%20=%20I"> and <img src="https://latex.codecogs.com/png.latex?%5Csigma(1)%20=%20Z">. The labels add modulo <img src="https://latex.codecogs.com/png.latex?2">, the arithmetic of even and odd; as a group this label set is called <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BZ%7D_2">. Now multiply the matrices and watch the labels. <img src="https://latex.codecogs.com/png.latex?Z%20%5Ccdot%20Z%20=%20I">, which is <img src="https://latex.codecogs.com/png.latex?1%20+%201%20=%200">. <img src="https://latex.codecogs.com/png.latex?I%20%5Ccdot%20Z%20=%20Z">, which is <img src="https://latex.codecogs.com/png.latex?0%20+%201%20=%201">. Multiplication upstairs is addition downstairs, exactly, with nothing left over. An assignment with this property is called a <em>representation</em> of the group. Nor is the label on <img src="https://latex.codecogs.com/png.latex?Z"> a choice we made. Read down its diagonal: <img src="https://latex.codecogs.com/png.latex?+1"> at the outcome <img src="https://latex.codecogs.com/png.latex?0">, <img src="https://latex.codecogs.com/png.latex?-1"> at the outcome <img src="https://latex.codecogs.com/png.latex?1">, the <em>parity</em> <img src="https://latex.codecogs.com/png.latex?(-1)%5Ex"> of the outcome <img src="https://latex.codecogs.com/png.latex?x">, while the diagonal of <img src="https://latex.codecogs.com/png.latex?I"> is the constant <img src="https://latex.codecogs.com/png.latex?(-1)%5E%7B0%20%5Ccdot%20x%7D">. The label is the exponent <img src="https://latex.codecogs.com/png.latex?b"> in <img src="https://latex.codecogs.com/png.latex?(-1)%5E%7Bbx%7D">, and multiplying the matrices multiplies these entries, which adds the exponents. The representation was handed to us by the bit. For the moment this is idle bookkeeping. It is also the seed of everything below.</p>
<p>To watch the bookkeeping earn its keep, take the one copier family we have already solved and translate it. The two-state copier from the classical section was <img src="https://latex.codecogs.com/png.latex?%0AS%20=%20%5Cbegin%7Bpmatrix%7D%201-a%20&amp;%20a%20%5C%5C%20a%20&amp;%201-a%20%5Cend%7Bpmatrix%7D,%0A"> copying faithfully with probability <img src="https://latex.codecogs.com/png.latex?1%20-%20a"> and flipping with probability <img src="https://latex.codecogs.com/png.latex?a">. In matrix clothes its entire action collapses to two statements: <img src="https://latex.codecogs.com/png.latex?%0AT%5BI%5D%20=%20I,%20%5Cqquad%20T%5BZ%5D%20=%20(1%20-%202a)%5C,%20Z%20.%0A"> The identity is left alone, and <img src="https://latex.codecogs.com/png.latex?Z"> is multiplied by a number. That is the whole copier. (The vector <img src="https://latex.codecogs.com/png.latex?v%20=%20(1,%20-1)"> that carried the classical computation back then is nothing but the diagonal of <img src="https://latex.codecogs.com/png.latex?Z">.) And the classical no-root theorem, the fact that a bit cannot be erased gently, becomes a single sentence: applying <img src="https://latex.codecogs.com/png.latex?T"> repeatedly multiplies <img src="https://latex.codecogs.com/png.latex?Z"> by <img src="https://latex.codecogs.com/png.latex?(1-2a)%5Ek">, and a product of copies of one number vanishes only if that number was zero from the start. One label beyond the identity, one number attached to it, no room to manoeuvre. Keep this template in view: <em>a copier in these coordinates is a rule for the labels plus a number per label</em>. The rest of the section is that sentence, rerun with better ingredients.</p>
<p>Is this the only way <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BZ%7D_2"> can sit inside the <img src="https://latex.codecogs.com/png.latex?2%20%5Ctimes%202"> matrices? It is not, and the second way needs no new ingredient. So far the addition table of <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BZ%7D_2"> has been applied to the labels. Apply it to the <em>outcomes</em> instead: adding <img src="https://latex.codecogs.com/png.latex?1"> sends the outcome <img src="https://latex.codecogs.com/png.latex?0"> to <img src="https://latex.codecogs.com/png.latex?1"> and the outcome <img src="https://latex.codecogs.com/png.latex?1"> to <img src="https://latex.codecogs.com/png.latex?0">. That is the flip. On a probability vector it moves the weight of each outcome onto the other, <img src="https://latex.codecogs.com/png.latex?(p_0,%20p_1)%20%5Cmapsto%20(p_1,%20p_0)">, and the matrix that does this is <img src="https://latex.codecogs.com/png.latex?%0AX%20=%20%5Cbegin%7Bpmatrix%7D%200%20&amp;%201%20%5C%5C%201%20&amp;%200%20%5Cend%7Bpmatrix%7D,%0A"> a plain permutation matrix. It is Hermitian, and <img src="https://latex.codecogs.com/png.latex?X%5E2%20=%20I">: flipping twice is doing nothing, which is <img src="https://latex.codecogs.com/png.latex?1%20+%201%20=%200"> once more. So <img src="https://latex.codecogs.com/png.latex?a%20%5Cmapsto%20X%5Ea"> is a second representation of the very same group, and it was there from the start, in the group law itself. In the classical family above it sits at the corner <img src="https://latex.codecogs.com/png.latex?a%20=%201">, the copier that flips every bit with certainty.</p>
<p>Notice how the two representations kept apart in the classical world. The states of the bit live in the span of <img src="https://latex.codecogs.com/png.latex?I"> and <img src="https://latex.codecogs.com/png.latex?Z">. The copiers live in the span of <img src="https://latex.codecogs.com/png.latex?I"> and <img src="https://latex.codecogs.com/png.latex?X">: the two-state copier <img src="https://latex.codecogs.com/png.latex?S"> is the matrix <img src="https://latex.codecogs.com/png.latex?(1%20-%20a)%5C,%20I%20+%20a%5C,%20X">, a mixture of doing nothing and flipping. One representation spans what the bit <em>is</em>, the other what can be <em>done</em> to it, and the classical world never puts the two side by side. The qubit is where they meet as equals: both become operators on the same two-dimensional space, and both are Hermitian, so both become observables too. Put them together and the labels pair up, <img src="https://latex.codecogs.com/png.latex?%0A%5Cmathbb%7BZ%7D_2%20%5C;%5Clongrightarrow%5C;%20%5Cmathbb%7BZ%7D_2%20%5Ctimes%20%5Cmathbb%7BZ%7D_2%20,%0A"> a label <img src="https://latex.codecogs.com/png.latex?(a,%20b)"> that says whether to flip and whether to read the parity, each coordinate adding modulo <img src="https://latex.codecogs.com/png.latex?2"> on its own. (Physicists call this product the <em>phase space</em> of the bit, by analogy with the position-and-momentum pairs of mechanics, and the symplectic form that a phase space carries is about to show up as a sign. The doubled group also has a name of its own, the <em>Klein four-group</em>; we will simply keep writing <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BZ%7D_2%20%5Ctimes%20%5Cmathbb%7BZ%7D_2">.) The four labels get their candidate matrices in the obvious way, <img src="https://latex.codecogs.com/png.latex?%0A%5Csigma(a,%20b)%20=%20X%5Ea%20Z%5Eb%20:%0A%5Cqquad%0A%5Csigma(0,0)%20=%20I,%20%5Cquad%20%5Csigma(1,0)%20=%20X,%20%5Cquad%20%5Csigma(0,1)%20=%20Z,%0A%5Cquad%20%5Csigma(1,1)%20=%20XZ%20,%0A"> and only one of the four, the product <img src="https://latex.codecogs.com/png.latex?XZ">, is genuinely new. Now count. The previous section counted <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201%20=%203"> real numbers for a qubit state, and the count came from the <img src="https://latex.codecogs.com/png.latex?d%5E2%20=%204"> real dimensions of Hermitian <img src="https://latex.codecogs.com/png.latex?2%20%5Ctimes%202"> matrices, with one dimension spent on fixing the trace. A basis for <em>everything</em> needs four matrices, and four is exactly what the two representations produced between them. Nothing had to be added, and nothing is left over. Before writing the new matrix out, though, there is a question that sounds pedantic until you take it seriously.</p>
<p>Each representation on its own was exact: multiplication matched addition with nothing left over. Can the pair stay exact together? Could four matrices be chosen, these or any others, so that the match stays perfect <em>and</em> the four still span everything? The answer is no, and the reason is a counting argument, not an accident of <img src="https://latex.codecogs.com/png.latex?X"> and <img src="https://latex.codecogs.com/png.latex?Z">. Labels commute: <img src="https://latex.codecogs.com/png.latex?(a,b)%20+%20(a',b')%20=%20(a',b')%20+%20(a,b)">. If multiplication upstairs copied addition downstairs exactly, the four matrices would have to commute with one another too. But commuting is contagious: a matrix that commutes with all four basis matrices commutes with everything they span, and their span was supposed to be <em>all</em> <img src="https://latex.codecogs.com/png.latex?2%20%5Ctimes%202"> matrices. A matrix that commutes with every matrix can only be a multiple of the identity. So all four would be stretched copies of <img src="https://latex.codecogs.com/png.latex?I">, spanning a single dimension rather than four. Phase-free multiplication and a full basis cannot coexist. Something has to give, and in quantum mechanics exactly one thing is allowed to give: a number out front. The matrices may multiply like the labels <em>up to a scalar factor</em>. That factor is not a blemish on an otherwise clean story. It is the mechanism by which four commuting labels manage to span a non-commuting world, and by the end of the post it will be carrying the answer.</p>
<details class="aside">
<summary>Why no choice of matrices can dodge the phase</summary>
<p>Suppose <img src="https://latex.codecogs.com/png.latex?%5Csigma"> assigns a matrix to each element of some abelian group of four labels, with multiplication matching addition exactly: <img src="https://latex.codecogs.com/png.latex?%5Csigma(g)%5C,%5Csigma(g')%20=%20%5Csigma(g%20+%20g')">. Because <img src="https://latex.codecogs.com/png.latex?g%20+%20g'%20=%20g'%20+%20g">, the four matrices commute pairwise.</p>
<p>Now suppose they also span the whole space of <img src="https://latex.codecogs.com/png.latex?2%20%5Ctimes%202"> matrices. The commutator is linear in each slot, so a matrix that commutes with all four basis matrices commutes with every linear combination of them, which by assumption is every matrix. In particular each <img src="https://latex.codecogs.com/png.latex?%5Csigma(g)"> commutes with every <img src="https://latex.codecogs.com/png.latex?2%20%5Ctimes%202"> matrix.</p>
<p>That is an extremely restrictive property. Let <img src="https://latex.codecogs.com/png.latex?M"> commute with everything. Comparing off-diagonal entries of <img src="https://latex.codecogs.com/png.latex?MZ"> and <img src="https://latex.codecogs.com/png.latex?ZM"> gives <img src="https://latex.codecogs.com/png.latex?-M_%7B12%7D%20=%20M_%7B12%7D"> and <img src="https://latex.codecogs.com/png.latex?-M_%7B21%7D%20=%20M_%7B21%7D">, so both vanish and <img src="https://latex.codecogs.com/png.latex?M"> is diagonal. Commuting with <img src="https://latex.codecogs.com/png.latex?X"> then forces the two diagonal entries to be equal. So <img src="https://latex.codecogs.com/png.latex?M"> is a multiple of the identity.</p>
<p>Each <img src="https://latex.codecogs.com/png.latex?%5Csigma(g)"> is therefore a multiple of <img src="https://latex.codecogs.com/png.latex?I">, and the span of all four is the one-dimensional line of multiples of <img src="https://latex.codecogs.com/png.latex?I">, not the four-dimensional space we demanded. Contradiction.</p>
<p>Notice what the argument never used: which four-element abelian group the labels form. The cyclic group <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BZ%7D_4"> fails for the same reason (powers of a single matrix always commute with each other). Nothing was special about <img src="https://latex.codecogs.com/png.latex?2%20%5Ctimes%202"> either: in any dimension, a phase-free representation of an abelian label set can never supply a full operator basis. The phase is compulsory, everywhere. In the language of the two representations: had <img src="https://latex.codecogs.com/png.latex?X"> and <img src="https://latex.codecogs.com/png.latex?Z"> commuted, the four products <img src="https://latex.codecogs.com/png.latex?X%5Ea%20Z%5Eb"> would span a commutative algebra, and no commutative algebra is all of the <img src="https://latex.codecogs.com/png.latex?2%20%5Ctimes%202"> matrices.</p>
</details>
<p>Now watch the compulsory phase show up in the flesh. Multiply the two generators in both orders: <img src="https://latex.codecogs.com/png.latex?%0AXZ%20=%0A%5Cbegin%7Bpmatrix%7D%200%20&amp;%201%20%5C%5C%201%20&amp;%200%20%5Cend%7Bpmatrix%7D%0A%5Cbegin%7Bpmatrix%7D%201%20&amp;%200%20%5C%5C%200%20&amp;%20-1%20%5Cend%7Bpmatrix%7D%0A=%20%5Cbegin%7Bpmatrix%7D%200%20&amp;%20-1%20%5C%5C%201%20&amp;%200%20%5Cend%7Bpmatrix%7D,%0A%5Cqquad%0AZX%20=%0A%5Cbegin%7Bpmatrix%7D%201%20&amp;%200%20%5C%5C%200%20&amp;%20-1%20%5Cend%7Bpmatrix%7D%0A%5Cbegin%7Bpmatrix%7D%200%20&amp;%201%20%5C%5C%201%20&amp;%200%20%5Cend%7Bpmatrix%7D%0A=%20%5Cbegin%7Bpmatrix%7D%200%20&amp;%201%20%5C%5C%20-1%20&amp;%200%20%5Cend%7Bpmatrix%7D.%0A"> The same matrix, with opposite signs: <img src="https://latex.codecogs.com/png.latex?XZ%20=%20-ZX">. The labels added the same way both times, <img src="https://latex.codecogs.com/png.latex?(1,0)%20+%20(0,1)%20=%20(1,1)">, but the matrices remember the <em>order</em>, and they file that memory in a sign. (That sign is the symplectic form the phase space was promised. For a bit it is the whole of it: two labels either commute or they do not.)</p>
<p>One cosmetic decision before the full table. The fourth matrix <img src="https://latex.codecogs.com/png.latex?XZ"> is the odd sibling: <img src="https://latex.codecogs.com/png.latex?X"> and <img src="https://latex.codecogs.com/png.latex?Z"> are Hermitian, but transposing and conjugating <img src="https://latex.codecogs.com/png.latex?XZ"> flips its sign. A phase out front is ours to spend, it never touches the label bookkeeping, so spend it on restoring the family resemblance: define <img src="https://latex.codecogs.com/png.latex?%0AY%20%5C;=%5C;%20i%5C,XZ%20%5C;=%5C;%20%5Cbegin%7Bpmatrix%7D%200%20&amp;%20-i%20%5C%5C%20i%20&amp;%200%20%5Cend%7Bpmatrix%7D,%0A"> Hermitian, and squaring to <img src="https://latex.codecogs.com/png.latex?I"> like its siblings. The label of <img src="https://latex.codecogs.com/png.latex?Y"> is <img src="https://latex.codecogs.com/png.latex?(1,1)">, and the quartet <img src="https://latex.codecogs.com/png.latex?I,%20X,%20Y,%20Z"> is complete. These are the <em>Pauli matrices</em>, the standard cast of single-qubit quantum mechanics, rebuilt here from the bit upward rather than handed down from above.</p>
<p>Here are all sixteen products.</p>
<table class="caption-top table">
<caption>The multiplication table of the Pauli quartet: row times column.</caption>
<thead>
<tr class="header">
<th style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?%5Ccdot"></th>
<th style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?I"></th>
<th style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?X"></th>
<th style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?Y"></th>
<th style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?Z"></th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?I"></td>
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?I"></td>
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?X"></td>
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?Y"></td>
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?Z"></td>
</tr>
<tr class="even">
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?X"></td>
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?X"></td>
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?I"></td>
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?iZ"></td>
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?-iY"></td>
</tr>
<tr class="odd">
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?Y"></td>
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?Y"></td>
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?-iZ"></td>
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?I"></td>
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?iX"></td>
</tr>
<tr class="even">
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?Z"></td>
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?Z"></td>
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?iY"></td>
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?-iX"></td>
<td style="text-align: center;"><img src="https://latex.codecogs.com/png.latex?I"></td>
</tr>
</tbody>
</table>
<p>Now do the exercise this table is begging for: put a thumb over the phases and read only the letters. <img src="https://latex.codecogs.com/png.latex?X%20%5Ccdot%20Y"> lands on <img src="https://latex.codecogs.com/png.latex?Z">, and the labels agree: <img src="https://latex.codecogs.com/png.latex?(1,0)%20+%20(1,1)%20=%20(0,1)">. <img src="https://latex.codecogs.com/png.latex?Y%20%5Ccdot%20Z"> lands on <img src="https://latex.codecogs.com/png.latex?X">: <img src="https://latex.codecogs.com/png.latex?(1,1)%20+%20(0,1)%20=%20(1,0)">. Every diagonal entry is <img src="https://latex.codecogs.com/png.latex?I">: any label added to itself is <img src="https://latex.codecogs.com/png.latex?(0,0)">. Sixteen products, and the letters add coordinate-wise every single time, without exception. The scattered <img src="https://latex.codecogs.com/png.latex?i">’s and signs are trailing decoration that the labels never see.</p>
<p>This situation has a name. A rule <img src="https://latex.codecogs.com/png.latex?%5Csigma"> satisfying <img src="https://latex.codecogs.com/png.latex?%0A%5Csigma(g)%5C,%5Csigma(g')%20%5C;=%5C;%20c(g,%20g')%5C,%5Csigma(g%20+%20g'),%0A%5Cqquad%20%7Cc(g,%20g')%7C%20=%201,%0A"> multiplication matching addition up to a phase factor, is called a <em>projective representation</em> of the group. The name should not suggest something second-rate. Quantum mechanics never cared about overall phases in the first place: a state and its phase-rotated copy answer every measurement identically, so representation up to phase is the native quantum notion of realizing a symmetry, not a defect of our particular matrices. And the aside above says the projective escape hatch is not merely permitted here. It is the one door that counting left open.</p>
<p>Coordinates in hand, we can finally say which copiers deserve them. A channel is linear, so it is pinned down by what it does to a basis; this is the move we used on the corners of the simplex, and we now use it on the quartet. A generic qubit channel that fixes the centre sprays each Pauli across all three Pauli directions, a <img src="https://latex.codecogs.com/png.latex?3%20%5Ctimes%203"> grid of numbers, nine parameters with no structure to hold on to, and the coordinates we just built play no role in it whatsoever. The channels worth keeping are the ones that <em>respect the labels</em>, sending each Pauli to a multiple of a single Pauli: <img src="https://latex.codecogs.com/png.latex?%0AT%5BI%5D%20=%20I,%20%5Cqquad%0AT%5BX%5D%20=%20%5Clambda_X%5C,%20h(X),%20%5Cqquad%0AT%5BY%5D%20=%20%5Clambda_Y%5C,%20h(Y),%20%5Cqquad%0AT%5BZ%5D%20=%20%5Clambda_Z%5C,%20h(Z),%0A"> where <img src="https://latex.codecogs.com/png.latex?h"> shuffles the three letters and each <img src="https://latex.codecogs.com/png.latex?%5Clambda"> is a plain number. In group language: the channel leaves the structure we built invariant, mapping the representation onto itself instead of dissolving it. Geometrically: axes go to axes, possibly shrunk, never smeared. These are the <em>Clifford channels</em>.<sup>6</sup></p>
<p>So a Clifford channel is two pieces of data. The skeleton <img src="https://latex.codecogs.com/png.latex?h">: one of the six ways to shuffle three letters, a finite list. And three numbers <img src="https://latex.codecogs.com/png.latex?%5Clambda_X,%20%5Clambda_Y,%20%5Clambda_Z">: one scale factor per axis. The requirement <img src="https://latex.codecogs.com/png.latex?T%5BI%5D%20=%20I"> is our standing rule that the centre stays fixed, nothing new. The scale factors, though, are less free than they look. A channel maps states to states, and since every Hermitian matrix is a real combination of states, it maps Hermitian to Hermitian; with all four basis matrices Hermitian, each <img src="https://latex.codecogs.com/png.latex?%5Clambda"> must be <em>real</em>. Feeding in the pure state <img src="https://latex.codecogs.com/png.latex?%5Ctfrac12(I%20+%20X)"> produces <img src="https://latex.codecogs.com/png.latex?%5Ctfrac12(I%20+%20%5Clambda_X%5C,%20h(X))">, which is a legal state only if <img src="https://latex.codecogs.com/png.latex?%7C%5Clambda_X%7C%20%5Cleq%201">: scale factors live between <img src="https://latex.codecogs.com/png.latex?-1"> and <img src="https://latex.codecogs.com/png.latex?1">. Hold on to the reality of the scale factors, by the way. It looks like a convenience. At the end of the section it will reveal itself as a symmetry with a price tag attached.</p>
<p>Necessary is not sufficient, and honesty requires the flag: complete positivity, the condition that makes a linear map a channel, applies to this family as it did to the whole space. The old checklist splits here exactly as it always has: normalization is built in (<img src="https://latex.codecogs.com/png.latex?T%5BI%5D%20=%20I">, and traces are preserved by the label bookkeeping), while the positivity half is the fee. Not every setting of skeleton and scale factors is a lawful channel, and no amount of tidy bookkeeping waives that fee. What the small room changes is how the fee gets paid: by inspection, not by an estimate. For the one channel this section is hunting, we will exhibit lawfulness outright, no criterion needed.</p>
<div id="fig-clifford-grid" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-clifford-grid-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<!-- Figure 5: continuum vs. finite grid. Static SVG inlined verbatim from continuum_grid_figure.py. No interactivity: it is a conceptual sketch (the state-space continuum on the left, the finite label plane on the right). The mini Bloch ball uses the same purity-gradient fill and latitude/longitude wireframe as Figures 3 and 4 (its gradient id is "purity-cg" to avoid colliding with the other inlined Bloch SVGs). The identity (0,0) is a grey dot with a grey (0,0) caption on both sides. The right panel says "labels" (not "Weyl labels") because the figure appears before Weyl operators are introduced. -->
<style>
.continuum-grid{max-width:680px;margin:1.25rem auto;}
.continuum-grid svg{width:100%;height:auto;display:block;}
.continuum-grid .cg-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
</style>

<div class="continuum-grid">
  <p class="cg-vh">Two panels. On the left, a Bloch ball, the continuum of qubit states, shaded by purity with a latitude and longitude wireframe, carrying three coloured coordinate axes: X = (1,0) toward the lower left, Y = (1,1) to the right, Z = (0,1) upward, and a grey identity dot labelled (0,0) at the centre. On the right, the finite plane of labels: four points, the identity (0,0) drawn as a grey dot matching the ball centre, and the three nonzero points (1,0), (0,1), (1,1) in the matching axis colours, cycled by an example homomorphism h.</p>

<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 680 300" font-family="Georgia, 'Times New Roman', serif" aria-label="Left: the continuum of qubit states with three coloured Bloch axes. Right: the finite plane of labels, four points, with the identity fixed and the other three permuted by h.">
  <defs>
    <marker id="arrowX" viewbox="0 0 10 10" refx="8.5" refy="5" markerwidth="7" markerheight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#2d6f8f"></path></marker>
    <marker id="arrowZ" viewbox="0 0 10 10" refx="8.5" refy="5" markerwidth="7" markerheight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#6f5499"></path></marker>
    <marker id="arrowY" viewbox="0 0 10 10" refx="8.5" refy="5" markerwidth="7" markerheight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#c25b4e"></path></marker>
    <marker id="arrowH" viewbox="0 0 10 10" refx="8.5" refy="5" markerwidth="7" markerheight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#233746"></path></marker>
    <radialgradient id="purity-cg" cx="170" cy="150" r="72" gradientunits="userSpaceOnUse">
      <stop offset="0%" stop-color="#d6e5ea" stop-opacity="0.30"></stop>
      <stop offset="60%" stop-color="#5f93ad" stop-opacity="0.35"></stop>
      <stop offset="100%" stop-color="#2d6f8f" stop-opacity="0.40"></stop>
    </radialgradient>
  </defs>

  <!-- Left panel: Bloch ball (the continuum), fill + wireframe identical to Figures 3 and 4 -->
  <circle cx="170.0" cy="150.0" r="72.0" fill="url(#purity-cg)" stroke="none"></circle>
  <g>
  <polyline points="210.83,90.71 211.47,91.21 212.06,91.70 212.60,92.21 213.09,92.72 213.52,93.24 213.90,93.76 214.23,94.29 214.50,94.82 214.72,95.35 214.88,95.88 214.99,96.42 215.05,96.96 215.05,97.50 214.99,98.03 214.88,98.57 214.72,99.10 214.50,99.64 214.23,100.17 213.90,100.69 213.52,101.22 213.09,101.73 212.60,102.24 212.06,102.75 211.47,103.25 210.83,103.74 210.15,104.22 209.41,104.70 208.62,105.16 207.79,105.62 206.91,106.07 205.98,106.50 205.02,106.92 204.00,107.34 202.95,107.74 201.86,108.12 200.73,108.50 199.56,108.86 198.35,109.20 197.12,109.53 195.84,109.85 194.54,110.15 193.21,110.44 191.84,110.70 190.46,110.96 189.04,111.19 187.60,111.41 186.15,111.61 184.67,111.80 183.17,111.96 181.66,112.11 180.14,112.24 178.60,112.35 177.05,112.45 175.49,112.52 173.93,112.58 172.36,112.62 170.79,112.63 169.21,112.63 167.64,112.62 166.07,112.58 164.51,112.52 162.95,112.45 161.40,112.35 159.86,112.24 158.34,112.11 156.83,111.96 155.33,111.80 153.85,111.61 152.40,111.41 150.96,111.19 149.54,110.96 148.16,110.70 146.79,110.44 145.46,110.15 144.16,109.85 142.88,109.53 141.65,109.20 140.44,108.86 139.27,108.50 138.14,108.12 137.05,107.74 136.00,107.34 134.98,106.92 134.02,106.50 133.09,106.07 132.21,105.62 131.38,105.16 130.59,104.70 129.85,104.22 129.17,103.74 128.53,103.25 127.94,102.75 127.40,102.24 126.91,101.73 126.48,101.22 126.10,100.69 125.77,100.17 125.50,99.64 125.28,99.10 125.12,98.57 125.01,98.03 124.95,97.50 124.95,96.96 125.01,96.42 125.12,95.88 125.28,95.35 125.50,94.82 125.77,94.29 126.10,93.76 126.48,93.24 126.91,92.72 127.40,92.21 127.94,91.70 128.53,91.21 129.17,90.71 129.85,90.23" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="129.85,90.23 130.59,89.76 131.38,89.29 132.21,88.83 133.09,88.39 134.02,87.95 134.98,87.53 136.00,87.12 137.05,86.72 138.14,86.33 139.27,85.96 140.44,85.60 141.65,85.25 142.88,84.92 144.16,84.60 145.46,84.30 146.79,84.02 148.16,83.75 149.54,83.50 150.96,83.26 152.40,83.04 153.85,82.84 155.33,82.66 156.83,82.49 158.34,82.34 159.86,82.21 161.40,82.10 162.95,82.01 164.51,81.93 166.07,81.88 167.64,81.84 169.21,81.82 170.79,81.82 172.36,81.84 173.93,81.88 175.49,81.93 177.05,82.01 178.60,82.10 180.14,82.21 181.66,82.34 183.17,82.49 184.67,82.66 186.15,82.84 187.60,83.04 189.04,83.26 190.46,83.50 191.84,83.75 193.21,84.02 194.54,84.30 195.84,84.60 197.12,84.92 198.35,85.25 199.56,85.60 200.73,85.96 201.86,86.33 202.95,86.72 204.00,87.12 205.02,87.53 205.98,87.95 206.91,88.39 207.79,88.83 208.62,89.29 209.41,89.76 210.15,90.23 210.83,90.71" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="234.54,118.09 234.85,118.86 235.09,119.64 235.25,120.41 235.33,121.19 235.33,121.97 235.25,122.75 235.09,123.53 234.85,124.31 234.54,125.08 234.14,125.85 233.67,126.61 233.12,127.37 232.49,128.12 231.78,128.86 231.00,129.59 230.15,130.32 229.22,131.03 228.22,131.73 227.15,132.42 226.01,133.09 224.80,133.76 223.52,134.40 222.18,135.03 220.78,135.65 219.31,136.25 217.79,136.83 216.20,137.39 214.56,137.93 212.87,138.45 211.12,138.95 209.32,139.43 207.48,139.89 205.59,140.33 203.65,140.74 201.68,141.13 199.66,141.50 197.61,141.84 195.53,142.16 193.42,142.45 191.27,142.71 189.10,142.96 186.91,143.17 184.70,143.36 182.47,143.52 180.22,143.66 177.96,143.77 175.69,143.85 173.42,143.90 171.14,143.93 168.86,143.93 166.58,143.90 164.31,143.85 162.04,143.77 159.78,143.66 157.53,143.52 155.30,143.36 153.09,143.17 150.90,142.96 148.73,142.71 146.58,142.45 144.47,142.16 142.39,141.84 140.34,141.50 138.32,141.13 136.35,140.74 134.41,140.33 132.52,139.89 130.68,139.43 128.88,138.95 127.13,138.45 125.44,137.93 123.80,137.39 122.21,136.83 120.69,136.25 119.22,135.65 117.82,135.03 116.48,134.40 115.20,133.76 113.99,133.09 112.85,132.42 111.78,131.73 110.78,131.03 109.85,130.32 109.00,129.59 108.22,128.86 107.51,128.12 106.88,127.37 106.33,126.61 105.86,125.85 105.46,125.08 105.15,124.31 104.91,123.53 104.75,122.75 104.67,121.97 104.67,121.19 104.75,120.41 104.91,119.64 105.15,118.86 105.46,118.09 105.86,117.32" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="105.86,117.32 106.33,116.56 106.88,115.80 107.51,115.05 108.22,114.31 109.00,113.57 109.85,112.85 110.78,112.14 111.78,111.44 112.85,110.75 113.99,110.07 115.20,109.41 116.48,108.77 117.82,108.13 119.22,107.52 120.69,106.92 122.21,106.34 123.80,105.78 125.44,105.24 127.13,104.72 128.88,104.22 130.68,103.74 132.52,103.28 134.41,102.84 136.35,102.43 138.32,102.04 140.34,101.67 142.39,101.33 144.47,101.01 146.58,100.72 148.73,100.45 150.90,100.21 153.09,100.00 155.30,99.81 157.53,99.65 159.78,99.51 162.04,99.40 164.31,99.32 166.58,99.27 168.86,99.24 171.14,99.24 173.42,99.27 175.69,99.32 177.96,99.40 180.22,99.51 182.47,99.65 184.70,99.81 186.91,100.00 189.10,100.21 191.27,100.45 193.42,100.72 195.53,101.01 197.61,101.33 199.66,101.67 201.68,102.04 203.65,102.43 205.59,102.84 207.48,103.28 209.32,103.74 211.12,104.22 212.87,104.72 214.56,105.24 216.20,105.78 217.79,106.34 219.31,106.92 220.78,107.52 222.18,108.13 223.52,108.77 224.80,109.41 226.01,110.07 227.15,110.75 228.22,111.44 229.22,112.14 230.15,112.85 231.00,113.57 231.78,114.31 232.49,115.05 233.12,115.80 233.67,116.56 234.14,117.32 234.54,118.09" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="241.99,150.43 241.90,151.29 241.73,152.15 241.46,153.00 241.11,153.85 240.68,154.70 240.15,155.54 239.55,156.37 238.85,157.20 238.08,158.02 237.22,158.82 236.28,159.62 235.25,160.41 234.15,161.18 232.97,161.94 231.72,162.68 230.38,163.41 228.98,164.12 227.50,164.82 225.95,165.50 224.34,166.16 222.66,166.79 220.91,167.41 219.10,168.01 217.24,168.59 215.31,169.14 213.33,169.67 211.30,170.17 209.21,170.65 207.08,171.11 204.91,171.54 202.69,171.94 200.43,172.32 198.13,172.67 195.80,172.99 193.44,173.28 191.05,173.55 188.63,173.79 186.20,173.99 183.74,174.17 181.26,174.32 178.77,174.44 176.28,174.53 173.77,174.59 171.26,174.62 168.74,174.62 166.23,174.59 163.72,174.53 161.23,174.44 158.74,174.32 156.26,174.17 153.80,173.99 151.37,173.79 148.95,173.55 146.56,173.28 144.20,172.99 141.87,172.67 139.57,172.32 137.31,171.94 135.09,171.54 132.92,171.11 130.79,170.65 128.70,170.17 126.67,169.67 124.69,169.14 122.76,168.59 120.90,168.01 119.09,167.41 117.34,166.79 115.66,166.16 114.05,165.50 112.50,164.82 111.02,164.12 109.62,163.41 108.28,162.68 107.03,161.94 105.85,161.18 104.75,160.41 103.72,159.62 102.78,158.82 101.92,158.02 101.15,157.20 100.45,156.37 99.85,155.54 99.32,154.70 98.89,153.85 98.54,153.00 98.27,152.15 98.10,151.29 98.01,150.43 98.01,149.57" fill="none" stroke="#829aa6" stroke-width="1.7" stroke-opacity="0.85" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="98.01,149.57 98.10,148.71 98.27,147.85 98.54,147.00 98.89,146.15 99.32,145.30 99.85,144.46 100.45,143.63 101.15,142.80 101.92,141.98 102.78,141.18 103.72,140.38 104.75,139.59 105.85,138.82 107.03,138.06 108.28,137.32 109.62,136.59 111.02,135.88 112.50,135.18 114.05,134.50 115.66,133.84 117.34,133.21 119.09,132.59 120.90,131.99 122.76,131.41 124.69,130.86 126.67,130.33 128.70,129.83 130.79,129.35 132.92,128.89 135.09,128.46 137.31,128.06 139.57,127.68 141.87,127.33 144.20,127.01 146.56,126.72 148.95,126.45 151.37,126.21 153.80,126.01 156.26,125.83 158.74,125.68 161.23,125.56 163.72,125.47 166.23,125.41 168.74,125.38 171.26,125.38 173.77,125.41 176.28,125.47 178.77,125.56 181.26,125.68 183.74,125.83 186.20,126.01 188.63,126.21 191.05,126.45 193.44,126.72 195.80,127.01 198.13,127.33 200.43,127.68 202.69,128.06 204.91,128.46 207.08,128.89 209.21,129.35 211.30,129.83 213.33,130.33 215.31,130.86 217.24,131.41 219.10,131.99 220.91,132.59 222.66,133.21 224.34,133.84 225.95,134.50 227.50,135.18 228.98,135.88 230.38,136.59 231.72,137.32 232.97,138.06 234.15,138.82 235.25,139.59 236.28,140.38 237.22,141.18 238.08,141.98 238.85,142.80 239.55,143.63 240.15,144.46 240.68,145.30 241.11,146.15 241.46,147.00 241.73,147.85 241.90,148.71 241.99,149.57 241.99,150.43" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.3" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="234.14,182.68 233.67,183.44 233.12,184.20 232.49,184.95 231.78,185.69 231.00,186.43 230.15,187.15 229.22,187.86 228.22,188.56 227.15,189.25 226.01,189.93 224.80,190.59 223.52,191.23 222.18,191.87 220.78,192.48 219.31,193.08 217.79,193.66 216.20,194.22 214.56,194.76 212.87,195.28 211.12,195.78 209.32,196.26 207.48,196.72 205.59,197.16 203.65,197.57 201.68,197.96 199.66,198.33 197.61,198.67 195.53,198.99 193.42,199.28 191.27,199.55 189.10,199.79 186.91,200.00 184.70,200.19 182.47,200.35 180.22,200.49 177.96,200.60 175.69,200.68 173.42,200.73 171.14,200.76 168.86,200.76 166.58,200.73 164.31,200.68 162.04,200.60 159.78,200.49 157.53,200.35 155.30,200.19 153.09,200.00 150.90,199.79 148.73,199.55 146.58,199.28 144.47,198.99 142.39,198.67 140.34,198.33 138.32,197.96 136.35,197.57 134.41,197.16 132.52,196.72 130.68,196.26 128.88,195.78 127.13,195.28 125.44,194.76 123.80,194.22 122.21,193.66 120.69,193.08 119.22,192.48 117.82,191.87 116.48,191.23 115.20,190.59 113.99,189.93 112.85,189.25 111.78,188.56 110.78,187.86 109.85,187.15 109.00,186.43 108.22,185.69 107.51,184.95 106.88,184.20 106.33,183.44 105.86,182.68 105.46,181.91" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="105.46,181.91 105.15,181.14 104.91,180.36 104.75,179.59 104.67,178.81 104.67,178.03 104.75,177.25 104.91,176.47 105.15,175.69 105.46,174.92 105.86,174.15 106.33,173.39 106.88,172.63 107.51,171.88 108.22,171.14 109.00,170.41 109.85,169.68 110.78,168.97 111.78,168.27 112.85,167.58 113.99,166.91 115.20,166.24 116.48,165.60 117.82,164.97 119.22,164.35 120.69,163.75 122.21,163.17 123.80,162.61 125.44,162.07 127.13,161.55 128.88,161.05 130.68,160.57 132.52,160.11 134.41,159.67 136.35,159.26 138.32,158.87 140.34,158.50 142.39,158.16 144.47,157.84 146.58,157.55 148.73,157.29 150.90,157.04 153.09,156.83 155.30,156.64 157.53,156.48 159.78,156.34 162.04,156.23 164.31,156.15 166.58,156.10 168.86,156.07 171.14,156.07 173.42,156.10 175.69,156.15 177.96,156.23 180.22,156.34 182.47,156.48 184.70,156.64 186.91,156.83 189.10,157.04 191.27,157.29 193.42,157.55 195.53,157.84 197.61,158.16 199.66,158.50 201.68,158.87 203.65,159.26 205.59,159.67 207.48,160.11 209.32,160.57 211.12,161.05 212.87,161.55 214.56,162.07 216.20,162.61 217.79,163.17 219.31,163.75 220.78,164.35 222.18,164.97 223.52,165.60 224.80,166.24 226.01,166.91 227.15,167.58 228.22,168.27 229.22,168.97 230.15,169.68 231.00,170.41 231.78,171.14 232.49,171.88 233.12,172.63 233.67,173.39 234.14,174.15 234.54,174.92 234.85,175.69 235.09,176.47 235.25,177.25 235.33,178.03 235.33,178.81 235.25,179.59 235.09,180.36 234.85,181.14 234.54,181.91 234.14,182.68" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="210.15,209.77 209.41,210.24 208.62,210.71 207.79,211.17 206.91,211.61 205.98,212.05 205.02,212.47 204.00,212.88 202.95,213.28 201.86,213.67 200.73,214.04 199.56,214.40 198.35,214.75 197.12,215.08 195.84,215.40 194.54,215.70 193.21,215.98 191.84,216.25 190.46,216.50 189.04,216.74 187.60,216.96 186.15,217.16 184.67,217.34 183.17,217.51 181.66,217.66 180.14,217.79 178.60,217.90 177.05,217.99 175.49,218.07 173.93,218.12 172.36,218.16 170.79,218.18 169.21,218.18 167.64,218.16 166.07,218.12 164.51,218.07 162.95,217.99 161.40,217.90 159.86,217.79 158.34,217.66 156.83,217.51 155.33,217.34 153.85,217.16 152.40,216.96 150.96,216.74 149.54,216.50 148.16,216.25 146.79,215.98 145.46,215.70 144.16,215.40 142.88,215.08 141.65,214.75 140.44,214.40 139.27,214.04 138.14,213.67 137.05,213.28 136.00,212.88 134.98,212.47 134.02,212.05 133.09,211.61 132.21,211.17 131.38,210.71 130.59,210.24 129.85,209.77 129.17,209.29" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="129.17,209.29 128.53,208.79 127.94,208.30 127.40,207.79 126.91,207.28 126.48,206.76 126.10,206.24 125.77,205.71 125.50,205.18 125.28,204.65 125.12,204.12 125.01,203.58 124.95,203.04 124.95,202.50 125.01,201.97 125.12,201.43 125.28,200.90 125.50,200.36 125.77,199.83 126.10,199.31 126.48,198.78 126.91,198.27 127.40,197.76 127.94,197.25 128.53,196.75 129.17,196.26 129.85,195.78 130.59,195.30 131.38,194.84 132.21,194.38 133.09,193.93 134.02,193.50 134.98,193.08 136.00,192.66 137.05,192.26 138.14,191.88 139.27,191.50 140.44,191.14 141.65,190.80 142.88,190.47 144.16,190.15 145.46,189.85 146.79,189.56 148.16,189.30 149.54,189.04 150.96,188.81 152.40,188.59 153.85,188.39 155.33,188.20 156.83,188.04 158.34,187.89 159.86,187.76 161.40,187.65 162.95,187.55 164.51,187.48 166.07,187.42 167.64,187.38 169.21,187.37 170.79,187.37 172.36,187.38 173.93,187.42 175.49,187.48 177.05,187.55 178.60,187.65 180.14,187.76 181.66,187.89 183.17,188.04 184.67,188.20 186.15,188.39 187.60,188.59 189.04,188.81 190.46,189.04 191.84,189.30 193.21,189.56 194.54,189.85 195.84,190.15 197.12,190.47 198.35,190.80 199.56,191.14 200.73,191.50 201.86,191.88 202.95,192.26 204.00,192.66 205.02,193.08 205.98,193.50 206.91,193.93 207.79,194.38 208.62,194.84 209.41,195.30 210.15,195.78 210.83,196.26 211.47,196.75 212.06,197.25 212.60,197.76 213.09,198.27 213.52,198.78 213.90,199.31 214.23,199.83 214.50,200.36 214.72,200.90 214.88,201.43 214.99,201.97 215.05,202.50 215.05,203.04 214.99,203.58 214.88,204.12 214.72,204.65 214.50,205.18 214.23,205.71 213.90,206.24 213.52,206.76 213.09,207.28 212.60,207.79 212.06,208.30 211.47,208.79 210.83,209.29 210.15,209.77" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  </g>
  <g>
  <polyline points="170.00,82.34 171.03,82.60 172.06,82.88 173.09,83.17 174.11,83.49 175.14,83.83 176.16,84.19 177.19,84.57 178.21,84.97 179.23,85.38 180.24,85.82 181.25,86.28 182.26,86.76 183.27,87.25 184.27,87.77 185.26,88.30 186.26,88.86 187.24,89.43 188.23,90.02 189.20,90.63 190.17,91.25 191.14,91.90 192.09,92.56 193.04,93.24 193.99,93.94 194.93,94.65 195.85,95.38 196.78,96.13 197.69,96.89 198.59,97.67 199.49,98.47 200.38,99.28 201.25,100.11 202.12,100.95 202.98,101.81 203.83,102.68 204.67,103.57 205.49,104.47 206.31,105.38 207.12,106.31 207.91,107.25 208.69,108.20 209.46,109.17 210.22,110.15 210.97,111.14 211.70,112.15 212.43,113.16 213.13,114.19 213.83,115.22 214.51,116.27 215.18,117.33 215.84,118.40 216.48,119.48 217.10,120.56 217.71,121.66 218.31,122.76 218.90,123.88 219.46,125.00 220.02,126.13 220.55,127.26 221.08,128.40 221.58,129.55 222.08,130.71 222.55,131.87 223.01,133.04 223.45,134.21 223.88,135.38 224.29,136.57 224.68,137.75 225.06,138.94 225.42,140.13 225.77,141.33 226.09,142.53 226.40,143.73 226.69,144.93 226.97,146.13 227.23,147.34 227.47,148.54 227.69,149.75 227.90,150.96 228.08,152.16 228.25,153.37 228.40,154.57 228.54,155.77 228.66,156.98 228.75,158.17 228.84,159.37 228.90,160.56 228.94,161.75 228.97,162.94 228.98,164.12 228.97,165.30 228.94,166.48 228.90,167.65 228.84,168.81 228.75,169.97 228.66,171.12 228.54,172.26 228.40,173.40 228.25,174.53 228.08,175.66 227.90,176.77 227.69,177.88 227.47,178.98 227.23,180.07 226.97,181.15 226.69,182.23 226.40,183.29 226.09,184.34 225.77,185.38 225.42,186.41 225.06,187.43 224.68,188.44 224.29,189.44 223.88,190.42 223.45,191.39 223.01,192.35 222.55,193.30 222.08,194.23 221.58,195.15 221.08,196.06 220.55,196.95 220.02,197.83 219.46,198.69 218.90,199.54 218.31,200.38 217.71,201.20 217.10,202.00 216.48,202.78 215.84,203.56 215.18,204.31 214.51,205.05 213.83,205.77 213.13,206.47 212.43,207.16 211.70,207.83 210.97,208.48 210.22,209.11 209.46,209.73 208.69,210.33 207.91,210.91 207.12,211.47 206.31,212.01 205.49,212.53 204.67,213.04 203.83,213.52 202.98,213.99 202.12,214.44 201.25,214.86" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="201.25,214.86 200.38,215.27 199.49,215.66 198.59,216.02 197.69,216.37 196.78,216.70 195.85,217.00 194.93,217.29 193.99,217.55 193.04,217.80 192.09,218.02 191.14,218.23 190.17,218.41 189.20,218.57 188.23,218.71 187.24,218.83 186.26,218.93 185.26,219.01 184.27,219.07 183.27,219.10 182.26,219.12 181.25,219.11 180.24,219.08 179.23,219.03 178.21,218.97 177.19,218.87 176.16,218.76 175.14,218.63 174.11,218.48 173.09,218.30 172.06,218.11 171.03,217.89 170.00,217.66" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="170.00,82.34 170.22,82.78 170.44,83.23 170.65,83.70 170.87,84.20 171.09,84.71 171.31,85.25 171.52,85.80 171.74,86.38 171.96,86.97 172.17,87.58 172.39,88.21 172.60,88.86 172.81,89.53 173.02,90.22 173.24,90.92 173.45,91.65 173.66,92.39 173.86,93.15 174.07,93.92 174.28,94.72 174.48,95.53 174.68,96.35 174.89,97.20 175.09,98.06 175.28,98.93 175.48,99.82 175.68,100.73 175.87,101.65 176.06,102.58 176.25,103.53 176.44,104.50 176.63,105.47 176.81,106.47 176.99,107.47 177.17,108.49 177.35,109.52 177.52,110.56 177.70,111.62 177.87,112.68 178.04,113.76 178.20,114.85 178.37,115.95 178.53,117.06 178.69,118.18 178.84,119.31 178.99,120.45 179.14,121.59 179.29,122.75 179.44,123.92 179.58,125.09 179.72,126.27 179.85,127.46 179.99,128.65 180.11,129.85 180.24,131.06 180.37,132.27 180.49,133.49 180.60,134.71 180.72,135.94 180.83,137.17 180.94,138.41 181.04,139.65 181.14,140.89 181.24,142.14 181.33,143.39 181.42,144.64 181.51,145.89 181.59,147.14 181.67,148.39 181.75,149.65 181.82,150.90 181.89,152.16 181.96,153.41 182.02,154.66 182.08,155.91 182.13,157.16 182.18,158.41 182.23,159.65 182.27,160.90 182.31,162.13 182.35,163.37 182.38,164.60 182.41,165.83 182.43,167.05 182.46,168.26 182.47,169.47 182.49,170.68 182.50,171.88 182.50,173.07 182.50,174.25 182.50,175.43 182.50,176.60 182.49,177.76 182.47,178.91 182.46,180.06 182.43,181.19 182.41,182.32 182.38,183.43 182.35,184.54 182.31,185.63 182.27,186.72 182.23,187.79 182.18,188.85 182.13,189.90 182.08,190.94 182.02,191.96 181.96,192.97 181.89,193.97 181.82,194.96 181.75,195.93 181.67,196.89 181.59,197.83 181.51,198.76 181.42,199.67 181.33,200.57 181.24,201.46 181.14,202.32 181.04,203.18 180.94,204.01 180.83,204.83 180.72,205.63 180.60,206.42 180.49,207.19 180.37,207.94 180.24,208.67 180.11,209.39 179.99,210.09 179.85,210.76 179.72,211.43 179.58,212.07 179.44,212.69 179.29,213.29 179.14,213.88 178.99,214.44 178.84,214.99 178.69,215.52 178.53,216.02 178.37,216.51 178.20,216.97 178.04,217.42 177.87,217.84 177.70,218.25 177.52,218.63 177.35,218.99 177.17,219.33 176.99,219.65 176.81,219.95 176.63,220.23 176.44,220.48 176.25,220.72 176.06,220.93 175.87,221.12 175.68,221.29 175.48,221.44 175.28,221.57 175.09,221.67 174.89,221.76 174.68,221.82 174.48,221.85 174.28,221.87" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="174.28,221.87 174.07,221.87 173.86,221.84 173.66,221.79 173.45,221.72 173.24,221.63 173.02,221.52 172.81,221.38 172.60,221.22 172.39,221.04 172.17,220.84 171.96,220.62 171.74,220.37 171.52,220.11 171.31,219.82 171.09,219.51 170.87,219.18 170.65,218.83 170.44,218.46 170.22,218.07 170.00,217.66" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="170.00,82.34 169.28,82.70 168.56,83.09 167.84,83.49 167.12,83.91 166.40,84.36 165.68,84.82 164.97,85.30 164.25,85.81 163.54,86.33 162.83,86.87 162.12,87.43 161.41,88.01 160.71,88.61 160.01,89.23 159.31,89.87 158.62,90.52 157.93,91.20 157.24,91.89 156.55,92.60 155.88,93.32 155.20,94.06 154.53,94.83 153.86,95.60 153.20,96.40 152.55,97.21 151.90,98.03 151.25,98.87 150.61,99.73 149.98,100.60 149.35,101.49 148.73,102.40 148.12,103.31 147.51,104.24 146.91,105.19 146.31,106.15 145.73,107.12 145.15,108.11 144.57,109.10 144.01,110.11 143.45,111.14 142.91,112.17 142.37,113.22 141.84,114.28 141.31,115.34 140.80,116.42 140.29,117.51 139.80,118.61 139.31,119.72 138.83,120.84 138.36,121.96 137.91,123.10 137.46,124.24 137.02,125.39 136.59,126.55 136.17,127.72 135.76,128.89 135.36,130.07 134.98,131.25 134.60,132.44 134.24,133.64 133.88,134.84 133.54,136.05 133.20,137.26 132.88,138.47 132.57,139.69 132.27,140.91 131.99,142.13 131.71,143.36 131.45,144.59 131.19,145.82 130.95,147.05 130.72,148.28 130.51,149.51 130.30,150.74 130.11,151.97 129.93,153.20 129.76,154.44 129.60,155.66 129.46,156.89 129.33,158.12 129.21,159.34 129.10,160.56 129.01,161.78 128.93,162.99 128.86,164.20 128.80,165.40 128.76,166.60 128.73,167.80 128.71,168.99 128.70,170.17 128.71,171.35 128.73,172.52 128.76,173.69 128.80,174.84 128.86,175.99 128.93,177.13 129.01,178.27 129.10,179.39 129.21,180.51 129.33,181.61 129.46,182.71 129.60,183.80 129.76,184.87 129.93,185.94 130.11,187.00 130.30,188.04 130.51,189.07 130.72,190.09 130.95,191.10 131.19,192.10 131.45,193.08 131.71,194.05 131.99,195.00 132.27,195.95 132.57,196.88 132.88,197.79 133.20,198.69 133.54,199.57 133.88,200.44 134.24,201.30 134.60,202.14 134.98,202.96 135.36,203.77 135.76,204.56 136.17,205.33 136.59,206.09 137.02,206.83 137.46,207.55 137.91,208.26 138.36,208.94 138.83,209.61 139.31,210.26 139.80,210.90 140.29,211.51 140.80,212.11 141.31,212.68 141.84,213.24 142.37,213.78 142.91,214.30 143.45,214.80 144.01,215.27 144.57,215.73 145.15,216.17 145.73,216.59 146.31,216.99 146.91,217.37 147.51,217.73 148.12,218.07 148.73,218.38 149.35,218.68 149.98,218.95 150.61,219.21 151.25,219.44 151.90,219.65 152.55,219.84 153.20,220.01 153.86,220.16" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="153.86,220.16 154.53,220.29 155.20,220.39 155.88,220.48 156.55,220.54 157.24,220.58 157.93,220.60 158.62,220.60 159.31,220.57 160.01,220.53 160.71,220.46 161.41,220.37 162.12,220.26 162.83,220.13 163.54,219.98 164.25,219.81 164.97,219.61 165.68,219.40 166.40,219.16 167.12,218.90 167.84,218.62 168.56,218.32 169.28,218.00 170.00,217.66" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="170.00,82.34 168.76,82.43 167.53,82.53 166.29,82.66 165.05,82.81 163.82,82.97 162.59,83.16 161.36,83.37 160.13,83.60 158.91,83.84 157.69,84.11 156.47,84.40 155.26,84.71 154.05,85.04 152.85,85.39 151.65,85.75 150.46,86.14 149.27,86.55 148.09,86.97 146.92,87.42 145.75,87.88 144.59,88.37 143.44,88.87 142.29,89.39 141.16,89.93 140.03,90.49 138.92,91.06 137.81,91.66 136.71,92.27 135.62,92.90 134.55,93.54 133.48,94.21 132.43,94.89 131.38,95.59 130.35,96.30 129.33,97.03 128.32,97.78 127.33,98.54 126.35,99.32 125.38,100.11 124.42,100.92 123.48,101.74 122.55,102.58 121.64,103.43 120.74,104.30 119.86,105.18 118.99,106.08 118.14,106.98 117.31,107.91 116.49,108.84 115.68,109.79 114.90,110.74 114.13,111.72 113.37,112.70 112.64,113.69 111.92,114.70 111.22,115.71 110.53,116.74 109.87,117.77 109.22,118.82 108.59,119.87 107.98,120.94 107.39,122.01 106.82,123.09 106.27,124.18 105.74,125.28 105.22,126.39 104.73,127.50 104.26,128.62 103.80,129.75 103.37,130.88 102.96,132.02 102.56,133.16 102.19,134.31 101.84,135.46 101.51,136.62 101.20,137.78 100.91,138.95 100.64,140.12 100.40,141.29 100.17,142.46 99.97,143.64 99.78,144.82 99.62,146.00 99.48,147.18 99.36,148.36 99.27,149.55 99.19,150.73 99.14,151.91 99.10,153.09 99.09,154.28 99.10,155.46 99.14,156.63 99.19,157.81 99.27,158.99 99.36,160.16 99.48,161.32 99.62,162.49 99.78,163.65 99.97,164.81 100.17,165.96 100.40,167.11 100.64,168.25 100.91,169.39 101.20,170.52 101.51,171.64 101.84,172.76 102.19,173.87 102.56,174.97 102.96,176.07 103.37,177.16 103.80,178.24 104.26,179.31 104.73,180.37 105.22,181.43 105.74,182.47 106.27,183.50" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="106.27,183.50 106.82,184.53 107.39,185.54 107.98,186.54 108.59,187.53 109.22,188.51 109.87,189.48 110.53,190.44 111.22,191.38 111.92,192.31 112.64,193.23 113.37,194.13 114.13,195.02 114.90,195.90 115.68,196.77 116.49,197.61 117.31,198.45 118.14,199.27 118.99,200.08 119.86,200.87 120.74,201.64 121.64,202.40 122.55,203.14 123.48,203.87 124.42,204.58 125.38,205.27 126.35,205.95 127.33,206.61 128.32,207.25 129.33,207.87 130.35,208.48 131.38,209.07 132.43,209.64 133.48,210.20 134.55,210.73 135.62,211.25 136.71,211.75 137.81,212.22 138.92,212.69 140.03,213.13 141.16,213.55 142.29,213.95 143.44,214.33 144.59,214.70 145.75,215.04 146.92,215.36 148.09,215.67 149.27,215.95 150.46,216.22 151.65,216.46 152.85,216.68 154.05,216.89 155.26,217.07 156.47,217.23 157.69,217.37 158.91,217.49 160.13,217.59 161.36,217.67 162.59,217.73 163.82,217.77 165.05,217.79 166.29,217.79 167.53,217.77 168.76,217.72 170.00,217.66" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="170.00,82.34 168.97,82.11 167.94,81.89 166.91,81.70 165.89,81.52 164.86,81.37 163.84,81.24 162.81,81.13 161.79,81.03 160.77,80.97 159.76,80.92 158.75,80.89 157.74,80.88 156.73,80.90 155.73,80.93 154.74,80.99 153.74,81.07 152.76,81.17 151.77,81.29 150.80,81.43 149.83,81.59 148.86,81.77 147.91,81.98 146.96,82.20 146.01,82.45 145.07,82.71 144.15,83.00 143.22,83.30 142.31,83.63 141.41,83.98 140.51,84.34 139.62,84.73 138.75,85.14 137.88,85.56" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="137.88,85.56 137.02,86.01 136.17,86.48 135.33,86.96 134.51,87.47 133.69,87.99 132.88,88.53 132.09,89.09 131.31,89.67 130.54,90.27 129.78,90.89 129.03,91.52 128.30,92.17 127.57,92.84 126.87,93.53 126.17,94.23 125.49,94.95 124.82,95.69 124.16,96.44 123.52,97.22 122.90,98.00 122.29,98.80 121.69,99.62 121.10,100.46 120.54,101.31 119.98,102.17 119.45,103.05 118.92,103.94 118.42,104.85 117.92,105.77 117.45,106.70 116.99,107.65 116.55,108.61 116.12,109.58 115.71,110.56 115.32,111.56 114.94,112.57 114.58,113.59 114.23,114.62 113.91,115.66 113.60,116.71 113.31,117.77 113.03,118.85 112.77,119.93 112.53,121.02 112.31,122.12 112.10,123.23 111.92,124.34 111.75,125.47 111.60,126.60 111.46,127.74 111.34,128.88 111.25,130.03 111.16,131.19 111.10,132.35 111.06,133.52 111.03,134.70 111.02,135.88 111.03,137.06 111.06,138.25 111.10,139.44 111.16,140.63 111.25,141.83 111.34,143.02 111.46,144.23 111.60,145.43 111.75,146.63 111.92,147.84 112.10,149.04 112.31,150.25 112.53,151.46 112.77,152.66 113.03,153.87 113.31,155.07 113.60,156.27 113.91,157.47 114.23,158.67 114.58,159.87 114.94,161.06 115.32,162.25 115.71,163.43 116.12,164.62 116.55,165.79 116.99,166.96 117.45,168.13 117.92,169.29 118.42,170.45 118.92,171.60 119.45,172.74 119.98,173.87 120.54,175.00 121.10,176.12 121.69,177.24 122.29,178.34 122.90,179.44 123.52,180.52 124.16,181.60 124.82,182.67 125.49,183.73 126.17,184.78 126.87,185.81 127.57,186.84 128.30,187.85 129.03,188.86 129.78,189.85 130.54,190.83 131.31,191.80 132.09,192.75 132.88,193.69 133.69,194.62 134.51,195.53 135.33,196.43 136.17,197.32 137.02,198.19 137.88,199.05 138.75,199.89 139.62,200.72 140.51,201.53 141.41,202.33 142.31,203.11 143.22,203.87 144.15,204.62 145.07,205.35 146.01,206.06 146.96,206.76 147.91,207.44 148.86,208.10 149.83,208.75 150.80,209.37 151.77,209.98 152.76,210.57 153.74,211.14 154.74,211.70 155.73,212.23 156.73,212.75 157.74,213.24 158.75,213.72 159.76,214.18 160.77,214.62 161.79,215.03 162.81,215.43 163.84,215.81 164.86,216.17 165.89,216.51 166.91,216.83 167.94,217.12 168.97,217.40 170.00,217.66" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="170.00,82.34 169.78,81.93 169.56,81.54 169.35,81.17 169.13,80.82 168.91,80.49 168.69,80.18 168.48,79.89 168.26,79.63 168.04,79.38 167.83,79.16 167.61,78.96 167.40,78.78 167.19,78.62 166.98,78.48 166.76,78.37 166.55,78.28 166.34,78.21 166.14,78.16 165.93,78.13 165.72,78.13 165.52,78.15" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="165.52,78.15 165.32,78.18 165.11,78.24 164.91,78.33 164.72,78.43 164.52,78.56 164.32,78.71 164.13,78.88 163.94,79.07 163.75,79.28 163.56,79.52 163.37,79.77 163.19,80.05 163.01,80.35 162.83,80.67 162.65,81.01 162.48,81.37 162.30,81.75 162.13,82.16 161.96,82.58 161.80,83.03 161.63,83.49 161.47,83.98 161.31,84.48 161.16,85.01 161.01,85.56 160.86,86.12 160.71,86.71 160.56,87.31 160.42,87.93 160.28,88.57 160.15,89.24 160.01,89.91 159.89,90.61 159.76,91.33 159.63,92.06 159.51,92.81 159.40,93.58 159.28,94.37 159.17,95.17 159.06,95.99 158.96,96.82 158.86,97.68 158.76,98.54 158.67,99.43 158.58,100.33 158.49,101.24 158.41,102.17 158.33,103.11 158.25,104.07 158.18,105.04 158.11,106.03 158.04,107.03 157.98,108.04 157.92,109.06 157.87,110.10 157.82,111.15 157.77,112.21 157.73,113.28 157.69,114.37 157.65,115.46 157.62,116.57 157.59,117.68 157.57,118.81 157.54,119.94 157.53,121.09 157.51,122.24 157.50,123.40 157.50,124.57 157.50,125.75 157.50,126.93 157.50,128.12 157.51,129.32 157.53,130.53 157.54,131.74 157.57,132.95 157.59,134.17 157.62,135.40 157.65,136.63 157.69,137.87 157.73,139.10 157.77,140.35 157.82,141.59 157.87,142.84 157.92,144.09 157.98,145.34 158.04,146.59 158.11,147.84 158.18,149.10 158.25,150.35 158.33,151.61 158.41,152.86 158.49,154.11 158.58,155.36 158.67,156.61 158.76,157.86 158.86,159.11 158.96,160.35 159.06,161.59 159.17,162.83 159.28,164.06 159.40,165.29 159.51,166.51 159.63,167.73 159.76,168.94 159.89,170.15 160.01,171.35 160.15,172.54 160.28,173.73 160.42,174.91 160.56,176.08 160.71,177.25 160.86,178.41 161.01,179.55 161.16,180.69 161.31,181.82 161.47,182.94 161.63,184.05 161.80,185.15 161.96,186.24 162.13,187.32 162.30,188.38 162.48,189.44 162.65,190.48 162.83,191.51 163.01,192.53 163.19,193.53 163.37,194.53 163.56,195.50 163.75,196.47 163.94,197.42 164.13,198.35 164.32,199.27 164.52,200.18 164.72,201.07 164.91,201.94 165.11,202.80 165.32,203.65 165.52,204.47 165.72,205.28 165.93,206.08 166.14,206.85 166.34,207.61 166.55,208.35 166.76,209.08 166.98,209.78 167.19,210.47 167.40,211.14 167.61,211.79 167.83,212.42 168.04,213.03 168.26,213.62 168.48,214.20 168.69,214.75 168.91,215.29 169.13,215.80 169.35,216.30 169.56,216.77 169.78,217.22 170.00,217.66" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="170.00,82.34 170.72,82.00 171.44,81.68 172.16,81.38 172.88,81.10 173.60,80.84 174.32,80.60 175.03,80.39 175.75,80.19 176.46,80.02 177.17,79.87 177.88,79.74 178.59,79.63 179.29,79.54 179.99,79.47 180.69,79.43 181.38,79.40 182.07,79.40 182.76,79.42 183.45,79.46 184.12,79.52 184.80,79.61 185.47,79.71 186.14,79.84 186.80,79.99" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="186.80,79.99 187.45,80.16 188.10,80.35 188.75,80.56 189.39,80.79 190.02,81.05 190.65,81.32 191.27,81.62 191.88,81.93 192.49,82.27 193.09,82.63 193.69,83.01 194.27,83.41 194.85,83.83 195.43,84.27 195.99,84.73 196.55,85.20 197.09,85.70 197.63,86.22 198.16,86.76 198.69,87.32 199.20,87.89 199.71,88.49 200.20,89.10 200.69,89.74 201.17,90.39 201.64,91.06 202.09,91.74 202.54,92.45 202.98,93.17 203.41,93.91 203.83,94.67 204.24,95.44 204.64,96.23 205.02,97.04 205.40,97.86 205.76,98.70 206.12,99.56 206.46,100.43 206.80,101.31 207.12,102.21 207.43,103.12 207.73,104.05 208.01,105.00 208.29,105.95 208.55,106.92 208.81,107.90 209.05,108.90 209.28,109.91 209.49,110.93 209.70,111.96 209.89,113.00 210.07,114.06 210.24,115.13 210.40,116.20 210.54,117.29 210.67,118.39 210.79,119.49 210.90,120.61 210.99,121.73 211.07,122.87 211.14,124.01 211.20,125.16 211.24,126.31 211.27,127.48 211.29,128.65 211.30,129.83 211.29,131.01 211.27,132.20 211.24,133.40 211.20,134.60 211.14,135.80 211.07,137.01 210.99,138.22 210.90,139.44 210.79,140.66 210.67,141.88 210.54,143.11 210.40,144.34 210.24,145.56 210.07,146.80 209.89,148.03 209.70,149.26 209.49,150.49 209.28,151.72 209.05,152.95 208.81,154.18 208.55,155.41 208.29,156.64 208.01,157.87 207.73,159.09 207.43,160.31 207.12,161.53 206.80,162.74 206.46,163.95 206.12,165.16 205.76,166.36 205.40,167.56 205.02,168.75 204.64,169.93 204.24,171.11 203.83,172.28 203.41,173.45 202.98,174.61 202.54,175.76 202.09,176.90 201.64,178.04 201.17,179.16 200.69,180.28 200.20,181.39 199.71,182.49 199.20,183.58 198.69,184.66 198.16,185.72 197.63,186.78 197.09,187.83 196.55,188.86 195.99,189.89 195.43,190.90 194.85,191.89 194.27,192.88 193.69,193.85 193.09,194.81 192.49,195.76 191.88,196.69 191.27,197.60 190.65,198.51 190.02,199.40 189.39,200.27 188.75,201.13 188.10,201.97 187.45,202.79 186.80,203.60 186.14,204.40 185.47,205.17 184.80,205.94 184.12,206.68 183.45,207.40 182.76,208.11 182.07,208.80 181.38,209.48 180.69,210.13 179.99,210.77 179.29,211.39 178.59,211.99 177.88,212.57 177.17,213.13 176.46,213.67 175.75,214.19 175.03,214.70 174.32,215.18 173.60,215.64 172.88,216.09 172.16,216.51 171.44,216.91 170.72,217.30 170.00,217.66" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="170.00,82.34 171.24,82.28 172.47,82.23 173.71,82.21 174.95,82.21 176.18,82.23 177.41,82.27 178.64,82.33 179.87,82.41 181.09,82.51 182.31,82.63 183.53,82.77 184.74,82.93 185.95,83.11 187.15,83.32 188.35,83.54 189.54,83.78 190.73,84.05 191.91,84.33 193.08,84.64 194.25,84.96 195.41,85.30 196.56,85.67 197.71,86.05 198.84,86.45 199.97,86.87 201.08,87.31 202.19,87.78 203.29,88.25 204.38,88.75 205.45,89.27 206.52,89.80 207.57,90.36 208.62,90.93 209.65,91.52 210.67,92.13 211.68,92.75 212.67,93.39 213.65,94.05 214.62,94.73 215.58,95.42 216.52,96.13 217.45,96.86 218.36,97.60 219.26,98.36 220.14,99.13 221.01,99.92 221.86,100.73 222.69,101.55 223.51,102.39 224.32,103.23 225.10,104.10 225.87,104.98 226.63,105.87 227.36,106.77 228.08,107.69 228.78,108.62 229.47,109.56 230.13,110.52 230.78,111.49 231.41,112.47 232.02,113.46 232.61,114.46 233.18,115.47 233.73,116.50 234.26,117.53" fill="none" stroke="#829aa6" stroke-width="1.15" stroke-opacity="0.5" stroke-linecap="round" stroke-linejoin="round"></polyline>
  <polyline points="234.26,117.53 234.78,118.57 235.27,119.63 235.74,120.69 236.20,121.76 236.63,122.84 237.04,123.93 237.44,125.03 237.81,126.13 238.16,127.24 238.49,128.36 238.80,129.48 239.09,130.61 239.36,131.75 239.60,132.89 239.83,134.04 240.03,135.19 240.22,136.35 240.38,137.51 240.52,138.68 240.64,139.84 240.73,141.01 240.81,142.19 240.86,143.37 240.90,144.54 240.91,145.72 240.90,146.91 240.86,148.09 240.81,149.27 240.73,150.45 240.64,151.64 240.52,152.82 240.38,154.00 240.22,155.18 240.03,156.36 239.83,157.54 239.60,158.71 239.36,159.88 239.09,161.05 238.80,162.22 238.49,163.38 238.16,164.54 237.81,165.69 237.44,166.84 237.04,167.98 236.63,169.12 236.20,170.25 235.74,171.38 235.27,172.50 234.78,173.61 234.26,174.72 233.73,175.82 233.18,176.91 232.61,177.99 232.02,179.06 231.41,180.13 230.78,181.18 230.13,182.23 229.47,183.26 228.78,184.29 228.08,185.30 227.36,186.31 226.63,187.30 225.87,188.28 225.10,189.26 224.32,190.21 223.51,191.16 222.69,192.09 221.86,193.02 221.01,193.92 220.14,194.82 219.26,195.70 218.36,196.57 217.45,197.42 216.52,198.26 215.58,199.08 214.62,199.89 213.65,200.68 212.67,201.46 211.68,202.22 210.67,202.97 209.65,203.70 208.62,204.41 207.57,205.11 206.52,205.79 205.45,206.46 204.38,207.10 203.29,207.73 202.19,208.34 201.08,208.94 199.97,209.51 198.84,210.07 197.71,210.61 196.56,211.13 195.41,211.63 194.25,212.12 193.08,212.58 191.91,213.03 190.73,213.45 189.54,213.86 188.35,214.25 187.15,214.61 185.95,214.96 184.74,215.29 183.53,215.60 182.31,215.89 181.09,216.16 179.87,216.40 178.64,216.63 177.41,216.84 176.18,217.03 174.95,217.19 173.71,217.34 172.47,217.47 171.24,217.57 170.00,217.66" fill="none" stroke="#829aa6" stroke-width="0.9" stroke-opacity="0.22" stroke-dasharray="3,4" stroke-linecap="round" stroke-linejoin="round"></polyline>
  </g>
  <circle cx="170.0" cy="150.0" r="72.0" fill="none" stroke="#2d6f8f" stroke-width="2.2"></circle>
  <line x1="170.00" y1="150.00" x2="170.00" y2="64.00" stroke="#6f5499" stroke-width="2.4" stroke-linecap="round" marker-end="url(#arrowZ)"></line>
  <line x1="170.00" y1="150.00" x2="268.00" y2="140.00" stroke="#c25b4e" stroke-width="2.4" stroke-linecap="round" marker-end="url(#arrowY)"></line>
  <line x1="170.00" y1="150.00" x2="96.00" y2="212.00" stroke="#2d6f8f" stroke-width="2.4" stroke-linecap="round" marker-end="url(#arrowX)"></line>
  <circle cx="170.0" cy="150.0" r="5" fill="#7d8a91"></circle>
  <text x="179.00" y="169.00" text-anchor="start" font-size="15" fill="#7d8a91">(0,0)</text>
  <text x="170.00" y="52.00" text-anchor="middle" font-size="15" fill="#6f5499"><tspan font-style="italic">Z</tspan> = (0,1)</text>
  <text x="278.00" y="141.00" text-anchor="start" font-size="15" fill="#c25b4e"><tspan font-style="italic">Y</tspan> = (1,1)</text>
  <text x="88.00" y="226.00" text-anchor="end" font-size="15" fill="#2d6f8f"><tspan font-style="italic">X</tspan> = (1,0)</text>
  <text x="170.00" y="282.00" text-anchor="middle" font-size="15" fill="#233746" font-style="italic">qubit states: a continuum</text>

  <!-- Right panel: the finite label plane F_2^2 -->
  <line x1="406.00" y1="230.00" x2="594.00" y2="230.00" stroke="#829aa6" stroke-width="1" stroke-opacity="0.45"></line>
  <line x1="440.00" y1="264.00" x2="440.00" y2="76.00" stroke="#829aa6" stroke-width="1" stroke-opacity="0.45"></line>
  <!-- one example homomorphism h, a 3-cycle of the nonzero points -->
  <path d="M 547.47 221.76 Q 487.60 182.40 448.24 122.53" fill="none" stroke="#233746" stroke-width="1.8" stroke-linecap="round" marker-end="url(#arrowH)"></path>
  <path d="M 453.30 103.07 Q 487.60 85.20 545.81 105.14" fill="none" stroke="#233746" stroke-width="1.8" stroke-linecap="round" marker-end="url(#arrowH)"></path>
  <path d="M 564.86 124.19 Q 584.80 182.40 566.93 216.70" fill="none" stroke="#233746" stroke-width="1.8" stroke-linecap="round" marker-end="url(#arrowH)"></path>
  <text x="520.00" y="155.00" text-anchor="middle" font-size="18" fill="#233746" font-style="italic">h</text>
  <circle cx="440.0" cy="230.0" r="7.0" fill="#7d8a91"></circle>
  <circle cx="560.0" cy="230.0" r="7.0" fill="#2d6f8f"></circle>
  <circle cx="440.0" cy="110.0" r="7.0" fill="#6f5499"></circle>
  <circle cx="560.0" cy="110.0" r="7.0" fill="#c25b4e"></circle>
  <text x="428.00" y="248.00" text-anchor="end" font-size="15" fill="#7d8a91">(0,0)</text>
  <text x="572.00" y="248.00" text-anchor="start" font-size="15" fill="#2d6f8f">(1,0)</text>
  <text x="428.00" y="100.00" text-anchor="end" font-size="15" fill="#6f5499">(0,1)</text>
  <text x="572.00" y="100.00" text-anchor="start" font-size="15" fill="#c25b4e">(1,1)</text>
  <text x="500.00" y="282.00" text-anchor="middle" font-size="15" fill="#233746" font-style="italic">labels: a finite grid</text>

  <!-- faint divider between the two panels -->
  <line x1="350.0" y1="40" x2="350.0" y2="258" stroke="#829aa6" stroke-width="1" stroke-dasharray="3,4" stroke-opacity="0.35"></line>
</svg>

</div>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-clifford-grid-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;5: A Clifford channel’s structural core is finite. On the left, the continuum of qubit states: the three Bloch axes carry both their letters and their labels, with the identity’s label <img src="https://latex.codecogs.com/png.latex?(0,0)"> at the fixed centre. On the right, the label plane on its own: four points. The relabelling half <img src="https://latex.codecogs.com/png.latex?h"> of a Clifford channel is a map on this finite grid, drawn here as a 3-cycle of the three nonzero labels that leaves the centre untouched; keep an eye on this particular cycle, because it returns when we design the root. The scale factors <img src="https://latex.codecogs.com/png.latex?%5Clambda">, the other half of the data, are deliberately not drawn: a Clifford channel is a relabelling <em>and</em> a scale factor per axis, never just a permutation.
</figcaption>
</figure>
</div>
<p>The family is small, but everything this post has met so far is already inside it. Three exhibits.</p>
<p>First, the classical copier, lifted. Flip the qubit with probability <img src="https://latex.codecogs.com/png.latex?a">: that is the channel <img src="https://latex.codecogs.com/png.latex?T%5B%5Crho%5D%20=%20(1-a)%5C,%5Crho%20+%20a%5C,X%5Crho%20X">. Conjugating by <img src="https://latex.codecogs.com/png.latex?X"> leaves <img src="https://latex.codecogs.com/png.latex?X"> itself alone and flips the sign of <img src="https://latex.codecogs.com/png.latex?Y"> and of <img src="https://latex.codecogs.com/png.latex?Z"> (two quick visits to the multiplication table: <img src="https://latex.codecogs.com/png.latex?XYX%20=%20-Y"> and <img src="https://latex.codecogs.com/png.latex?XZX%20=%20-Z">), so the mixture has skeleton <img src="https://latex.codecogs.com/png.latex?h%20=%20%5Cmathrm%7Bid%7D"> and scale factors <img src="https://latex.codecogs.com/png.latex?(1,%5C;%201-2a,%5C;%201-2a)">. Restricted to the vertical diameter it multiplies <img src="https://latex.codecogs.com/png.latex?Z"> by <img src="https://latex.codecogs.com/png.latex?1%20-%202a">: exactly the classical copier we translated at the start. The lift is faithful.</p>
<p>Second, the reversible members. Conjugation by <img src="https://latex.codecogs.com/png.latex?X"> alone is the case <img src="https://latex.codecogs.com/png.latex?a%20=%201">: scale factors <img src="https://latex.codecogs.com/png.latex?(1,%20-1,%20-1)">, nothing shrunk, two axes reflected. Conjugation by the Hadamard gate <img src="https://latex.codecogs.com/png.latex?H%20=%20(X%20+%20Z)/%5Csqrt%7B2%7D">, the unitary that exchanges the roles of <img src="https://latex.codecogs.com/png.latex?X"> and <img src="https://latex.codecogs.com/png.latex?Z">, gives the first nontrivial skeleton: <img src="https://latex.codecogs.com/png.latex?h"> swaps <img src="https://latex.codecogs.com/png.latex?X%20%5Cleftrightarrow%20Z"> and fixes <img src="https://latex.codecogs.com/png.latex?Y">, with scale factors <img src="https://latex.codecogs.com/png.latex?(1,%20-1,%201)">. Negative scale factors are legal, and reversible Clifford channels are precisely the famous Clifford gates, met here in channel clothing.</p>
<p>Third, total erasure itself. Set every scale factor to zero. Each Pauli dies, every Bloch vector is sent to the origin, and <img src="https://latex.codecogs.com/png.latex?T"> is the completely depolarizing channel <img src="https://latex.codecogs.com/png.latex?P"> itself, whatever the skeleton. The object we want roots of is a member of the family. The hunt can begin at home.</p>
<p>Apply a Clifford channel twice, and watch the bookkeeping run itself: <img src="https://latex.codecogs.com/png.latex?%0AT%5E2%5BX%5D%20%5C;=%5C;%20%5Clambda_X%5C,%20T%5Bh(X)%5D%0A%5C;=%5C;%20%5Clambda_X%5C,%20%5Clambda_%7Bh(X)%7D%5C,%20h%5E2(X),%0A"> and likewise for the other letters. Nothing new is ever created. Each letter <em>walks</em>, one step along <img src="https://latex.codecogs.com/png.latex?h"> per application of the channel. And the scale factors <em>multiply along the walk</em>: after <img src="https://latex.codecogs.com/png.latex?n"> steps a letter carries the product of the <img src="https://latex.codecogs.com/png.latex?n"> scale factors it collected on departure. Meanwhile <img src="https://latex.codecogs.com/png.latex?P"> is the channel that kills all three letters. So <img src="https://latex.codecogs.com/png.latex?%0AT%5En%20=%20P%0A%5Cquad%5CLongleftrightarrow%5Cquad%0A%5Ctext%7Bevery%20letter's%20$n$-step%20product%20of%20scale%20factors%20has%20died.%7D%0A"> The channel question has become a question about walks on three points and products of numbers along them. This is the reduction the whole post has been steering toward, and it will survive word for word when three letters become <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201">.</p>
<p>One consequence is immediate, and it echoes the classical bit. Scale factors are real numbers, and a product of nonzero numbers is never zero. A walk’s product dies only by stepping on a <em>zero scale factor</em>. Erasure, in this family, is not a gradual conspiracy of small numbers. It happens exactly where the zeros are.</p>
<p>And now the hunt fits in three short paragraphs, because a shuffle of three letters has only three possible shapes.</p>
<p>The skeleton could fix all three letters. Then each letter walks in place, multiplying its own scale factor over and over, and dying forces that scale factor to <em>be</em> zero. All three scale factors zero means <img src="https://latex.codecogs.com/png.latex?T%20=%20P"> from the very start. This is the classical bit’s tragedy, tripled: no roots live here.</p>
<p>The skeleton could swap two letters and fix the third. The fixed letter needs its own zero, as before. The swapped pair walk into each other, so at least one of their two scale factors must vanish, and then both of those walks are dead within two steps. Order two at best: a square root of erasure, the quantum sibling of the classical <img src="https://latex.codecogs.com/png.latex?d%20=%203"> construction, and nothing more.</p>
<p>Or the skeleton could cycle all three letters. Now a <em>single</em> zero serves everybody, because every walk eventually passes through it, and the walks reach it at different times. Put the zero on <img src="https://latex.codecogs.com/png.latex?X">, keep the other two scale factors alive at one half: <img src="https://latex.codecogs.com/png.latex?%0AT%5BX%5D%20=%200,%20%5Cqquad%20T%5BY%5D%20=%20%5Ctfrac12%5C,%20X,%20%5Cqquad%20T%5BZ%5D%20=%20%5Ctfrac12%5C,%20Y%20.%0A"> <img src="https://latex.codecogs.com/png.latex?X"> dies immediately. <img src="https://latex.codecogs.com/png.latex?Y"> steps onto <img src="https://latex.codecogs.com/png.latex?X"> and dies departing it: two steps. <img src="https://latex.codecogs.com/png.latex?Z"> takes the long way round, and it pays to compute it once in full: <img src="https://latex.codecogs.com/png.latex?%0AT%5BZ%5D%20=%20%5Ctfrac12%5C,%20Y,%20%5Cqquad%0AT%5E2%5BZ%5D%20=%20%5Ctfrac14%5C,%20X,%20%5Cqquad%0AT%5E3%5BZ%5D%20=%200%20.%0A"> So <img src="https://latex.codecogs.com/png.latex?T%5E3%20=%20P">, while <img src="https://latex.codecogs.com/png.latex?T%5E2%20%5Cneq%20P">: the quarter of <img src="https://latex.codecogs.com/png.latex?X"> still alive at step two is the witness. Order exactly three.</p>
<p>Three is the ceiling for the entire family, because the survey was exhaustive: no shuffle of three letters offers a longer walk to a zero. And three is <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> at <img src="https://latex.codecogs.com/png.latex?d%20=%202">. Read that twice. The tiny, rigid family, six skeletons and three scale factors, reaches the same maximal order that the whole quantum machinery allows. Nothing was lost by retreating into the small room (Figure&nbsp;6).</p>
<div id="fig-clifford-bouquet" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-clifford-bouquet-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<!-- Figure 6: the Clifford bouquet. Static SVG inlined verbatim from clifford_bouquet_figure.py. No interactivity: it is a conceptual sketch (the blob of all unital qubit channels, with the six Clifford skeleton-sheets drawn as needles through P). P reuses the grey of the maximally mixed dot in Figures 1, 3 and 5; the needles and the identity tip take the quantum-structure teal. The SVG defines no ids, so nothing needed prefixing. -->
<style>
.clifford-bouquet{max-width:680px;margin:1.25rem auto;}
.clifford-bouquet svg{width:100%;height:auto;display:block;}
.clifford-bouquet .cb-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
</style>

<div class="clifford-bouquet">
  <p class="cb-vh">A large, gently irregular convex blob, the nine-parameter continuum of unital qubit channels. Through the grey point P inside it, the completely depolarizing channel, runs a bouquet of six thin straight teal needles, the Clifford channels: one sheet per skeleton, with the scale factors varying continuously along each, all sheets meeting at P. The needles extend further toward positive scale factors than negative ones, and the identity channel sits at the tip of the identity-skeleton needle, marked id.</p>

<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 680 372" font-family="Georgia, 'Times New Roman', serif" aria-label="A large convex blob, the nine-parameter continuum of unital qubit channels. Through the grey point P at its centre, the completely depolarizing channel, runs a bouquet of six thin straight needles, the Clifford channels: one sheet per skeleton, scale factors varying along each, all sheets meeting at P. The identity channel sits at the tip of one needle, marked id.">

  <!-- The ambient space: all unital qubit channels, a gently irregular convex blob -->
  <path d="M 608.20 190.00 L 608.74 193.47 L 609.11 196.95 L 609.32 200.44 L 609.36 203.94 L 609.23 207.46 L 608.92 210.98 L 608.42 214.50 L 607.73 218.03 L 606.85 221.55 L 605.78 225.08 L 604.51 228.59 L 603.03 232.09 L 601.34 235.58 L 599.45 239.05 L 597.34 242.50 L 595.02 245.92 L 592.48 249.31 L 589.72 252.67 L 586.74 255.99 L 583.55 259.26 L 580.14 262.48 L 576.51 265.65 L 572.66 268.76 L 568.60 271.80 L 564.33 274.78 L 559.86 277.69 L 555.18 280.52 L 550.30 283.27 L 545.24 285.93 L 539.99 288.50 L 534.56 290.98 L 528.96 293.37 L 523.20 295.65 L 517.28 297.83 L 511.22 299.90 L 505.02 301.87 L 498.70 303.73 L 492.26 305.48 L 485.71 307.11 L 479.06 308.63 L 472.32 310.04 L 465.51 311.33 L 458.64 312.51 L 451.70 313.57 L 444.72 314.52 L 437.70 315.36 L 430.66 316.10 L 423.59 316.72 L 416.52 317.24 L 409.44 317.65 L 402.37 317.96 L 395.32 318.18 L 388.28 318.30 L 381.27 318.33 L 374.29 318.27 L 367.34 318.13 L 360.44 317.91 L 353.58 317.60 L 346.76 317.23 L 340.00 316.78 L 333.29 316.26 L 326.63 315.68 L 320.02 315.04 L 313.47 314.34 L 306.97 313.58 L 300.52 312.78 L 294.12 311.92 L 287.78 311.01 L 281.48 310.06 L 275.23 309.06 L 269.03 308.01 L 262.87 306.93 L 256.74 305.80 L 250.66 304.63 L 244.62 303.42 L 238.61 302.16 L 232.64 300.87 L 226.69 299.53 L 220.78 298.15 L 214.90 296.72 L 209.06 295.25 L 203.24 293.73 L 197.46 292.15 L 191.71 290.53 L 185.99 288.86 L 180.32 287.13 L 174.68 285.34 L 169.09 283.49 L 163.55 281.58 L 158.07 279.61 L 152.64 277.57 L 147.28 275.47 L 141.99 273.29 L 136.79 271.05 L 131.67 268.74 L 126.64 266.35 L 121.72 263.89 L 116.91 261.36 L 112.21 258.75 L 107.65 256.07 L 103.23 253.32 L 98.96 250.49 L 94.84 247.59 L 90.89 244.63 L 87.12 241.59 L 83.53 238.49 L 80.14 235.32 L 76.94 232.10 L 73.96 228.81 L 71.20 225.48 L 68.66 222.09 L 66.35 218.65 L 64.28 215.17 L 62.45 211.65 L 60.88 208.10 L 59.55 204.52 L 58.48 200.91 L 57.66 197.29 L 57.11 193.65 L 56.82 190.00 L 56.78 186.35 L 57.01 182.70 L 57.50 179.05 L 58.25 175.41 L 59.25 171.80 L 60.51 168.20 L 62.01 164.62 L 63.76 161.08 L 65.74 157.57 L 67.96 154.10 L 70.41 150.67 L 73.08 147.28 L 75.96 143.95 L 79.05 140.66 L 82.33 137.43 L 85.81 134.26 L 89.48 131.15 L 93.32 128.09 L 97.33 125.10 L 101.50 122.18 L 105.82 119.32 L 110.29 116.52 L 114.89 113.80 L 119.63 111.14 L 124.49 108.55 L 129.47 106.03 L 134.55 103.58 L 139.74 101.19 L 145.03 98.87 L 150.42 96.62 L 155.89 94.44 L 161.44 92.33 L 167.08 90.28 L 172.79 88.29 L 178.57 86.38 L 184.41 84.52 L 190.33 82.74 L 196.30 81.01 L 202.34 79.36 L 208.44 77.76 L 214.59 76.23 L 220.79 74.77 L 227.05 73.37 L 233.36 72.03 L 239.72 70.76 L 246.13 69.56 L 252.59 68.42 L 259.09 67.36 L 265.64 66.36 L 272.23 65.43 L 278.86 64.57 L 285.53 63.79 L 292.24 63.08 L 298.98 62.45 L 305.76 61.90 L 312.56 61.42 L 319.39 61.03 L 326.24 60.72 L 333.11 60.49 L 340.00 60.35 L 346.90 60.30 L 353.80 60.33 L 360.70 60.46 L 367.60 60.68 L 374.48 60.99 L 381.36 61.39 L 388.21 61.88 L 395.03 62.48 L 401.83 63.16 L 408.58 63.94 L 415.28 64.82 L 421.94 65.79 L 428.54 66.86 L 435.07 68.01 L 441.53 69.27 L 447.92 70.61 L 454.22 72.05 L 460.44 73.57 L 466.56 75.19 L 472.59 76.89 L 478.51 78.67 L 484.33 80.54 L 490.03 82.48 L 495.61 84.51 L 501.08 86.60 L 506.42 88.78 L 511.64 91.02 L 516.73 93.33 L 521.69 95.70 L 526.51 98.14 L 531.21 100.63 L 535.76 103.18 L 540.18 105.79 L 544.47 108.45 L 548.61 111.16 L 552.62 113.91 L 556.50 116.71 L 560.23 119.56 L 563.84 122.44 L 567.30 125.36 L 570.63 128.32 L 573.83 131.32 L 576.89 134.35 L 579.81 137.41 L 582.61 140.50 L 585.27 143.63 L 587.80 146.78 L 590.19 149.96 L 592.46 153.17 L 594.59 156.40 L 596.58 159.66 L 598.44 162.94 L 600.16 166.25 L 601.74 169.58 L 603.19 172.93 L 604.49 176.31 L 605.64 179.70 L 606.64 183.12 L 607.50 186.55 Z" fill="#d6e5ea" fill-opacity="0.35" stroke="#829aa6" stroke-width="1.6" stroke-linejoin="round"></path>
  <text x="340.00" y="96.00" text-anchor="middle" font-size="15" fill="#233746">all unital qubit channels</text>
  <text x="340.00" y="117.00" text-anchor="middle" font-size="15" fill="#7d8a91">a nine-parameter continuum</text>

  <!-- The Clifford channels: one needle per skeleton h, scale factors varying along each, all through P -->
  <line x1="249.65" y1="241.36" x2="520.70" y2="153.29" stroke="#2d6f8f" stroke-width="2.6" stroke-opacity="0.85" stroke-linecap="round"></line>
  <line x1="290.48" y1="266.99" x2="401.56" y2="143.63" stroke="#2d6f8f" stroke-width="2.6" stroke-opacity="0.85" stroke-linecap="round"></line>
  <line x1="351.11" y1="275.03" x2="327.15" y2="139.12" stroke="#2d6f8f" stroke-width="2.6" stroke-opacity="0.85" stroke-linecap="round"></line>
  <line x1="419.47" y1="254.25" x2="207.56" y2="141.58" stroke="#2d6f8f" stroke-width="2.6" stroke-opacity="0.85" stroke-linecap="round"></line>
  <line x1="445.64" y1="189.55" x2="175.67" y2="246.93" stroke="#2d6f8f" stroke-width="2.6" stroke-opacity="0.85" stroke-linecap="round"></line>
  <line x1="366.97" y1="145.24" x2="302.54" y2="304.72" stroke="#2d6f8f" stroke-width="2.6" stroke-opacity="0.85" stroke-linecap="round"></line>

  <!-- P (the CDC, shared grey of the maximally mixed point) and the identity channel at one needle tip -->
  <circle cx="520.70" cy="153.29" r="4.5" fill="#2d6f8f"></circle>
  <circle cx="340.00" cy="212.00" r="5.5" fill="#7d8a91"></circle>
  <text x="354.00" y="236.00" text-anchor="start" font-size="15" fill="#7d8a91" font-style="italic">P</text>
  <text x="531.70" y="149.29" text-anchor="start" font-size="15" fill="#2d6f8f" font-style="italic">id</text>
  <text x="340.00" y="354.00" text-anchor="middle" font-size="15" fill="#233746" font-style="italic">the Clifford channels: finitely many sheets through P</text>
</svg>
</div>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-clifford-bouquet-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;6: The Clifford family, sketched inside the space it lives in. The blob is the full continuum of unital qubit channels, nine parameters wide. The Clifford channels are not a discrete scatter of points inside it but finitely many low-dimensional sheets, one per skeleton, six for a qubit, with the scale factors varying continuously along each; every sheet passes through <img src="https://latex.codecogs.com/png.latex?P">, since any skeleton with all its scale factors at zero is total erasure, and the identity channel sits at the tip of the identity-skeleton sheet. The sketch is idealized in two ways: each sheet is drawn as a line but is really three-dimensional, one scale factor per axis, and distinct sheets can share more than the point <img src="https://latex.codecogs.com/png.latex?P">, because once a scale factor is zero the dead letter no longer remembers which skeleton moved it.
</figcaption>
</figure>
</div>
<p>You have seen this channel before. On Bloch vectors it sends <img src="https://latex.codecogs.com/png.latex?(r_1,%20r_2,%20r_3)"> to <img src="https://latex.codecogs.com/png.latex?(r_2/2,%5C;%20r_3/2,%5C;%200)">, which is the three-step eraser of Figure&nbsp;4, the one the previous section produced without explanation. Its <img src="https://latex.codecogs.com/png.latex?z">, then <img src="https://latex.codecogs.com/png.latex?y">, then <img src="https://latex.codecogs.com/png.latex?x"> stages are nothing but the walk around the cycle, one axis per step, and the cycle itself is the very one drawn on the right panel of Figure&nbsp;5. What arrived last section as a rabbit from a hat is, in coordinates, a two-line design: spend one zero, take the longest walk. (The halves are a choice with a ceiling of their own: the two surviving scale factors cannot sum to more than one, so ours sit exactly on the boundary of what is allowed.<sup>7</sup>)</p>
<p>One debt remains, and it is the decisive one. A linear map of the right order is not yet a channel: complete positivity still has to be checked. Our <img src="https://latex.codecogs.com/png.latex?T"> is, so far, four tidy equations. Is it physical?</p>
<p>Here is the same <img src="https://latex.codecogs.com/png.latex?T"> wearing different clothes. Let <img src="https://latex.codecogs.com/png.latex?U"> be the rotation of the Bloch ball by a third of a turn about the diagonal axis through <img src="https://latex.codecogs.com/png.latex?(1,1,1)">, oriented so that it carries the <img src="https://latex.codecogs.com/png.latex?x">-axis onto the <img src="https://latex.codecogs.com/png.latex?z">-axis, the <img src="https://latex.codecogs.com/png.latex?z">-axis onto the <img src="https://latex.codecogs.com/png.latex?y">-axis, and the <img src="https://latex.codecogs.com/png.latex?y">-axis onto the <img src="https://latex.codecogs.com/png.latex?x">-axis. Then <img src="https://latex.codecogs.com/png.latex?%0AT%5B%5Crho%5D%20%5C;=%5C;%20%5Ctfrac12%5C;%20U%20%5Crho%5C,%20U%5E%5Cdagger%0A%5C;+%5C;%20%5Ctfrac14%5C;%20(XU)%5C,%20%5Crho%5C,%20(XU)%5E%5Cdagger%0A%5C;+%5C;%20%5Ctfrac14%5C;%20(YU)%5C,%20%5Crho%5C,%20(YU)%5E%5Cdagger%20.%0A"> In words: flip a three-sided coin with weights one half, one quarter, one quarter, and depending on the outcome apply one of three <em>rotations</em> to the qubit: <img src="https://latex.codecogs.com/png.latex?U">, or <img src="https://latex.codecogs.com/png.latex?U"> followed by an <img src="https://latex.codecogs.com/png.latex?X">-flip, or <img src="https://latex.codecogs.com/png.latex?U"> followed by a <img src="https://latex.codecogs.com/png.latex?Y">-flip. That is the entire channel. A mixture of unitaries is a channel beyond any possible doubt: each branch is reversible physics, and forgetting the outcome of a coin flip cannot break positivity, complete or otherwise. Lawfulness by inspection. The fee the general construction paid with a shrinking factor and a Choi-matrix estimate is paid here, in the small room, with a coin and three rotations.</p>
<details class="aside">
<summary>The coin and the three rotations, worked out</summary>
<p>Two steps: split <img src="https://latex.codecogs.com/png.latex?T"> into a rotation followed by a shrink, then write the shrink as a coin flip.</p>
<p><em>The rotation.</em> Define <img src="https://latex.codecogs.com/png.latex?%0AU%20%5C;=%5C;%20%5Ctfrac12%5Cbigl(I%20+%20i%5C,(X%20+%20Y%20+%20Z)%5Cbigr).%0A"> Unitarity is one line with the multiplication table: writing <img src="https://latex.codecogs.com/png.latex?S%20=%20X%20+%20Y%20+%20Z">, the product <img src="https://latex.codecogs.com/png.latex?(I%20+%20iS)(I%20-%20iS)%20=%20I%20+%20S%5E2">, and <img src="https://latex.codecogs.com/png.latex?S%5E2%20=%203I"> because the six cross terms cancel in anticommuting pairs (<img src="https://latex.codecogs.com/png.latex?XY%20+%20YX%20=%20iZ%20-%20iZ%20=%200">, and likewise for the other two pairs). So <img src="https://latex.codecogs.com/png.latex?U%20U%5E%5Cdagger%20=%20%5Ctfrac14%20(I%20+%203I)%20=%20I">. Conjugation by <img src="https://latex.codecogs.com/png.latex?U"> cycles the Paulis, <img src="https://latex.codecogs.com/png.latex?%0AU%20X%20U%5E%5Cdagger%20=%20Z,%20%5Cqquad%0AU%20Z%20U%5E%5Cdagger%20=%20Y,%20%5Cqquad%0AU%20Y%20U%5E%5Cdagger%20=%20X,%0A"> each a patient exercise with the table. Write <img src="https://latex.codecogs.com/png.latex?V%5B%5Crho%5D%20=%20U%20%5Crho%5C,%20U%5E%5Cdagger"> for this rotation: a lawful channel, because it is unitary.</p>
<p><em>The shrink.</em> Let <img src="https://latex.codecogs.com/png.latex?D"> be the map with <img src="https://latex.codecogs.com/png.latex?D%5BX%5D%20=%20%5Ctfrac12%20X">, <img src="https://latex.codecogs.com/png.latex?D%5BY%5D%20=%20%5Ctfrac12%20Y">, <img src="https://latex.codecogs.com/png.latex?D%5BZ%5D%20=%200">: scale factors one half on the <img src="https://latex.codecogs.com/png.latex?x"> and <img src="https://latex.codecogs.com/png.latex?y"> axes, zero on <img src="https://latex.codecogs.com/png.latex?z">, identity skeleton. Try a mixture of doing nothing, an <img src="https://latex.codecogs.com/png.latex?X">-flip, and a <img src="https://latex.codecogs.com/png.latex?Y">-flip, with weights <img src="https://latex.codecogs.com/png.latex?p_0,%20p_1,%20p_2">. Conjugation by <img src="https://latex.codecogs.com/png.latex?X"> has scale factors <img src="https://latex.codecogs.com/png.latex?(1,%20-1,%20-1)"> and conjugation by <img src="https://latex.codecogs.com/png.latex?Y"> has scale factors <img src="https://latex.codecogs.com/png.latex?(-1,%201,%20-1)">, so the mixture has scale factors <img src="https://latex.codecogs.com/png.latex?%0A%5Cbigl(p_0%20+%20p_1%20-%20p_2,%5C;%5C;%20p_0%20-%20p_1%20+%20p_2,%5C;%5C;%20p_0%20-%20p_1%20-%20p_2%5Cbigr).%0A"> Setting these equal to <img src="https://latex.codecogs.com/png.latex?(%5Ctfrac12,%20%5Ctfrac12,%200)"> together with <img src="https://latex.codecogs.com/png.latex?p_0%20+%20p_1%20+%20p_2%20=%201"> solves to <img src="https://latex.codecogs.com/png.latex?p_0%20=%20%5Ctfrac12"> and <img src="https://latex.codecogs.com/png.latex?p_1%20=%20p_2%20=%20%5Ctfrac14">.</p>
<p><em>The composite.</em> Applying <img src="https://latex.codecogs.com/png.latex?D"> after <img src="https://latex.codecogs.com/png.latex?V"> does exactly what <img src="https://latex.codecogs.com/png.latex?T"> demands: <img src="https://latex.codecogs.com/png.latex?T%5BX%5D%20=%20D%5BZ%5D%20=%200">, <img src="https://latex.codecogs.com/png.latex?T%5BY%5D%20=%20D%5BX%5D%20=%20%5Ctfrac12%20X">, and <img src="https://latex.codecogs.com/png.latex?T%5BZ%5D%20=%20D%5BY%5D%20=%20%5Ctfrac12%20Y">. Substituting the mixture for <img src="https://latex.codecogs.com/png.latex?D"> and absorbing <img src="https://latex.codecogs.com/png.latex?U"> into each branch turns the composition into the three-term coin flip of the main text, with unitaries <img src="https://latex.codecogs.com/png.latex?U">, <img src="https://latex.codecogs.com/png.latex?XU"> and <img src="https://latex.codecogs.com/png.latex?YU">.</p>
</details>
<p>Two loose threads remain, both deliberately left dangling, both pointing straight at the next section.</p>
<p>First, a free pass we quietly enjoyed. We called <img src="https://latex.codecogs.com/png.latex?h"> a shuffle and never demanded that it respect the labels’ arithmetic. It did so anyway, automatically: send two of the three letters wherever you like, and their sum, which is always the third letter, has nowhere to go but the remaining slot. Every shuffle of three letters is compatible with the addition of labels. That is a coincidence of the smallest case, and it expires immediately. In the next section the label plane has eight nonzero points, and of the <img src="https://latex.codecogs.com/png.latex?40320"> ways to shuffle eight points, exactly <img src="https://latex.codecogs.com/png.latex?48"> respect the addition of labels. The relabelling will have to be <em>linear</em>, and that phrase, a linear map on a plane of labels, is the door through which the finite-field machinery enters.</p>
<p>Second, look once more at where we spent the zero. It sits at the label <img src="https://latex.codecogs.com/png.latex?(1,0)">. What is the negative of that label? In arithmetic modulo <img src="https://latex.codecogs.com/png.latex?2">, where <img src="https://latex.codecogs.com/png.latex?1%20+%201%20=%200">, every label is its own negative: <img src="https://latex.codecogs.com/png.latex?-(1,0)%20=%20(1,0)">. That innocent-looking fact has been working for us all section. The general rule, visible in the next section, is that the scale factors at a label and at its negative are complex conjugates of one another; here every label is its own mirror, which is why our scale factors merely had to be real, and why a single zero came for the price of one. For odd <img src="https://latex.codecogs.com/png.latex?d">, a label and its negative are <em>different</em> points, and every zero will drag its mirror partner down with it: two zeros, minimum, cutting the longest walk short. That coincidence, quietly worth a factor of two, is the last thing the qubit gives us for free.</p>
</section>
<section id="sec-higher-d" class="level2">
<h2 class="anchored" data-anchor-id="sec-higher-d">Clifford channels in higher dimensions</h2>
<p>The qubit section ended by flagging two pieces of luck: every shuffle of three letters respected the label arithmetic on its own, and every label was its own mirror. Neither survives in higher dimensions, and this section is where both bills arrive. Paying them is not a chore. The first payment turns the relabelling into a linear map on a finite plane, which is where the finite fields promised at the very start of the post finally walk on stage. The second cuts the achievable order cleanly in half, and that factor of two is the punchline the whole post has been walking toward.</p>
<p>The play itself you have already watched. Build labelled matrices, keep the channels that respect the labels, reduce to walks and scale factors, then design the slowest possible eraser. Only the stage grows.</p>
<p>Start with the cast. A system with <img src="https://latex.codecogs.com/png.latex?d"> levels has a <img src="https://latex.codecogs.com/png.latex?d%20%5Ctimes%20d"> density matrix, and the counting from the quantum section says a basis of everything needs <img src="https://latex.codecogs.com/png.latex?d%5E2"> matrices. So we need <img src="https://latex.codecogs.com/png.latex?d%5E2"> labels: pairs <img src="https://latex.codecogs.com/png.latex?(a,%20b)">, each coordinate now running <img src="https://latex.codecogs.com/png.latex?0,%201,%20%5Cldots,%20d-1"> and wrapping around, addition modulo <img src="https://latex.codecogs.com/png.latex?d"> in both slots. The labels fill a <img src="https://latex.codecogs.com/png.latex?d%20%5Ctimes%20d"> grid, the <em>label plane</em>, and we write <img src="https://latex.codecogs.com/png.latex?%5Ceta"> for a point <img src="https://latex.codecogs.com/png.latex?(a,b)"> of it when the pair travels as one thing. Note what the count buys: the <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> nonzero labels are exactly one per traceless direction, the directions the CDC has to kill. Nothing is wasted and nothing is missing.</p>
<p>The two generators grow up along with the labels. For a bit, the flip <img src="https://latex.codecogs.com/png.latex?X"> swapped two states; for <img src="https://latex.codecogs.com/png.latex?d"> levels the natural move is <em>add one and wrap around</em>, the odometer step. Its companion <img src="https://latex.codecogs.com/png.latex?Z"> kicks in phases instead of positions. For <img src="https://latex.codecogs.com/png.latex?d%20=%203">: <img src="https://latex.codecogs.com/png.latex?%0AX%20=%20%5Cbegin%7Bpmatrix%7D%200%20&amp;%200%20&amp;%201%20%5C%5C%201%20&amp;%200%20&amp;%200%20%5C%5C%200%20&amp;%201%20&amp;%200%20%5Cend%7Bpmatrix%7D,%0A%5Cqquad%0AZ%20=%20%5Cbegin%7Bpmatrix%7D%201%20&amp;%200%20&amp;%200%20%5C%5C%200%20&amp;%20%5Comega%20&amp;%200%20%5C%5C%200%20&amp;%200%20&amp;%20%5Comega%5E2%20%5Cend%7Bpmatrix%7D,%0A%5Cqquad%0A%5Comega%20=%20e%5E%7B2%5Cpi%20i%20/%203%7D,%0A"> with <img src="https://latex.codecogs.com/png.latex?%5Comega"> a corner of the unit triangle in the complex plane, a cube root of one. For general <img src="https://latex.codecogs.com/png.latex?d"> the same recipes run with <img src="https://latex.codecogs.com/png.latex?d"> slots and <img src="https://latex.codecogs.com/png.latex?%5Comega%20=%20e%5E%7B2%5Cpi%20i%20/%20d%7D">, and <img src="https://latex.codecogs.com/png.latex?X%5Ed%20=%20Z%5Ed%20=%20I">: <img src="https://latex.codecogs.com/png.latex?d"> applications of either is a full lap. The matrix at label <img src="https://latex.codecogs.com/png.latex?(a,b)"> is the product <img src="https://latex.codecogs.com/png.latex?X%5Ea%20Z%5Eb">, just as it was for the qubit.</p>
<p>Multiply the generators in both orders and watch the qubit’s sign grow up too: <img src="https://latex.codecogs.com/png.latex?%0AXZ%20=%20%5Cbegin%7Bpmatrix%7D%200%20&amp;%200%20&amp;%20%5Comega%5E2%20%5C%5C%201%20&amp;%200%20&amp;%200%20%5C%5C%200%20&amp;%20%5Comega%20&amp;%200%20%5Cend%7Bpmatrix%7D,%0A%5Cqquad%0AZX%20=%20%5Cbegin%7Bpmatrix%7D%200%20&amp;%200%20&amp;%201%20%5C%5C%20%5Comega%20&amp;%200%20&amp;%200%20%5C%5C%200%20&amp;%20%5Comega%5E2%20&amp;%200%20%5Cend%7Bpmatrix%7D%0A%5C;=%5C;%20%5Comega%5C,%20XZ%20.%0A"> Same matrix, and the memory of the order is now a full <img src="https://latex.codecogs.com/png.latex?d">-th root of unity rather than a sign: the trailing phase has become a <img src="https://latex.codecogs.com/png.latex?d">-hour clock. Everything else holds: the <img src="https://latex.codecogs.com/png.latex?d%5E2"> products multiply by adding labels, up to such a phase, and they form a basis of all <img src="https://latex.codecogs.com/png.latex?d%20%5Ctimes%20d"> matrices, so a channel is still pinned down by what it does to them.</p>
<details class="aside">
<summary>Why the $d^2$ products form a basis</summary>
<p>First, traces. The matrix <img src="https://latex.codecogs.com/png.latex?X%5Ea"> shifts every basis vector <img src="https://latex.codecogs.com/png.latex?a"> slots, so for <img src="https://latex.codecogs.com/png.latex?a%20%5Cnot%5Cequiv%200"> its diagonal is empty and <img src="https://latex.codecogs.com/png.latex?%5Coperatorname%7Btr%7D(X%5Ea%20Z%5Eb)%20=%200">. For <img src="https://latex.codecogs.com/png.latex?a%20=%200"> the trace of <img src="https://latex.codecogs.com/png.latex?Z%5Eb"> is <img src="https://latex.codecogs.com/png.latex?1%20+%20%5Comega%5Eb%20+%20%5Comega%5E%7B2b%7D%20+%20%5Ccdots%20+%20%5Comega%5E%7B(d-1)b%7D">, the sum of all <img src="https://latex.codecogs.com/png.latex?d">-th roots of unity taken <img src="https://latex.codecogs.com/png.latex?b"> at a time, which vanishes unless <img src="https://latex.codecogs.com/png.latex?b%20%5Cequiv%200"> (the terms are the corners of a regular polygon centred at the origin). So every labelled matrix is traceless except the identity at <img src="https://latex.codecogs.com/png.latex?(0,0)">, whose trace is <img src="https://latex.codecogs.com/png.latex?d">.</p>
<p>Now take two different labels <img src="https://latex.codecogs.com/png.latex?%5Ceta%20%5Cneq%20%5Ceta'">. The product <img src="https://latex.codecogs.com/png.latex?(X%5Ea%20Z%5Eb)%5E%5Cdagger%20(X%5E%7Ba'%7D%20Z%5E%7Bb'%7D)"> is, by the multiplication rule, a phase times the matrix at label <img src="https://latex.codecogs.com/png.latex?%5Ceta'%20-%20%5Ceta%20%5Cneq%20(0,0)">, so its trace vanishes. In the trace inner product <img src="https://latex.codecogs.com/png.latex?%5Clangle%20A,%20B%5Crangle%20=%20%5Coperatorname%7Btr%7D(A%5E%5Cdagger%20B)"> the <img src="https://latex.codecogs.com/png.latex?d%5E2"> matrices are mutually orthogonal, hence linearly independent, and <img src="https://latex.codecogs.com/png.latex?d%5E2"> independent matrices in a <img src="https://latex.codecogs.com/png.latex?d%5E2">-dimensional space are a basis.</p>
</details>
<p>One piece of grooming, and it is the same grooming as before. At the qubit stage we multiplied the odd sibling <img src="https://latex.codecogs.com/png.latex?XZ"> by <img src="https://latex.codecogs.com/png.latex?i"> to restore the family resemblance. The general recipe sprinkles a <em>square root</em> of <img src="https://latex.codecogs.com/png.latex?%5Comega"> in front: <img src="https://latex.codecogs.com/png.latex?%0A%5Cmathbf%7Bw%7D(a,%20b)%20%5C;=%5C;%20%5Ctau%5E%7Bab%7D%5C,%20X%5Ea%20Z%5Eb,%0A%5Cqquad%0A%5Ctau%20=%20%5Comega%5E%7B(d+1)/2%7D,%0A%5Cqquad%0A%5Ctau%5E2%20=%20%5Comega%20.%0A"> Read <img src="https://latex.codecogs.com/png.latex?%5Ctau%5E%7Bab%7D"> as “half of the label product <img src="https://latex.codecogs.com/png.latex?ab">, on the <img src="https://latex.codecogs.com/png.latex?%5Comega">-clock”, which makes sense because <img src="https://latex.codecogs.com/png.latex?2"> can be divided away modulo an odd number. For odd <img src="https://latex.codecogs.com/png.latex?d"> this square root already sits on the <img src="https://latex.codecogs.com/png.latex?d">-hour clock; at <img src="https://latex.codecogs.com/png.latex?d%20=%202"> it does not, which is why the qubit had to borrow <img src="https://latex.codecogs.com/png.latex?i"> from outside. The mysterious grooming <img src="https://latex.codecogs.com/png.latex?i"> of the last section was this convention all along.</p>
<p>What the grooming buys has changed, though. For <img src="https://latex.codecogs.com/png.latex?d%20%3E%202"> no phase makes <img src="https://latex.codecogs.com/png.latex?X%5Ea%20Z%5Eb"> Hermitian, so the qubit’s luxury of an all-Hermitian basis is simply gone. What survives is the next best thing, a <em>mirror symmetry</em>: <img src="https://latex.codecogs.com/png.latex?%0A%5Cmathbf%7Bw%7D(%5Ceta)%5E%5Cdagger%20%5C;=%5C;%20%5Cmathbf%7Bw%7D(-%5Ceta),%0A"> the adjoint of the matrix at <img src="https://latex.codecogs.com/png.latex?%5Ceta"> is the matrix at the opposite label <img src="https://latex.codecogs.com/png.latex?-%5Ceta%20=%20(-a,%20-b)">, on the nose, no stray phase (checked in the aside below). Keep that mirror in view. It is the second debt from the qubit section, and it will collect at the very end.</p>
<p>And now the fine print that has been riding along quietly: from here on, <img src="https://latex.codecogs.com/png.latex?d"> must be a <em>prime</em>. The grooming already divided by <img src="https://latex.codecogs.com/png.latex?2">; everything below divides by worse. Modulo a prime, every nonzero number can be divided away, and the integers modulo <img src="https://latex.codecogs.com/png.latex?d"> form a <em>field</em>, written <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BF%7D_d">, an arithmetic where division works as cleanly as addition. Modulo a composite the floor gives way: mod <img src="https://latex.codecogs.com/png.latex?4">, for instance, <img src="https://latex.codecogs.com/png.latex?2%20%5Ccdot%202%20=%200">, and a “plane” over such an arithmetic has lines that collapse. So the label plane is <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BF%7D_d%5E2">, a plane over a field, and the linear algebra we are about to do on it can be trusted. (Prime <em>powers</em> have a parallel story over their own finite fields; genuinely composite <img src="https://latex.codecogs.com/png.latex?d"> is murkier territory, and the theorem below is a prime-<img src="https://latex.codecogs.com/png.latex?d"> theorem.)</p>
<p>Here is the family, at full scale. A <em>Clifford channel</em> in dimension <img src="https://latex.codecogs.com/png.latex?d"> sends each labelled matrix to a multiple of one labelled matrix: <img src="https://latex.codecogs.com/png.latex?%0AT%5B%5Cmathbf%7Bw%7D(%5Ceta)%5D%20%5C;=%5C;%20%5Clambda(%5Ceta)%5C,%20%5Cmathbf%7Bw%7D(h(%5Ceta)),%0A%5Cqquad%20%5Clambda(0,0)%20=%201,%0A"> with <img src="https://latex.codecogs.com/png.latex?h"> a relabelling of the plane fixing <img src="https://latex.codecogs.com/png.latex?(0,0)">, and one scale factor <img src="https://latex.codecogs.com/png.latex?%5Clambda(%5Ceta)"> per label, complex now, sizes at most one. (At the qubit stage we earned that size bound by feeding a state through the channel. Here the labelled matrices are no longer Hermitian, and that trick only delivers a slightly weaker bound. The sharp one is complete positivity’s doing, and the aside on the CP criterion later in this section records the one-line argument.) But here the first debt falls due. For three letters, any shuffle respected addition on its own. On a bigger plane that is spectacularly false, and respecting the group structure, <img src="https://latex.codecogs.com/png.latex?h(%5Ceta%20+%20%5Ceta')%20=%20h(%5Ceta)%20+%20h(%5Ceta')">, forces <img src="https://latex.codecogs.com/png.latex?h"> to be <em>linear</em>: an invertible <img src="https://latex.codecogs.com/png.latex?2%20%5Ctimes%202"> matrix with entries in <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BF%7D_d">, acting on label pairs. (Invertible, because a relabelling worthy of the name must not crush two directions into one. The count: the first column can be any of the <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> nonzero pairs, the second anything off the line through the first, <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%20d"> choices. For <img src="https://latex.codecogs.com/png.latex?d%20=%202"> that is <img src="https://latex.codecogs.com/png.latex?3%20%5Ccdot%202%20=%206"> maps for <img src="https://latex.codecogs.com/png.latex?6"> shuffles, which is why every qubit shuffle passed for free. For <img src="https://latex.codecogs.com/png.latex?d%20=%203"> it is <img src="https://latex.codecogs.com/png.latex?8%20%5Ccdot%206%20=%2048">, against <img src="https://latex.codecogs.com/png.latex?8!%20=%2040320"> shuffles of the eight nonzero labels: the collapse promised last section.)</p>
<p>The scale factors are constrained the same way they were for the qubit, with the mirror doing the work Hermiticity used to do. A channel maps Hermitian to Hermitian (real combinations of states, as before), and chasing that through the mirror symmetry gives the <em>mirror rule</em>: <img src="https://latex.codecogs.com/png.latex?%0A%5Clambda(-%5Ceta)%20%5C;=%5C;%20%5Coverline%7B%5Clambda(%5Ceta)%7D%20.%0A"> The scale factor at a label and the scale factor at its mirror are complex conjugates. At <img src="https://latex.codecogs.com/png.latex?d%20=%202">, where <img src="https://latex.codecogs.com/png.latex?-%5Ceta%20=%20%5Ceta">, this collapses to “scale factors are real”, which is exactly what we found. And complete positivity is still to be checked: not every <img src="https://latex.codecogs.com/png.latex?(h,%20%5Clambda)"> is a lawful channel. The fee gets paid at the end of the section, with the same <img src="https://latex.codecogs.com/png.latex?%5Cvarepsilon"> coin that paid it classically.</p>
<details class="aside">
<summary>The mirror rule, derived</summary>
<p>First the mirror symmetry of the basis itself. Taking the adjoint of <img src="https://latex.codecogs.com/png.latex?%5Cmathbf%7Bw%7D(a,b)%20=%20%5Ctau%5E%7Bab%7D%20X%5Ea%20Z%5Eb"> gives <img src="https://latex.codecogs.com/png.latex?%5Coverline%7B%5Ctau%5E%7Bab%7D%7D%5C,%20Z%5E%7B-b%7D%20X%5E%7B-a%7D">. Slide <img src="https://latex.codecogs.com/png.latex?X%5E%7B-a%7D"> back past <img src="https://latex.codecogs.com/png.latex?Z%5E%7B-b%7D"> with the commutation rule (<img src="https://latex.codecogs.com/png.latex?ZX%20=%20%5Comega%20XZ">, applied <img src="https://latex.codecogs.com/png.latex?ab"> times in the exponents): <img src="https://latex.codecogs.com/png.latex?Z%5E%7B-b%7D%20X%5E%7B-a%7D%20=%20%5Comega%5E%7Bab%7D%5C,%20X%5E%7B-a%7D%20Z%5E%7B-b%7D">. The accumulated phase is <img src="https://latex.codecogs.com/png.latex?%5Coverline%7B%5Ctau%5E%7Bab%7D%7D%5C,%5Comega%5E%7Bab%7D%20=%20%5Ctau%5E%7B-ab%7D%5C,%5Ctau%5E%7B2ab%7D%20=%0A%5Ctau%5E%7Bab%7D">, and since <img src="https://latex.codecogs.com/png.latex?ab%20=%20(-a)(-b)"> this is precisely the grooming phase belonging to the label <img src="https://latex.codecogs.com/png.latex?(-a,%20-b)">: <img src="https://latex.codecogs.com/png.latex?%0A%5Cmathbf%7Bw%7D(a,b)%5E%5Cdagger%0A=%20%5Ctau%5E%7B(-a)(-b)%7D%5C,%20X%5E%7B-a%7D%20Z%5E%7B-b%7D%0A=%20%5Cmathbf%7Bw%7D(-a,-b)%20.%0A"> This is what the square-root grooming was for: the raw products <img src="https://latex.codecogs.com/png.latex?X%5EaZ%5Eb"> obey the same law only up to a trailing phase, and the <img src="https://latex.codecogs.com/png.latex?%5Ctau"> soaks it up exactly.</p>
<p>Now the rule for the scale factors. A channel preserves Hermitian matrices, hence adjoints: <img src="https://latex.codecogs.com/png.latex?T%5BA%5E%5Cdagger%5D%20=%20T%5BA%5D%5E%5Cdagger"> for every <img src="https://latex.codecogs.com/png.latex?A">. Apply both sides to <img src="https://latex.codecogs.com/png.latex?A%20=%20%5Cmathbf%7Bw%7D(%5Ceta)">. The left side is <img src="https://latex.codecogs.com/png.latex?T%5B%5Cmathbf%7Bw%7D(-%5Ceta)%5D%20=%20%5Clambda(-%5Ceta)%5C,%5Cmathbf%7Bw%7D(h(-%5Ceta))%0A=%20%5Clambda(-%5Ceta)%5C,%5Cmathbf%7Bw%7D(-h(%5Ceta))">, using linearity of <img src="https://latex.codecogs.com/png.latex?h"> in the last step. The right side is <img src="https://latex.codecogs.com/png.latex?%5Coverline%7B%5Clambda(%5Ceta)%7D%5C,%5Cmathbf%7Bw%7D(h(%5Ceta))%5E%5Cdagger%0A=%20%5Coverline%7B%5Clambda(%5Ceta)%7D%5C,%5Cmathbf%7Bw%7D(-h(%5Ceta))">. The matrices match, so the coefficients must: <img src="https://latex.codecogs.com/png.latex?%5Clambda(-%5Ceta)%20=%20%5Coverline%7B%5Clambda(%5Ceta)%7D">.</p>
</details>
<p>The reduction now carries over word for word, as promised. Apply <img src="https://latex.codecogs.com/png.latex?T"> repeatedly and nothing new is ever created: each label walks, one step of <img src="https://latex.codecogs.com/png.latex?h"> per application, and the scale factors multiply along the walk: <img src="https://latex.codecogs.com/png.latex?%0AT%5E%7B%5C,n%7D%5B%5Cmathbf%7Bw%7D(%5Ceta)%5D%0A%5C;=%5C;%0A%5Clambda(%5Ceta)%5C,%5Clambda(h%5Ceta)%5Ccdots%5Clambda(h%5E%7Bn-1%7D%5Ceta)%5C;%0A%5Cmathbf%7Bw%7D(h%5E%7Bn%7D%5Ceta)%20.%0A"> <img src="https://latex.codecogs.com/png.latex?P"> is the channel that kills every nonzero label, so <img src="https://latex.codecogs.com/png.latex?T%5En%20=%20P"> exactly when every label’s <img src="https://latex.codecogs.com/png.latex?n">-step product has died, and a product of nonzero numbers never dies, so every walk must step on a <em>zero</em> of <img src="https://latex.codecogs.com/png.latex?%5Clambda">. Since <img src="https://latex.codecogs.com/png.latex?h"> is invertible it chops the <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> nonzero labels into closed cycles, and the game is suddenly a board game: mark some squares with zeros, subject to the rules, and ask how long the luckiest token stays alive, where a token dies on the turn it departs a marked square, since the scale factor is applied on departure. Two questions decide everything. How long can a cycle be? And how few marked squares can we get away with?</p>
<p>Take the cycle question first. The best imaginable <img src="https://latex.codecogs.com/png.latex?h"> would sweep all <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> nonzero labels in one grand cycle, and it is not obvious such a linear map exists: linearity is a strong leash. The reason it exists is the loveliest structural fact in this post: <em>the label plane is secretly a number system</em>. Recall how the complex numbers are built from the reals: the equation <img src="https://latex.codecogs.com/png.latex?x%5E2%20+%201%20=%200"> has no solution, so you adjoin a symbol <img src="https://latex.codecogs.com/png.latex?i"> that solves it, and pairs <img src="https://latex.codecogs.com/png.latex?a%20+%20b%5C,i"> close up into a field. Now run the same construction over <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BF%7D_3">. The polynomial <img src="https://latex.codecogs.com/png.latex?x%5E2%20+%20x%20+%202"> has no root there (its values at <img src="https://latex.codecogs.com/png.latex?x%20=%200,%201,%202"> are <img src="https://latex.codecogs.com/png.latex?2,%201,%202">), so adjoin a symbol <img src="https://latex.codecogs.com/png.latex?g"> that solves it, <img src="https://latex.codecogs.com/png.latex?%0Ag%5E2%20%5C;=%5C;%20-g%20-%202%20%5C;=%5C;%202g%20+%201,%0A"> and consider all expressions <img src="https://latex.codecogs.com/png.latex?a%20+%20b%5C,g"> with <img src="https://latex.codecogs.com/png.latex?a,%20b%20%5Cin%20%5Cmathbb%7BF%7D_3">. There are nine of them, they add and multiply like ordinary numbers (reducing <img src="https://latex.codecogs.com/png.latex?g%5E2"> via the rule above), and they form a field with nine elements, written <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BF%7D_9">. But <em>pairs <img src="https://latex.codecogs.com/png.latex?(a,b)"> are exactly our labels</em>: the label plane <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BF%7D_3%5E2"> and the field <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BF%7D_9"> are the same set. The plane we have been drawing points on all along can secretly <em>multiply</em>.</p>
<p>That changes everything, because now “multiply by <img src="https://latex.codecogs.com/png.latex?g">” is a candidate relabelling. It is linear in <img src="https://latex.codecogs.com/png.latex?(a,%20b)">, since multiplication distributes over addition. Its matrix is read off column by column: <img src="https://latex.codecogs.com/png.latex?g%20%5Ccdot%201%20=%20g"> sends <img src="https://latex.codecogs.com/png.latex?(1,0)"> to <img src="https://latex.codecogs.com/png.latex?(0,1)">, and <img src="https://latex.codecogs.com/png.latex?g%20%5Ccdot%20g%20=%202g%20+%201"> sends <img src="https://latex.codecogs.com/png.latex?(0,1)"> to <img src="https://latex.codecogs.com/png.latex?(1,2)">, so <img src="https://latex.codecogs.com/png.latex?%0Ah%20%5C;=%5C;%20%5Cbegin%7Bpmatrix%7D%200%20&amp;%201%20%5C%5C%201%20&amp;%202%20%5Cend%7Bpmatrix%7D%20.%0A"> And its cycle structure is a question about <em>powers of <img src="https://latex.codecogs.com/png.latex?g"></em>. Compute them, reducing with <img src="https://latex.codecogs.com/png.latex?g%5E2%20=%202g%20+%201"> as you go: <img src="https://latex.codecogs.com/png.latex?%0Ag%5E2%20=%202g%20+%201,%20%5Cqquad%0Ag%5E3%20=%20g%20%5Ccdot%20g%5E2%20=%202g%5E2%20+%20g%20=%202g%20+%202,%20%5Cqquad%0Ag%5E4%20=%20g%20%5Ccdot%20g%5E3%20=%202g%5E2%20+%202g%20=%202%20.%0A"> Pause on that last line. In <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BF%7D_3">, the number <img src="https://latex.codecogs.com/png.latex?2"> <em>is</em> <img src="https://latex.codecogs.com/png.latex?-1">: four multiplications by <img src="https://latex.codecogs.com/png.latex?g"> amount to a single overall sign flip. Squaring once more, <img src="https://latex.codecogs.com/png.latex?g%5E8%20=%201">, and no earlier power returns to <img src="https://latex.codecogs.com/png.latex?1"> (the powers <img src="https://latex.codecogs.com/png.latex?g,%20g%5E2,%20g%5E3"> visibly involve <img src="https://latex.codecogs.com/png.latex?g">, and <img src="https://latex.codecogs.com/png.latex?g%5E4%20=%20-1">). So <img src="https://latex.codecogs.com/png.latex?g"> has order exactly <img src="https://latex.codecogs.com/png.latex?8%20=%20d%5E2%20-%201">: its powers <img src="https://latex.codecogs.com/png.latex?g%5E0,%20g%5E1,%20%5Cldots,%20g%5E7"> are eight <em>different</em> nonzero elements, and there are only eight to be had. The powers of <img src="https://latex.codecogs.com/png.latex?g"> visit every nonzero label exactly once. Translated back to pairs, the matrix <img src="https://latex.codecogs.com/png.latex?h"> drives the whole plane around one grand cycle, <img src="https://latex.codecogs.com/png.latex?%0A(1,0)%20%5Cto%20(0,1)%20%5Cto%20(1,2)%20%5Cto%20(2,2)%20%5Cto%20(2,0)%20%5Cto%20(0,2)%20%5Cto%20(2,1)%0A%5Cto%20(1,1)%20%5Cto%20(1,0),%0A"> which is the ring drawn in Figure&nbsp;7. An element like <img src="https://latex.codecogs.com/png.latex?g">, whose powers exhaust every nonzero element, is called a <em>generator</em>, its minimal polynomial <img src="https://latex.codecogs.com/png.latex?x%5E2%20+%20x%20+%202"> is called a <em>primitive polynomial</em>, and the matrix <img src="https://latex.codecogs.com/png.latex?h"> built from it is that polynomial’s <em>companion matrix</em>. Generators exist for every prime <img src="https://latex.codecogs.com/png.latex?d">, not just <img src="https://latex.codecogs.com/png.latex?d%20=%203">, and the aside below proves it from scratch, so a grand cycle of length <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> is always available.</p>
<div id="fig-orbit" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-fig figure">
<div aria-describedby="fig-orbit-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<!-- Figure: the d=3 orbit cycle of h. Static SVG inlined verbatim from
     orbit_cycle_figure.py (regenerate and re-copy on changes). No
     interactive layer: the orbit is finite combinatorics and the static
     ring is the whole content. Point-grid styling matches
     fig5-continuum-grid's right panel. -->
<style>
.orbit-cycle{max-width:520px;margin:1.25rem auto;}
.orbit-cycle svg{width:100%;height:auto;display:block;}
.orbit-cycle .oc-vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
</style>

<div class="orbit-cycle">
  <p class="oc-vh">The eight nonzero labels of the three-by-three label plane, arranged on a ring in the order the matrix h visits them: (1,0), (0,1), (1,2), (2,2), (2,0), (0,2), (2,1), (1,1), and back to (1,0). Arrows step from each label to the next around the ring. The labels (1,0) and (2,0) sit at opposite ends of a dashed horizontal diameter labelled eta maps to minus eta; both are highlighted in a warm accent and tagged lambda equals zero. That pair splits the ring into an upper arc of four steps and a lower arc of four steps.</p>

<svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 560 400" font-family="Georgia, 'Times New Roman', serif" aria-label="The eight nonzero labels of the plane F_3^2 on a ring, stepped around a single cycle by the matrix h. The mirror pair (1,0) and (2,0), where lambda vanishes, sits at opposite ends of a dashed diameter, splitting the ring into two arcs of four steps each.">
  <defs>
    <marker id="arrowOcA" viewbox="0 0 10 10" refx="8.5" refy="5" markerwidth="7" markerheight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#233746"></path></marker>
    <marker id="arrowOcT" viewbox="0 0 10 10" refx="8.5" refy="5" markerwidth="7" markerheight="7" orient="auto-start-reverse"><path d="M 0 0 L 10 5 L 0 10 z" fill="#2d6f8f"></path></marker>
  </defs>
  <circle cx="280" cy="190" r="130" fill="none" stroke="#829aa6" stroke-width="1" stroke-opacity="0.18"></circle>

  <!-- mirror diameter: advancing half the cycle is multiplication by -1 -->
  <line x1="170.00" y1="190.00" x2="390.00" y2="190.00" stroke="#7d8a91" stroke-width="1.2" stroke-dasharray="3,4" stroke-opacity="0.6"></line>
  <text x="280.00" y="180.00" text-anchor="middle" font-size="13" fill="#7d8a91" font-style="italic">η ↦ −η</text>

  <!-- the grand cycle of h: upper arc, then lower arc -->
  <path d="M 150.97 174.16 A 130 130 0 0 1 177.56 109.96" fill="none" stroke="#233746" stroke-width="1.8" stroke-linecap="round" marker-end="url(#arrowOcA)"></path>
  <path d="M 199.96 87.56 A 130 130 0 0 1 264.16 60.97" fill="none" stroke="#233746" stroke-width="1.8" stroke-linecap="round" marker-end="url(#arrowOcA)"></path>
  <path d="M 295.84 60.97 A 130 130 0 0 1 360.04 87.56" fill="none" stroke="#233746" stroke-width="1.8" stroke-linecap="round" marker-end="url(#arrowOcA)"></path>
  <path d="M 382.44 109.96 A 130 130 0 0 1 409.03 174.16" fill="none" stroke="#233746" stroke-width="1.8" stroke-linecap="round" marker-end="url(#arrowOcA)"></path>
  <path d="M 409.03 205.84 A 130 130 0 0 1 382.44 270.04" fill="none" stroke="#2d6f8f" stroke-width="1.8" stroke-linecap="round" marker-end="url(#arrowOcT)"></path>
  <path d="M 360.04 292.44 A 130 130 0 0 1 295.84 319.03" fill="none" stroke="#2d6f8f" stroke-width="1.8" stroke-linecap="round" marker-end="url(#arrowOcT)"></path>
  <path d="M 264.16 319.03 A 130 130 0 0 1 199.96 292.44" fill="none" stroke="#2d6f8f" stroke-width="1.8" stroke-linecap="round" marker-end="url(#arrowOcT)"></path>
  <path d="M 177.56 270.04 A 130 130 0 0 1 150.97 205.84" fill="none" stroke="#2d6f8f" stroke-width="1.8" stroke-linecap="round" marker-end="url(#arrowOcT)"></path>
  <text x="339.70" y="50.87" text-anchor="middle" font-size="18" fill="#233746" font-style="italic">h</text>

  <!-- the eight labels -->
  <circle cx="150.00" cy="190.00" r="12.5" fill="none" stroke="#c25b4e" stroke-width="1.6" stroke-opacity="0.55"></circle>
  <circle cx="150.00" cy="190.00" r="7" fill="#c25b4e"></circle>
  <text x="124.00" y="195.00" text-anchor="end" font-size="14" fill="#c25b4e">(1,0)</text>
  <circle cx="188.08" cy="98.08" r="7" fill="#233746"></circle>
  <text x="169.69" y="84.69" text-anchor="end" font-size="14" fill="#233746">(0,1)</text>
  <circle cx="280.00" cy="60.00" r="7" fill="#233746"></circle>
  <text x="280.00" y="39.00" text-anchor="middle" font-size="14" fill="#233746">(1,2)</text>
  <circle cx="371.92" cy="98.08" r="7" fill="#233746"></circle>
  <text x="390.31" y="84.69" text-anchor="start" font-size="14" fill="#233746">(2,2)</text>
  <circle cx="410.00" cy="190.00" r="12.5" fill="none" stroke="#c25b4e" stroke-width="1.6" stroke-opacity="0.55"></circle>
  <circle cx="410.00" cy="190.00" r="7" fill="#c25b4e"></circle>
  <text x="436.00" y="195.00" text-anchor="start" font-size="14" fill="#c25b4e">(2,0)</text>
  <circle cx="371.92" cy="281.92" r="7" fill="#233746"></circle>
  <text x="390.31" y="305.31" text-anchor="start" font-size="14" fill="#233746">(0,2)</text>
  <circle cx="280.00" cy="320.00" r="7" fill="#233746"></circle>
  <text x="280.00" y="351.00" text-anchor="middle" font-size="14" fill="#233746">(2,1)</text>
  <circle cx="188.08" cy="281.92" r="7" fill="#233746"></circle>
  <text x="169.69" y="305.31" text-anchor="end" font-size="14" fill="#233746">(1,1)</text>
  <text x="124.00" y="217.00" text-anchor="end" font-size="13" fill="#c25b4e" font-style="italic">λ = 0</text>
  <text x="436.00" y="217.00" text-anchor="start" font-size="13" fill="#c25b4e" font-style="italic">λ = 0</text>
  <text x="280.00" y="385.00" text-anchor="middle" font-size="15" fill="#233746" font-style="italic">the grand cycle of h on the labels, d = 3</text>
</svg>

</div>
</div>
<figcaption class="quarto-float-caption-bottom quarto-float-caption quarto-float-fig" id="fig-orbit-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Figure&nbsp;7: The grand cycle for <img src="https://latex.codecogs.com/png.latex?d%20=%203">. The companion matrix <img src="https://latex.codecogs.com/png.latex?h%20=%20%5Cbigl(%5Cbegin%7Bsmallmatrix%7D%200%20&amp;%201%20%5C%5C%201%20&amp;%202%20%5Cend%7Bsmallmatrix%7D%5Cbigr)"> of the primitive polynomial <img src="https://latex.codecogs.com/png.latex?x%5E2%20+%20x%20+%202"> steps the eight nonzero labels of the plane <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BF%7D_3%5E2"> around a single ring. The two highlighted labels, <img src="https://latex.codecogs.com/png.latex?(1,0)"> and <img src="https://latex.codecogs.com/png.latex?(2,0)">, are a mirror pair, <img src="https://latex.codecogs.com/png.latex?%5Ceta"> and <img src="https://latex.codecogs.com/png.latex?-%5Ceta">, and they sit at exactly opposite points of the ring: advancing four steps is multiplication by <img src="https://latex.codecogs.com/png.latex?g%5E4%20=%20-1">. A Clifford root spends its two zeros there, cutting the ring into two arcs of four steps each, and four steps is the order of the root: the <img src="https://latex.codecogs.com/png.latex?(d%5E2-1)/2"> bound, drawn.
</figcaption>
</figure>
</div>
<details class="aside">
<summary>Primitive polynomials and the single long cycle</summary>
<p>Two facts from algebra stand behind the construction: a quadratic with no root always exists, so that a field with <img src="https://latex.codecogs.com/png.latex?d%5E2"> elements can be built at all, and the nonzero elements of that field form a single multiplicative cycle, so that a generator exists. Both are classical.<sup>8</sup> Neither needs to be taken on faith: this aside proves both, with a pencil, from things the post already uses.</p>
<p><em>A rootless quadratic exists.</em> Square every nonzero element of <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BF%7D_d">. The elements <img src="https://latex.codecogs.com/png.latex?a"> and <img src="https://latex.codecogs.com/png.latex?-a"> always land on the same square, and for odd <img src="https://latex.codecogs.com/png.latex?d"> they are genuinely different elements, so squaring is two-to-one: at most <img src="https://latex.codecogs.com/png.latex?%5Ctfrac%7Bd-1%7D%7B2%7D"> of the <img src="https://latex.codecogs.com/png.latex?d%20-%201"> nonzero values are squares. Non-squares exist. Pick one, call it <img src="https://latex.codecogs.com/png.latex?s">, and the quadratic <img src="https://latex.codecogs.com/png.latex?x%5E2%20-%20s"> has no root, by the very meaning of “non-square”. Two things are worth savoring here. This is exactly how the complex numbers arise: <img src="https://latex.codecogs.com/png.latex?-1"> is a non-square of the reals, and <img src="https://latex.codecogs.com/png.latex?i"> is the adjoined root of <img src="https://latex.codecogs.com/png.latex?x%5E2%20+%201">. And look at which fact did the work. “<img src="https://latex.codecogs.com/png.latex?a%20%5Cneq%20-a"> for odd <img src="https://latex.codecogs.com/png.latex?d">” is the mirror fact, the same arithmetic that will shortly force zeros of <img src="https://latex.codecogs.com/png.latex?%5Clambda"> to come in genuine mirror pairs. The odd-<img src="https://latex.codecogs.com/png.latex?d"> arithmetic that halves the achievable order is also the arithmetic that guarantees the label plane can multiply. (At <img src="https://latex.codecogs.com/png.latex?d%20=%202"> every element is its own negative, squaring is one-to-one, and the non-square well is dry; there the lone irreducible quadratic <img src="https://latex.codecogs.com/png.latex?x%5E2%20+%20x%20+%201"> is checked by hand, since neither <img src="https://latex.codecogs.com/png.latex?0"> nor <img src="https://latex.codecogs.com/png.latex?1"> is a root.)</p>
<p><em>Adjoining the root gives a field.</em> The pairs <img src="https://latex.codecogs.com/png.latex?a%20+%20b%5C,g">, with every <img src="https://latex.codecogs.com/png.latex?g%5E2"> that appears reduced by the quadratic’s rule, add and multiply like ordinary numbers, and “no root” is the same as “does not factor” for a quadratic, so no product of two nonzero expressions can reduce to zero. Inverses then come from finiteness for free: multiplying the <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> nonzero expressions by a fixed nonzero one is injective (nothing collapses to zero), and an injective reshuffling of a finite set hits everything, including <img src="https://latex.codecogs.com/png.latex?1">. So every nonzero expression has an inverse, and the <img src="https://latex.codecogs.com/png.latex?d%5E2"> expressions form the field <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BF%7D_%7Bd%5E2%7D">.</p>
<p><em>Every nonzero element is a root of <img src="https://latex.codecogs.com/png.latex?x%5En%20=%201">, where <img src="https://latex.codecogs.com/png.latex?n%20=%20d%5E2%20-%201">.</em> Fix a nonzero <img src="https://latex.codecogs.com/png.latex?x"> and multiply every nonzero element by it. That map is injective, so it merely reshuffles the <img src="https://latex.codecogs.com/png.latex?n"> nonzero elements. Multiply all <img src="https://latex.codecogs.com/png.latex?n"> of them together, before and after the reshuffle: as a set the product is unchanged, but factor by factor it has picked up <img src="https://latex.codecogs.com/png.latex?x"> exactly <img src="https://latex.codecogs.com/png.latex?n"> times. So <img src="https://latex.codecogs.com/png.latex?x%5En"> times the product equals the product, and cancelling the nonzero product leaves <img src="https://latex.codecogs.com/png.latex?x%5En%20=%201">. The <em>order</em> of <img src="https://latex.codecogs.com/png.latex?x">, the first exponent at which its powers return to <img src="https://latex.codecogs.com/png.latex?1">, then divides <img src="https://latex.codecogs.com/png.latex?n">: write <img src="https://latex.codecogs.com/png.latex?n%20=%20qe%20+%20r"> with <img src="https://latex.codecogs.com/png.latex?0%20%5Cle%20r%20%3C%20e">, and <img src="https://latex.codecogs.com/png.latex?1%20=%20x%5En%20=%20(x%5Ee)%5Eq%5C,%20x%5Er%20=%20x%5Er"> forces <img src="https://latex.codecogs.com/png.latex?r%20=%200">.</p>
<p><em>Root scarcity.</em> A polynomial of degree <img src="https://latex.codecogs.com/png.latex?m"> has at most <img src="https://latex.codecogs.com/png.latex?m"> roots over a field. A root <img src="https://latex.codecogs.com/png.latex?a"> can be divided out: dividing by <img src="https://latex.codecogs.com/png.latex?x%20-%20a"> leaves a constant remainder, and evaluating at <img src="https://latex.codecogs.com/png.latex?a"> shows that remainder to be zero, so the polynomial is <img src="https://latex.codecogs.com/png.latex?(x%20-%20a)"> times something of degree <img src="https://latex.codecogs.com/png.latex?m%20-%201">. In a field a product vanishes only if a factor does, so every further root is a root of the quotient, and the degrees run out after <img src="https://latex.codecogs.com/png.latex?m"> steps. In particular <img src="https://latex.codecogs.com/png.latex?x%5Ee%20=%201"> has at most <img src="https://latex.codecogs.com/png.latex?e"> solutions.</p>
<p><em>Elements of equal order come in batches.</em> Suppose some element <img src="https://latex.codecogs.com/png.latex?a"> has order <img src="https://latex.codecogs.com/png.latex?e">. Its powers <img src="https://latex.codecogs.com/png.latex?1,%20a,%20%5Cldots,%20a%5E%7Be-1%7D"> are <img src="https://latex.codecogs.com/png.latex?e"> distinct solutions of <img src="https://latex.codecogs.com/png.latex?x%5Ee%20=%201">, and scarcity says they are <em>all</em> the solutions. Any element of order <img src="https://latex.codecogs.com/png.latex?e"> solves that equation, so it is one of these powers. Which powers have order exactly <img src="https://latex.codecogs.com/png.latex?e">? Precisely the <img src="https://latex.codecogs.com/png.latex?a%5Ek"> whose exponent shares no factor with <img src="https://latex.codecogs.com/png.latex?e">: a shared factor <img src="https://latex.codecogs.com/png.latex?t%20%3E%201"> gives the early return <img src="https://latex.codecogs.com/png.latex?(a%5Ek)%5E%7Be/t%7D%20=%20(a%5Ee)%5E%7Bk/t%7D%20=%201">, while if <img src="https://latex.codecogs.com/png.latex?k"> shares no factor with <img src="https://latex.codecogs.com/png.latex?e">, then <img src="https://latex.codecogs.com/png.latex?(a%5Ek)%5Em%20=%201"> means <img src="https://latex.codecogs.com/png.latex?e"> divides <img src="https://latex.codecogs.com/png.latex?km">, and with nothing to find in <img src="https://latex.codecogs.com/png.latex?k">, all of <img src="https://latex.codecogs.com/png.latex?e"> must divide <img src="https://latex.codecogs.com/png.latex?m">: the first return is at <img src="https://latex.codecogs.com/png.latex?m%20=%20e">. The count of such exponents is written <img src="https://latex.codecogs.com/png.latex?%5Cvarphi(e)">, Euler’s function. So for every divisor <img src="https://latex.codecogs.com/png.latex?e"> of <img src="https://latex.codecogs.com/png.latex?n">, the elements of order <img src="https://latex.codecogs.com/png.latex?e"> number either zero or exactly <img src="https://latex.codecogs.com/png.latex?%5Cvarphi(e)">, never anything else.</p>
<p><em>The batches must all be full.</em> Here is the counting identity that closes the trap: <img src="https://latex.codecogs.com/png.latex?%0A%5Csum_%7Be%20%5Cmid%20n%7D%20%5Cvarphi(e)%20%5C;=%5C;%20n%20.%0A"> To see it, write the <img src="https://latex.codecogs.com/png.latex?n"> fractions <img src="https://latex.codecogs.com/png.latex?%5Ctfrac1n,%20%5Ctfrac2n,%20%5Cldots,%20%5Ctfrac%20nn"> and reduce each to lowest terms. Every reduced denominator is a divisor <img src="https://latex.codecogs.com/png.latex?e"> of <img src="https://latex.codecogs.com/png.latex?n">; the reduced fractions with denominator <img src="https://latex.codecogs.com/png.latex?e"> are exactly the <img src="https://latex.codecogs.com/png.latex?%5Cvarphi(e)"> fractions <img src="https://latex.codecogs.com/png.latex?%5Ctfrac%20ke"> with <img src="https://latex.codecogs.com/png.latex?k"> sharing no factor with <img src="https://latex.codecogs.com/png.latex?e">; and each arises from exactly one fraction on the original list. Counting the list both ways proves the identity. Now sort the <img src="https://latex.codecogs.com/png.latex?n"> nonzero field elements into batches by their order, which is always a divisor of <img src="https://latex.codecogs.com/png.latex?n">. Each batch holds at most <img src="https://latex.codecogs.com/png.latex?%5Cvarphi(e)"> elements, and the capacities <img src="https://latex.codecogs.com/png.latex?%5Cvarphi(e)"> sum to exactly <img src="https://latex.codecogs.com/png.latex?n">, the number of elements to be sorted. There is no slack: every batch is full. In particular the batch <img src="https://latex.codecogs.com/png.latex?e%20=%20n"> is not empty, and an element of order <img src="https://latex.codecogs.com/png.latex?n%20=%20d%5E2%20-%201"> exists. That is the generator, and root scarcity did all the pushing: <img src="https://latex.codecogs.com/png.latex?x%5Ee%20=%201"> has too few solutions for the group to splinter, so it stays in one cycle.</p>
<p><em>From generator to matrix.</em> A generator <img src="https://latex.codecogs.com/png.latex?g"> cannot lie in the base field: nonzero elements of <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BF%7D_d"> satisfy <img src="https://latex.codecogs.com/png.latex?x%5E%7Bd-1%7D%20=%201"> (the same reshuffling trick, run inside <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BF%7D_d">), and <img src="https://latex.codecogs.com/png.latex?g">’s order <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> is larger than <img src="https://latex.codecogs.com/png.latex?d%20-%201">. So <img src="https://latex.codecogs.com/png.latex?1"> and <img src="https://latex.codecogs.com/png.latex?g"> are linearly independent over <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BF%7D_d">, they span the plane, and <img src="https://latex.codecogs.com/png.latex?1,%20g,%0Ag%5E2"> must be linearly dependent: <img src="https://latex.codecogs.com/png.latex?g"> satisfies a monic quadratic with coefficients in <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BF%7D_d"> (the <img src="https://latex.codecogs.com/png.latex?g%5E2"> coefficient cannot vanish, or <img src="https://latex.codecogs.com/png.latex?1"> and <img src="https://latex.codecogs.com/png.latex?g"> would already be dependent), irreducible because a factorization would hand <img src="https://latex.codecogs.com/png.latex?g"> a linear equation and put it in the base field. That quadratic is the <em>primitive polynomial</em>, and its companion matrix is the multiplication-by-<img src="https://latex.codecogs.com/png.latex?g"> map in the coordinates <img src="https://latex.codecogs.com/png.latex?(a,%20b)%20%5Cleftrightarrow%20a%20+%20b%5C,g">, which is why the matrix has order <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201">: its powers track the powers of <img src="https://latex.codecogs.com/png.latex?g">.</p>
<p>For the worked example none of this machinery was needed on faith: <img src="https://latex.codecogs.com/png.latex?x%5E2%20+%20x%20+%202"> was checked to be irreducible by trying all three arguments, and <img src="https://latex.codecogs.com/png.latex?g"> was checked to be a generator by computing <img src="https://latex.codecogs.com/png.latex?g%5E4%20=%20-1%20%5Cneq%201">, which rules out every proper divisor of <img src="https://latex.codecogs.com/png.latex?8"> as its order.</p>
</details>
<p>So cycles can be as long as <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201">, and one marked square per cycle is the least the rules could possibly demand. If that were the end of the story, the Clifford family would match the full quantum bound <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> in every dimension: put the single zero on the grand cycle, and the slowest token, starting just after it, walks the whole ring and dies only on turn <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201">, the turn it must depart the zero itself. For the qubit, that is exactly what happened.</p>
<p>Here the second debt falls due. Zeros of <img src="https://latex.codecogs.com/png.latex?%5Clambda"> cannot be placed one at a time, because the mirror rule pairs the scale factors up: <img src="https://latex.codecogs.com/png.latex?%7C%5Clambda(-%5Ceta)%7C%20=%20%7C%5Clambda(%5Ceta)%7C">, so where one scale factor dies its mirror dies with it. For the qubit this cost nothing, since every label was its own mirror. But for odd <img src="https://latex.codecogs.com/png.latex?d">, a nonzero label and its mirror are always <em>different</em> points (<img src="https://latex.codecogs.com/png.latex?%5Ceta%20=%20-%5Ceta"> would mean <img src="https://latex.codecogs.com/png.latex?2%5Ceta%20=%200">, and modulo an odd prime you can divide the <img src="https://latex.codecogs.com/png.latex?2"> away, leaving <img src="https://latex.codecogs.com/png.latex?%5Ceta%20=%200">). Zeros now come in genuine pairs: mark one square and a second square is marked for you, whether you wanted it or not.</p>
<p>And the geometry of the grand cycle decides where that unwanted second zero lands. The mirror map is multiplication by <img src="https://latex.codecogs.com/png.latex?-1">, and on the cycle of <img src="https://latex.codecogs.com/png.latex?g"> we have already met <img src="https://latex.codecogs.com/png.latex?-1">: it is <img src="https://latex.codecogs.com/png.latex?g%5E%7B(d%5E2-1)/2%7D">, the <em>halfway</em> point. (That is no accident of <img src="https://latex.codecogs.com/png.latex?d%20=%203">: the element <img src="https://latex.codecogs.com/png.latex?c%20=%20g%5E%7B(d%5E2-1)/2%7D"> satisfies <img src="https://latex.codecogs.com/png.latex?c%5E2%20=%201"> while <img src="https://latex.codecogs.com/png.latex?c%20%5Cneq%201">, and in a field the equation <img src="https://latex.codecogs.com/png.latex?x%5E2%20=%201"> has no room for solutions beyond <img src="https://latex.codecogs.com/png.latex?1"> and <img src="https://latex.codecogs.com/png.latex?-1">.) So the mirror of any label sits exactly half a cycle away, diametrically opposite on the ring, just as Figure&nbsp;7 shows. Mark the square <img src="https://latex.codecogs.com/png.latex?z">, and the rules mark <img src="https://latex.codecogs.com/png.latex?-z">: not adjacent, not random, but precisely antipodal, cutting the grand cycle into two arcs of length exactly <img src="https://latex.codecogs.com/png.latex?%5Ctfrac%7Bd%5E2-1%7D%7B2%7D"> each. The slowest token starts just after either zero and walks the far arc, alive after every turn but the last, dying exactly on turn <img src="https://latex.codecogs.com/png.latex?%0Ak%20%5C;=%5C;%20%5Cfrac%7Bd%5E2%20-%201%7D%7B2%7D,%0A"> the turn it must depart the other zero, and not one sooner. The mirror rule has taken the qubit’s gift back, and it has taken exactly a factor of two.</p>
<p>Assemble the channel and settle its legality. Take <img src="https://latex.codecogs.com/png.latex?h"> the companion matrix of a primitive polynomial, and set the scale factors to <img src="https://latex.codecogs.com/png.latex?%0A%5Clambda(0,0)%20=%201,%0A%5Cqquad%0A%5Clambda(z)%20=%20%5Clambda(-z)%20=%200%20%5C;%5C%20%5Ctext%7Bfor%20one%20mirror%20pair,%7D%0A%5Cqquad%0A%5Clambda(%5Ceta)%20=%20%5Cvarepsilon%20%5C;%5C%20%5Ctext%7Beverywhere%20else,%7D%0A"> with <img src="https://latex.codecogs.com/png.latex?%5Cvarepsilon"> a small positive number. The mirror rule holds (<img src="https://latex.codecogs.com/png.latex?%5Cvarepsilon"> is real, and mirrors carry equal scale factors), the walk products die exactly as the arcs dictate, so <img src="https://latex.codecogs.com/png.latex?T%5E%7B(d%5E2-1)/2%7D%20=%20P"> while <img src="https://latex.codecogs.com/png.latex?T%5E%7B(d%5E2-1)/2%20-%201%7D%20%5Cneq%20P">: the token that started just after a zero is still alive, carrying <img src="https://latex.codecogs.com/png.latex?%5Cvarepsilon%5E%7B(d%5E2-1)/2%20-%201%7D%20%5Cneq%200">, as the witness. And complete positivity, the fee the qubit section paid with a coin flip of three rotations, is where the Clifford family shows its final virtue: here the condition has an explicit face. A Clifford channel is completely positive exactly when a single <img src="https://latex.codecogs.com/png.latex?d%5E2%20%5Ctimes%20d%5E2"> matrix assembled from the scale factors is positive semidefinite, and a classical eigenvalue theorem turns that condition into a simple <em>sufficient condition</em> on the absolute values of the scale factors: <img src="https://latex.codecogs.com/png.latex?%0A%5Csum_%7B%5Ceta%20%5Cneq%200%7D%20%7C%5Clambda(%5Ceta)%7C%20%5C;%5Cle%5C;%201%20.%0A"> If the absolute values of the scale factors sum to at most one, the channel is lawful. Our root sets <img src="https://latex.codecogs.com/png.latex?%5Clambda%20=%20%5Cvarepsilon"> on the <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%203"> surviving labels, so every <img src="https://latex.codecogs.com/png.latex?%5Cvarepsilon%20%5Cle%20%5Ctfrac%7B1%7D%7Bd%5E2%20-%203%7D"> satisfies the condition, and the order of the root never cared how small <img src="https://latex.codecogs.com/png.latex?%5Cvarepsilon"> is. The aside shows the criterion and derives the sufficient condition; the <em>exact</em> boundary of legality is a genuinely harder computation, and for that the thesis does the honest work.<sup>9</sup></p>
<details class="aside">
<summary>The complete positivity criterion for Clifford channels</summary>
<p>Complete positivity always has a certificate, and we have met it once already: the Choi matrix, which the aside in the quantum section used purely as a black box, one big matrix assembled from the channel, positive semidefinite exactly when the channel is completely positive. For a general channel that matrix is an opaque block of numbers. For a Clifford channel, written in Weyl coordinates, its entries become explicit. Its rows and columns are indexed by the labels, one apiece, and its entries are <em>scale factors in disguise</em>: <img src="https://latex.codecogs.com/png.latex?%0AM_%7B%5Ceta%5Cxi%7D%20%5C;=%5C;%20c_%7B%5Ceta%5Cxi%7D%5C;%20%5Clambda(%5Ceta%20-%20%5Cxi),%0A%5Cqquad%20%7Cc_%7B%5Ceta%5Cxi%7D%7C%20=%201,%0A"> where the phases <img src="https://latex.codecogs.com/png.latex?c_%7B%5Ceta%5Cxi%7D"> are bookkeeping determined by <img src="https://latex.codecogs.com/png.latex?h"> and the Weyl multiplication rule. Three features matter. Every diagonal entry is <img src="https://latex.codecogs.com/png.latex?%5Clambda(0)%20=%201">. The <em>sizes</em> of the entries, <img src="https://latex.codecogs.com/png.latex?%7CM_%7B%5Ceta%5Cxi%7D%7C%20=%20%7C%5Clambda(%5Ceta%20-%20%5Cxi)%7C">, do not see <img src="https://latex.codecogs.com/png.latex?h"> or the phases at all. And <img src="https://latex.codecogs.com/png.latex?M"> is Hermitian, precisely because of the mirror rule. So “is this Clifford channel lawful?” has become “is this one matrix of scale factors positive semidefinite?”, a condition you can actually get your hands on.</p>
<p>One dividend arrives before any theorem. A positive semidefinite matrix with ones on its diagonal cannot hold an entry of size above one: the <img src="https://latex.codecogs.com/png.latex?2%20%5Ctimes%202"> principal submatrix <img src="https://latex.codecogs.com/png.latex?%5Cbigl(%5Cbegin%7Bsmallmatrix%7D%201%20&amp;%20m%20%5C%5C%20%5Cbar%20m%20&amp;%201%20%5Cend%7Bsmallmatrix%7D%5Cbigr)"> must itself be positive semidefinite, and its determinant is <img src="https://latex.codecogs.com/png.latex?1%20-%20%7Cm%7C%5E2">. Every scale factor appears as such an entry (<img src="https://latex.codecogs.com/png.latex?%5Clambda(%5Czeta)"> sits wherever <img src="https://latex.codecogs.com/png.latex?%5Ceta%20-%20%5Cxi%20=%20%5Czeta">), so <img src="https://latex.codecogs.com/png.latex?%7C%5Clambda(%5Czeta)%7C%20%5Cle%201"> for every label. That is where the main text’s “sizes at most one” comes from, and it is complete positivity’s doing, not mere positivity’s.</p>
<p>Now the classical eigenvalue theorem: <em>Gershgorin’s circle theorem</em>. Every eigenvalue of a matrix lies in one of its Gershgorin discs, a disc centred at a diagonal entry with radius the summed sizes of the other entries in that row. For our <img src="https://latex.codecogs.com/png.latex?M"> every centre is <img src="https://latex.codecogs.com/png.latex?1">, and every row has the same radius <img src="https://latex.codecogs.com/png.latex?R%20=%20%5Csum_%7B%5Czeta%20%5Cneq%200%7D%20%7C%5Clambda(%5Czeta)%7C">, since as <img src="https://latex.codecogs.com/png.latex?%5Cxi"> runs through the other labels the difference <img src="https://latex.codecogs.com/png.latex?%5Ceta%20-%20%5Cxi"> runs through every nonzero label exactly once. <img src="https://latex.codecogs.com/png.latex?M"> is Hermitian, so its eigenvalues are real and live in <img src="https://latex.codecogs.com/png.latex?%5B1%20-%20R,%5C;%201%20+%20R%5D">. If <img src="https://latex.codecogs.com/png.latex?R%20%5Cle%201">, none of them can be negative: <img src="https://latex.codecogs.com/png.latex?M"> is positive semidefinite and the channel is lawful. That is the sufficient condition <img src="https://latex.codecogs.com/png.latex?%5Csum_%7B%5Ceta%20%5Cneq%200%7D%20%7C%5Clambda(%5Ceta)%7C%20%5Cle%201"> of the main text.</p>
<p>Check it against everything we have built. The qubit root of the last section had scale factors <img src="https://latex.codecogs.com/png.latex?0,%20%5Ctfrac12,%20%5Ctfrac12">: the absolute values sum to exactly <img src="https://latex.codecogs.com/png.latex?1">, so the condition holds with equality (and, at <img src="https://latex.codecogs.com/png.latex?d%20=%202">, this sits on the true boundary of legality, as that section’s footnote recorded). The root above sets <img src="https://latex.codecogs.com/png.latex?%5Clambda%20=%20%5Cvarepsilon"> on <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%203"> surviving labels: the condition holds for every <img src="https://latex.codecogs.com/png.latex?%5Cvarepsilon%20%5Cle%20%5Ctfrac%7B1%7D%7Bd%5E2-3%7D">, which for <img src="https://latex.codecogs.com/png.latex?d%20=%203"> allows <img src="https://latex.codecogs.com/png.latex?%5Cvarepsilon"> up to <img src="https://latex.codecogs.com/png.latex?%5Ctfrac16">. And it explains, one level up, why the classical aside’s <img src="https://latex.codecogs.com/png.latex?%5Cvarepsilon"> was free: for the completely depolarizing channel every <img src="https://latex.codecogs.com/png.latex?%5Clambda(%5Ceta)"> with <img src="https://latex.codecogs.com/png.latex?%5Ceta%20%5Cneq%200"> vanishes, the sum is <img src="https://latex.codecogs.com/png.latex?0">, and there is maximal room in every direction.</p>
<p>One honesty note. The condition is sufficient, not necessary: scale factors can violate it and still describe a lawful channel (the identity channel, with every <img src="https://latex.codecogs.com/png.latex?%5Clambda(%5Ceta)%20=%201">, violates it grossly and is lawful all the same). The exact boundary is the positive semidefiniteness of <img src="https://latex.codecogs.com/png.latex?M"> itself, and mapping that boundary is the thesis’s work, not this post’s.</p>
</details>
<p>One suspicion should still be nagging. The construction used a very particular <img src="https://latex.codecogs.com/png.latex?h"> and the stingiest legal set of zeros. Could a cleverer <img src="https://latex.codecogs.com/png.latex?h">, or a cleverer placement, beat one half? It cannot, and the reason is pleasantly structural: however the board is set up, <em>either the two zeros of a pair share a cycle, and symmetry pins them opposite each other, or they sit in two different cycles, and then each cycle is at most half the plane anyway.</em> Both roads cap the survival time at <img src="https://latex.codecogs.com/png.latex?%5Ctfrac%7Bd%5E2-1%7D%7B2%7D">.</p>
<details class="aside">
<summary>Why nothing beats one half</summary>
<p>Let <img src="https://latex.codecogs.com/png.latex?T"> be any Clifford root of <img src="https://latex.codecogs.com/png.latex?P"> in odd prime dimension <img src="https://latex.codecogs.com/png.latex?d">, with relabelling <img src="https://latex.codecogs.com/png.latex?h"> and zero set <img src="https://latex.codecogs.com/png.latex?Z%20=%20%5C%7B%5Ceta%20%5Cneq%200%20:%20%5Clambda(%5Ceta)%20=%200%5C%7D">. Every cycle of <img src="https://latex.codecogs.com/png.latex?h"> on the nonzero labels must contain a point of <img src="https://latex.codecogs.com/png.latex?Z"> (walks die only on zeros), and the mirror rule forces <img src="https://latex.codecogs.com/png.latex?-Z%20=%20Z">. One structural fact does the rest: negation commutes with <img src="https://latex.codecogs.com/png.latex?h">, since <img src="https://latex.codecogs.com/png.latex?h"> is linear, <img src="https://latex.codecogs.com/png.latex?h(-%5Ceta)%20=%20-h(%5Ceta)">. So negation maps cycles of <img src="https://latex.codecogs.com/png.latex?h"> to cycles of <img src="https://latex.codecogs.com/png.latex?h">, either exchanging two cycles or preserving one.</p>
<p>Case one: a cycle <img src="https://latex.codecogs.com/png.latex?C">, of length <img src="https://latex.codecogs.com/png.latex?L">, is preserved by negation. Pick a zero <img src="https://latex.codecogs.com/png.latex?z%20%5Cin%20C%20%5Ccap%20Z">; then <img src="https://latex.codecogs.com/png.latex?-z"> is also in <img src="https://latex.codecogs.com/png.latex?C">, and <img src="https://latex.codecogs.com/png.latex?-z%20%5Cneq%20z"> for odd <img src="https://latex.codecogs.com/png.latex?d">. On a cycle, a symmetry that commutes with the step map acts as a fixed rotation: if <img src="https://latex.codecogs.com/png.latex?-z%20=%20h%5Em%20z">, then negating any point <img src="https://latex.codecogs.com/png.latex?h%5Ej%20z"> gives <img src="https://latex.codecogs.com/png.latex?h%5E%7Bj+m%7D%20z">, the same shift <img src="https://latex.codecogs.com/png.latex?m"> for all of them. Negating twice returns home, so <img src="https://latex.codecogs.com/png.latex?2m"> is a multiple of <img src="https://latex.codecogs.com/png.latex?L">, and <img src="https://latex.codecogs.com/png.latex?m"> is neither <img src="https://latex.codecogs.com/png.latex?0"> nor <img src="https://latex.codecogs.com/png.latex?L">, forcing <img src="https://latex.codecogs.com/png.latex?m%20=%20L/2">: <em>the mirror of every point of <img src="https://latex.codecogs.com/png.latex?C"> sits exactly opposite it.</em> The cycle carries zeros at <img src="https://latex.codecogs.com/png.latex?z"> and <img src="https://latex.codecogs.com/png.latex?h%5E%7BL/2%7D%20z"> at least, so every token in <img src="https://latex.codecogs.com/png.latex?C"> is dead by turn <img src="https://latex.codecogs.com/png.latex?L/2%20%5Cle%20%5Ctfrac%7Bd%5E2-1%7D%7B2%7D">.</p>
<p>Case two: a cycle <img src="https://latex.codecogs.com/png.latex?C"> and its negation <img src="https://latex.codecogs.com/png.latex?-C"> are different cycles. They have the same length <img src="https://latex.codecogs.com/png.latex?L"> and no points in common, and both live among the <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> nonzero labels, so <img src="https://latex.codecogs.com/png.latex?2L%20%5Cle%20d%5E2%20-%201">. Every token in <img src="https://latex.codecogs.com/png.latex?C"> is dead by turn <img src="https://latex.codecogs.com/png.latex?L%20%5Cle%20%5Ctfrac%7Bd%5E2-1%7D%7B2%7D">, zero or no zero to spare.</p>
<p>Every cycle falls under one case or the other, so every token on any legal board is dead by turn <img src="https://latex.codecogs.com/png.latex?%5Ctfrac%7Bd%5E2-1%7D%7B2%7D">: <img src="https://latex.codecogs.com/png.latex?k%20%5Cle%20%5Ctfrac%7Bd%5E2-1%7D%7B2%7D"> for every Clifford root. (Extra zeros only ever shorten survival, which is why the stingiest board is the best one.)</p>
</details>
<p>That is the theorem this post set out to retell. For every odd prime <img src="https://latex.codecogs.com/png.latex?d"> there is a Clifford channel whose order is exactly <img src="https://latex.codecogs.com/png.latex?%5Ctfrac%7Bd%5E2-1%7D%7B2%7D">, and no Clifford channel does better. The qubit stays the lone exception: there the mirror degenerates, the pairing costs nothing, and the family reaches the full <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201%20=%203">, as we watched it do.</p>
<p>Line the three answers up for a three-level system. A classical copier can stretch erasure to <img src="https://latex.codecogs.com/png.latex?2"> steps. The full quantum bound is <img src="https://latex.codecogs.com/png.latex?8">. And the Clifford family, rigid as it is, manages <img src="https://latex.codecogs.com/png.latex?4">: half of everything quantum mechanics allows, from a corner of it that you can hold in your hand.</p>
<p>Step back and look at where the room came from. We began with the full space of quantum channels, a space whose dimension grows like <img src="https://latex.codecogs.com/png.latex?d%5E4">, and found the bound <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201">. We then threw essentially all of that freedom away. What survived was one invertible <img src="https://latex.codecogs.com/png.latex?2%20%5Ctimes%202"> matrix over a finite field and a handful of scale factors, and the achievable order fell only from <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> to <img src="https://latex.codecogs.com/png.latex?%5Ctfrac%7Bd%5E2-1%7D%7B2%7D">. The room to divide erasure slowly never lived in the richness of the channel family. It lives in the orbit structure of a linear map on a tiny plane: in how long one matrix can wander <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> labels before a mirror-forced pair of zeros cuts the journey in half. Slow forgetting is not an exotic quantum resource. It is finite-field bookkeeping, and you can check every step of it with a pencil.</p>
</section>
<section id="sec-closing" class="level2">
<h2 class="anchored" data-anchor-id="sec-closing">What’s next</h2>
<p>One loose thread remains: the factor of two. Is <img src="https://latex.codecogs.com/png.latex?(d%5E2%20-%201)/2"> the end of the story, or just the end of the <em>Clifford</em> story? It is only the Clifford story, and the post has already shown as much: the aside in the quantum section shrinks a nilpotent block into a lawful channel of the full order <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201">, in every dimension. That construction gives up the tidy Weyl structure we leaned on, works directly at the level of the channel’s representation, and never meets a mirror pair, which is why no factor of two appears in it.<sup>10</sup> One caution against a wrong impression the shrinking might leave: maximal roots are not condemned to huddle near total erasure. In every dimension there are maximal roots sitting at a distance from <img src="https://latex.codecogs.com/png.latex?P"> that does not shrink as the dimension grows, and our qubit root, with its two scale factors at one half, was never a small perturbation to begin with.</p>
<p>Historically the discoveries ran in the opposite order from this post. Complete positivity kept the general construction out of reach for most of my thesis: a Jordan block hands you a linear map of the right order, and it was long unclear that a bound-saturating block could be shrunk into a lawful channel without losing its order. The Clifford family was the smaller room where the question first yielded, and the general root arrived only at the very end. That more general result subsumes the Clifford one, which is why the Clifford construction does not appear in the final paper. I wanted to write it up anyway, because it is the cleanest place I know to actually <em>see</em> the finite-field representation theory at work. In the general construction the orbit structure is buried inside linear algebra over <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BC%7D">. Here it sits on the surface: a point hopping around a plane of <img src="https://latex.codecogs.com/png.latex?d%5E2"> labels, a matrix of order <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201">, and a single symmetry that costs a factor of two. The whole argument fits in the palm of your hand, and you can check the <img src="https://latex.codecogs.com/png.latex?d%20=%203"> case by stepping around an eight-point cycle with a pencil.</p>
<p>There is one more way to read these numbers, and it closes a loop opened at the very start of the post: the device that carries a private memory from one use to the next, and is strictly forgetful when that memory is provably purged after finitely many uses. A qubit memory can survive for at most three uses. A Clifford memory of odd prime dimension <img src="https://latex.codecogs.com/png.latex?d"> can survive for <img src="https://latex.codecogs.com/png.latex?(d%5E2%20-%201)/2">, and the most stubborn quantum memory of all for <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201">. After that, the influence of how the memory began is not merely small. It is gone.</p>
<p>Here is the scoreboard of Table&nbsp;1 with its third column filled in.</p>
<div id="tbl-scoreboard-final" class="quarto-float quarto-figure quarto-figure-center anchored">
<figure class="quarto-float quarto-float-tbl figure">
<figcaption class="quarto-float-caption-top quarto-float-caption quarto-float-tbl" id="tbl-scoreboard-final-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
Table&nbsp;2: The scoreboard completed. One entry stays open, and the next paragraph owns up to it.
</figcaption>
<div aria-describedby="tbl-scoreboard-final-caption-0ceaefa1-69ba-4598-a22c-09a6ac19f8ca">
<table class="caption-top table">
<colgroup>
<col style="width: 25%">
<col style="width: 25%">
<col style="width: 25%">
<col style="width: 25%">
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;"></th>
<th style="text-align: left;">Classical</th>
<th style="text-align: left;">Quantum</th>
<th style="text-align: left;">Clifford</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Copiers considered</td>
<td style="text-align: left;">bistochastic matrices</td>
<td style="text-align: left;">channels fixing the centre <img src="https://latex.codecogs.com/png.latex?I/d"></td>
<td style="text-align: left;">channels sending each labelled matrix to a multiple of one labelled matrix</td>
</tr>
<tr class="even">
<td style="text-align: left;">Free parameters</td>
<td style="text-align: left;"><img src="https://latex.codecogs.com/png.latex?(d-1)%5E2"></td>
<td style="text-align: left;"><img src="https://latex.codecogs.com/png.latex?(d%5E2-1)%5E2"></td>
<td style="text-align: left;">one invertible <img src="https://latex.codecogs.com/png.latex?2%20%5Ctimes%202"> matrix over <img src="https://latex.codecogs.com/png.latex?%5Cmathbb%7BF%7D_d">, plus <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"> scale factors</td>
</tr>
<tr class="odd">
<td style="text-align: left;">The condition with teeth</td>
<td style="text-align: left;">non-negative entries</td>
<td style="text-align: left;">complete positivity</td>
<td style="text-align: left;">complete positivity, as positivity of one <img src="https://latex.codecogs.com/png.latex?d%5E2%20%5Ctimes%20d%5E2"> matrix of scale factors; sufficient: their absolute values sum to at most one</td>
</tr>
<tr class="even">
<td style="text-align: left;">Largest order <img src="https://latex.codecogs.com/png.latex?k"></td>
<td style="text-align: left;"><img src="https://latex.codecogs.com/png.latex?d%20-%201"></td>
<td style="text-align: left;"><img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201"></td>
<td style="text-align: left;"><img src="https://latex.codecogs.com/png.latex?(d%5E2%20-%201)/2"> for odd prime <img src="https://latex.codecogs.com/png.latex?d">; <img src="https://latex.codecogs.com/png.latex?d%5E2%20-%201%20=%203"> at <img src="https://latex.codecogs.com/png.latex?d%20=%202">; open for composite <img src="https://latex.codecogs.com/png.latex?d"></td>
</tr>
<tr class="odd">
<td style="text-align: left;">Reached by</td>
<td style="text-align: left;">a nilpotent <img src="https://latex.codecogs.com/png.latex?N"> on the deviations, scaled gently</td>
<td style="text-align: left;">a nilpotent <img src="https://latex.codecogs.com/png.latex?N"> on the traceless operators, shrunk until the Choi matrix stays positive</td>
<td style="text-align: left;">a grand cycle of the label plane with zeros on one mirror pair, a small <img src="https://latex.codecogs.com/png.latex?%5Cvarepsilon"> everywhere else</td>
</tr>
<tr class="even">
<td style="text-align: left;">Seen in action</td>
<td style="text-align: left;"><img src="https://latex.codecogs.com/png.latex?d%20=%203">, two steps (Figure&nbsp;2)</td>
<td style="text-align: left;"><img src="https://latex.codecogs.com/png.latex?d%20=%202">, three steps (Figure&nbsp;4)</td>
<td style="text-align: left;"><img src="https://latex.codecogs.com/png.latex?d%20=%202">, three steps (Figure&nbsp;4); <img src="https://latex.codecogs.com/png.latex?d%20=%203">, the eight-point ring (Figure&nbsp;7)</td>
</tr>
</tbody>
</table>
</div>
</figure>
</div>
<p>One thread I never pulled: the Clifford result is a prime-<img src="https://latex.codecogs.com/png.latex?d"> result. Prime powers should tell a parallel story over their own finite fields, and genuinely composite <img src="https://latex.codecogs.com/png.latex?d">, where the label plane is no longer a plane over a field, is territory I never found the time to look at.</p>
<p>The full development, including the classical and general quantum bounds and the Clifford channels above, is in my diploma thesis.<sup>11</sup></p>
<p class="view-counter">Page views: <span id="view-count">…</span></p>
<script>
  (function () {
    var el = document.getElementById('view-count');
    if (!el || !window.fetch) { return; }
    fetch('https://florian2richter.goatcounter.com/counter//posts/clifford-roots/.json')
      .then(function (r) { return r.json(); })
      .then(function (d) { el.textContent = d.count; })
      .catch(function () { el.parentNode.hidden = true; });
  })();
</script>


</section>


<div id="quarto-appendix" class="default"><section id="footnotes" class="footnotes footnotes-end-of-document"><h2 class="anchored quarto-appendix-heading">Footnotes</h2>

<ol>
<li id="fn1"><p>The systematic treatment of this asymptotic question is D. Burgarth, G. Chiribella, V. Giovannetti, P. Perinotti and K. Yuasa, “Ergodic and mixing quantum channels in finite dimensions”, <em>New Journal of Physics</em> <strong>15</strong>, 073045 (2013). A sharp cousin is the quantum Wielandt inequality, bounding how many steps it can take a channel before every output state has full rank: M. Sanz, D. Pérez-García, M. M. Wolf and J. I. Cirac, <em>IEEE Transactions on Information Theory</em> <strong>56</strong>, 4668 (2010). For a pedagogical entry point, Michael Wolf’s lecture notes <em>Quantum Channels &amp; Operations: Guided Tour</em> (2012).↩︎</p></li>
<li id="fn2"><p>The framework of quantum channels with memory is due to D. Kretschmann and R. F. Werner, “Quantum channels with memory,” <em>Phys. Rev.&nbsp;A</em> <strong>72</strong>, 062323 (2005); arXiv:quant-ph/0502106.↩︎</p></li>
<li id="fn3"><p>We meet qubits, density matrices, and channels here at the level of pictures, not bra-ket algebra, so you can follow along cold. If you want the real foundations, single qubits, gates, and the <img src="https://latex.codecogs.com/png.latex?%7C0%5Crangle,%20%7C1%5Crangle"> notation built from scratch, Matuschak and Nielsen’s <a href="https://quantum.country/qcvc">Quantum Computing for the Very Curious</a> is the gentlest on-ramp I know, and it is the model this post is written in.↩︎</p></li>
<li id="fn4"><p>For the structure theory of quantum channels, including the Kraus decomposition and the Stinespring dilation, the standard reference is Nielsen and Chuang, <em>Quantum Computation and Quantum Information</em>, chapter 8. Michael Wolf’s lecture notes <em>Quantum Channels and Operations: Guided Tour</em> are a more focused modern treatment.↩︎</p></li>
<li id="fn5"><p>A. Ahlbrecht, F. Richter and R. F. Werner, “How long can it take for a quantum channel to forget everything?”, arXiv:1205.0693 (2012); the construction is Theorem 3.4 there. The closing section of this post says how the Clifford story below relates to that paper.↩︎</p></li>
<li id="fn6"><p>The name comes from their reversible cousins: the Clifford gates of quantum computing are the unitaries that map Pauli operators to Pauli operators under conjugation, and they are the backbone of the stabilizer formalism of quantum error correction (Nielsen and Chuang, chapter 10). The channels here are the open-system version of the same idea. Not to be confused with Clifford <em>algebras</em>, another legacy of the same nineteenth-century geometer, William Kingdon Clifford. One further caution: in recent literature “Clifford channel” often means a channel implementable by stabilizer (Clifford) circuits, a related but different class; throughout this post the term is used in the thesis’s sense, a channel sending each labelled matrix to a scalar multiple of a single labelled matrix.↩︎</p></li>
<li id="fn7"><p>Deciding exactly which scale factors yield a lawful channel is a solved problem for qubits: M. B. Ruskai, S. Szarek and E. Werner, “An analysis of completely-positive trace-preserving maps on <img src="https://latex.codecogs.com/png.latex?2%20%5Ctimes%202"> matrices”, <em>Linear Algebra and its Applications</em> <strong>347</strong>, 159 (2002). For our root the criterion reduces to <img src="https://latex.codecogs.com/png.latex?%5Clambda_Y%20+%20%5Clambda_Z%20%5Cleq%201">. The thesis works out the criterion for the whole Clifford family in its chapter 5 (Lemma 5.1); the next section of this post shows its face.↩︎</p></li>
<li id="fn8"><p>The textbook road through everything in this aside is R. Lidl and H. Niederreiter, <em>Finite Fields</em>, Cambridge University Press; chapter 2 covers the structure of finite fields, including the cyclicity of the multiplicative group and primitive polynomials. The prime-field case, the existence of primitive roots modulo a prime, is proved in Gauss’s <em>Disquisitiones Arithmeticae</em> (1801), and the root-counting bound goes back to Lagrange. The proofs given here are the classical ones, retold.↩︎</p></li>
<li id="fn9"><p>The criterion, phases and all, is Lemma 5.1 in chapter 5 of the thesis, following earlier work cited there; the diagonal-dominance argument behind the sufficient condition appears in sections 5.2.1 and 5.4.1 there. The condition deliberately trades sharpness for self-containedness: the exact boundary of legality is the positive semidefiniteness of <img src="https://latex.codecogs.com/png.latex?M"> itself.↩︎</p></li>
<li id="fn10"><p>A. Ahlbrecht, F. Richter and R. F. Werner, “How long can it take for a quantum channel to forget everything?”, arXiv:1205.0693 (2012). The construction is Theorem 3.4 there; the maximal roots far from <img src="https://latex.codecogs.com/png.latex?P"> are Proposition 3.5.↩︎</p></li>
<li id="fn11"><p>F. Richter, <em>Finite Roots of Completely Depolarizing Channels</em>, Diploma thesis, Institute for Theoretical Physics, Leibniz Universität Hannover, September 2010. <a href="https://github.com/Florian2Richter/florian2richter.github.io/blob/main/reference/Diplomarbeit_Florian.pdf">PDF in this site’s repository</a>.↩︎</p></li>
</ol>
</section></div> ]]></description>
  <category>quantum</category>
  <category>channels</category>
  <category>clifford</category>
  <category>finite-fields</category>
  <guid>https://florian2richter.github.io/posts/clifford-roots/</guid>
  <pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate>
  <media:content url="https://florian2richter.github.io/posts/clifford-roots/figures/teaser-art/clifford-teaser-card.png" medium="image" type="image/png" height="78" width="144"/>
</item>
</channel>
</rss>
