Congratulations!

[Valid Atom 1.0] This is a valid Atom 1.0 feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: https://golem.ph.utexas.edu/%7Edistler/blog/atom10.xml

  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2. <?xml-stylesheet type="text/css" href="https://golem.ph.utexas.edu/~distler/blog/atom.css" ?>
  3. <feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  4.  <title>Musings</title>
  5.  <link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/" />
  6.  <link rel="self" href="https://golem.ph.utexas.edu/~distler/blog/atom10.xml" />
  7.  <link rel="replies" type="application/atom+xml" href="https://golem.ph.utexas.edu/~distler/blog/comments.atom"/>
  8.  <updated>2023-09-05T03:57:42Z</updated>
  9.  <subtitle>Thoughts on Science, Computing, and Life on Earth.</subtitle>
  10.  <id>tag:golem.ph.utexas.edu,2003:Musings/1</id>
  11.  <generator uri="http://www.movabletype.org/" version="3.36">Movable Type</generator>
  12.  <icon>https://golem.ph.utexas.edu/~distler/blog/images/favicon.ico</icon>
  13.  <rights>Copyright (c) 2023, Jacques Distler</rights>
  14.  <entry>
  15.    <title type="html">dCS</title>
  16.    <link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003491.html" />
  17.    <updated>2023-09-05T03:57:42Z</updated>
  18.    <published>2023-09-02T13:34:15-06:00</published>
  19.    <id>tag:golem.ph.utexas.edu,2023:%2F~distler%2Fblog%2F1.3491</id>
  20.    <summary type="text">"Dynamical Chern Simons Gravity" ain't</summary>
  21.    <author>
  22.      <name>distler</name>
  23.      <uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
  24.      <email>distler@golem.ph.utexas.edu</email>
  25.    </author>
  26.    <category term="Physics" />
  27.    <content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003491.html">
  28.      <div xmlns="http://www.w3.org/1999/xhtml">
  29. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  30. For various reasons, some people seem to think that the following modification to Einstein Gravity
  31.  
  32.  
  33. <div class="numberedEq" id="e3491:dCS"><span>(1)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>S</mi><mo>=</mo><mo>&#x0222B;</mo><mstyle displaystyle="false"><mfrac><mn>1</mn><mn>2</mn></mfrac></mstyle><mi>d</mi><mi>&#x03D5;</mi><mo>&#x02227;</mo><mo>*</mo><mi>d</mi><mi>&#x03D5;</mi><mo>+</mo><mstyle displaystyle="false"><mfrac><mrow><msup><mi>&#x003BA;</mi> <mn>2</mn></msup></mrow><mn>2</mn></mfrac></mstyle><mo>*</mo><mi>&#x0211B;</mi><mo>+</mo><mstyle mathcolor="red"><mstyle displaystyle="false"><mfrac><mrow><mn>3</mn><mi>&#x03D5;</mi></mrow><mrow><mn>192</mn><msup><mi>&#x003C0;</mi> <mn>2</mn></msup><mi>f</mi></mrow></mfrac></mstyle><mi>Tr</mi><mo stretchy="false">(</mo><mi>R</mi><mo>&#x02227;</mo><mi>R</mi><mo stretchy="false">)</mo></mstyle></mrow><annotation encoding='application/x-tex'>S= \int \tfrac{1}{2} d\phi\wedge *d\phi + \tfrac{\kappa^2}{2} *\mathcal{R} + {\color{red} \tfrac{3 \phi}{192\pi^2 f}Tr(R\wedge R)}
  34. </annotation></semantics></math></div>
  35.  
  36.  
  37. is <a href='https://arxiv.org/abs/2303.04815'>interesting</a> <a href='https://arxiv.org/abs/2201.02220'>to</a> <a href='https://arxiv.org/abs/0902.4669'>consider</a>. In some toy world, it might be<sup id='dCStg1'><a href='#dCSfn1'>1</a></sup>. But in the real world, there are nearly massless neutrinos. In the Standard Model, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>U</mi><mo stretchy="false">(</mo><mn>1</mn><msub><mo stretchy="false">)</mo> <mrow><mi>B</mi><mo>&#x02212;</mo><mi>L</mi></mrow></msub></mrow><annotation encoding='application/x-tex'>U(1)_{B&#x2d;L}</annotation></semantics></math> has a gravitational <acronym title=" Adler-Bell-Jackiw">ABJ</acronym> anomaly (where, in the real world, the number of generations <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>N</mi> <mi>f</mi></msub><mo>=</mo><mn>3</mn></mrow><annotation encoding='application/x-tex'>N_f=3</annotation></semantics></math>)
  38.  
  39.  
  40. <div class="numberedEq"><span>(2)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>d</mi><mo>*</mo><msub><mi>J</mi> <mrow><mi>B</mi><mo>&#x02212;</mo><mi>L</mi></mrow></msub><mo>=</mo><mfrac><mrow><msub><mi>N</mi> <mi>f</mi></msub></mrow><mrow><mn>192</mn><msup><mi>&#x003C0;</mi> <mn>2</mn></msup></mrow></mfrac><mi>Tr</mi><mo stretchy="false">(</mo><mi>R</mi><mo>&#x02227;</mo><mi>R</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>
  41. d * J_{B&#x2d;L} = \frac{N_f}{192\pi^2} Tr(R\wedge R)
  42. </annotation></semantics></math></div>
  43.  
  44.  
  45. which, by a <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>U</mi><mo stretchy="false">(</mo><mn>1</mn><msub><mo stretchy="false">)</mo> <mrow><mi>B</mi><mo>&#x02212;</mo><mi>L</mi></mrow></msub></mrow><annotation encoding='application/x-tex'>U(1)_{B&#x2d;L}</annotation></semantics></math> rotation, would allow us to <em>entirely remove</em><sup id='dCStg2'><a href='#dCSfn2'>2</a></sup> the coupling marked in red in (<a href="#e3491:dCS">1</a>).
  46.  
  47. In the real world, the neutrinos are not massless; there&#8217;s the Weinberg term
  48.  
  49.  
  50. <div class="numberedEq" id="e3491:Weinberg"><span>(3)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mfrac><mn>1</mn><mi>M</mi></mfrac><mrow><mo>(</mo><msup><mi>y</mi> <mrow><mi>i</mi><mi>j</mi></mrow></msup><mo stretchy="false">(</mo><mi>H</mi><msub><mi>L</mi> <mi>i</mi></msub><mo stretchy="false">)</mo><mo stretchy="false">(</mo><mi>H</mi><msub><mi>L</mi> <mi>j</mi></msub><mo stretchy="false">)</mo><mo>+</mo><mtext>h.c.</mtext><mo>)</mo></mrow></mrow><annotation encoding='application/x-tex'>\frac{1}{M}\left(y^{i j} (H L_i)(H L_j) + \text{h.c.}\right)
  51. </annotation></semantics></math></div>
  52.  
  53.  
  54. which explicitly breaks <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>U</mi><mo stretchy="false">(</mo><mn>1</mn><msub><mo stretchy="false">)</mo> <mrow><mi>B</mi><mo>&#x02212;</mo><mi>L</mi></mrow></msub></mrow><annotation encoding='application/x-tex'>U(1)_{B&#x2d;L}</annotation></semantics></math>. When the Higgs gets a VEV, this term gives a mass
  55. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msup><mi>m</mi> <mrow><mi>i</mi><mi>j</mi></mrow></msup><mo>=</mo><mfrac><mrow><mo stretchy="false">&#x027E8;</mo><mi>H</mi><msup><mo stretchy="false">&#x027E9;</mo> <mn>2</mn></msup><msup><mi>y</mi> <mrow><mi>i</mi><mi>j</mi></mrow></msup></mrow><mi>M</mi></mfrac></mrow><annotation encoding='application/x-tex'>
  56. m^{i j} = \frac{\langle H\rangle^2 y^{i j}}{M}
  57. </annotation></semantics></math>
  58. to the neutrinos, So, rather than completely decoupling, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x03D5;</mi></mrow><annotation encoding='application/x-tex'>\phi</annotation></semantics></math> reappears as a (dynamical) contribution to the <em>phase</em> of the neutrino mass matrix
  59.  
  60.  
  61. <div class="numberedEq" id="e3491:mass"><span>(4)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msup><mi>m</mi> <mrow><mi>i</mi><mi>j</mi></mrow></msup><mo>&#x02192;</mo><msup><mi>m</mi> <mrow><mi>i</mi><mi>j</mi></mrow></msup><msup><mi>e</mi> <mrow><mn>2</mn><mi>i</mi><mi>&#x03D5;</mi><mo stretchy="false">/</mo><mi>f</mi></mrow></msup></mrow><annotation encoding='application/x-tex'>m^{i j} \to m^{i j}e^{2i\phi/f}
  62. </annotation></semantics></math></div>
  63.  
  64.  
  65. Of course there <em>is</em> a CP-violating phase in the neutrino mass matrix. But its effects are so tiny that its (presumably nonzero) value is <a href='https://pdg.lbl.gov/2023/reviews/rpp2022-rev-neutrino-mixing.pdf'>still unknown</a>. Since (<a href="#e3491:mass">4</a>) is rigourously equivalent to (<a href="#e3491:dCS">1</a>), the effects of the term in red in (<a href="#e3491:dCS">1</a>) are similarly unobservably small. Assertions that it could have dramatic consequences &#8212; whether for LIGO or large-scale structure &#8212; are &#8230; <em>bizarre</em>.
  66.  
  67. <div id="dCSU1" class="update"><h4>Update:</h4> The claim that (<a href="#e3491:dCS">1</a>) has some observable effect is even more bizarre if you are seeking to find one (say) during inflation. Before the electroweak phase transition, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo stretchy="false">&#x027E8;</mo><mi>H</mi><mo stretchy="false">&#x027E9;</mo><mo>=</mo><mn>0</mn></mrow><annotation encoding='application/x-tex'>\langle H \rangle=0</annotation></semantics></math> and the effect of a <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x03D5;</mi></mrow><annotation encoding='application/x-tex'>\phi</annotation></semantics></math>-dependent phase in the Weinberg term (<a href="#e3491:Weinberg">3</a>) is <em>even more</em> suppressed.</div>
  68. <hr/>
  69. <div id='dCSfn1'>
  70. <sup><a href='#dCStg1'>1</a></sup> An analogy with Yang Mills might be helpful. In pure Yang-Mills, the <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x003B8;</mi></mrow><annotation encoding='application/x-tex'>\theta</annotation></semantics></math>-parameter is physical; observable quantities depend on it. But, if you introduce a massless quark, it becomes unphysical and all dependence on it drops out. For massive quarks, only the <em>sum</em> of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x003B8;</mi></mrow><annotation encoding='application/x-tex'>\theta</annotation></semantics></math> and phase of the determinant of the quark mass matrix is physical.
  71. </div>
  72.  
  73. <div id='dCSfn2'>
  74. <sup><a href='#dCStg2'>2</a></sup> The easiest way to see this is to introduce a background gauge field, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x1D49C;</mi></mrow><annotation encoding='application/x-tex'>\mathcal{A}</annotation></semantics></math>, for <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>U</mi><mo stretchy="false">(</mo><mn>1</mn><msub><mo stretchy="false">)</mo> <mrow><mi>B</mi><mo>&#x02212;</mo><mi>L</mi></mrow></msub></mrow><annotation encoding='application/x-tex'>U(1)_{B&#x2d;L}</annotation></semantics></math> and modify (<a href="#e3491:dCS">1</a>) to
  75.  
  76.  
  77. <div class="numberedEq" id="e3491:dCSgauged"><span>(5)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>S</mi><mo>=</mo><mo>&#x0222B;</mo><mstyle displaystyle="false"><mfrac><mn>1</mn><mn>2</mn></mfrac></mstyle><mo stretchy="false">(</mo><mi>d</mi><mi>&#x03D5;</mi><mo>&#x02212;</mo><mi>f</mi><mi>&#x1D49C;</mi><mo stretchy="false">)</mo><mo>&#x02227;</mo><mo>*</mo><mo stretchy="false">(</mo><mi>d</mi><mi>&#x03D5;</mi><mo>&#x02212;</mo><mi>f</mi><mi>&#x1D49C;</mi><mo stretchy="false">)</mo><mo>+</mo><mstyle displaystyle="false"><mfrac><mrow><msup><mi>&#x003BA;</mi> <mn>2</mn></msup></mrow><mn>2</mn></mfrac></mstyle><mo>*</mo><mi>&#x0211B;</mi><mo>+</mo><mstyle mathcolor="red"><mstyle displaystyle="false"><mfrac><mrow><mn>3</mn><mi>&#x03D5;</mi></mrow><mrow><mn>24</mn><msup><mi>&#x003C0;</mi> <mn>2</mn></msup><mi>f</mi></mrow></mfrac></mstyle><mrow><mo>[</mo><mstyle displaystyle="false"><mfrac><mn>1</mn><mn>8</mn></mfrac></mstyle><mi>Tr</mi><mo stretchy="false">(</mo><mi>R</mi><mo>&#x02227;</mo><mi>R</mi><mo stretchy="false">)</mo><mo>+</mo><mi>d</mi><mi>&#x1D49C;</mi><mo>&#x02227;</mo><mi>d</mi><mi>&#x1D49C;</mi><mo>]</mo></mrow></mstyle></mrow><annotation encoding='application/x-tex'>S= \int \tfrac{1}{2} (d\phi&#x2d;f\mathcal{A})\wedge *(d\phi&#x2d;f\mathcal{A}) + \tfrac{\kappa^2}{2} *\mathcal{R} + {\color{red} \tfrac{3 \phi}{24\pi^2 f}\left[\tfrac{1}{8}Tr(R\wedge R)+d\mathcal{A}\wedge d\mathcal{A}\right]}
  78. </annotation></semantics></math></div>
  79.  
  80.  
  81. Turning off the Weinberg term, the theory is invariant under <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>U</mi><mo stretchy="false">(</mo><mn>1</mn><msub><mo stretchy="false">)</mo> <mrow><mi>B</mi><mo>&#x02212;</mo><mi>L</mi></mrow></msub></mrow><annotation encoding='application/x-tex'>U(1)_{B&#x2d;L}</annotation></semantics></math> gauge transformations
  82. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><mi>&#x1D49C;</mi></mtd> <mtd><mo>&#x02192;</mo><mi>&#x1D49C;</mi><mo>+</mo><mi>d</mi><mi>&#x003C7;</mi></mtd></mtr> <mtr><mtd><mi>&#x03D5;</mi></mtd> <mtd><mo>&#x02192;</mo><mi>&#x03D5;</mi><mo>+</mo><mi>f</mi><mi>&#x003C7;</mi></mtd></mtr> <mtr><mtd><msub><mi>Q</mi> <mi>i</mi></msub></mtd> <mtd><mo>&#x02192;</mo><msup><mi>e</mi> <mrow><mi>i</mi><mi>&#x003C7;</mi><mo stretchy="false">/</mo><mn>3</mn></mrow></msup><msub><mi>Q</mi> <mi>i</mi></msub></mtd></mtr> <mtr><mtd><msub><mover><mi>u</mi><mo>&#x000AF;</mo></mover> <mi>i</mi></msub></mtd> <mtd><mo>&#x02192;</mo><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mi>i</mi><mi>&#x003C7;</mi><mo stretchy="false">/</mo><mn>3</mn></mrow></msup><msub><mover><mi>u</mi><mo>&#x000AF;</mo></mover> <mi>i</mi></msub></mtd></mtr> <mtr><mtd><msub><mover><mi>d</mi><mo>&#x000AF;</mo></mover> <mi>i</mi></msub></mtd> <mtd><mo>&#x02192;</mo><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mi>i</mi><mi>&#x003C7;</mi><mo stretchy="false">/</mo><mn>3</mn></mrow></msup><msub><mover><mi>d</mi><mo>&#x000AF;</mo></mover> <mi>i</mi></msub></mtd></mtr> <mtr><mtd><msub><mi>L</mi> <mi>i</mi></msub></mtd> <mtd><mo>&#x02192;</mo><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mi>i</mi><mi>&#x003C7;</mi></mrow></msup><msub><mi>L</mi> <mi>i</mi></msub></mtd></mtr> <mtr><mtd><msub><mover><mi>e</mi><mo>&#x000AF;</mo></mover> <mi>i</mi></msub></mtd> <mtd><mo>&#x02192;</mo><msup><mi>e</mi> <mrow><mi>i</mi><mi>&#x003C7;</mi></mrow></msup><msub><mover><mi>e</mi><mo>&#x000AF;</mo></mover> <mi>i</mi></msub></mtd></mtr> <mtr><mtd/></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
  83. \begin{split}
  84. \mathcal{A}&amp;\to \mathcal{A}+d\chi\\
  85. \phi&amp;\to \phi+ f \chi\\
  86. Q_i&amp;\to e^{i\chi/3}Q_i\\
  87. \overline{u}_i&amp;\to e^{&#x2d;i\chi/3}\overline{u}_i\\
  88. \overline{d}_i&amp;\to e^{&#x2d;i\chi/3}\overline{d}_i\\
  89. L_i&amp;\to e^{&#x2d;i\chi}L_i\\
  90. \overline{e}_i&amp;\to e^{i\chi}\overline{e}_i\\
  91. \end{split}
  92. </annotation></semantics></math>
  93. where the anomalous variation of the fermions cancels the variation of the term in red. Note that the first term in (<a href="#e3491:dCSgauged">5</a>) is a gauge-invariant mass term for <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x1D49C;</mi></mrow><annotation encoding='application/x-tex'>\mathcal{A}</annotation></semantics></math> (or would be if we promoted <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x1D49C;</mi></mrow><annotation encoding='application/x-tex'>\mathcal{A}</annotation></semantics></math> to a dynamical gauge field). Choosing <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x003C7;</mi><mo>=</mo><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mi>&#x03D5;</mi><mo stretchy="false">/</mo><mi>f</mi></mrow><annotation encoding='application/x-tex'>\chi = &#x2d;\phi/f</annotation></semantics></math> eliminates the term in red. Turning back on the Weinberg term (which explicitly breaks <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>U</mi><mo stretchy="false">(</mo><mn>1</mn><msub><mo stretchy="false">)</mo> <mrow><mi>B</mi><mo>&#x02212;</mo><mi>L</mi></mrow></msub></mrow><annotation encoding='application/x-tex'>U(1)_{B&#x2d;L}</annotation></semantics></math>) puts the coupling to <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x03D5;</mi></mrow><annotation encoding='application/x-tex'>\phi</annotation></semantics></math> into the neutrino mass matrix (where it belongs).
  94. </div>
  95.  
  96.  
  97.      </div>
  98.    </content>
  99.  </entry>
  100.  <entry>
  101.    <title type="html">MathML in Chrome</title>
  102.    <link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003452.html" />
  103.    <updated>2023-02-15T15:12:03Z</updated>
  104.    <published>2023-02-12T23:02:26-06:00</published>
  105.    <id>tag:golem.ph.utexas.edu,2023:%2F~distler%2Fblog%2F1.3452</id>
  106.    <summary type="text">At long last, Chrome supports MathML.</summary>
  107.    <author>
  108.      <name>distler</name>
  109.      <uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
  110.      <email>distler@golem.ph.utexas.edu</email>
  111.    </author>
  112.    <category term="MathML" />
  113.    <content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003452.html">
  114.      <div xmlns="http://www.w3.org/1999/xhtml">
  115. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  116.  
  117. <p>Thanks to the hard work of <a href="https://www.igalia.com/team/fwang">Fr&#x000E9;d&#x000E9;ric Wang</a> and the folks at <a href="https://mathml.igalia.com/">Igalia</a>, the <a href="https://www.igalia.com/2023/01/10/Igalia-Brings-MathML-Back-to-Chromium.html">Blink engine in Chrome 109</a> now supports <a href="https://www.w3.org/TR/mathml-core/"><acronym title="Mathematical Markup Language">MathML</acronym> Core</a>.</p>
  118.  
  119. <p>It took a little bit of work to get it working correctly in <a href="https://golem.ph.utexas.edu/wiki/instiki/show/HomePage">Instiki</a> and on this blog.</p>
  120.  
  121. <ul>
  122. <li>The <code>columnalign</code> attribute is not supported, so <a href="https://github.com/parasew/instiki/commit/debe162a7de353d63452322fc85f668868e8b9b8">a shim</a> is needed to get the individual <code>&lt;mtd&gt;</code> to align correctly.</li>
  123. <li><a href="https://github.com/parasew/instiki/commit/5215da4c3dd55d6b3d581a46895d7a5ff7bcba1b">This commit</a> enabled the display of  <abbr title="Scalable Vector Graphics">SVG</abbr> embedded in equations and got rid of the vertical scroll bars in equations.</li>
  124. <li>Since Chrome does not support hyperlinks (either <code>href</code> or <code>xlink:href</code> attributes) on <acronym>MathML</acronym> elements, this slightly hacky <a href="https://github.com/parasew/instiki/commit/9b6420244ac785ed1353c1e11cd26e98797ddb8e">workaround</a> enabled hyperlinks in equations, as created by <code>\href{url}{expression}</code>.</li>
  125. </ul>
  126.  
  127. <p>There are a number of remaining <a href="https://bugs.chromium.org/p/chromium/issues/list?q=component%3ABlink%3EMathML&amp;can=2">issues</a>.</p>
  128.  
  129. <ul>
  130. <li><p>Math accents <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=1410455&amp;q=component%3ABlink%3EMathML&amp;can=2">don&#8217;t stretch</a>, when they&#8217;re supposed to. Here are a few examples of things that (currently) render incorrectly in Chrome (some of them, admittedly, are incorrect in Safari too):</p>
  131.  
  132. <p><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msub><mstyle mathvariant="bold"><mi>V</mi></mstyle> <mn>1</mn></msub><mo>&#x000D7;</mo><msub><mstyle mathvariant="bold"><mi>V</mi></mstyle> <mn>2</mn></msub><mo>=</mo><mrow><mo>&#x02223;</mo><mrow><mtable displaystyle="false" rowspacing="0.5ex"><mtr><mtd><mstyle mathvariant="bold"><mi>i</mi></mstyle></mtd> <mtd><mstyle mathvariant="bold"><mi>j</mi></mstyle></mtd> <mtd><mstyle mathvariant="bold"><mi>k</mi></mstyle></mtd></mtr> <mtr><mtd/></mtr> <mtr><mtd><mfrac><mrow><mo>&#x02202;</mo><mi>X</mi></mrow><mrow><mo>&#x02202;</mo><mi>u</mi></mrow></mfrac></mtd> <mtd><mfrac><mrow><mo>&#x02202;</mo><mi>Y</mi></mrow><mrow><mo>&#x02202;</mo><mi>u</mi></mrow></mfrac></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd><mfrac><mrow><mo>&#x02202;</mo><mi>X</mi></mrow><mrow><mo>&#x02202;</mo><mi>v</mi></mrow></mfrac></mtd> <mtd><mfrac><mrow><mo>&#x02202;</mo><mi>Y</mi></mrow><mrow><mo>&#x02202;</mo><mi>v</mi></mrow></mfrac></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd/></mtr></mtable></mrow><mo>&#x02223;</mo></mrow></mrow><annotation encoding='application/x-tex'>
  133.   \mathbf{V}_{1} \times \mathbf{V}_{2} = \begin{vmatrix} \mathbf{i} &amp; \mathbf{j} &amp; \mathbf{k} \\\\ \frac{\partial X}{\partial u} &amp; \frac{\partial Y}{\partial u} &amp; 0 \\ \frac{\partial X}{\partial v} &amp; \frac{\partial Y}{\partial v} &amp; 0 \\ \end{vmatrix}
  134.   </annotation></semantics></math></p>
  135.  
  136. <p><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mrow><mo>&#x0007C;</mo><mfrac><mrow><mi>f</mi><mo stretchy="false">(</mo><mi>z</mi><mo stretchy="false">)</mo><mo>&#x02212;</mo><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo></mrow><mrow><mn>1</mn><mo>&#x02212;</mo><mover><mrow><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo></mrow><mo>&#x000AF;</mo></mover><mi>f</mi><mo stretchy="false">(</mo><mi>z</mi><mo stretchy="false">)</mo></mrow></mfrac><mo>&#x0007C;</mo></mrow><mo>&#x02264;</mo><mrow><mo>&#x0007C;</mo><mfrac><mrow><mi>z</mi><mo>&#x02212;</mo><mi>a</mi></mrow><mrow><mn>1</mn><mo>&#x02212;</mo><mover><mi>a</mi><mo>&#x000AF;</mo></mover><mi>z</mi></mrow></mfrac><mo>&#x0007C;</mo></mrow></mrow><annotation encoding='application/x-tex'>
  137.     \left\vert\frac{f(z)&#x2d;f(a)}{1&#x2d;\overline{f(a)}f(z)}\right\vert\le \left\vert\frac{z&#x2d;a}{1&#x2d;\overline{a}z}\right\vert
  138.   </annotation></semantics></math></p>
  139.  
  140. <p><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mover><mi>PGL</mi><mo>&#x002DC;</mo></mover><mo stretchy="false">(</mo><mi>N</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>
  141.    \widetilde{PGL}(N)
  142.   </annotation></semantics></math></p>
  143.  
  144. <p><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mrow><mtable displaystyle="false" rowspacing="0.5ex"><mtr><mtd><msub><mi>P</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>Y</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>&#x02192;</mo></mtd> <mtd><msub><mi>P</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>X</mi><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd><mo stretchy="false">&#x02193;</mo></mtd> <mtd><mo>&#x021D3;</mo><mpadded width="0px"><mo>&#x0223C;</mo></mpadded></mtd> <mtd><mo stretchy="false">&#x02193;</mo></mtd></mtr> <mtr><mtd><mi>T</mi><mo>&#x02032;</mo></mtd> <mtd><mo>&#x02192;</mo></mtd> <mtd><mi>T</mi></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
  145.   \begin{matrix} P_1(Y) &amp;\to&amp; P_1(X) \\ \downarrow &amp;\Downarrow\mathrlap{\sim}&amp; \downarrow \\ T&apos; &amp;\to&amp; T \end{matrix}
  146.   </annotation></semantics></math></p>
  147.  
  148. <p><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msub><mi>p</mi> <mn>3</mn></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><mrow><mo>(</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>)</mo></mrow><mfrac><mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>&#x02212;</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>&#x02212;</mo><mfrac><mn>3</mn><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>&#x02212;</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow><mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>&#x02212;</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>&#x02212;</mo><mfrac><mn>3</mn><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>&#x02212;</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow></mfrac><mo>+</mo><mrow><mo>(</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>)</mo></mrow><mfrac><mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>&#x02212;</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>&#x02212;</mo><mfrac><mn>3</mn><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>&#x02212;</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow><mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>&#x02212;</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>&#x02212;</mo><mfrac><mn>3</mn><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>&#x02212;</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow></mfrac><mo>+</mo><mrow><mo>(</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>)</mo></mrow><mfrac><mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>&#x02212;</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>&#x02212;</mo><mfrac><mn>3</mn><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>&#x02212;</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow><mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>&#x02212;</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>&#x02212;</mo><mfrac><mn>3</mn><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>&#x02212;</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow></mfrac><mo>+</mo><mrow><mo>(</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>)</mo></mrow><mfrac><mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>&#x02212;</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>&#x02212;</mo><mfrac><mn>3</mn><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>&#x02212;</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow><mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>&#x02212;</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>&#x02212;</mo><mfrac><mn>3</mn><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>&#x02212;</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow></mfrac></mrow><annotation encoding='application/x-tex'>
  149.   p_3 (x) = \left( {\frac{1}{2}} \right)\frac{{\left( {x &#x2d; \frac{1}{2}} \right)\left( {x &#x2d; \frac{3}{4}} \right)\left( {x &#x2d; 1} \right)}}{{\left( {\frac{1}{4} &#x2d; \frac{1}{2}} \right)\left( {\frac{1}{4} &#x2d; \frac{3}{4}} \right)\left( {\frac{1}{4} &#x2d; 1} \right)}} + \left( {\frac{1}{2}} \right)\frac{{\left( {x &#x2d; \frac{1}{2}} \right)\left( {x &#x2d; \frac{3}{4}} \right)\left( {x &#x2d; 1} \right)}}{{\left( {\frac{1}{4} &#x2d; \frac{1}{2}} \right)\left( {\frac{1}{4} &#x2d; \frac{3}{4}} \right)\left( {\frac{1}{4} &#x2d; 1} \right)}} + \left( {\frac{1}{2}} \right)\frac{{\left( {x &#x2d; \frac{1}{2}} \right)\left( {x &#x2d; \frac{3}{4}} \right)\left( {x &#x2d; 1} \right)}}{{\left( {\frac{1}{4} &#x2d; \frac{1}{2}} \right)\left( {\frac{1}{4} &#x2d; \frac{3}{4}} \right)\left( {\frac{1}{4} &#x2d; 1} \right)}} + \left( {\frac{1}{2}} \right)\frac{{\left( {x &#x2d; \frac{1}{2}} \right)\left( {x &#x2d; \frac{3}{4}} \right)\left( {x &#x2d; 1} \right)}}{{\left( {\frac{1}{4} &#x2d; \frac{1}{2}} \right)\left( {\frac{1}{4} &#x2d; \frac{3}{4}} \right)\left( {\frac{1}{4} &#x2d; 1} \right)}}
  150.   </annotation></semantics></math></p></li>
  151. <li><p><del>This equation</del>
  152. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><menclose notation="box"><mrow><mo stretchy="false">(</mo><mi>i</mi><menclose notation="updiagonalstrike"><mi>D</mi></menclose><mo>+</mo><mi>m</mi><mo stretchy="false">)</mo><mi>&#x003C8;</mi><mo>=</mo><mn>0</mn></mrow></menclose></mrow><annotation encoding='application/x-tex'>
  153.      \boxed{(i\slash{D}+m)\psi = 0}
  154.  </annotation></semantics></math>
  155. <del>doesn&#8217;t display remotely correctly, because Chrome doesn&#8217;t implement the <code>&lt;menclose&gt;</code> element.</del> <ins>Fixed now.</ins></p></li>
  156. <li>&#8230;</li>
  157. </ul>
  158.  
  159. <p>But, hey, this is <em>amazing</em> for a first release.</p>
  160.  
  161. <h4 id="ChromeU1" class="update">Update:</h4>
  162.  
  163. <p>I <a href="https://github.com/parasew/instiki/commit/67edee653048c0fc6e3515b0906d3e9d29bc1ff1">added support</a> for <code>\boxed{}</code> and <code>\slash{}</code>, both of which use <code>&lt;menclose&gt;</code>, which is not supported by Chrome. So now the above equation should render correctly in Chrome. Thanks to Monica Kang, for help with the <abbr title="Cascading Style Sheets">CSS</abbr>.</p>
  164.  
  165.  
  166.      </div>
  167.    </content>
  168.  </entry>
  169.  <entry>
  170.    <title type="html">Fine Structure</title>
  171.    <link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003425.html" />
  172.    <updated>2023-10-03T06:27:56Z</updated>
  173.    <published>2022-10-17T21:00:35-06:00</published>
  174.    <id>tag:golem.ph.utexas.edu,2022:%2F~distler%2Fblog%2F1.3425</id>
  175.    <summary type="text">Something I never knew about the spin-orbit coupling</summary>
  176.    <author>
  177.      <name>distler</name>
  178.      <uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
  179.      <email>distler@golem.ph.utexas.edu</email>
  180.    </author>
  181.    <category term="Physics" />
  182.    <content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003425.html">
  183.      <div xmlns="http://www.w3.org/1999/xhtml">
  184. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  185. <p>I&#8217;m teaching the undergraduate Quantum II course (&#8220;Atoms and Molecules&#8221;) this semester. We&#8217;ve come to the point where it&#8217;s time to discuss the fine structure of hydrogen. I had previously found this somewhat unsatisfactory. If one wanted to do a proper treatment, one would start with  a relativistic theory and take the non-relativistic limit. But we&#8217;re not going to introduce the Dirac equation (much less QED). And, in any case, introducing the Dirac equation would get you the <em>leading corrections</em> but fail miserably to get various non-leading corrections (the Lamb shift, the anomalous magnetic moment, &#8230;).</p>
  186.  
  187. <p>Instead, various hand-waving arguments are invoked (&#8220;The electron has an intrinsic magnetic moment and since it&#8217;s moving in the electrostatic field of the proton, it sees a magnetic field &#8230;&#8221;) which give you the wrong answer for the spin-orbit coupling (off by a factor of two), which you then have to further correct (&#8220;Thomas precession&#8221;) and then there&#8217;s the Darwin term, with an even more hand-wavy explanation &#8230;</p>
  188.  
  189. <p>So I set about trying to find a better way. I want use as minimal as possible input from the relativistic theory and get the <em>leading</em> relativistic correction(s).
  190. </p>
  191. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  192. <p>
  193. <ol>
  194. <li>For a spinless particle, the correction amounts to replacing the nonrelativistic kinetic energy by the relativistic expression
  195.   <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mfrac><mrow><msup><mi>p</mi> <mn>2</mn></msup></mrow><mrow><mn>2</mn><mi>m</mi></mrow></mfrac><mo>&#x02192;</mo><msqrt><mrow><msup><mi>p</mi> <mn>2</mn></msup><msup><mi>c</mi> <mn>2</mn></msup><mo>+</mo><msup><mi>m</mi> <mn>2</mn></msup><msup><mi>c</mi> <mn>4</mn></msup></mrow></msqrt><mo>&#x02212;</mo><mi>m</mi><msup><mi>c</mi> <mn>2</mn></msup><mo>=</mo><mfrac><mrow><msup><mi>p</mi> <mn>2</mn></msup></mrow><mrow><mn>2</mn><mi>m</mi></mrow></mfrac><mo>&#x02212;</mo><mfrac><mrow><mo stretchy="false">(</mo><msup><mi>p</mi> <mn>2</mn></msup><msup><mo stretchy="false">)</mo> <mn>2</mn></msup></mrow><mrow><mn>8</mn><msup><mi>m</mi> <mn>3</mn></msup><msup><mi>c</mi> <mn>2</mn></msup></mrow></mfrac><mo>+</mo><mi>&#x02026;</mi></mrow><annotation encoding='application/x-tex'>
  196.   \frac{p^2}{2m} \to \sqrt{p^2 c^2 +m^2 c^4} &#x2d; m c^2 = \frac{p^2}{2m} &#x2d; \frac{(p^2)^2}{8m^3 c^2}+\dots
  197.   </annotation></semantics></math>
  198. </li>
  199. <li>For a spin-1/2 particle, &#8220;<math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><annotation encoding='application/x-tex'>\vec{p}</annotation></semantics></math>&#8221; only appears dotted into the Pauli matrices, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x022C5;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><annotation encoding='application/x-tex'>\vec{\sigma}\cdot\vec{p}</annotation></semantics></math>.
  200.   <ul>
  201.   <li>In particular, this tells us how the spin couples to external magnetic fields <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x022C5;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02192;</mo><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x022C5;</mo><mo stretchy="false">(</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02212;</mo><mi>q</mi><mover><mi>A</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">/</mo><mi>c</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>\vec{\sigma}\cdot\vec{p} \to \vec{\sigma}\cdot(\vec{p}&#x2d;q \vec{A}/c)</annotation></semantics></math>.
  202.   </li>
  203.   <li>What we previously wrote as &#8220;<math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>p</mi> <mn>2</mn></msup></mrow><annotation encoding='application/x-tex'>p^2</annotation></semantics></math>&#8221; could just as well have been written as <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo stretchy="false">(</mo><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x022C5;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover><msup><mo stretchy="false">)</mo> <mn>2</mn></msup></mrow><annotation encoding='application/x-tex'>(\vec{\sigma}\cdot\vec{p})^2</annotation></semantics></math>.
  204.   </li>
  205.   </ul>
  206. </li>
  207. <li>Parity and time-reversal invariance<sup id='fstg1'><a href='#F1'>1</a></sup> imply only <em>even</em> powers of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x022C5;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><annotation encoding='application/x-tex'>\vec{\sigma}\cdot\vec{p}</annotation></semantics></math> appear in the low-velocity expansion.
  208. </li>
  209. <li>Shifting the potential energy, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>V</mi><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>&#x02192;</mo><mi>V</mi><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>+</mo><mtext>const</mtext></mrow><annotation encoding='application/x-tex'>V(\vec{r})\to V(\vec{r})+\text{const}</annotation></semantics></math>, should shift <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>H</mi><mo>&#x02192;</mo><mi>H</mi><mo>+</mo><mtext>const</mtext></mrow><annotation encoding='application/x-tex'>H\to H+\text{const}</annotation></semantics></math>.
  210. </li>
  211. </ol></p>
  212.  
  213. <p>With those ingredients, at <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>O</mi><mo stretchy="false">(</mo><msup><mover><mi>v</mi><mo stretchy="false">&#x02192;</mo></mover> <mn>2</mn></msup><mo stretchy="false">/</mo><msup><mi>c</mi> <mn>2</mn></msup><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>O(\vec{v}^2/c^2)</annotation></semantics></math> there is a <em>unique</em> term<sup id='fstg2'><a href='#F2'>2</a></sup> (in addition to the correction to the kinetic energy that we found for a spinless particle) that can be written down for spin-1/2 particle.
  214. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>H</mi><mo>=</mo><mfrac><mrow><msup><mi>p</mi> <mn>2</mn></msup></mrow><mrow><mn>2</mn><mi>m</mi></mrow></mfrac><mo>+</mo><mi>V</mi><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>&#x02212;</mo><mfrac><mrow><mo stretchy="false">(</mo><msup><mi>p</mi> <mn>2</mn></msup><msup><mo stretchy="false">)</mo> <mn>2</mn></msup></mrow><mrow><mn>8</mn><msup><mi>m</mi> <mn>3</mn></msup><msup><mi>c</mi> <mn>2</mn></msup></mrow></mfrac><mo>&#x02212;</mo><mfrac><mrow><msub><mi>c</mi> <mn>1</mn></msub></mrow><mrow><msup><mi>m</mi> <mn>2</mn></msup><msup><mi>c</mi> <mn>2</mn></msup></mrow></mfrac><mo stretchy="false">[</mo><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x022C5;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover><mo>,</mo><mo stretchy="false">[</mo><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x022C5;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover><mo>,</mo><mi>V</mi><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo stretchy="false">]</mo><mo stretchy="false">]</mo></mrow><annotation encoding='application/x-tex'>
  215.   H = \frac{p^2}{2m} +V(\vec{r}) &#x2d; \frac{(p^2)^2}{8m^3 c^2} &#x2d; \frac{c_1}{m^2 c^2} [\vec{\sigma}\cdot\vec{p},[\vec{\sigma}\cdot\vec{p},V(\vec{r})]]
  216. </annotation></semantics></math>
  217. Expanding this out a bit,
  218. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mo stretchy="false">[</mo><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x022C5;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover><mo>,</mo><mo stretchy="false">[</mo><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x022C5;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover><mo>,</mo><mi>V</mi><mo stretchy="false">]</mo><mo stretchy="false">]</mo><mo>=</mo><mo stretchy="false">(</mo><msup><mi>p</mi> <mn>2</mn></msup><mi>V</mi><mo>+</mo><mi>V</mi><msup><mi>p</mi> <mn>2</mn></msup><mo stretchy="false">)</mo><mo>&#x02212;</mo><mn>2</mn><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x022C5;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover><mi>V</mi><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x022C5;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><annotation encoding='application/x-tex'>
  219. [\vec{\sigma}\cdot\vec{p},[\vec{\sigma}\cdot\vec{p},V]] = (p^2 V + V p^2) &#x2d; 2  \vec{\sigma}\cdot\vec{p} V \vec{\sigma}\cdot\vec{p}
  220. </annotation></semantics></math>
  221. Both terms are separately Hermitian, but condition (4) fixes their relative coefficient.</p>
  222.  
  223. <p>Expanding this out, yet further (and letting <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mi>S</mi><mo stretchy="false">&#x02192;</mo></mover><mo>=</mo><mstyle displaystyle="false"><mfrac><mi>&#x0210F;</mi><mn>2</mn></mfrac></mstyle><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><annotation encoding='application/x-tex'>\vec{S}=\tfrac{\hbar}{2}\vec{\sigma}</annotation></semantics></math>)
  224. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mfrac><mrow><msub><mi>c</mi> <mn>1</mn></msub></mrow><mrow><msup><mi>m</mi> <mn>2</mn></msup><msup><mi>c</mi> <mn>2</mn></msup></mrow></mfrac><mo stretchy="false">[</mo><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x022C5;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover><mo>,</mo><mo stretchy="false">[</mo><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x022C5;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover><mo>,</mo><mi>V</mi><mo stretchy="false">]</mo><mo stretchy="false">]</mo><mo>=</mo><mfrac><mrow><mn>4</mn><msub><mi>c</mi> <mn>1</mn></msub></mrow><mrow><msup><mi>m</mi> <mn>2</mn></msup><msup><mi>c</mi> <mn>2</mn></msup></mrow></mfrac><mo stretchy="false">(</mo><mover><mo>&#x02207;</mo><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">(</mo><mi>V</mi><mo stretchy="false">)</mo><mo>&#x000D7;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>&#x022C5;</mo><mover><mi>S</mi><mo stretchy="false">&#x02192;</mo></mover><mo>+</mo><mfrac><mrow><msub><mi>c</mi> <mn>1</mn></msub><msup><mi>&#x0210F;</mi> <mn>2</mn></msup></mrow><mrow><msup><mi>m</mi> <mn>2</mn></msup><msup><mi>c</mi> <mn>2</mn></msup></mrow></mfrac><msup><mo>&#x02207;</mo> <mn>2</mn></msup><mo stretchy="false">(</mo><mi>V</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>
  225. &#x2d;\frac{c_1}{m^2 c^2} [\vec{\sigma}\cdot\vec{p},[\vec{\sigma}\cdot\vec{p},V]]= \frac{4c_1}{m^2 c^2} (\vec{\nabla}(V)\times \vec{p})\cdot\vec{S} + \frac{c_1\hbar^2}{m^2 c^2} \nabla^2(V)
  226. </annotation></semantics></math></p>
  227.  
  228. <p>For a central force potential, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mo>&#x02207;</mo><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">(</mo><mi>V</mi><mo stretchy="false">)</mo><mo>=</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mfrac><mn>1</mn><mi>r</mi></mfrac><mfrac><mrow><mi>d</mi><mi>V</mi></mrow><mrow><mi>d</mi><mi>r</mi></mrow></mfrac></mrow><annotation encoding='application/x-tex'>\vec{\nabla}(V)= \vec{r}\frac{1}{r}\frac{d V}{d r}</annotation></semantics></math> and the first term is the spin-orbit coupling, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mfrac><mrow><mn>4</mn><msub><mi>c</mi> <mn>1</mn></msub></mrow><mrow><msup><mi>m</mi> <mn>2</mn></msup><msup><mi>c</mi> <mn>2</mn></msup></mrow></mfrac><mfrac><mn>1</mn><mi>r</mi></mfrac><mfrac><mrow><mi>d</mi><mi>V</mi></mrow><mrow><mi>d</mi><mi>r</mi></mrow></mfrac><mover><mi>L</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x022C5;</mo><mover><mi>S</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><annotation encoding='application/x-tex'>\frac{4c_1}{m^2 c^2} \frac{1}{r}\frac{d V}{d r}\vec{L}\cdot\vec{S}</annotation></semantics></math>. The second term is the Darwin term. While I haven&#8217;t fixed the overall coefficient (<math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>c</mi> <mn>1</mn></msub><mo>=</mo><mn>1</mn><mo stretchy="false">/</mo><mn>8</mn></mrow><annotation encoding='application/x-tex'>c_1=1/8</annotation></semantics></math>), I got the <em>form</em> of the spin-orbit coupling and of the Darwin term correct and I fixed their <em>relative coefficient</em> (correctly!).</p>
  229.  
  230. <p>No hand-wavy hocus-pocus was required.</p>
  231.  
  232. <p>And I did learn something that I never knew before, namely that this correction can be succinctly written as a double-commutator <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo stretchy="false">[</mo><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x022C5;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover><mo>,</mo><mo stretchy="false">[</mo><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x022C5;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover><mo>,</mo><mi>V</mi><mo stretchy="false">]</mo><mo stretchy="false">]</mo></mrow><annotation encoding='application/x-tex'>[\vec{\sigma}\cdot\vec{p},[\vec{\sigma}\cdot\vec{p},V]]</annotation></semantics></math>. I don&#8217;t think I&#8217;ve ever seen that before &#8230;</p>
  233.  
  234. <hr/>
  235. <div id="F1" class="footnote"><sup><a href='#fstg1'>1</a></sup> On the Hilbert space <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x0210B;</mi><mo>=</mo><msup><mi>L</mi> <mn>2</mn></msup><mo stretchy="false">(</mo><msup><mi>&#x0211D;</mi> <mn>3</mn></msup><mo stretchy="false">)</mo><mo>&#x02297;</mo><msup><mi>&#x02102;</mi> <mn>2</mn></msup></mrow><annotation encoding='application/x-tex'>\mathcal{H}=L^2(\mathbb{R}^3)\otimes \mathbb{C}^2</annotation></semantics></math>, time-reversal is implemented as the anti-unitary operator
  236. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msub><mi>&#x003A9;</mi> <mi>T</mi></msub><mo>:</mo><mrow><mo>(</mo><mrow><mtable displaystyle="false" rowspacing="0.5ex"><mtr><mtd><msub><mi>f</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd><msub><mi>f</mi> <mn>2</mn></msub><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo></mtd></mtr></mtable></mrow><mo>)</mo></mrow><mo>&#x021A6;</mo><mrow><mo>(</mo><mrow><mtable displaystyle="false" rowspacing="0.5ex"><mtr><mtd><mo>&#x02212;</mo><msubsup><mi>f</mi> <mn>2</mn> <mo>*</mo></msubsup><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd><msubsup><mi>f</mi> <mn>1</mn> <mo>*</mo></msubsup><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo></mtd></mtr></mtable></mrow><mo>)</mo></mrow></mrow><annotation encoding='application/x-tex'>
  237. \Omega_T: \begin{pmatrix}f_1(\vec{r})\\ f_2(\vec{r})\end{pmatrix} \mapsto \begin{pmatrix}&#x2d;f^*_2(\vec{r})\\ f^*_1(\vec{r})\end{pmatrix}
  238. </annotation></semantics></math>
  239. and parity is implemented as the unitary operator
  240. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msub><mi>U</mi> <mi>P</mi></msub><mo>:</mo><mrow><mo>(</mo><mrow><mtable displaystyle="false" rowspacing="0.5ex"><mtr><mtd><msub><mi>f</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd><msub><mi>f</mi> <mn>2</mn></msub><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo></mtd></mtr></mtable></mrow><mo>)</mo></mrow><mo>&#x021A6;</mo><mrow><mo>(</mo><mrow><mtable displaystyle="false" rowspacing="0.5ex"><mtr><mtd><msub><mi>f</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd><msub><mi>f</mi> <mn>2</mn></msub><mo stretchy="false">(</mo><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo></mtd></mtr></mtable></mrow><mo>)</mo></mrow></mrow><annotation encoding='application/x-tex'>
  241. U_P: \begin{pmatrix}f_1(\vec{r})\\ f_2(\vec{r})\end{pmatrix} \mapsto \begin{pmatrix}f_1(&#x2d;\vec{r})\\ f_2(&#x2d;\vec{r})\end{pmatrix}
  242. </annotation></semantics></math>
  243. These obviously satisfy
  244. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><msub><mi>&#x003A9;</mi> <mi>T</mi></msub><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><msubsup><mi>&#x003A9;</mi> <mi>T</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mn>1</mn></mrow></msubsup></mtd> <mtd><mo>=</mo><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><mo>,</mo><mspace width="1em"/></mtd> <mtd><msub><mi>U</mi> <mi>P</mi></msub><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover><msub><mi>U</mi> <mi>P</mi></msub></mtd> <mtd><mo>=</mo><mover><mi>&#x003C3;</mi><mo stretchy="false">&#x02192;</mo></mover></mtd></mtr> <mtr><mtd><msub><mi>&#x003A9;</mi> <mi>T</mi></msub><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover><msubsup><mi>&#x003A9;</mi> <mi>T</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mn>1</mn></mrow></msubsup></mtd> <mtd><mo>=</mo><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover><mo>,</mo><mspace width="1em"/></mtd> <mtd><msub><mi>U</mi> <mi>P</mi></msub><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover><msub><mi>U</mi> <mi>P</mi></msub></mtd> <mtd><mo>=</mo><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover></mtd></mtr> <mtr><mtd/></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
  245. \begin{aligned}
  246. \Omega_T \vec{\sigma} \Omega_T^{&#x2d;1} &amp;= &#x2d;\vec{\sigma},\quad&amp; U_P \vec{\sigma} U_P &amp;= \vec{\sigma}\\
  247. \Omega_T \vec{p} \Omega_T^{&#x2d;1} &amp;= &#x2d;\vec{p},\quad&amp; U_P \vec{p} U_P &amp;= &#x2d;\vec{p}\\
  248. \end{aligned}
  249. </annotation></semantics></math>
  250. </div>
  251. <div id="F2" class="footnote"><sup><a href='#fstg2'>2</a></sup> Of course, the operator <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>i</mi><mo stretchy="false">[</mo><msub><mi>H</mi> <mn>0</mn></msub><mo>,</mo><mi>V</mi><mo stretchy="false">]</mo></mrow><annotation encoding='application/x-tex'>i[H_0,V]</annotation></semantics></math> also appears at the same order. But it makes zero contribution to the shift of energy levels in first-order perturbation theory, so we ignore it.
  252. </div>
  253.      </div>
  254.    </content>
  255.  </entry>
  256.  <entry>
  257.    <title type="html">HL &amp;#x2260; HS</title>
  258.    <link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003406.html" />
  259.    <updated>2022-07-24T05:40:03Z</updated>
  260.    <published>2022-07-15T12:34:07-06:00</published>
  261.    <id>tag:golem.ph.utexas.edu,2022:%2F~distler%2Fblog%2F1.3406</id>
  262.    <summary type="text">... in twisted class-S theories at genus-0</summary>
  263.    <author>
  264.      <name>distler</name>
  265.      <uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
  266.      <email>distler@golem.ph.utexas.edu</email>
  267.    </author>
  268.    <category term="Physics" />
  269.    <content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003406.html">
  270.      <div xmlns="http://www.w3.org/1999/xhtml">
  271. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  272.  
  273. <p>There&#8217;s a nice <a href="https://arxiv.org/abs/2207.05764">new paper by Kang <em>et al</em></a>, who point out something about class-S theories that should be well-known, but isn&#8217;t.</p>
  274.  
  275. <p>In the (untwisted) theories of class-S, the Hall-Littlewood index, at genus-0, coincides with the Hilbert Series of the Higgs branch. The Hilbert series counts the <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mover><mi>B</mi><mo stretchy="false">&#x5E;</mo></mover> <mi>R</mi></msub></mrow><annotation encoding='application/x-tex'>\hat{B}_R</annotation></semantics></math> operators that parametrize the Higgs branch (each contributes <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>&#x003C4;</mi> <mrow><mn>2</mn><mi>R</mi></mrow></msup></mrow><annotation encoding='application/x-tex'>\tau^{2R}</annotation></semantics></math> to the index). The Hall-Littlewood index also includes contributions from <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>D</mi> <mrow><mi>R</mi><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mi>j</mi><mo stretchy="false">)</mo></mrow></msub></mrow><annotation encoding='application/x-tex'>D_{R(0,j)}</annotation></semantics></math> operators (which contribute <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo stretchy="false">(</mo><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mn>1</mn><msup><mo stretchy="false">)</mo> <mrow><mn>2</mn><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msup><msup><mi>&#x003C4;</mi> <mrow><mn>2</mn><mo stretchy="false">(</mo><mn>1</mn><mo>+</mo><mi>R</mi><mo>+</mo><mi>j</mi><mo stretchy="false">)</mo></mrow></msup></mrow><annotation encoding='application/x-tex'>(&#x2d;1)^{2j+1}\tau^{2(1+R+j)}</annotation></semantics></math> to the index). But, for the untwisted theories of class-S, there is a folk-theorem that there are no <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>D</mi> <mrow><mi>R</mi><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mi>j</mi><mo stretchy="false">)</mo></mrow></msub></mrow><annotation encoding='application/x-tex'>D_{R(0,j)}</annotation></semantics></math> operators at genus-0, and so the Hilbert series and Hall-Littlewood index agree.</p>
  276.  
  277. <p>For genus <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>g</mi><mo>&gt;</mo><mn>0</mn></mrow><annotation encoding='application/x-tex'>g\gt0</annotation></semantics></math>, the gauge symmetry<sup><a href="#F1">1</a></sup> cannot be completely Higgsed on the Higgs branch of the theory. For the theory of type <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>J</mi><mo>=</mo><mtext>ADE</mtext></mrow><annotation encoding='application/x-tex'>J=\text{ADE}</annotation></semantics></math>, there&#8217;s a <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>U</mi><mo stretchy="false">(</mo><mn>1</mn><msup><mo stretchy="false">)</mo> <mrow><mtext>rank</mtext><mo stretchy="false">(</mo><mi>J</mi><mo stretchy="false">)</mo><mi>g</mi></mrow></msup></mrow><annotation encoding='application/x-tex'>U(1)^{\text{rank}(J)g}</annotation></semantics></math> unbroken at a generic point on the Higgs branch<sup><a href="#F2">2</a></sup>. Correspondingly, the <abbr title="Superconformal Field Theory">SCFT</abbr> contains <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>D</mi> <mrow><mi>R</mi><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow></msub></mrow><annotation encoding='application/x-tex'>D_{R(0,0)}</annotation></semantics></math> multiplets which, when you move out onto the Higgs branch and flow to the <abbr title="InfraRed">IR</abbr>, flow to the <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>D</mi> <mrow><mn>0</mn><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow></msub></mrow><annotation encoding='application/x-tex'>D_{0(0,0)}</annotation></semantics></math> multiplets<sup><a href="#F3">3</a></sup> of the free theory.</p>
  278.  
  279. <p>What Kang <em>et al</em> point out is that the same is true at genus-0, when you include enough <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x02124;</mi> <mn>2</mn></msub></mrow><annotation encoding='application/x-tex'>\mathbb{Z}_2</annotation></semantics></math>-twisted punctures. They do this by explicitly calculating the Hall-Littlewood index in a series of examples.</p>
  280.  
  281. <p>But it&#8217;s nice to have a class of examples where that hard work is unnecessary.</p>
  282.  
  283. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  284.  
  285. <p>Consider the <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>J</mi><mo>=</mo><msub><mi>D</mi> <mi>N</mi></msub></mrow><annotation encoding='application/x-tex'>J=D_N</annotation></semantics></math> theory. The punctures in the <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x02124;</mi> <mn>2</mn></msub></mrow><annotation encoding='application/x-tex'>\mathbb{Z}_2</annotation></semantics></math>-twisted sector are labeled by nilpotent orbits in <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x1D524;</mi><mo>=</mo><mi>&#x1D530;&#x1D52D;</mi><mo stretchy="false">(</mo><mi>N</mi><mo>&#x02212;</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>\mathfrak{g}=\mathfrak{sp}(N&#x2d;1)</annotation></semantics></math>. The twisted full puncture is <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo stretchy="false">[</mo><msup><mn>1</mn> <mrow><mn>2</mn><mo stretchy="false">(</mo><mi>N</mi><mo>&#x02212;</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msup><mo stretchy="false">]</mo></mrow><annotation encoding='application/x-tex'>[1^{2(N&#x2d;1)}]</annotation></semantics></math> and the twisted simple puncture is <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo stretchy="false">[</mo><mn>2</mn><mo stretchy="false">(</mo><mi>N</mi><mo>&#x02212;</mo><mn>1</mn><mo stretchy="false">)</mo><mo stretchy="false">]</mo></mrow><annotation encoding='application/x-tex'>[2(N&#x2d;1)]</annotation></semantics></math>. Consider a 4-punctured sphere with 2 twisted full punctures and two twisted simple punctures. The manifest <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x1D530;&#x1D52D;</mi><mo stretchy="false">(</mo><mi>N</mi><mo>&#x02212;</mo><mn>1</mn><msub><mo stretchy="false">)</mo> <mrow><mn>2</mn><mi>N</mi></mrow></msub><mo>&#x000D7;</mo><mi>&#x1D530;&#x1D52D;</mi><mo stretchy="false">(</mo><mi>N</mi><mo>&#x02212;</mo><mn>1</mn><msub><mo stretchy="false">)</mo> <mrow><mn>2</mn><mi>N</mi></mrow></msub></mrow><annotation encoding='application/x-tex'>\mathfrak{sp}(N&#x2d;1)_{2N}\times \mathfrak{sp}(N&#x2d;1)_{2N}</annotation></semantics></math> symmetry is enhanced to <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x1D530;&#x1D52D;</mi><mo stretchy="false">(</mo><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>2</mn><msub><mo stretchy="false">)</mo> <mrow><mn>2</mn><mi>N</mi></mrow></msub></mrow><annotation encoding='application/x-tex'>\mathfrak{sp}(2N&#x2d;2)_{2N}</annotation></semantics></math>. In a certain S-duality frame, this is a Lagrangian field theory: <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>SO</mi><mo stretchy="false">(</mo><mn>2</mn><mi>N</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>SO(2N)</annotation></semantics></math> with <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mn>2</mn><mo stretchy="false">(</mo><mi>N</mi><mo>&#x02212;</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>2(N&#x2d;1)</annotation></semantics></math> hypermultiplets in the vector representation. That matter content is insufficient to Higgs the <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>SO</mi><mo stretchy="false">(</mo><mn>2</mn><mi>N</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>SO(2N)</annotation></semantics></math> completely. At a generic point of the Higgs branch, there&#8217;s an <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>SO</mi><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo><mo>=</mo><mi>U</mi><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>SO(2)=U(1)</annotation></semantics></math> unbroken.</p>
  286.  
  287. <p>We can construct the corresponding <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>D</mi> <mrow><mi>R</mi><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow></msub></mrow><annotation encoding='application/x-tex'>D_{R(0,0)}</annotation></semantics></math> operator, where <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>R</mi><mo>=</mo><mi>N</mi><mo>&#x02212;</mo><mn>1</mn></mrow><annotation encoding='application/x-tex'>R=N&#x2d;1</annotation></semantics></math>. Organize the scalars in the hypermultiplets into complex scalars <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msubsup><mi>&#x03D5;</mi> <mi>a</mi> <mi>i</mi></msubsup><mo>,</mo><msubsup><mover><mi>&#x03D5;</mi><mo stretchy="false">&#x002DC;</mo></mover> <mover><mi>a</mi><mo stretchy="false">&#x002DC;</mo></mover> <mi>i</mi></msubsup></mrow><annotation encoding='application/x-tex'>\phi^i_a,\tilde{\phi}^i_{\tilde{a}}</annotation></semantics></math>, where <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mi>&#x02026;</mi><mo>,</mo><mn>2</mn><mi>N</mi></mrow><annotation encoding='application/x-tex'>i=1,\dots,2N</annotation></semantics></math> is an <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>SO</mi><mo stretchy="false">(</mo><mn>2</mn><mi>N</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>SO(2N)</annotation></semantics></math> vector index, and <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>a</mi><mo>,</mo><mover><mi>a</mi><mo stretchy="false">&#x002DC;</mo></mover><mo>=</mo><mn>1</mn><mo>,</mo><mi>&#x02026;</mi><mo>,</mo><mn>2</mn><mo stretchy="false">(</mo><mi>N</mi><mo>&#x02212;</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>a,\tilde{a}=1,\dots, 2(N&#x2d;1)</annotation></semantics></math> span the <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mn>4</mn><mo stretchy="false">(</mo><mi>N</mi><mo>&#x02212;</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>4(N&#x2d;1)</annotation></semantics></math>-dimensional defining representation of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>Sp</mi><mo stretchy="false">(</mo><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>Sp(2N&#x2d;2)</annotation></semantics></math>. Let <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>&#x003A6;</mi> <mrow><mi>i</mi><mi>j</mi></mrow></msup><mo>=</mo><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><msup><mi>&#x003A6;</mi> <mrow><mi>j</mi><mi>i</mi></mrow></msup></mrow><annotation encoding='application/x-tex'>\Phi^{i j}=&#x2d;\Phi^{j i}</annotation></semantics></math> be the complex scalar in the adjoint of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>SO</mi><mo stretchy="false">(</mo><mn>2</mn><mi>N</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>SO(2N)</annotation></semantics></math>. Then the superconformal primary of the <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>D</mi> <mrow><mi>R</mi><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mi>j</mi><mo stretchy="false">)</mo></mrow></msub></mrow><annotation encoding='application/x-tex'>D_{R(0,j)}</annotation></semantics></math> multiplet with <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>R</mi><mo>=</mo><mi>N</mi><mo>&#x02212;</mo><mn>1</mn><mo>,</mo><mspace width="0.27778em"/><mi>j</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding='application/x-tex'>R=N&#x2d;1,\; j=0</annotation></semantics></math> is</p>
  288.  
  289. <div class="numberedEq" id="e3406:Dopp"><span>(1)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msub><mi>&#x003F5;</mi> <mrow><msub><mi>i</mi> <mn>1</mn></msub><msub><mi>i</mi> <mn>2</mn></msub><mi>&#x02026;</mi><msub><mi>i</mi> <mrow><mn>2</mn><mi>N</mi></mrow></msub></mrow></msub><msubsup><mi>&#x03D5;</mi> <mrow><msub><mi>a</mi> <mn>1</mn></msub></mrow> <mrow><msub><mi>i</mi> <mn>1</mn></msub></mrow></msubsup><msubsup><mi>&#x03D5;</mi> <mrow><msub><mi>a</mi> <mn>2</mn></msub></mrow> <mrow><msub><mi>i</mi> <mn>2</mn></msub></mrow></msubsup><mi>&#x02026;</mi><msubsup><mi>&#x03D5;</mi> <mrow><msub><mi>a</mi> <mrow><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>2</mn></mrow></msub></mrow> <mrow><msub><mi>i</mi> <mrow><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>2</mn></mrow></msub></mrow></msubsup><msup><mi>&#x003A6;</mi> <mrow><msub><mi>i</mi> <mrow><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>1</mn></mrow></msub><msub><mi>i</mi> <mrow><mn>2</mn><mi>N</mi></mrow></msub></mrow></msup></mrow><annotation encoding='application/x-tex'>\epsilon_{i_1 i_2\dots i_{2N}}\phi^{i_1}_{a_1}\phi^{i_2}_{a_2}\dots\phi^{i_{2N&#x2d;2}}_{a_{2N&#x2d;2}}\Phi^{i_{2N&#x2d;1}i_{2N}}
  290. </annotation></semantics></math></div>
  291.  
  292. <p>which we see is in the traceless, completely anti-symmetric rank-<math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>(2N&#x2d;2)</annotation></semantics></math> tensor representation of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>Sp</mi><mo stretchy="false">(</mo><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>Sp(2N&#x2d;2)</annotation></semantics></math> (the representation with Dynkin labels <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mi>&#x02026;</mi><mo>,</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>(0,\dots,0,1)</annotation></semantics></math>). This has <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x00394;</mi><mo>=</mo><mn>1</mn><mo>+</mo><mn>2</mn><mi>R</mi><mo>+</mo><mi>j</mi><mo>=</mo><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>1</mn></mrow><annotation encoding='application/x-tex'>\Delta=1+2R+j=2N&#x2d;1</annotation></semantics></math> and contributes <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><msup><mi>&#x003C4;</mi> <mrow><mn>2</mn><mi>N</mi></mrow></msup><mi>&#x003C7;</mi><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mi>&#x02026;</mi><mo>,</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>&#x2d;\tau^{2N}\chi(0,\dots,0,1)</annotation></semantics></math> to the Hall-Littlewood index.</p>
  293.  
  294. <p>The above statement takes a little bit of work. At zero gauge coupling, the formula <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x00394;</mi><mo>=</mo><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>1</mn></mrow><annotation encoding='application/x-tex'>\Delta=2N&#x2d;1</annotation></semantics></math> obviously holds. We need to worry that, at finite gauge coupling this operator recombines with other operators to form a long superconformal multiplet (whose conformal dimension is not fixed). The relevant recombination formula is
  295. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msubsup><mi>A</mi> <mrow><mi>R</mi><mo>&#x02212;</mo><mn>1</mn><mo>,</mo><mn>0</mn><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow> <mrow><mn>2</mn><mi>R</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msub><mover><mi>C</mi><mo stretchy="false">&#x5E;</mo></mover> <mrow><mi>R</mi><mo>&#x02212;</mo><mn>1</mn><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow></msub><mo>&#x02295;</mo><msub><mi>D</mi> <mrow><mi>R</mi><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow></msub><mo>&#x02295;</mo><msub><mover><mi>D</mi><mo>&#x000AF;</mo></mover> <mrow><mi>R</mi><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow></msub><mo>&#x02295;</mo><msub><mover><mi>B</mi><mo stretchy="false">&#x5E;</mo></mover> <mrow><mi>R</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding='application/x-tex'>
  296. A^{2R+1}_{R&#x2d;1,0(0,0)} = \hat{C}_{R&#x2d;1(0,0)}\oplus D_{R(0,0)}\oplus \overline{D}_{R(0,0)}\oplus \hat{B}_{R+1}
  297. </annotation></semantics></math>
  298. where we denote a long multiplet by <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msubsup><mi>A</mi> <mrow><mi>R</mi><mo>,</mo><mi>r</mi><mo stretchy="false">(</mo><msub><mi>j</mi> <mn>1</mn></msub><mo>,</mo><msub><mi>j</mi> <mn>2</mn></msub><mo stretchy="false">)</mo></mrow> <mi>&#x00394;</mi></msubsup></mrow><annotation encoding='application/x-tex'>A^\Delta_{R,r(j_1,j_2)}</annotation></semantics></math>. One can check that the free theory has no candidate <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mover><mi>B</mi><mo stretchy="false">&#x5E;</mo></mover> <mi>N</mi></msub></mrow><annotation encoding='application/x-tex'>\hat{B}_N</annotation></semantics></math> operator transforming in the appropriate representation of the flavour symmetry. So (<a href="#e3406:Dopp">1</a>) necessarily remains in a short superconformal multiplet and <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x00394;</mi></mrow><annotation encoding='application/x-tex'>\Delta</annotation></semantics></math> is independent of the gauge coupling.</p>
  299.  
  300. <p>Similarly, you can replace one of the twisted full punctures with <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo stretchy="false">[</mo><mn>2</mn><mo>,</mo><msup><mn>1</mn> <mrow><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>4</mn></mrow></msup><mo stretchy="false">]</mo></mrow><annotation encoding='application/x-tex'>[2,1^{2N&#x2d;4}]</annotation></semantics></math>. The resulting <abbr>SCFT</abbr> has a Lagrangian description
  301. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><semantics><annotation-xml encoding="SVG1.1"><svg width="434" height="165" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:se="http://svg-edit.googlecode.com" xmlns:math="http://www.w3.org/1998/Math/MathML" se:nonce="89522">
  302. <g>
  303.  <title>Layer 1</title>
  304.  <ellipse ry="70" rx="100" id="svg_89522_8" cy="71" cx="101" stroke-linecap="null" stroke-linejoin="null" stroke-dasharray="null" stroke-width="2" stroke="#000000" fill="#ffeeee"/>
  305.  <circle fill="#ffeeee" stroke="#000000" stroke-width="2" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" cx="362.5" cy="71" r="70" id="svg_89522_65"/>
  306.  <foreignObject x="202.5" y="46.5" id="svg_89522_66" font-size="16" width="88" height="24">
  307.   <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
  308.    <semantics>
  309.     <mrow>
  310.      <mi>SO</mi>
  311.      <mo stretchy="false">(</mo>
  312.      <mn>2</mn>
  313.      <mi>N</mi>
  314.      <mo>&#x2212;</mo>
  315.      <mn>1</mn>
  316.      <mo stretchy="false">)</mo>
  317.     </mrow>
  318.     <annotation encoding="application/x-tex">SO(2N-1)</annotation>
  319.    </semantics>
  320.   </math>
  321.  </foreignObject>
  322.  <line fill="none" stroke="#000000" stroke-width="2" stroke-dasharray="null" stroke-linejoin="null" stroke-linecap="null" x1="197.5" y1="71" x2="302.5" y2="71" id="svg_89522_67" marker-start="url(#se_marker_start_svg_89522_67)" marker-end="url(#se_marker_end_svg_89522_67)"/>
  323.  <g id="svg_89522_51">
  324.   <circle fill="#ffffff" stroke="#000000" stroke-width="2" cx="317.5" cy="70" r="5" id="svg_89522_52"/>
  325.   <foreignObject x="297.5" y="45" font-size="16" width="38" height="24" id="svg_89522_53">
  326.    <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" id="svg_89522_54">
  327.     <semantics>
  328.      <mrow>
  329.       <mo stretchy="false">[</mo>
  330.       <msup>
  331.        <mn>1</mn>
  332.        <mrow>
  333.         <mn>2</mn>
  334.         <mi>N</mi>
  335.        </mrow>
  336.       </msup>
  337.       <mo stretchy="false">]</mo>
  338.      </mrow>
  339.      <annotation encoding="application/x-tex">[1^{2N}]</annotation>
  340.     </semantics>
  341.    </math>
  342.   </foreignObject>
  343.  </g>
  344.  <foreignObject x="62.5" y="141" id="svg_89522_68" font-size="16" width="80" height="24">
  345.   <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
  346.    <semantics>
  347.     <mrow>
  348.      <mo stretchy="false">(</mo>
  349.      <mi>N</mi>
  350.      <mo>&#x2212;</mo>
  351.      <mn>2</mn>
  352.      <mo stretchy="false">)</mo>
  353.      <mo stretchy="false">(</mo>
  354.      <mi>V</mi>
  355.      <mo stretchy="false">)</mo>
  356.     </mrow>
  357.     <annotation encoding="application/x-tex">(N-2)(V)</annotation>
  358.    </semantics>
  359.   </math>
  360.  </foreignObject>
  361.  <foreignObject x="243.5" y="141" font-size="16" width="170" height="24" id="svg_89522_69">
  362.   <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
  363.    <semantics>
  364.     <mrow>
  365.      <mo stretchy="false">(</mo>
  366.      <mi>N</mi>
  367.      <mo>&#x2212;</mo>
  368.      <mn>1</mn>
  369.      <mo stretchy="false">)</mo>
  370.      <mo stretchy="false">(</mo>
  371.      <mi>V</mi>
  372.      <mo stretchy="false">)</mo>
  373.      <mo>+</mo>
  374.      <mo stretchy="false">(</mo>
  375.      <mi>N</mi>
  376.      <mo>&#x2212;</mo>
  377.      <mn>1</mn>
  378.      <mo stretchy="false">)</mo>
  379.      <mo stretchy="false">(</mo>
  380.      <mn>1</mn>
  381.      <mo stretchy="false">)</mo>
  382.     </mrow>
  383.     <annotation encoding="application/x-tex">(N-1)(V)+(N-1)(1)</annotation>
  384.    </semantics>
  385.   </math>
  386.  </foreignObject>
  387.  <g id="svg_89522_9">
  388.   <circle fill="#ffffff" stroke="#000000" stroke-width="2" cx="185.5" cy="71" r="5" id="svg_89522_3"/>
  389.   <foreignObject x="36.5" y="56" id="svg_89522_49" font-size="16" width="144" height="26">
  390.    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
  391.     <semantics>
  392.      <mrow>
  393.       <mo minsize="1.2em" maxsize="1.2em">(</mo>
  394.       <mo stretchy="false">[</mo>
  395.       <msup>
  396.        <mn>1</mn>
  397.        <mrow>
  398.         <mn>2</mn>
  399.         <mi>N</mi>
  400.        </mrow>
  401.       </msup>
  402.       <mo stretchy="false">]</mo>
  403.       <mo>,</mo>
  404.       <mi>SO</mi>
  405.       <mo stretchy="false">(</mo>
  406.       <mn>2</mn>
  407.       <mi>N</mi>
  408.       <mo>&#x2212;</mo>
  409.       <mn>1</mn>
  410.       <mo stretchy="false">)</mo>
  411.       <mo minsize="1.2em" maxsize="1.2em">)</mo>
  412.      </mrow>
  413.      <annotation encoding="application/x-tex">\bigl([1^{2N}],Spin(2N-1)\bigr)</annotation>
  414.     </semantics>
  415.    </math>
  416.   </foreignObject>
  417.  </g>
  418.  <g id="svg_89522_10">
  419.   <circle fill="#aaaaaa" stroke="#000000" stroke-width="2" cx="381.5" cy="114" r="5" id="svg_89522_15"/>
  420.   <foreignObject x="346.5" y="89" font-size="16" width="70" height="24" id="svg_89522_16">
  421.    <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" id="svg_89522_17">
  422.     <semantics>
  423.      <mrow>
  424.       <mo stretchy="false">[</mo>
  425.       <mn>2</mn>
  426.       <mo stretchy="false">(</mo>
  427.       <mi>N</mi>
  428.       <mo>&#x2212;</mo>
  429.       <mn>1</mn>
  430.       <mo stretchy="false">)</mo>
  431.       <mo stretchy="false">]</mo>
  432.      </mrow>
  433.      <annotation encoding="application/x-tex">[2(N-1)]</annotation>
  434.     </semantics>
  435.    </math>
  436.   </foreignObject>
  437.   <foreignObject height="20" width="14" font-size="16" id="svg_89522_6" y="121" x="374.5">
  438.    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
  439.     <semantics>
  440.      <mrow>
  441.       <msub>
  442.        <mi>z</mi>
  443.        <mn>1</mn>
  444.       </msub>
  445.      </mrow>
  446.      <annotation encoding="application/x-tex">z_1</annotation>
  447.     </semantics>
  448.    </math>
  449.   </foreignObject>
  450.  </g>
  451.  <g id="svg_89522_43">
  452.   <circle id="svg_89522_14" fill="#aaaaaa" stroke="#000000" stroke-width="2" cx="86.5" cy="114" r="5"/>
  453.   <foreignObject id="svg_89522_18" x="51.5" y="89" font-size="16" width="70" height="24">
  454.    <math id="svg_89522_19" xmlns="http://www.w3.org/1998/Math/MathML" display="inline">
  455.     <semantics id="svg_89522_20">
  456.      <mrow id="svg_89522_21">
  457.       <mo id="svg_89522_22" stretchy="false">[</mo>
  458.       <mn id="svg_89522_23">2</mn>
  459.       <mo id="svg_89522_24" stretchy="false">(</mo>
  460.       <mi id="svg_89522_25">N</mi>
  461.       <mo id="svg_89522_26">&#x2212;</mo>
  462.       <mn id="svg_89522_27">1</mn>
  463.       <mo id="svg_89522_28" stretchy="false">)</mo>
  464.       <mo id="svg_89522_31" stretchy="false">]</mo>
  465.      </mrow>
  466.      <annotation id="svg_89522_34" encoding="application/x-tex">[2(N-1)]</annotation>
  467.     </semantics>
  468.    </math>
  469.   </foreignObject>
  470.   <foreignObject id="svg_89522_35" height="20" width="14" font-size="16" y="121" x="81.5">
  471.    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
  472.     <semantics>
  473.      <mrow>
  474.       <msub>
  475.        <mi>z</mi>
  476.        <mn>2</mn>
  477.       </msub>
  478.      </mrow>
  479.      <annotation encoding="application/x-tex">z_2</annotation>
  480.     </semantics>
  481.    </math>
  482.   </foreignObject>
  483.  </g>
  484.  <g id="svg_89522_45">
  485.   <circle fill="#aaaaaa" stroke="#000000" stroke-width="2" cx="381.5" cy="41" r="5" id="svg_89522_7"/>
  486.   <foreignObject x="347.5" y="16" id="svg_89522_29" font-size="16" width="64" height="24">
  487.    <math xmlns="http://www.w3.org/1998/Math/MathML" display="inline">
  488.     <semantics>
  489.      <mrow>
  490.       <mo stretchy="false">[</mo>
  491.       <msup>
  492.        <mn>1</mn>
  493.        <mrow>
  494.         <mn>2</mn>
  495.         <mo stretchy="false">(</mo>
  496.         <mi>N</mi>
  497.         <mo>&#x2212;</mo>
  498.         <mn>1</mn>
  499.         <mo stretchy="false">)</mo>
  500.        </mrow>
  501.       </msup>
  502.       <mo stretchy="false">]</mo>
  503.      </mrow>
  504.      <annotation encoding="application/x-tex">[1^{2(N-1)}]</annotation>
  505.     </semantics>
  506.    </math>
  507.   </foreignObject>
  508.   <foreignObject height="20" width="14" font-size="16" id="svg_89522_44" y="49" x="375.5">
  509.    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
  510.     <semantics>
  511.      <mrow>
  512.       <msub>
  513.        <mi>z</mi>
  514.        <mn>3</mn>
  515.       </msub>
  516.      </mrow>
  517.      <annotation encoding="application/x-tex">z_3</annotation>
  518.     </semantics>
  519.    </math>
  520.   </foreignObject>
  521.  </g>
  522.  <g id="svg_89522_47">
  523.   <circle fill="#aaaaaa" stroke="#000000" stroke-width="2" cx="86.5" cy="30" r="5" id="svg_89522_32"/>
  524.   <foreignObject x="55.5" y="5" font-size="16" width="78" height="24" id="svg_89522_33">
  525.    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
  526.     <semantics>
  527.      <mrow>
  528.       <mo stretchy="false">[</mo>
  529.       <mn>2</mn>
  530.       <mo>,</mo>
  531.       <msup>
  532.        <mn>1</mn>
  533.        <mrow>
  534.         <mn>2</mn>
  535.         <mo stretchy="false">(</mo>
  536.         <mi>N</mi>
  537.         <mo>&#x2212;</mo>
  538.         <mn>2</mn>
  539.         <mo stretchy="false">)</mo>
  540.        </mrow>
  541.       </msup>
  542.       <mo stretchy="false">]</mo>
  543.      </mrow>
  544.      <annotation encoding="application/x-tex">[2,1^{2(N-2)}]</annotation>
  545.     </semantics>
  546.    </math>
  547.   </foreignObject>
  548.   <foreignObject height="20" width="14" font-size="16" id="svg_89522_46" y="37" x="80.5">
  549.    <math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
  550.     <semantics>
  551.      <mrow>
  552.       <msub>
  553.        <mi>z</mi>
  554.        <mn>4</mn>
  555.       </msub>
  556.      </mrow>
  557.      <annotation encoding="application/x-tex">z_4</annotation>
  558.     </semantics>
  559.    </math>
  560.   </foreignObject>
  561.  </g>
  562. </g>
  563. <defs>
  564.  <marker id="se_marker_start_svg_89522_67" markerUnits="strokeWidth" orient="auto" viewBox="0 0 100 100" markerWidth="5" markerHeight="5" refX="50" refY="50">
  565.   <path id="svg_89522_1" d="m0,50l100,40l-30,-40l30,-40l-100,40z" fill="#000000" stroke="#000000" stroke-width="10"/>
  566.  </marker>
  567.  <marker id="se_marker_end_svg_89522_67" markerUnits="strokeWidth" orient="auto" viewBox="0 0 100 100" markerWidth="5" markerHeight="5" refX="50" refY="50">
  568.   <path id="svg_89522_4" d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" stroke="#000000" stroke-width="10"/>
  569.  </marker>
  570. </defs>
  571. </svg></annotation-xml></semantics></mrow><annotation encoding='application/x-tex'>
  572. \begin{svg}&lt;svg width=&quot;434&quot; height=&quot;165&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:svg=&quot;http://www.w3.org/2000/svg&quot; xmlns:se=&quot;http://svg&#x2d;edit.googlecode.com&quot; xmlns:math=&quot;http://www.w3.org/1998/Math/MathML&quot; se:nonce=&quot;89522&quot;&gt;
  573. &lt;g&gt;
  574.  &lt;title&gt;Layer 1&lt;/title&gt;
  575.  &lt;ellipse ry=&quot;70&quot; rx=&quot;100&quot; id=&quot;svg_89522_8&quot; cy=&quot;71&quot; cx=&quot;101&quot; stroke&#x2d;linecap=&quot;null&quot; stroke&#x2d;linejoin=&quot;null&quot; stroke&#x2d;dasharray=&quot;null&quot; stroke&#x2d;width=&quot;2&quot; stroke=&quot;#000000&quot; fill=&quot;#ffeeee&quot;/&gt;
  576.  &lt;circle fill=&quot;#ffeeee&quot; stroke=&quot;#000000&quot; stroke&#x2d;width=&quot;2&quot; stroke&#x2d;dasharray=&quot;null&quot; stroke&#x2d;linejoin=&quot;null&quot; stroke&#x2d;linecap=&quot;null&quot; cx=&quot;362.5&quot; cy=&quot;71&quot; r=&quot;70&quot; id=&quot;svg_89522_65&quot;/&gt;
  577.  &lt;foreignObject x=&quot;202.5&quot; y=&quot;46.5&quot; id=&quot;svg_89522_66&quot; font&#x2d;size=&quot;16&quot; width=&quot;88&quot; height=&quot;24&quot;&gt;
  578.   &lt;math display=&quot;inline&quot; xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;
  579.    &lt;semantics&gt;
  580.     &lt;mrow&gt;
  581.      &lt;mi&gt;SO&lt;/mi&gt;
  582.      &lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;
  583.      &lt;mn&gt;2&lt;/mn&gt;
  584.      &lt;mi&gt;N&lt;/mi&gt;
  585.      &lt;mo&gt;&amp;#x2212;&lt;/mo&gt;
  586.      &lt;mn&gt;1&lt;/mn&gt;
  587.      &lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;
  588.     &lt;/mrow&gt;
  589.     &lt;annotation encoding=&quot;application/x&#x2d;tex&quot;&gt;SO(2N&#x2d;1)&lt;/annotation&gt;
  590.    &lt;/semantics&gt;
  591.   &lt;/math&gt;
  592.  &lt;/foreignObject&gt;
  593.  &lt;line fill=&quot;none&quot; stroke=&quot;#000000&quot; stroke&#x2d;width=&quot;2&quot; stroke&#x2d;dasharray=&quot;null&quot; stroke&#x2d;linejoin=&quot;null&quot; stroke&#x2d;linecap=&quot;null&quot; x1=&quot;197.5&quot; y1=&quot;71&quot; x2=&quot;302.5&quot; y2=&quot;71&quot; id=&quot;svg_89522_67&quot; marker&#x2d;start=&quot;url(#se_marker_start_svg_89522_67)&quot; marker&#x2d;end=&quot;url(#se_marker_end_svg_89522_67)&quot;/&gt;
  594.  &lt;g id=&quot;svg_89522_51&quot;&gt;
  595.   &lt;circle fill=&quot;#ffffff&quot; stroke=&quot;#000000&quot; stroke&#x2d;width=&quot;2&quot; cx=&quot;317.5&quot; cy=&quot;70&quot; r=&quot;5&quot; id=&quot;svg_89522_52&quot;/&gt;
  596.   &lt;foreignObject x=&quot;297.5&quot; y=&quot;45&quot; font&#x2d;size=&quot;16&quot; width=&quot;38&quot; height=&quot;24&quot; id=&quot;svg_89522_53&quot;&gt;
  597.    &lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot; display=&quot;inline&quot; id=&quot;svg_89522_54&quot;&gt;
  598.     &lt;semantics&gt;
  599.      &lt;mrow&gt;
  600.       &lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;
  601.       &lt;msup&gt;
  602.        &lt;mn&gt;1&lt;/mn&gt;
  603.        &lt;mrow&gt;
  604.         &lt;mn&gt;2&lt;/mn&gt;
  605.         &lt;mi&gt;N&lt;/mi&gt;
  606.        &lt;/mrow&gt;
  607.       &lt;/msup&gt;
  608.       &lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;
  609.      &lt;/mrow&gt;
  610.      &lt;annotation encoding=&quot;application/x&#x2d;tex&quot;&gt;[1^{2N}]&lt;/annotation&gt;
  611.     &lt;/semantics&gt;
  612.    &lt;/math&gt;
  613.   &lt;/foreignObject&gt;
  614.  &lt;/g&gt;
  615.  &lt;foreignObject x=&quot;62.5&quot; y=&quot;141&quot; id=&quot;svg_89522_68&quot; font&#x2d;size=&quot;16&quot; width=&quot;80&quot; height=&quot;24&quot;&gt;
  616.   &lt;math display=&quot;inline&quot; xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;
  617.    &lt;semantics&gt;
  618.     &lt;mrow&gt;
  619.      &lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;
  620.      &lt;mi&gt;N&lt;/mi&gt;
  621.      &lt;mo&gt;&amp;#x2212;&lt;/mo&gt;
  622.      &lt;mn&gt;2&lt;/mn&gt;
  623.      &lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;
  624.      &lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;
  625.      &lt;mi&gt;V&lt;/mi&gt;
  626.      &lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;
  627.     &lt;/mrow&gt;
  628.     &lt;annotation encoding=&quot;application/x&#x2d;tex&quot;&gt;(N&#x2d;2)(V)&lt;/annotation&gt;
  629.    &lt;/semantics&gt;
  630.   &lt;/math&gt;
  631.  &lt;/foreignObject&gt;
  632.  &lt;foreignObject x=&quot;243.5&quot; y=&quot;141&quot; font&#x2d;size=&quot;16&quot; width=&quot;170&quot; height=&quot;24&quot; id=&quot;svg_89522_69&quot;&gt;
  633.   &lt;math display=&quot;inline&quot; xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;
  634.    &lt;semantics&gt;
  635.     &lt;mrow&gt;
  636.      &lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;
  637.      &lt;mi&gt;N&lt;/mi&gt;
  638.      &lt;mo&gt;&amp;#x2212;&lt;/mo&gt;
  639.      &lt;mn&gt;1&lt;/mn&gt;
  640.      &lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;
  641.      &lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;
  642.      &lt;mi&gt;V&lt;/mi&gt;
  643.      &lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;
  644.      &lt;mo&gt;+&lt;/mo&gt;
  645.      &lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;
  646.      &lt;mi&gt;N&lt;/mi&gt;
  647.      &lt;mo&gt;&amp;#x2212;&lt;/mo&gt;
  648.      &lt;mn&gt;1&lt;/mn&gt;
  649.      &lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;
  650.      &lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;
  651.      &lt;mn&gt;1&lt;/mn&gt;
  652.      &lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;
  653.     &lt;/mrow&gt;
  654.     &lt;annotation encoding=&quot;application/x&#x2d;tex&quot;&gt;(N&#x2d;1)(V)+(N&#x2d;1)(1)&lt;/annotation&gt;
  655.    &lt;/semantics&gt;
  656.   &lt;/math&gt;
  657.  &lt;/foreignObject&gt;
  658.  &lt;g id=&quot;svg_89522_9&quot;&gt;
  659.   &lt;circle fill=&quot;#ffffff&quot; stroke=&quot;#000000&quot; stroke&#x2d;width=&quot;2&quot; cx=&quot;185.5&quot; cy=&quot;71&quot; r=&quot;5&quot; id=&quot;svg_89522_3&quot;/&gt;
  660.   &lt;foreignObject x=&quot;36.5&quot; y=&quot;56&quot; id=&quot;svg_89522_49&quot; font&#x2d;size=&quot;16&quot; width=&quot;144&quot; height=&quot;26&quot;&gt;
  661.    &lt;math display=&quot;inline&quot; xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;
  662.     &lt;semantics&gt;
  663.      &lt;mrow&gt;
  664.       &lt;mo minsize=&quot;1.2em&quot; maxsize=&quot;1.2em&quot;&gt;(&lt;/mo&gt;
  665.       &lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;
  666.       &lt;msup&gt;
  667.        &lt;mn&gt;1&lt;/mn&gt;
  668.        &lt;mrow&gt;
  669.         &lt;mn&gt;2&lt;/mn&gt;
  670.         &lt;mi&gt;N&lt;/mi&gt;
  671.        &lt;/mrow&gt;
  672.       &lt;/msup&gt;
  673.       &lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;
  674.       &lt;mo&gt;,&lt;/mo&gt;
  675.       &lt;mi&gt;SO&lt;/mi&gt;
  676.       &lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;
  677.       &lt;mn&gt;2&lt;/mn&gt;
  678.       &lt;mi&gt;N&lt;/mi&gt;
  679.       &lt;mo&gt;&amp;#x2212;&lt;/mo&gt;
  680.       &lt;mn&gt;1&lt;/mn&gt;
  681.       &lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;
  682.       &lt;mo minsize=&quot;1.2em&quot; maxsize=&quot;1.2em&quot;&gt;)&lt;/mo&gt;
  683.      &lt;/mrow&gt;
  684.      &lt;annotation encoding=&quot;application/x&#x2d;tex&quot;&gt;\bigl([1^{2N}],Spin(2N&#x2d;1)\bigr)&lt;/annotation&gt;
  685.     &lt;/semantics&gt;
  686.    &lt;/math&gt;
  687.   &lt;/foreignObject&gt;
  688.  &lt;/g&gt;
  689.  &lt;g id=&quot;svg_89522_10&quot;&gt;
  690.   &lt;circle fill=&quot;#aaaaaa&quot; stroke=&quot;#000000&quot; stroke&#x2d;width=&quot;2&quot; cx=&quot;381.5&quot; cy=&quot;114&quot; r=&quot;5&quot; id=&quot;svg_89522_15&quot;/&gt;
  691.   &lt;foreignObject x=&quot;346.5&quot; y=&quot;89&quot; font&#x2d;size=&quot;16&quot; width=&quot;70&quot; height=&quot;24&quot; id=&quot;svg_89522_16&quot;&gt;
  692.    &lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot; display=&quot;inline&quot; id=&quot;svg_89522_17&quot;&gt;
  693.     &lt;semantics&gt;
  694.      &lt;mrow&gt;
  695.       &lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;
  696.       &lt;mn&gt;2&lt;/mn&gt;
  697.       &lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;
  698.       &lt;mi&gt;N&lt;/mi&gt;
  699.       &lt;mo&gt;&amp;#x2212;&lt;/mo&gt;
  700.       &lt;mn&gt;1&lt;/mn&gt;
  701.       &lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;
  702.       &lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;
  703.      &lt;/mrow&gt;
  704.      &lt;annotation encoding=&quot;application/x&#x2d;tex&quot;&gt;[2(N&#x2d;1)]&lt;/annotation&gt;
  705.     &lt;/semantics&gt;
  706.    &lt;/math&gt;
  707.   &lt;/foreignObject&gt;
  708.   &lt;foreignObject height=&quot;20&quot; width=&quot;14&quot; font&#x2d;size=&quot;16&quot; id=&quot;svg_89522_6&quot; y=&quot;121&quot; x=&quot;374.5&quot;&gt;
  709.    &lt;math display=&quot;inline&quot; xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;
  710.     &lt;semantics&gt;
  711.      &lt;mrow&gt;
  712.       &lt;msub&gt;
  713.        &lt;mi&gt;z&lt;/mi&gt;
  714.        &lt;mn&gt;1&lt;/mn&gt;
  715.       &lt;/msub&gt;
  716.      &lt;/mrow&gt;
  717.      &lt;annotation encoding=&quot;application/x&#x2d;tex&quot;&gt;z_1&lt;/annotation&gt;
  718.     &lt;/semantics&gt;
  719.    &lt;/math&gt;
  720.   &lt;/foreignObject&gt;
  721.  &lt;/g&gt;
  722.  &lt;g id=&quot;svg_89522_43&quot;&gt;
  723.   &lt;circle id=&quot;svg_89522_14&quot; fill=&quot;#aaaaaa&quot; stroke=&quot;#000000&quot; stroke&#x2d;width=&quot;2&quot; cx=&quot;86.5&quot; cy=&quot;114&quot; r=&quot;5&quot;/&gt;
  724.   &lt;foreignObject id=&quot;svg_89522_18&quot; x=&quot;51.5&quot; y=&quot;89&quot; font&#x2d;size=&quot;16&quot; width=&quot;70&quot; height=&quot;24&quot;&gt;
  725.    &lt;math id=&quot;svg_89522_19&quot; xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot; display=&quot;inline&quot;&gt;
  726.     &lt;semantics id=&quot;svg_89522_20&quot;&gt;
  727.      &lt;mrow id=&quot;svg_89522_21&quot;&gt;
  728.       &lt;mo id=&quot;svg_89522_22&quot; stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;
  729.       &lt;mn id=&quot;svg_89522_23&quot;&gt;2&lt;/mn&gt;
  730.       &lt;mo id=&quot;svg_89522_24&quot; stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;
  731.       &lt;mi id=&quot;svg_89522_25&quot;&gt;N&lt;/mi&gt;
  732.       &lt;mo id=&quot;svg_89522_26&quot;&gt;&amp;#x2212;&lt;/mo&gt;
  733.       &lt;mn id=&quot;svg_89522_27&quot;&gt;1&lt;/mn&gt;
  734.       &lt;mo id=&quot;svg_89522_28&quot; stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;
  735.       &lt;mo id=&quot;svg_89522_31&quot; stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;
  736.      &lt;/mrow&gt;
  737.      &lt;annotation id=&quot;svg_89522_34&quot; encoding=&quot;application/x&#x2d;tex&quot;&gt;[2(N&#x2d;1)]&lt;/annotation&gt;
  738.     &lt;/semantics&gt;
  739.    &lt;/math&gt;
  740.   &lt;/foreignObject&gt;
  741.   &lt;foreignObject id=&quot;svg_89522_35&quot; height=&quot;20&quot; width=&quot;14&quot; font&#x2d;size=&quot;16&quot; y=&quot;121&quot; x=&quot;81.5&quot;&gt;
  742.    &lt;math display=&quot;inline&quot; xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;
  743.     &lt;semantics&gt;
  744.      &lt;mrow&gt;
  745.       &lt;msub&gt;
  746.        &lt;mi&gt;z&lt;/mi&gt;
  747.        &lt;mn&gt;2&lt;/mn&gt;
  748.       &lt;/msub&gt;
  749.      &lt;/mrow&gt;
  750.      &lt;annotation encoding=&quot;application/x&#x2d;tex&quot;&gt;z_2&lt;/annotation&gt;
  751.     &lt;/semantics&gt;
  752.    &lt;/math&gt;
  753.   &lt;/foreignObject&gt;
  754.  &lt;/g&gt;
  755.  &lt;g id=&quot;svg_89522_45&quot;&gt;
  756.   &lt;circle fill=&quot;#aaaaaa&quot; stroke=&quot;#000000&quot; stroke&#x2d;width=&quot;2&quot; cx=&quot;381.5&quot; cy=&quot;41&quot; r=&quot;5&quot; id=&quot;svg_89522_7&quot;/&gt;
  757.   &lt;foreignObject x=&quot;347.5&quot; y=&quot;16&quot; id=&quot;svg_89522_29&quot; font&#x2d;size=&quot;16&quot; width=&quot;64&quot; height=&quot;24&quot;&gt;
  758.    &lt;math xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot; display=&quot;inline&quot;&gt;
  759.     &lt;semantics&gt;
  760.      &lt;mrow&gt;
  761.       &lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;
  762.       &lt;msup&gt;
  763.        &lt;mn&gt;1&lt;/mn&gt;
  764.        &lt;mrow&gt;
  765.         &lt;mn&gt;2&lt;/mn&gt;
  766.         &lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;
  767.         &lt;mi&gt;N&lt;/mi&gt;
  768.         &lt;mo&gt;&amp;#x2212;&lt;/mo&gt;
  769.         &lt;mn&gt;1&lt;/mn&gt;
  770.         &lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;
  771.        &lt;/mrow&gt;
  772.       &lt;/msup&gt;
  773.       &lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;
  774.      &lt;/mrow&gt;
  775.      &lt;annotation encoding=&quot;application/x&#x2d;tex&quot;&gt;[1^{2(N&#x2d;1)}]&lt;/annotation&gt;
  776.     &lt;/semantics&gt;
  777.    &lt;/math&gt;
  778.   &lt;/foreignObject&gt;
  779.   &lt;foreignObject height=&quot;20&quot; width=&quot;14&quot; font&#x2d;size=&quot;16&quot; id=&quot;svg_89522_44&quot; y=&quot;49&quot; x=&quot;375.5&quot;&gt;
  780.    &lt;math display=&quot;inline&quot; xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;
  781.     &lt;semantics&gt;
  782.      &lt;mrow&gt;
  783.       &lt;msub&gt;
  784.        &lt;mi&gt;z&lt;/mi&gt;
  785.        &lt;mn&gt;3&lt;/mn&gt;
  786.       &lt;/msub&gt;
  787.      &lt;/mrow&gt;
  788.      &lt;annotation encoding=&quot;application/x&#x2d;tex&quot;&gt;z_3&lt;/annotation&gt;
  789.     &lt;/semantics&gt;
  790.    &lt;/math&gt;
  791.   &lt;/foreignObject&gt;
  792.  &lt;/g&gt;
  793.  &lt;g id=&quot;svg_89522_47&quot;&gt;
  794.   &lt;circle fill=&quot;#aaaaaa&quot; stroke=&quot;#000000&quot; stroke&#x2d;width=&quot;2&quot; cx=&quot;86.5&quot; cy=&quot;30&quot; r=&quot;5&quot; id=&quot;svg_89522_32&quot;/&gt;
  795.   &lt;foreignObject x=&quot;55.5&quot; y=&quot;5&quot; font&#x2d;size=&quot;16&quot; width=&quot;78&quot; height=&quot;24&quot; id=&quot;svg_89522_33&quot;&gt;
  796.    &lt;math display=&quot;inline&quot; xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;
  797.     &lt;semantics&gt;
  798.      &lt;mrow&gt;
  799.       &lt;mo stretchy=&quot;false&quot;&gt;[&lt;/mo&gt;
  800.       &lt;mn&gt;2&lt;/mn&gt;
  801.       &lt;mo&gt;,&lt;/mo&gt;
  802.       &lt;msup&gt;
  803.        &lt;mn&gt;1&lt;/mn&gt;
  804.        &lt;mrow&gt;
  805.         &lt;mn&gt;2&lt;/mn&gt;
  806.         &lt;mo stretchy=&quot;false&quot;&gt;(&lt;/mo&gt;
  807.         &lt;mi&gt;N&lt;/mi&gt;
  808.         &lt;mo&gt;&amp;#x2212;&lt;/mo&gt;
  809.         &lt;mn&gt;2&lt;/mn&gt;
  810.         &lt;mo stretchy=&quot;false&quot;&gt;)&lt;/mo&gt;
  811.        &lt;/mrow&gt;
  812.       &lt;/msup&gt;
  813.       &lt;mo stretchy=&quot;false&quot;&gt;]&lt;/mo&gt;
  814.      &lt;/mrow&gt;
  815.      &lt;annotation encoding=&quot;application/x&#x2d;tex&quot;&gt;[2,1^{2(N&#x2d;2)}]&lt;/annotation&gt;
  816.     &lt;/semantics&gt;
  817.    &lt;/math&gt;
  818.   &lt;/foreignObject&gt;
  819.   &lt;foreignObject height=&quot;20&quot; width=&quot;14&quot; font&#x2d;size=&quot;16&quot; id=&quot;svg_89522_46&quot; y=&quot;37&quot; x=&quot;80.5&quot;&gt;
  820.    &lt;math display=&quot;inline&quot; xmlns=&quot;http://www.w3.org/1998/Math/MathML&quot;&gt;
  821.     &lt;semantics&gt;
  822.      &lt;mrow&gt;
  823.       &lt;msub&gt;
  824.        &lt;mi&gt;z&lt;/mi&gt;
  825.        &lt;mn&gt;4&lt;/mn&gt;
  826.       &lt;/msub&gt;
  827.      &lt;/mrow&gt;
  828.      &lt;annotation encoding=&quot;application/x&#x2d;tex&quot;&gt;z_4&lt;/annotation&gt;
  829.     &lt;/semantics&gt;
  830.    &lt;/math&gt;
  831.   &lt;/foreignObject&gt;
  832.  &lt;/g&gt;
  833. &lt;/g&gt;
  834. &lt;defs&gt;
  835.  &lt;marker id=&quot;se_marker_start_svg_89522_67&quot; markerUnits=&quot;strokeWidth&quot; orient=&quot;auto&quot; viewBox=&quot;0 0 100 100&quot; markerWidth=&quot;5&quot; markerHeight=&quot;5&quot; refX=&quot;50&quot; refY=&quot;50&quot;&gt;
  836.   &lt;path id=&quot;svg_89522_1&quot; d=&quot;m0,50l100,40l&#x2d;30,&#x2d;40l30,&#x2d;40l&#x2d;100,40z&quot; fill=&quot;#000000&quot; stroke=&quot;#000000&quot; stroke&#x2d;width=&quot;10&quot;/&gt;
  837.  &lt;/marker&gt;
  838.  &lt;marker id=&quot;se_marker_end_svg_89522_67&quot; markerUnits=&quot;strokeWidth&quot; orient=&quot;auto&quot; viewBox=&quot;0 0 100 100&quot; markerWidth=&quot;5&quot; markerHeight=&quot;5&quot; refX=&quot;50&quot; refY=&quot;50&quot;&gt;
  839.   &lt;path id=&quot;svg_89522_4&quot; d=&quot;m100,50l&#x2d;100,40l30,&#x2d;40l&#x2d;30,&#x2d;40l100,40z&quot; fill=&quot;#000000&quot; stroke=&quot;#000000&quot; stroke&#x2d;width=&quot;10&quot;/&gt;
  840.  &lt;/marker&gt;
  841. &lt;/defs&gt;
  842. &lt;/svg&gt;\end{svg}
  843. </annotation></semantics></math>
  844. as <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>SO</mi><mo stretchy="false">(</mo><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>1</mn><mo stretchy="false">)</mo><mo>+</mo><mo stretchy="false">(</mo><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>3</mn><mo stretchy="false">)</mo><mo stretchy="false">(</mo><mi>V</mi><mo stretchy="false">)</mo><mo>+</mo><mo stretchy="false">(</mo><mi>N</mi><mo>&#x02212;</mo><mn>1</mn><mo stretchy="false">)</mo><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>SO(2N&#x2d;1)+(2N&#x2d;3)(V) + (N&#x2d;1)(1)</annotation></semantics></math>. Again, this matter content leaves an unbroken <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>U</mi><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>U(1)</annotation></semantics></math> at a generic point on the Higgs branch. The <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>D</mi> <mrow><mi>R</mi><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow></msub></mrow><annotation encoding='application/x-tex'>D_{R(0,0)}</annotation></semantics></math> multiplet (for <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>R</mi><mo>=</mo><mo stretchy="false">(</mo><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>3</mn><mo stretchy="false">)</mo><mo stretchy="false">/</mo><mn>2</mn></mrow><annotation encoding='application/x-tex'>R=(2N&#x2d;3)/2</annotation></semantics></math>) in the traceless rank-<math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>3</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>(2N&#x2d;3)</annotation></semantics></math> completely anti-symmetric tensor representation of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>Sp</mi><mo stretchy="false">(</mo><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>3</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>Sp(2N&#x2d;3)</annotation></semantics></math>, constructed by the analogue of (<a href="#e3406:Dopp">1</a>), has <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x00394;</mi><mo>=</mo><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>2</mn></mrow><annotation encoding='application/x-tex'>\Delta=2N&#x2d;2</annotation></semantics></math> and contributes <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><msup><mi>&#x003C4;</mi> <mrow><mn>2</mn><mi>N</mi><mo>&#x02212;</mo><mn>1</mn></mrow></msup><mi>&#x003C7;</mi><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mi>&#x02026;</mi><mo>,</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>&#x2d;\tau^{2N&#x2d;1}\chi(0,\dots,0,1)</annotation></semantics></math> to the Hall-Littlewood index.</p>
  845.  
  846. <p>These examples were rather special, in that they had an S-duality frame in which they were Lagrangian field theories. Generically that won&#8217;t be the case. But there&#8217;s no reason to expect that theories, with an S-duality frame in which they are Lagrangian, should be distinguished in this regard. And, indeed, Kang <em>et al</em> find that the presence of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>D</mi> <mrow><mi>R</mi><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow></msub></mrow><annotation encoding='application/x-tex'>D_{R(0,0)}</annotation></semantics></math> operators in the spectrum persists in examples with no Lagrangian field theory realization. </p>
  847.  
  848. <hr />
  849.  
  850. <div id="F1" class="footnote"><p><sup>1</sup>  For genus-<math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>g</mi></mrow><annotation encoding='application/x-tex'>g</annotation></semantics></math> and <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>n</mi></mrow><annotation encoding='application/x-tex'>n</annotation></semantics></math> punctures, the class-S theory can be presented (in multiple ways) as a &#8220;gauge theory&#8221; with <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo stretchy="false">(</mo><mn>3</mn><mi>g</mi><mo>&#x02212;</mo><mn>3</mn><mo>+</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>(3g&#x2d;3+n)</annotation></semantics></math> simple factors in the gauge group. This statement has to be modified slightly in the presence of &#8220;atypical&#8221; punctures in the twisted theory.</p></div>
  851.  
  852. <div id="F2" class="footnote"><p><sup>2</sup> Here, I&#8217;m taking &#8220;Higgs branch&#8221; to mean the branch on which the gauge symmetry is maximally-Higgsed.</p></div>
  853.  
  854. <div id="F3" class="footnote"><p><sup>3</sup> The superconformal primary of the <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>D</mi> <mrow><mn>0</mn><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow></msub></mrow><annotation encoding='application/x-tex'>D_{0(0,0)}</annotation></semantics></math> multiplet is the complex scalar in the free <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x1D4A9;</mi><mo>=</mo><mn>2</mn></mrow><annotation encoding='application/x-tex'>\mathcal{N}=2</annotation></semantics></math> vector multiplet. Its superconformal descendents include the photino and the imaginary-self-dual part of the field strength.</p></div>
  855.  
  856.      </div>
  857.    </content>
  858.  </entry>
  859.  <entry>
  860.    <title type="html">Monterey and Samba</title>
  861.    <link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003393.html" />
  862.    <updated>2022-04-11T06:55:46Z</updated>
  863.    <published>2022-04-11T01:48:01-06:00</published>
  864.    <id>tag:golem.ph.utexas.edu,2022:%2F~distler%2Fblog%2F1.3393</id>
  865.    <summary type="text">Time Machine remote backups are borked</summary>
  866.    <author>
  867.      <name>distler</name>
  868.      <uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
  869.      <email>distler@golem.ph.utexas.edu</email>
  870.    </author>
  871.    <category term="Computers" />
  872.    <content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003393.html">
  873.      <div xmlns="http://www.w3.org/1999/xhtml">
  874. <p>I reluctantly upgraded my laptop from Mojave to Monterey (macOS 12.3.1). Things have not gone smoothly. My biggest annoyance, currently, is with Time Machine.</p>
  875.  
  876. <p>I have things set up, so that, at home, my laptop wirelessly backs up, alternately, to one of two Samba Servers. The way this works, is that Time Machine creates a <code>.sparsebundle</code> on the Share. Inside the <code>.sparsebundle</code> is a file system on which the actual backups reside. This is entirely opaque to the Linux system on which the Samba Server is running; all it sees is a directory full of ordinary files (&#8220;bands&#8221;) which comprise the <code>.sparsebundle</code>.</p>
  877.  
  878. <p>On older versions of macOS, the file system <em>inside</em> the <code>.sparsebundle</code> was HFS+. Monterey <em>supposedly</em> still supports that, but creates <em>new</em> <code>.sparsebundle</code>s where the internal file system is APFS.</p>
  879.  
  880. <p>After upgrading, I <em>tried</em> to do an incremental backup. This repeatedly failed, with a slew of errors that I don&#8217;t want to get into right now. Evidently, whatever claims to the contrary, backing up to a Samba Server, with the <code>.sparsebundle</code> formatted as HFS+ <em>does not work</em> on Monterey.</p>
  881.  
  882. <p>Reluctantly, I decided to sacrifice one of my two backups, removing it from the list of backups, deleting the <code>.sparsebundle</code> from the Server, and letting Time Machine create a new one, this time, internally formatted as APFS. At first, the backup seemed to go OK. But, after a couple of days, and ~300 GB written to the server, the backup failed, and Time Machine refused to restart it. Investigating, the <code>.sparsebundle</code> would not even mount, if I attempted to mount it manually. <code>Disk Utility</code> reported that the APFS file system was corrupted, and could not be repaired.</p>
  883.  
  884. <p>So I tried again: removed the backup, deleted the <code>.sparsebundle</code> from the Server, and let Time Machine create a new one from scratch. ~250 GB and another couple of days later, the backup again failed, with the same symptoms.</p>
  885.  
  886. <p>Here&#8217;s the bit of the Time Machine log around the failure:</p>
  887.  
  888. <pre><code>
  889. 2022-04-10 16:48:58.645717-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:CopyProgress] Fatal failure to copy '/Volumes/com.apple.TimeMachine.localsnapshots/Backups.backupdb/Tin Can/2022-04-09-185804/Macintosh HD - Data/usr/local/lib/ruby/gems/2.3.0/doc/did_you_mean-1.0.2/rdoc/css/rdoc.css' to '/Volumes/Backups of Tin Can/2022-04-09-185823.inprogress/Macintosh HD - Data/usr/local/lib/ruby/gems/2.3.0/doc/did_you_mean-1.0.2/rdoc/css', error: -43, srcErr: NO
  890. 2022-04-10 16:49:03.152913-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:CopyProgress] Failed copy from volume "Macintosh HD - Data"
  891.          113980 Total Items Added (l: 6.24 GB p: 6.68 GB)
  892.               0 Total Items Propagated (shallow) (l: Zero KB p: Zero KB)
  893.               0 Total Items Propagated (recursive) (l: Zero KB p: Zero KB)
  894.          113980 Total Items in Backup (l: 6.24 GB p: 6.68 GB)
  895.           95406 Files Copied (l: 6.2 GB p: 6.62 GB)
  896.           15585 Directories Copied (l: Zero KB p: Zero KB)
  897.             290 Symlinks Copied (l: 7 KB p: Zero KB)
  898.            2699 Files Linked (l: 43.8 MB p: 52.1 MB)
  899. 2022-04-10 16:49:03.155424-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Copy stage failed with error: Error Domain=com.apple.backupd.ErrorDomain Code=11 "(null)" UserInfo={NSUnderlyingError=0x7fbebf3eccd0 {Error Domain=NSOSStatusErrorDomain Code=-43 "fnfErr: File not found"}, MessageParameters=(
  900.    "/usr/local/lib/ruby/gems/2.3.0/doc/did_you_mean-1.0.2/rdoc/css/rdoc.css"
  901. )}
  902. 2022-04-10 16:49:11.487666-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  903. 2022-04-10 16:49:21.387970-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Unmounted '/Volumes/com.apple.TimeMachine.localsnapshots/Backups.backupdb/Tin Can/2022-04-09-185804/Personal'
  904. 2022-04-10 16:49:21.400097-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Unmounted local snapshot: com.apple.TimeMachine.2022-04-09-185804.local at path: /Volumes/com.apple.TimeMachine.localsnapshots/Backups.backupdb/Tin Can/2022-04-09-185804/Personal source: Personal
  905. 2022-04-10 16:49:21.950579-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  906. 2022-04-10 16:49:21.987207-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  907. 2022-04-10 16:49:22.353689-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Unmounted '/Volumes/com.apple.TimeMachine.localsnapshots/Backups.backupdb/Tin Can/2022-04-09-185804/Macintosh HD - Data'
  908. 2022-04-10 16:49:22.359520-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  909. 2022-04-10 16:49:23.901539-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Unmounted local snapshot: com.apple.TimeMachine.2022-04-09-185804.local at path: /Volumes/com.apple.TimeMachine.localsnapshots/Backups.backupdb/Tin Can/2022-04-09-185804/Macintosh HD - Data source: Macintosh HD - Data
  910. 2022-04-10 16:49:27.292449-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  911. 2022-04-10 16:49:27.292852-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Mountpoint '/Volumes/.timemachine/192.168.0.xxx/81CD6E80-8234-4079-B19A-3AC33F7E06EF/Distler Backup 0' is still valid
  912. 2022-04-10 16:49:27.685979-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Mountpoint '/Volumes/Backups of Tin Can' is still valid
  913. 2022-04-10 16:49:28.103532-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Mountpoint '/Volumes/Backups of Tin Can' is still valid
  914. 2022-04-10 16:49:28.512397-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Mountpoint '/Volumes/Personal' is still valid
  915. 2022-04-10 16:49:28.713895-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Mountpoint '/System/Volumes/Data' is still valid
  916. 2022-04-10 16:49:31.394479-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Backup failed (11: BACKUP_FAILED_COPY_STAGE)
  917. 2022-04-10 16:49:37.756029-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Unmounted '/Volumes/Backups of Tin Can'
  918. 2022-04-10 16:49:42.891886-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Failed to unmount '/Volumes/.timemachine/192.168.0.xxx/81CD6E80-8234-4079-B19A-3AC33F7E06EF/Distler Backup 0', Disk Management error: {
  919.    Action = Unmount;
  920.    Dissenter = 1;
  921.    DissenterPID = 19902;
  922.    DissenterPPID = 0;
  923.    DissenterStatus = 49168;
  924.    Target = "file:///Volumes/.timemachine/192.168.0.xxx/81CD6E80-8234-4079-B19A-3AC33F7E06EF/Distler%20Backup%200/";
  925. }
  926. 2022-04-10 16:49:42.896012-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Failed to unmount '/Volumes/.timemachine/192.168.0.xxx/81CD6E80-8234-4079-B19A-3AC33F7E06EF/Distler Backup 0', error: Error Domain=com.apple.diskmanagement Code=0 "No error" UserInfo={NSDebugDescription=No error, NSLocalizedDescription=No Error.}
  927. 2022-04-10 16:49:42.935636-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:BackupScheduling] Not prioritizing backups with priority errors. lockState=0
  928. ...
  929. 2022-04-10 16:53:07.167148-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Starting automatic backup
  930. 2022-04-10 16:53:07.168919-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Network destination already mounted at: /Volumes/.timemachine/192.168.0.xxx/81CD6E80-8234-4079-B19A-3AC33F7E06EF/Distler Backup 0
  931. 2022-04-10 16:53:07.169298-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Initial network volume parameters for 'Distler Backup 0' {disablePrimaryReconnect: 0, disableSecondaryReconnect: 0, reconnectTimeOut: 30, QoS: 0x20, attributes: 0x1C}
  932. 2022-04-10 16:53:07.187213-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Configured network volume parameters for 'Distler Backup 0' {disablePrimaryReconnect: 0, disableSecondaryReconnect: 0, reconnectTimeOut: 30, QoS: 0x20, attributes: 0x1C}
  933. 2022-04-10 16:53:08.678084-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Skipping periodic backup verification: no previous backups to this destination.
  934. 2022-04-10 16:53:09.696741-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] 'Tin Can.sparsebundle' does not need resizing - current logical size is 2.06 TB (2,055,262,778,880 bytes), size limit is 2.06 TB (2,055,262,778,982 bytes)
  935. 2022-04-10 16:53:09.915293-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Mountpoint '/Volumes/.timemachine/192.168.0.xxx/81CD6E80-8234-4079-B19A-3AC33F7E06EF/Distler Backup 0' is still valid
  936. 2022-04-10 16:53:09.996881-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Checking for runtime corruption on '/Volumes/.timemachine/192.168.0.xxx/81CD6E80-8234-4079-B19A-3AC33F7E06EF/Distler Backup 0/Tin Can.sparsebundle'
  937. 2022-04-10 16:53:19.437911-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Successfully attached using DiskImages2 as 'disk2' from URL '/Volumes/.timemachine/192.168.0.xxx/81CD6E80-8234-4079-B19A-3AC33F7E06EF/Distler Backup 0/Tin Can.sparsebundle'
  938. 2022-04-10 16:53:19.440910-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  939. 2022-04-10 16:53:19.643846-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  940. 2022-04-10 16:53:20.583484-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Mountpoint '/Volumes/.timemachine/192.168.0.xxx/81CD6E80-8234-4079-B19A-3AC33F7E06EF/Distler Backup 0' is still valid
  941. 2022-04-10 16:53:20.586062-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  942. 2022-04-10 16:53:20.586242-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Runtime corruption check passed for '/Volumes/.timemachine/192.168.0.xxx/81CD6E80-8234-4079-B19A-3AC33F7E06EF/Distler Backup 0/Tin Can.sparsebundle'
  943. 2022-04-10 16:53:20.587567-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  944. 2022-04-10 16:53:20.589086-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  945. 2022-04-10 16:53:20.590174-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  946. 2022-04-10 16:53:20.591703-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  947. 2022-04-10 16:53:20.592900-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  948. 2022-04-10 16:53:20.593027-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Attempting to mount APFS volume from disk3s1
  949. 2022-04-10 16:53:50.382455-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Failed to mount 'disk3s1', dissenter {
  950.    DAStatus = 49218;
  951. }, status: (null)
  952. 2022-04-10 16:53:50.791300-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Mount dissented, retrying...
  953. 2022-04-10 16:53:53.893930-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  954. 2022-04-10 16:53:53.897615-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  955. 2022-04-10 16:53:53.916581-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  956. 2022-04-10 16:53:53.916724-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Attempting to mount APFS volume from disk3s1
  957. 2022-04-10 16:54:09.948095-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Failed to mount 'disk3s1', dissenter {
  958.    DAStatus = 49218;
  959. }, status: (null)
  960. 2022-04-10 16:54:10.324846-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Mount dissented, retrying...
  961. 2022-04-10 16:54:13.425438-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  962. 2022-04-10 16:54:13.427379-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  963. 2022-04-10 16:54:13.429332-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  964. 2022-04-10 16:54:13.429410-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Attempting to mount APFS volume from disk3s1
  965. 2022-04-10 16:54:20.216256-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Failed to mount 'disk3s1', dissenter {
  966.    DAStatus = 49218;
  967. }, status: (null)
  968. 2022-04-10 16:54:20.533201-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Mount dissented, retrying...
  969. 2022-04-10 16:54:23.633572-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  970. 2022-04-10 16:54:25.816743-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Unmounted '/Volumes/.timemachine/192.168.0.xxx/81CD6E80-8234-4079-B19A-3AC33F7E06EF/Distler Backup 0'
  971. 2022-04-10 16:54:25.829714-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Waiting 60 seconds and trying again.
  972. 2022-04-10 16:55:31.572028-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Attempting to mount 'smb://distler-backup@192.168.0.xxx/Distler%20Backup%200'
  973. 2022-04-10 16:55:33.819999-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Mounted 'smb://distler-backup@192.168.0.xxx/Distler%20Backup%200' at '/Volumes/.timemachine/192.168.0.xxx/8D2542FA-CFAB-4C6B-9E66-9005383E0039/Distler Backup 0' (1.77 TB of 2.16 TB available)
  974. 2022-04-10 16:55:33.820214-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Initial network volume parameters for 'Distler Backup 0' {disablePrimaryReconnect: 0, disableSecondaryReconnect: 0, reconnectTimeOut: 60, QoS: 0x0, attributes: 0x1C}
  975. 2022-04-10 16:55:34.030606-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Configured network volume parameters for 'Distler Backup 0' {disablePrimaryReconnect: 0, disableSecondaryReconnect: 0, reconnectTimeOut: 30, QoS: 0x20, attributes: 0x1C}
  976. 2022-04-10 16:55:34.784320-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Skipping periodic backup verification: no previous backups to this destination.
  977. 2022-04-10 16:55:35.248129-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Mountpoint '/Volumes/.timemachine/192.168.0.xxx/8D2542FA-CFAB-4C6B-9E66-9005383E0039/Distler Backup 0' is still valid
  978. 2022-04-10 16:55:35.332770-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Checking for runtime corruption on '/Volumes/.timemachine/192.168.0.xxx/8D2542FA-CFAB-4C6B-9E66-9005383E0039/Distler Backup 0/Tin Can.sparsebundle'
  979. 2022-04-10 16:55:42.623176-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Successfully attached using DiskImages2 as 'disk2' from URL '/Volumes/.timemachine/192.168.0.xxx/8D2542FA-CFAB-4C6B-9E66-9005383E0039/Distler Backup 0/Tin Can.sparsebundle'
  980. 2022-04-10 16:55:42.625886-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  981. 2022-04-10 16:55:42.627412-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  982. 2022-04-10 16:55:43.234062-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Mountpoint '/Volumes/.timemachine/192.168.0.xxx/8D2542FA-CFAB-4C6B-9E66-9005383E0039/Distler Backup 0' is still valid
  983. 2022-04-10 16:55:43.236237-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  984. 2022-04-10 16:55:43.236358-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Runtime corruption check passed for '/Volumes/.timemachine/192.168.0.xxx/8D2542FA-CFAB-4C6B-9E66-9005383E0039/Distler Backup 0/Tin Can.sparsebundle'
  985. 2022-04-10 16:55:43.237707-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  986. 2022-04-10 16:55:43.238827-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  987. 2022-04-10 16:55:43.239902-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  988. 2022-04-10 16:55:43.241266-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  989. 2022-04-10 16:55:43.242325-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
  990. 2022-04-10 16:55:43.242443-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Attempting to mount APFS volume from disk3s1
  991. 2022-04-10 16:56:03.825110-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Failed to mount 'disk3s1', dissenter {
  992.    DAStatus = 49218;
  993. }, status: (null)
  994. 2022-04-10 16:56:03.940935-0500  localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Mount dissented, retrying...
  995. </code>
  996. </pre>
  997.  
  998. <p>Won&#8217;t even mount, eh?</p>
  999.  
  1000. <pre><code>
  1001. % sudo fsck_apfs /dev/disk3s1
  1002. Password:
  1003. ** Checking the container superblock.
  1004.   Checking the checkpoint with transaction ID 2703.
  1005. ** Checking the space manager.
  1006. ** Checking the space manager free queue trees.
  1007. ** Checking the object map.
  1008. ** Checking volume /dev/rdisk3s1.
  1009. ** Checking the APFS volume superblock.
  1010.   The volume Backups of Tin Can was formatted by newfs_apfs (1934.101.3) and last modified by apfs_kext (1934.101.3).
  1011. ** Checking the object map.
  1012. warning: (oid 0x432370d) om: btn: invalid o_cksum (0xce8d60bd7f753902)
  1013.   Object map is invalid.
  1014. ** The volume /dev/rdisk3s1 was found to be corrupt and cannot be repaired.
  1015. ** Verifying allocated space.
  1016. ** The volume /dev/disk3s1 could not be verified completely.
  1017. </code>
  1018. </pre>
  1019.  
  1020. <p>Time Machine managed to corrupt the Object B-tree, on its first attempt. And <code>fsck_apfs</code> can&#8217;t repair it. The entire file system is <em>hosed</em>. So much for the &#8220;robustness&#8221; of APFS and so much for the quality of Apple&#8217;s backup software.</p>
  1021.  
  1022. <p>And it ain&#8217;t just me. There are lots of complaints on the <a href="https://community.synology.com/enu/forum/1/post/149543">Synology Forum</a> from people having the same issue.</p>
  1023.  
  1024. <p>Next time, I&#8217;ll tell you about <a href="https://www.finkproject.org/">Fink</a>.</p>
  1025.  
  1026.      </div>
  1027.    </content>
  1028.  </entry>
  1029.  <entry>
  1030.    <title type="html">Spinor Helicity Variables in QED</title>
  1031.    <link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003375.html" />
  1032.    <updated>2022-01-08T18:05:03Z</updated>
  1033.    <published>2022-01-08T11:47:36-06:00</published>
  1034.    <id>tag:golem.ph.utexas.edu,2022:%2F~distler%2Fblog%2F1.3375</id>
  1035.    <summary type="text">Spinor helicity variable and canonical quantization for spin-1/2 and spin-1.</summary>
  1036.    <author>
  1037.      <name>distler</name>
  1038.      <uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
  1039.      <email>distler@golem.ph.utexas.edu</email>
  1040.    </author>
  1041.    <category term="Physics" />
  1042.    <content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003375.html">
  1043.      <div xmlns="http://www.w3.org/1999/xhtml">
  1044. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  1045.  
  1046. <p>I&#8217;m teaching Quantum Field Theory this year. One of the things I&#8217;ve been trying to emphasize is the usefulness of spinor-helicity variables in dealing with massless particles. This is well-known to the &#8220;Amplitudes&#8221; crowd, but hasn&#8217;t really trickled down to the textbooks yet. Mark Srednicki&#8217;s book comes close, but doesn&#8217;t (<abbr title="In My Humble Opinion">IMHO</abbr>) quite do a satisfactory job of it.</p>
  1047.  
  1048. <p>Herewith are some notes.</p>
  1049.  
  1050. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  1051.  
  1052. <p>The first step in constructing perturbation theory is to quantize the free fields. Following Weinberg and Srednicki, I&#8217;m using the &#8220;mostly-plus&#8221; signature convention (my 2-component spinor conventions are those of <a href="https://arxiv.org/abs/0812.1594">Dreiner et al</a> if you define the macro <code>\def\signofmetric{1}</code> in the LaTeX file). For <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>k</mi> <mn>2</mn></msup><mo>=</mo><mn>0</mn></mrow><annotation encoding='application/x-tex'>k^2=0</annotation></semantics></math>, we can define helicity spinors</p>
  1053.  
  1054. <div class="numberedEq" id="e3375:spinorhelicity"><span>(1)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mo stretchy="false">(</mo><mi>k</mi><mo>&#x022C5;</mo><mi>&#x003C3;</mi><msub><mo stretchy="false">)</mo> <mrow><mi>&#x003B1;</mi><mover><mi>&#x003B2;</mi><mo>&#x002D9;</mo></mover></mrow></msub><mo>=</mo><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><msub><mi>&#x003BB;</mi> <mi>&#x003B1;</mi></msub><msubsup><mi>&#x003BB;</mi> <mover><mi>&#x003B2;</mi><mo>&#x002D9;</mo></mover> <mo>&#x02020;</mo></msubsup><mo>,</mo><mspace width="2em"/><mo stretchy="false">(</mo><mi>k</mi><mo>&#x022C5;</mo><mover><mi>&#x003C3;</mi><mo>&#x000AF;</mo></mover><msup><mo stretchy="false">)</mo> <mrow><mover><mi>&#x003B1;</mi><mo>&#x002D9;</mo></mover><mi>&#x003B2;</mi></mrow></msup><mo>=</mo><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><msup><mi>&#x003BB;</mi> <mrow><mo>&#x02020;</mo><mover><mi>&#x003B1;</mi><mo>&#x002D9;</mo></mover></mrow></msup><msup><mi>&#x003BB;</mi> <mi>&#x003B2;</mi></msup></mrow><annotation encoding='application/x-tex'>(k\cdot\sigma)_{\alpha\dot\beta}= &#x2d;\lambda_\alpha\lambda^\dagger_{\dot\beta},\qquad (k\cdot\overline{\sigma})^{\dot\alpha\beta} = &#x2d;\lambda^{\dagger\dot\alpha}\lambda^\beta
  1055. </annotation></semantics></math></div>
  1056.  
  1057. <p>which allow us to straightforwardly canonically-quantize.</p>
  1058.  
  1059. <h3>Spin-1/2</h3>
  1060.  
  1061. <p>For a Weyl fermion,
  1062. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>&#x02112;</mi><mo>=</mo><mi>i</mi><msup><mi>&#x003C8;</mi> <mo>&#x02020;</mo></msup><mover><mi>&#x003C3;</mi><mo>&#x000AF;</mo></mover><mo>&#x022C5;</mo><mo>&#x02202;</mo><mi>&#x003C8;</mi></mrow><annotation encoding='application/x-tex'>
  1063. \mathcal{L}= i\psi^\dagger\overline{\sigma}\cdot\partial \psi
  1064. </annotation></semantics></math>
  1065. the general solution to the equations of motion is
  1066. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><msub><mi>&#x003C8;</mi> <mi>&#x003B1;</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>=</mo><mo>&#x0222B;</mo><mfrac><mrow><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>&#x003C0;</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">&#x0007C;</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">&#x0007C;</mo></mrow></mfrac><msub><mi>&#x003BB;</mi> <mi>&#x003B1;</mi></msub><mrow><mo>(</mo><msubsup><mi>&#x003BE;</mi> <mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover> <mo>&#x02020;</mo></msubsup><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mi>ik</mi><mo>&#x022C5;</mo><mi>x</mi></mrow></msup><mo>+</mo><msub><mi>&#x003B7;</mi> <mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover></msub><msup><mi>e</mi> <mrow><mi>ik</mi><mo>&#x022C5;</mo><mi>x</mi></mrow></msup><mo>)</mo></mrow></mtd></mtr> <mtr><mtd><msubsup><mi>&#x003C8;</mi> <mover><mi>&#x003B1;</mi><mo>&#x002D9;</mo></mover> <mo>&#x02020;</mo></msubsup><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>=</mo><mo>&#x0222B;</mo><mfrac><mrow><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>&#x003C0;</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">&#x0007C;</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">&#x0007C;</mo></mrow></mfrac><msubsup><mi>&#x003BB;</mi> <mover><mi>&#x003B1;</mi><mo>&#x002D9;</mo></mover> <mo>&#x02020;</mo></msubsup><mrow><mo>(</mo><msubsup><mi>&#x003B7;</mi> <mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover> <mo>&#x02020;</mo></msubsup><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mi>ik</mi><mo>&#x022C5;</mo><mi>x</mi></mrow></msup><mo>+</mo><msub><mi>&#x003BE;</mi> <mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover></msub><msup><mi>e</mi> <mrow><mi>ik</mi><mo>&#x022C5;</mo><mi>x</mi></mrow></msup><mo>)</mo></mrow></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
  1067. \begin{aligned}
  1068. \psi_\alpha(x)&amp;=\int\frac{d^3\vec{k}}{{(2\pi)}^3 2|\vec{k}|}\lambda_\alpha \left(\xi^\dagger_{\vec{k}}e^{&#x2d;ik\cdot x}+\eta_{\vec{k}}e^{ik\cdot x}\right)\\
  1069. \psi^\dagger_{\dot\alpha}(x)&amp;=\int\frac{d^3\vec{k}}{{(2\pi)}^3 2|\vec{k}|}\lambda^\dagger_{\dot\alpha}\left(\eta^\dagger_{\vec{k}}e^{&#x2d;ik\cdot x}+\xi_{\vec{k}}e^{ik\cdot x}\right)
  1070. \end{aligned}
  1071. </annotation></semantics></math>
  1072. The Equal-Time Anti-Commutation Relations
  1073. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mo stretchy="false">{</mo><msub><mi>&#x003C8;</mi> <mi>&#x003B1;</mi></msub><mo stretchy="false">(</mo><mover><mi>x</mi><mo stretchy="false">&#x02192;</mo></mover><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo><mo>,</mo><msubsup><mi>&#x003C8;</mi> <mover><mi>&#x003B2;</mi><mo>&#x002D9;</mo></mover> <mo>&#x02020;</mo></msubsup><mo stretchy="false">(</mo><mover><mi>x</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo><mo stretchy="false">}</mo><mo>=</mo><msubsup><mi>&#x003C3;</mi> <mrow><mi>&#x003B1;</mi><mover><mi>&#x003B2;</mi><mo>&#x002D9;</mo></mover></mrow> <mn>0</mn></msubsup><msup><mi>&#x003B4;</mi> <mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow></msup><mo stretchy="false">(</mo><mover><mi>x</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02212;</mo><mover><mi>x</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>
  1074. \{\psi_\alpha(\vec{x},0),\psi^\dagger_{\dot\beta}(\vec{x}&apos;,0)\}=\sigma^0_{\alpha\dot\beta}\delta^{(3)}(\vec{x}&#x2d;\vec{x}&apos;)
  1075. </annotation></semantics></math>
  1076. become the canonical anti-commutation relations
  1077. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><mo stretchy="false">{</mo><msub><mi>&#x003BE;</mi> <mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover></msub><mo>,</mo><msubsup><mi>&#x003BE;</mi> <mrow><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo></mrow> <mo>&#x02020;</mo></msubsup><mo stretchy="false">}</mo></mtd> <mtd><mo>=</mo><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>&#x003C0;</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">&#x0007C;</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">&#x0007C;</mo><msup><mi>&#x003B4;</mi> <mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow></msup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02212;</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd><mo stretchy="false">{</mo><msub><mi>&#x003B7;</mi> <mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover></msub><mo>,</mo><msubsup><mi>&#x003B7;</mi> <mrow><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo></mrow> <mo>&#x02020;</mo></msubsup><mo stretchy="false">}</mo></mtd> <mtd><mo>=</mo><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>&#x003C0;</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">&#x0007C;</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">&#x0007C;</mo><msup><mi>&#x003B4;</mi> <mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow></msup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02212;</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd/></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
  1078. \begin{aligned}
  1079. \{\xi_{\vec{k}},\xi^\dagger_{\vec{k}&apos;}\}&amp;= {(2\pi)}^3 2|\vec{k}| \delta^{(3)}(\vec{k}&#x2d;\vec{k}&apos;)\\
  1080. \{\eta_{\vec{k}},\eta^\dagger_{\vec{k}&apos;}\}&amp;= {(2\pi)}^3 2|\vec{k}| \delta^{(3)}(\vec{k}&#x2d;\vec{k}&apos;)\\
  1081. \end{aligned}
  1082. </annotation></semantics></math>
  1083. for creation and annihilation operators for fermions of definite helicity.</p>
  1084.  
  1085. <p>The upshot, after tracking this through the LSZ reduction formula, is that external fermion lines are contracted with the corresponding helicity spinor (<math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x003BB;</mi> <mi>i</mi></msub></mrow><annotation encoding='application/x-tex'>\lambda_i</annotation></semantics></math> or <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msubsup><mi>&#x003BB;</mi> <mi>i</mi> <mo>&#x02020;</mo></msubsup></mrow><annotation encoding='application/x-tex'>\lambda^\dagger_i</annotation></semantics></math>) depending on the helicity of the <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>i</mi> <mtext>th</mtext></msup></mrow><annotation encoding='application/x-tex'>i^{\text{th}}</annotation></semantics></math> incoming/outgoing particle. When we take the absolute square of the amplitude, we use (<a href="#e3375:spinorhelicity">1</a>) to rewrite <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x003BB;</mi> <mi>i</mi></msub><msubsup><mi>&#x003BB;</mi> <mi>i</mi> <mo>&#x02020;</mo></msubsup><mo>=</mo><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><msub><mi>k</mi> <mi>i</mi></msub><mo>&#x022C5;</mo><mi>&#x003C3;</mi></mrow><annotation encoding='application/x-tex'>\lambda_i\lambda^\dagger_i=&#x2d;k_i\cdot\sigma</annotation></semantics></math>, etc.</p>
  1086.  
  1087. <h3>Spin-1</h3>
  1088.  
  1089. <p>There&#8217;s a certain amount of hand-wringing associated to quantizing the free Maxwell Lagrangian,
  1090. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>&#x02112;</mi><mo>=</mo><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mstyle displaystyle="false"><mfrac><mn>1</mn><mn>4</mn></mfrac></mstyle><msub><mi>F</mi> <mrow><mi>&#x003BC;</mi><mi>&#x003BD;</mi></mrow></msub><msup><mi>F</mi> <mrow><mi>&#x003BC;</mi><mi>&#x003BD;</mi></mrow></msup></mrow><annotation encoding='application/x-tex'>
  1091. \mathcal{L} = &#x2d;\tfrac{1}{4}F_{\mu\nu}F^{\mu\nu}
  1092. </annotation></semantics></math>
  1093. If we take the canonical variables to be <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>A</mi> <mi>&#x003BC;</mi></msup></mrow><annotation encoding='application/x-tex'>A^\mu</annotation></semantics></math> and <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x003C0;</mi> <mi>&#x003BC;</mi></msub><mo>=</mo><mfrac><mrow><mi>&#x003B4;</mi><mi>&#x02112;</mi></mrow><mrow><mi>&#x003B4;</mi><msub><mo>&#x02202;</mo> <mn>0</mn></msub><msup><mi>A</mi> <mi>&#x003BC;</mi></msup></mrow></mfrac></mrow><annotation encoding='application/x-tex'>\pi_\mu =\frac{\delta \mathcal{L}}{\delta\partial_0 A^\mu}</annotation></semantics></math>, then the gauge-invariance entails that the symplectic structure is degenerate (<math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x003C0;</mi> <mn>0</mn></msub></mrow><annotation encoding='application/x-tex'>\pi_0</annotation></semantics></math> vanishes identically). The usual approach is to fix a gauge (Weinberg and Srednicki use Coulomb gauge) and then work very hard (replacing Poisson brackets with Dirac brackets, because the constraints are 2<sup>nd</sup> class, &#8230;).</p>
  1094.  
  1095. <p>On the other hand, if we</p>
  1096.  
  1097. <ol>
  1098. <li>realize that the phase space is the space of classical solutions and</li>
  1099. <li>introduce spinor helicity variables, as before,</li>
  1100. </ol>
  1101.  
  1102. <p>it&#8217;s easy to write down the general solution to the equations of motion</p>
  1103.  
  1104. <div class="numberedEq" id="e3375:Fsol"><span>(2)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><msup><mi>F</mi> <mrow><mi>&#x003BC;</mi><mi>&#x003BD;</mi></mrow></msup><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac><mo>&#x0222B;</mo><mfrac><mrow><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>&#x003C0;</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">&#x0007C;</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">&#x0007C;</mo></mrow></mfrac></mtd> <mtd><mrow><mo>(</mo><mi>&#x003BB;</mi><msup><mi>&#x003C3;</mi> <mrow><mi>&#x003BC;</mi><mi>&#x003BD;</mi></mrow></msup><mi>&#x003BB;</mi><msubsup><mi>&#x03B5;</mi> <mo lspace="0.11111em" rspace="0em">&#x02212;</mo> <mo>&#x02020;</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>+</mo><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup><msup><mover><mi>&#x003C3;</mi><mo>&#x000AF;</mo></mover> <mrow><mi>&#x003BC;</mi><mi>&#x003BD;</mi></mrow></msup><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup><msubsup><mi>&#x03B5;</mi> <mo lspace="0.11111em" rspace="0em">+</mo> <mo>&#x02020;</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mi>ik</mi><mo>&#x022C5;</mo><mi>x</mi></mrow></msup><mo>+</mo></mtd></mtr> <mtr><mtd/> <mtd><mo lspace="0.11111em" rspace="0em">+</mo><mrow><mo>(</mo><mi>&#x003BB;</mi><msup><mi>&#x003C3;</mi> <mrow><mi>&#x003BC;</mi><mi>&#x003BD;</mi></mrow></msup><mi>&#x003BB;</mi><msub><mi>&#x03B5;</mi> <mo lspace="0.11111em" rspace="0em">+</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>+</mo><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup><msup><mover><mi>&#x003C3;</mi><mo>&#x000AF;</mo></mover> <mrow><mi>&#x003BC;</mi><mi>&#x003BD;</mi></mrow></msup><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup><msub><mi>&#x03B5;</mi> <mo lspace="0.11111em" rspace="0em">&#x02212;</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow><msup><mi>e</mi> <mrow><mi>ik</mi><mo>&#x022C5;</mo><mi>x</mi></mrow></msup></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>\begin{aligned}
  1105. F^{\mu\nu}(x)= \frac{1}{\sqrt{2}}\int\frac{d^3\vec{k}}{{(2\pi)}^3 2|\vec{k}|}&amp;\left(\lambda\sigma^{\mu\nu}\lambda\varepsilon^\dagger_{&#x2d;}(\vec{k})+ \lambda^\dagger\overline{\sigma}^{\mu\nu}\lambda^\dagger \varepsilon^\dagger_{+}(\vec{k})\right)e^{&#x2d;ik\cdot x}+\\
  1106. &amp;+\left(\lambda\sigma^{\mu\nu}\lambda\varepsilon_{+}(\vec{k})+ \lambda^\dagger\overline{\sigma}^{\mu\nu}\lambda^\dagger \varepsilon_{&#x2d;}(\vec{k})\right)e^{ik\cdot x}
  1107. \end{aligned}
  1108. </annotation></semantics></math></div>
  1109.  
  1110. <p>The (non-degenerate) symplectic structure on the space of classical solutions leads to the Equal-Time Commutation Relations</p>
  1111.  
  1112. <div class="numberedEq" id="e3375:Fcomm"><span>(3)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mo stretchy="false">[</mo><msub><mi>F</mi> <mrow><mn>0</mn><mi>i</mi></mrow></msub><mo stretchy="false">(</mo><mover><mi>x</mi><mo stretchy="false">&#x02192;</mo></mover><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo><mo>,</mo><msub><mi>F</mi> <mrow><mi>j</mi><mi>k</mi></mrow></msub><mo stretchy="false">(</mo><mover><mi>x</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo><mo stretchy="false">]</mo><mo>=</mo><mi>i</mi><mrow><mo>(</mo><msub><mi>&#x003B4;</mi> <mrow><mi>i</mi><mi>k</mi></mrow></msub><mfrac><mo>&#x02202;</mo><mrow><mo>&#x02202;</mo><msup><mi>x</mi> <mi>j</mi></msup></mrow></mfrac><mo>&#x02212;</mo><msub><mi>&#x003B4;</mi> <mrow><mi>i</mi><mi>j</mi></mrow></msub><mfrac><mo>&#x02202;</mo><mrow><mo>&#x02202;</mo><msup><mi>x</mi> <mi>k</mi></msup></mrow></mfrac><mo>)</mo></mrow><msup><mi>&#x003B4;</mi> <mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow></msup><mo stretchy="false">(</mo><mover><mi>x</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02212;</mo><mover><mi>x</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>[F_{0i}(\vec{x},0),F_{j k}(\vec{x}&apos;,0)]=i\left(\delta_{i k}\frac{\partial}{\partial x^j}&#x2d;\delta_{i j}\frac{\partial}{\partial x^k}\right)\delta^{(3)}(\vec{x}&#x2d;\vec{x}&apos;)
  1113. </annotation></semantics></math></div>
  1114.  
  1115. <p>which, in turn, give the canonical commutation relations
  1116. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><mo stretchy="false">[</mo><msub><mi>&#x03B5;</mi> <mo>+</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>,</mo><msubsup><mi>&#x03B5;</mi> <mo>+</mo> <mo>&#x02020;</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo><mo stretchy="false">)</mo><mo stretchy="false">]</mo></mtd> <mtd><mo>=</mo><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>&#x003C0;</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">&#x0007C;</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">&#x0007C;</mo><msup><mi>&#x003B4;</mi> <mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow></msup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02212;</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd><mo stretchy="false">[</mo><msub><mi>&#x03B5;</mi> <mo>&#x02212;</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>,</mo><msubsup><mi>&#x03B5;</mi> <mo>&#x02212;</mo> <mo>&#x02020;</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo><mo stretchy="false">)</mo><mo stretchy="false">]</mo></mtd> <mtd><mo>=</mo><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>&#x003C0;</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">&#x0007C;</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">&#x0007C;</mo><msup><mi>&#x003B4;</mi> <mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow></msup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02212;</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd/></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
  1117. \begin{aligned}
  1118. [\varepsilon_+(\vec{k}),\varepsilon^\dagger_+(\vec{k}&apos;)]&amp;={(2\pi)}^3 2|\vec{k}| \delta^{(3)}(\vec{k}&#x2d;\vec{k}&apos;)\\
  1119. [\varepsilon_&#x2d;(\vec{k}),\varepsilon^\dagger_&#x2d;(\vec{k}&apos;)]&amp;={(2\pi)}^3 2|\vec{k}| \delta^{(3)}(\vec{k}&#x2d;\vec{k}&apos;)\\
  1120. \end{aligned}
  1121. </annotation></semantics></math>
  1122. of the creation and annihilation operators for photons of definite helicity.</p>
  1123.  
  1124. <p>Unfortunately, to couple to charged matter fields, we need an expression for <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>A</mi> <mi>&#x003BC;</mi></msup></mrow><annotation encoding='application/x-tex'>A^\mu</annotation></semantics></math>, not just <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>F</mi> <mrow><mi>&#x003BC;</mi><mi>&#x003BD;</mi></mrow></msup></mrow><annotation encoding='application/x-tex'>F^{\mu\nu}</annotation></semantics></math>, so (<a href="#e3375:Fsol">2</a>) does not quite suffice for our purposes. But, again, helicity spinors come to the rescue.</p>
  1125.  
  1126. <p>Introduce a fixed fiducial null vector <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mover><mi>k</mi><mo stretchy="false">&#x2c7;</mo></mover> <mn>2</mn></msup><mo>=</mo><mn>0</mn></mrow><annotation encoding='application/x-tex'>\check{k}^2=0</annotation></semantics></math> and the corresponding helicity spinors
  1127. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x2c7;</mo></mover><mo>&#x022C5;</mo><mi>&#x003C3;</mi><msub><mo stretchy="false">)</mo> <mrow><mi>&#x003B1;</mi><mover><mi>&#x003B2;</mi><mo>&#x002D9;</mo></mover></mrow></msub><mo>=</mo><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><msub><mi>&#x003BC;</mi> <mi>&#x003B1;</mi></msub><msubsup><mi>&#x003BC;</mi> <mover><mi>&#x003B2;</mi><mo>&#x002D9;</mo></mover> <mo>&#x02020;</mo></msubsup><mo>,</mo><mspace width="2em"/><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x2c7;</mo></mover><mo>&#x022C5;</mo><mover><mi>&#x003C3;</mi><mo>&#x000AF;</mo></mover><msup><mo stretchy="false">)</mo> <mrow><mover><mi>&#x003B1;</mi><mo>&#x002D9;</mo></mover><mi>&#x003B2;</mi></mrow></msup><mo>=</mo><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><msup><mi>&#x003BC;</mi> <mrow><mo>&#x02020;</mo><mover><mi>&#x003B1;</mi><mo>&#x002D9;</mo></mover></mrow></msup><msup><mi>&#x003BC;</mi> <mi>&#x003B2;</mi></msup></mrow><annotation encoding='application/x-tex'>
  1128.  (\check{k}\cdot\sigma)_{\alpha\dot\beta}= &#x2d;\mu_\alpha\mu^\dagger_{\dot\beta},\qquad (\check{k}\cdot\overline{\sigma})^{\dot\alpha\beta} = &#x2d;\mu^{\dagger\dot\alpha}\mu^\beta
  1129. </annotation></semantics></math>
  1130. We then can write </p>
  1131.  
  1132. <div class="numberedEq" id="e3375:Asol"><span>(4)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><msup><mi>A</mi> <mi>&#x003BC;</mi></msup><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>=</mo><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac><mo>&#x0222B;</mo><mfrac><mrow><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>&#x003C0;</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">&#x0007C;</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">&#x0007C;</mo></mrow></mfrac><mrow><mo>(</mo><mfrac><mrow><msup><mi>&#x003BC;</mi> <mo>&#x02020;</mo></msup><msup><mover><mi>&#x003C3;</mi><mo>&#x000AF;</mo></mover> <mi>&#x003BC;</mi></msup><mi>&#x003BB;</mi></mrow><mrow><msup><mi>&#x003BC;</mi> <mo>&#x02020;</mo></msup><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup></mrow></mfrac><msubsup><mi>&#x03B5;</mi> <mo lspace="0.11111em" rspace="0em">&#x02212;</mo> <mo>&#x02020;</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>+</mo><mfrac><mrow><mi>&#x003BC;</mi><msup><mi>&#x003C3;</mi> <mi>&#x003BC;</mi></msup><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup></mrow><mrow><mi>&#x003BC;</mi><mi>&#x003BB;</mi></mrow></mfrac><msubsup><mi>&#x03B5;</mi> <mo lspace="0.11111em" rspace="0em">+</mo> <mo>&#x02020;</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mi>ik</mi><mo>&#x022C5;</mo><mi>x</mi></mrow></msup><mo>+</mo></mtd></mtr> <mtr><mtd/> <mtd><mspace width="2em"/><mo>+</mo><mrow><mo>(</mo><mfrac><mrow><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup><msup><mover><mi>&#x003C3;</mi><mo>&#x000AF;</mo></mover> <mi>&#x003BC;</mi></msup><mi>&#x003BC;</mi></mrow><mrow><mi>&#x003BB;</mi><mi>&#x003BC;</mi></mrow></mfrac><msub><mi>&#x03B5;</mi> <mo lspace="0.11111em" rspace="0em">&#x02212;</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>+</mo><mfrac><mrow><mi>&#x003BB;</mi><msup><mi>&#x003C3;</mi> <mi>&#x003BC;</mi></msup><msup><mi>&#x003BC;</mi> <mo>&#x02020;</mo></msup></mrow><mrow><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup><msup><mi>&#x003BC;</mi> <mo>&#x02020;</mo></msup></mrow></mfrac><msub><mi>&#x03B5;</mi> <mo lspace="0.11111em" rspace="0em">+</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow><msup><mi>e</mi> <mrow><mi>ik</mi><mo>&#x022C5;</mo><mi>x</mi></mrow></msup></mtd></mtr> <mtr><mtd/> <mtd><mo>=</mo><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac><mo>&#x0222B;</mo><mfrac><mrow><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>&#x003C0;</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">&#x0007C;</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">&#x0007C;</mo></mrow></mfrac><mrow><mo>(</mo><mfrac><mrow><msup><mi>&#x003BC;</mi> <mo>&#x02020;</mo></msup><msup><mover><mi>&#x003C3;</mi><mo>&#x000AF;</mo></mover> <mi>&#x003BC;</mi></msup><mi>&#x003BB;</mi></mrow><mrow><msup><mi>&#x003BC;</mi> <mo>&#x02020;</mo></msup><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup></mrow></mfrac><msubsup><mi>&#x03B5;</mi> <mo lspace="0.11111em" rspace="0em">&#x02212;</mo> <mo>&#x02020;</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>+</mo><mfrac><mrow><mi>&#x003BC;</mi><msup><mi>&#x003C3;</mi> <mi>&#x003BC;</mi></msup><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup></mrow><mrow><mi>&#x003BC;</mi><mi>&#x003BB;</mi></mrow></mfrac><msubsup><mi>&#x03B5;</mi> <mo lspace="0.11111em" rspace="0em">+</mo> <mo>&#x02020;</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mi>ik</mi><mo>&#x022C5;</mo><mi>x</mi></mrow></msup></mtd></mtr> <mtr><mtd/> <mtd><mspace width="2em"/><mo>&#x02212;</mo><mrow><mo>(</mo><mfrac><mrow><mi>&#x003BC;</mi><msup><mi>&#x003C3;</mi> <mi>&#x003BC;</mi></msup><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup></mrow><mrow><mi>&#x003BC;</mi><mi>&#x003BB;</mi></mrow></mfrac><msub><mi>&#x03B5;</mi> <mo lspace="0.11111em" rspace="0em">&#x02212;</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>+</mo><mfrac><mrow><msup><mi>&#x003BC;</mi> <mo>&#x02020;</mo></msup><msup><mover><mi>&#x003C3;</mi><mo>&#x000AF;</mo></mover> <mi>&#x003BC;</mi></msup><mi>&#x003BB;</mi></mrow><mrow><msup><mi>&#x003BC;</mi> <mo>&#x02020;</mo></msup><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup></mrow></mfrac><msub><mi>&#x03B5;</mi> <mo lspace="0.11111em" rspace="0em">+</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow><msup><mi>e</mi> <mrow><mi>ik</mi><mo>&#x022C5;</mo><mi>x</mi></mrow></msup></mtd></mtr> <mtr><mtd/></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>\begin{aligned}
  1133. A^\mu(x)&amp;= \frac{1}{\sqrt{2}}\int\frac{d^3\vec{k}}{{(2\pi)}^3 2|\vec{k}|}\left(\frac{\mu^\dagger\overline{\sigma}^\mu\lambda}{\mu^\dagger\lambda^\dagger}\varepsilon^\dagger_{&#x2d;}(\vec{k})+ \frac{\mu\sigma^\mu\lambda^\dagger}{\mu\lambda} \varepsilon^\dagger_{+}(\vec{k})\right)e^{&#x2d;ik\cdot x}+\\
  1134. &amp;\qquad+\left(\frac{\lambda^\dagger\overline{\sigma}^\mu\mu}{\lambda\mu}\varepsilon_{&#x2d;}(\vec{k})+ \frac{\lambda\sigma^\mu\mu^\dagger}{\lambda^\dagger\mu^\dagger} \varepsilon_{+}(\vec{k})\right)e^{ik\cdot x}\\
  1135. &amp;=\frac{1}{\sqrt{2}}\int\frac{d^3\vec{k}}{{(2\pi)}^3 2|\vec{k}|}\left(\frac{\mu^\dagger\overline{\sigma}^\mu\lambda}{\mu^\dagger\lambda^\dagger}\varepsilon^\dagger_{&#x2d;}(\vec{k})+ \frac{\mu\sigma^\mu\lambda^\dagger}{\mu\lambda} \varepsilon^\dagger_{+}(\vec{k})\right)e^{&#x2d;ik\cdot x}\\
  1136. &amp;\qquad&#x2d;\left(\frac{\mu\sigma^\mu\lambda^\dagger}{\mu\lambda}\varepsilon_{&#x2d;}(\vec{k})+ \frac{\mu^\dagger\overline{\sigma}^\mu\lambda}{\mu^\dagger\lambda^\dagger} \varepsilon_{+}(\vec{k})\right)e^{ik\cdot x}\\
  1137. \end{aligned}
  1138. </annotation></semantics></math></div>
  1139.  
  1140. <p>which satisfies <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo>&#x02202;</mo><mo>&#x022C5;</mo><mi>A</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding='application/x-tex'>\partial\cdot A=0</annotation></semantics></math> and (exercise for the reader)
  1141. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><msup><mo>&#x02202;</mo> <mi>&#x003BC;</mi></msup><msup><mi>A</mi> <mi>&#x003BD;</mi></msup><mo>&#x02212;</mo><msup><mo>&#x02202;</mo> <mi>&#x003BD;</mi></msup><msup><mi>A</mi> <mi>&#x003BC;</mi></msup></mtd> <mtd><mo>=</mo><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac><mo>&#x0222B;</mo><mfrac><mrow><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>&#x003C0;</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">&#x0007C;</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">&#x0007C;</mo></mrow></mfrac><mrow><mo>(</mo><mi>&#x003BB;</mi><msup><mi>&#x003C3;</mi> <mrow><mi>&#x003BC;</mi><mi>&#x003BD;</mi></mrow></msup><mi>&#x003BB;</mi><msubsup><mi>&#x03B5;</mi> <mo lspace="0.11111em" rspace="0em">&#x02212;</mo> <mo>&#x02020;</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>+</mo><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup><msup><mover><mi>&#x003C3;</mi><mo>&#x000AF;</mo></mover> <mrow><mi>&#x003BC;</mi><mi>&#x003BD;</mi></mrow></msup><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup><msubsup><mi>&#x03B5;</mi> <mo lspace="0.11111em" rspace="0em">+</mo> <mo>&#x02020;</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mi>ik</mi><mo>&#x022C5;</mo><mi>x</mi></mrow></msup><mo>+</mo></mtd></mtr> <mtr><mtd/> <mtd><mspace width="2em"/><mo>+</mo><mrow><mo>(</mo><mi>&#x003BB;</mi><msup><mi>&#x003C3;</mi> <mrow><mi>&#x003BC;</mi><mi>&#x003BD;</mi></mrow></msup><mi>&#x003BB;</mi><msub><mi>&#x03B5;</mi> <mo lspace="0.11111em" rspace="0em">+</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>+</mo><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup><msup><mover><mi>&#x003C3;</mi><mo>&#x000AF;</mo></mover> <mrow><mi>&#x003BC;</mi><mi>&#x003BD;</mi></mrow></msup><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup><msub><mi>&#x03B5;</mi> <mo lspace="0.11111em" rspace="0em">&#x02212;</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow><msup><mi>e</mi> <mrow><mi>ik</mi><mo>&#x022C5;</mo><mi>x</mi></mrow></msup></mtd></mtr> <mtr><mtd/> <mtd><mo>=</mo><msup><mi>F</mi> <mrow><mi>&#x003BC;</mi><mi>&#x003BD;</mi></mrow></msup><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
  1142. \begin{aligned}
  1143. \partial^\mu A^\nu&#x2d;\partial^\nu A^\mu&amp;= \frac{1}{\sqrt{2}}\int\frac{d^3\vec{k}}{{(2\pi)}^3 2|\vec{k}|}\left(\lambda\sigma^{\mu\nu}\lambda\varepsilon^\dagger_{&#x2d;}(\vec{k})+ \lambda^\dagger\overline{\sigma}^{\mu\nu}\lambda^\dagger \varepsilon^\dagger_{+}(\vec{k})\right)e^{&#x2d;ik\cdot x}+\\
  1144. &amp;\qquad+\left(\lambda\sigma^{\mu\nu}\lambda\varepsilon_{+}(\vec{k})+ \lambda^\dagger\overline{\sigma}^{\mu\nu}\lambda^\dagger \varepsilon_{&#x2d;}(\vec{k})\right)e^{ik\cdot x}\\
  1145. &amp;=F^{\mu\nu}(x)
  1146. \end{aligned}
  1147. </annotation></semantics></math>
  1148. as before. Together, these ensure that changing the reference momentum <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mi>k</mi><mo stretchy="false">&#x2c7;</mo></mover></mrow><annotation encoding='application/x-tex'>\check{k}</annotation></semantics></math> changes <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>A</mi> <mi>&#x003BC;</mi></msup><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>A^\mu(x)</annotation></semantics></math> by a harmonic gauge transformation<sup>&#x2020;</sup>.</p>
  1149.  
  1150. <p>To completely justify (<a href="#e3375:Asol">4</a>), we choose R-<math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x003BE;</mi></mrow><annotation encoding='application/x-tex'>\xi</annotation></semantics></math> gauge, and use <abbr title="Batalin-Vilkovisky">BV</abbr>-<abbr title="Becchi-Rouet-Stora-Tyutin">BRST</abbr> quantization, but that&#8217;s the subject for another blog post.</p>
  1151.  
  1152. <p>Here, it suffices to say that the Feynman rules contract every external photon line with a <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mfrac><mrow><mi>&#x003BC;</mi><msup><mi>&#x003C3;</mi> <mi>&#x003BC;</mi></msup><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup></mrow><mrow><mi>&#x003BC;</mi><mi>&#x003BB;</mi></mrow></mfrac></mrow><annotation encoding='application/x-tex'>\frac{\mu\sigma^\mu\lambda^\dagger}{\mu\lambda}</annotation></semantics></math> or a <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mfrac><mrow><msup><mi>&#x003BC;</mi> <mo>&#x02020;</mo></msup><msup><mover><mi>&#x003C3;</mi><mo>&#x000AF;</mo></mover> <mi>&#x003BC;</mi></msup><mi>&#x003BB;</mi></mrow><mrow><msup><mi>&#x003BC;</mi> <mo>&#x02020;</mo></msup><msup><mi>&#x003BB;</mi> <mo>&#x02020;</mo></msup></mrow></mfrac></mrow><annotation encoding='application/x-tex'>\frac{\mu^\dagger\overline{\sigma}^\mu\lambda}{\mu^\dagger\lambda^\dagger}</annotation></semantics></math>, depending on the helicity of the incoming/outgoing photon. We&#8217;re free to make any choice of reference momentum <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mi>k</mi><mo stretchy="false">&#x2c7;</mo></mover></mrow><annotation encoding='application/x-tex'>\check{k}</annotation></semantics></math> that we want, but verifying that the final answer is independent of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mi>k</mi><mo stretchy="false">&#x2c7;</mo></mover></mrow><annotation encoding='application/x-tex'>\check{k}</annotation></semantics></math> is a nice check on our calculations.</p>
  1153.  
  1154. <hr />
  1155.  
  1156. <p><sup>&#x2020;</sup> Notoriously, Lorentz gauge <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo>&#x02202;</mo><mo>&#x022C5;</mo><mi>A</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding='application/x-tex'>\partial\cdot A = 0</annotation></semantics></math> does not completely fix the gauge: we can still shift <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>A</mi> <mi>&#x003BC;</mi></msub><mo>&#x02192;</mo><msub><mi>A</mi> <mi>&#x003BC;</mi></msub><mo>+</mo><msub><mo>&#x02202;</mo> <mi>&#x003BC;</mi></msub><mi>f</mi></mrow><annotation encoding='application/x-tex'>A_\mu\to A_\mu+\partial_\mu f</annotation></semantics></math>, where <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>f</mi></mrow><annotation encoding='application/x-tex'>f</annotation></semantics></math> is any solution to the scalar wave equation, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo>&#x025A1;</mo><mi>f</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding='application/x-tex'>\square f = 0</annotation></semantics></math>.</p>
  1157.  
  1158.      </div>
  1159.    </content>
  1160.  </entry>
  1161.  <entry>
  1162.    <title type="html">Cosmic Strings in the Standard Model</title>
  1163.    <link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003308.html" />
  1164.    <updated>2021-03-23T04:56:16Z</updated>
  1165.    <published>2021-03-21T00:27:15-06:00</published>
  1166.    <id>tag:golem.ph.utexas.edu,2021:%2F~distler%2Fblog%2F1.3308</id>
  1167.    <summary type="text">Prompted by some posts by John Baez, a little calculation with an unsurprising result.</summary>
  1168.    <author>
  1169.      <name>distler</name>
  1170.      <uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
  1171.      <email>distler@golem.ph.utexas.edu</email>
  1172.    </author>
  1173.    <category term="Physics" />
  1174.    <content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003308.html">
  1175.      <div xmlns="http://www.w3.org/1999/xhtml">
  1176. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  1177.  
  1178. <p>Over at the <a href="https://golem.ph.utexas.edu/category/">n-Category Caf&#x000E9;</a>, John Baez is making a <a href="https://golem.ph.utexas.edu/category/2021/03/can_we_understand_the_standard.html">big</a> <a href="https://golem.ph.utexas.edu/category/2021/03/octonions_and_the_standard_mod_12.html">deal</a> of the fact that the global form of the Standard Model gauge group is
  1179. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>G</mi><mo>=</mo><mo stretchy="false">(</mo><mi>SU</mi><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo><mo>&#x000D7;</mo><mi>SU</mi><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo><mo>&#x000D7;</mo><mi>U</mi><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo stretchy="false">/</mo><mi>N</mi></mrow><annotation encoding='application/x-tex'>
  1180.   G = (SU(3)\times SU(2)\times U(1))/N
  1181. </annotation></semantics></math>
  1182. where <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>N</mi></mrow><annotation encoding='application/x-tex'>N</annotation></semantics></math> is the <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x02124;</mi> <mn>6</mn></msub></mrow><annotation encoding='application/x-tex'>\mathbb{Z}_6</annotation></semantics></math> subgroup of the center of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>G</mi><mo>&#x02032;</mo><mo>=</mo><mi>SU</mi><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo><mo>&#x000D7;</mo><mi>SU</mi><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo><mo>&#x000D7;</mo><mi>U</mi><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>G&apos;=SU(3)\times SU(2)\times U(1)</annotation></semantics></math> generated by the element <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mrow><mo>(</mo><msup><mi>e</mi> <mrow><mn>2</mn><mi>&#x003C0;</mi><mi>i</mi><mo stretchy="false">/</mo><mn>3</mn></mrow></msup><mi>&#x1d7d9;</mi><mo>,</mo><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mi>&#x1d7d9;</mi><mo>,</mo><msup><mi>e</mi> <mrow><mn>2</mn><mi>&#x003C0;</mi><mi>i</mi><mo stretchy="false">/</mo><mn>6</mn></mrow></msup><mo>)</mo></mrow></mrow><annotation encoding='application/x-tex'>\left(e^{2\pi i/3}\mathbb{1},&#x2d;\mathbb{1},e^{2\pi i/6}\right)</annotation></semantics></math>.</p>
  1183.  
  1184. <p>The global form of the gauge group has various interesting topological effects. For instance, the fact that the center of the gauge group is <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>Z</mi><mo stretchy="false">(</mo><mi>G</mi><mo stretchy="false">)</mo><mo>=</mo><mi>U</mi><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>Z(G)= U(1)</annotation></semantics></math>, rather than <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>Z</mi><mo stretchy="false">(</mo><mi>G</mi><mo>&#x02032;</mo><mo stretchy="false">)</mo><mo>=</mo><mi>U</mi><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo><mo>&#x000D7;</mo><msub><mi>&#x02124;</mi> <mn>6</mn></msub></mrow><annotation encoding='application/x-tex'>Z(G&apos;)=U(1)\times \mathbb{Z}_6</annotation></semantics></math>, determines the global 1-form symmetry of the theory. It also determines the presence or absence of various topological defects (in particular, cosmic strings). I <a href="https://golem.ph.utexas.edu/category/2021/03/octonions_and_the_standard_mod_12.html#c059529">pointed this out</a>, but a proper explanation deserved a post of its own.</p>
  1185.  
  1186. <p>None of this is new. I&#8217;m pretty sure I spent a sunny afternoon in the summer of 1982 on the terrace of <a href="https://en.wikipedia.org/wiki/Caf%C3%A9_Pamplona">Caf&#x000E9; Pamplona</a> doing this calculation. (As any incoming graduate student should do, I spent many a sunny afternoon at a caf&#x000E9; doing this and similar calculations.)</p>
  1187.  
  1188. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  1189.  
  1190. <p>At low energies, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>G</mi></mrow><annotation encoding='application/x-tex'>G</annotation></semantics></math> is broken to the subgroup <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>H</mi><mo>=</mo><mi>U</mi><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>H=U(3)</annotation></semantics></math>, where the embedding <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>i</mi><mo lspace="0.11111em">&#x0003A;</mo><mi>H</mi><mo>&#x021AA;</mo><mi>G</mi></mrow><annotation encoding='application/x-tex'>i\colon H\hookrightarrow G</annotation></semantics></math> is given as follows. Let <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>h</mi><mo>&#x02208;</mo><mi>H</mi></mrow><annotation encoding='application/x-tex'>h\in H</annotation></semantics></math> and let <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>d</mi><mo>&#x02254;</mo><mi>det</mi><mo stretchy="false">(</mo><mi>h</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>d\coloneqq \det(h)</annotation></semantics></math>. Choose a 6th root
  1191. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>b</mi><mo>=</mo><msup><mi>d</mi> <mrow><mn>1</mn><mo stretchy="false">/</mo><mn>6</mn></mrow></msup></mrow><annotation encoding='application/x-tex'>
  1192.   b = d^{1/6}
  1193. </annotation></semantics></math>
  1194. Then</p>
  1195.  
  1196. <div class="numberedEq" id="e3308:idef"><span>(1)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>i</mi><mo stretchy="false">(</mo><mi>h</mi><mo stretchy="false">)</mo><mo>=</mo><mrow><mo>(</mo><mi>h</mi><msup><mi>b</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mn>2</mn></mrow></msup><mo>,</mo><mrow><mo>(</mo><mstyle scriptlevel="2"><mrow><mtable displaystyle="false" rowspacing="0.5ex"><mtr><mtd><msup><mi>b</mi> <mrow><mstyle mathcolor="red"><mo>&#x02212;</mo></mstyle><mn>3</mn></mrow></msup></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd><mn>0</mn></mtd> <mtd><msup><mi>b</mi> <mrow><mstyle mathcolor="red"><mo>+</mo></mstyle><mn>3</mn></mrow></msup></mtd></mtr></mtable></mrow></mstyle><mo>)</mo></mrow><mo>,</mo><msup><mi>b</mi> <mstyle mathcolor="red"><mo>&#x02212;</mo><mn>1</mn></mstyle></msup><mo>)</mo></mrow></mrow><annotation encoding='application/x-tex'>i(h) = \left(h b^{&#x2d;2}, \left(\begin{smallmatrix}b^{{\color{red}&#x2d;}3}&amp;0\\0&amp;b^{{\color{red}+}3}\end{smallmatrix}\right), b^{\color{red}&#x2d;1}\right)
  1197. </annotation></semantics></math></div>
  1198.  
  1199. <p>The ambiguity in defining <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>b</mi></mrow><annotation encoding='application/x-tex'>b</annotation></semantics></math> leads precisely to an ambiguity in <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>i</mi><mo stretchy="false">(</mo><mi>h</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>i(h)</annotation></semantics></math> by multiplication by an element of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>N</mi></mrow><annotation encoding='application/x-tex'>N</annotation></semantics></math>. Thus (<a href="#e3308:idef">1</a>) is ill-defined as a map to <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>G</mi><mo>&#x02032;</mo></mrow><annotation encoding='application/x-tex'>G&apos;</annotation></semantics></math>, but well-defined as a map to <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>G</mi></mrow><annotation encoding='application/x-tex'>G</annotation></semantics></math>.</p>
  1200.  
  1201. <p>The (would-be) cosmic strings associated to the breaking of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>G</mi></mrow><annotation encoding='application/x-tex'>G</annotation></semantics></math> to <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>H</mi></mrow><annotation encoding='application/x-tex'>H</annotation></semantics></math> are classified by <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x003C0;</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>G</mi><mo stretchy="false">/</mo><mi>H</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>\pi_1(G/H)</annotation></semantics></math>. Both <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x003C0;</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>H</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>\pi_1(H)</annotation></semantics></math> and <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x003C0;</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>G</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>\pi_1(G)</annotation></semantics></math> are equal to <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x02124;</mi></mrow><annotation encoding='application/x-tex'>\mathbb{Z}</annotation></semantics></math>. The <a href="https://en.wikipedia.org/wiki/Homotopy_group#Long_exact_sequence_of_a_fibration">long-exact sequence in homotopy</a> yields
  1202. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mn>0</mn><mo>&#x02192;</mo><msub><mi>&#x003C0;</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>H</mi><mo stretchy="false">)</mo><mo>&#x02192;</mo><msub><mi>&#x003C0;</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>G</mi><mo stretchy="false">)</mo><mo>&#x02192;</mo><msub><mi>&#x003C0;</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>G</mi><mo stretchy="false">/</mo><mi>H</mi><mo stretchy="false">)</mo><mo>&#x02192;</mo><mn>0</mn></mrow><annotation encoding='application/x-tex'>
  1203.   0\to \pi_1(H)\to \pi_1(G) \to \pi_1(G/H)\to 0
  1204. </annotation></semantics></math>
  1205. So what we need to do is compute the image of the generator of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x003C0;</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>H</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>\pi_1(H)</annotation></semantics></math> in <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x003C0;</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>G</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>\pi_1(G)</annotation></semantics></math>. If the image is <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>n</mi></mrow><annotation encoding='application/x-tex'>n</annotation></semantics></math> times the generator of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x003C0;</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>G</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>\pi_1(G)</annotation></semantics></math>, then the quotient is nontrivial and we have <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x02124;</mi> <mi>n</mi></msub></mrow><annotation encoding='application/x-tex'>\mathbb{Z}_n</annotation></semantics></math> cosmic strings.</p>
  1206.  
  1207. <p><math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x003C0;</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>G</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>\pi_1(G)</annotation></semantics></math> is generated by the (homotopy class of) the loop</p>
  1208.  
  1209. <div class="numberedEq" id="e3308:gsdef"><span>(2)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>g</mi><mo stretchy="false">(</mo><mi>s</mi><mo stretchy="false">)</mo><mo>=</mo><mrow><mo>(</mo><mrow><mo>(</mo><mstyle scriptlevel="2"><mrow><mtable displaystyle="false" rowspacing="0.5ex"><mtr><mtd><msup><mi>e</mi> <mrow><mn>2</mn><mi>&#x003C0;</mi><mi>i</mi><mi>s</mi><mo stretchy="false">/</mo><mn>3</mn></mrow></msup></mtd> <mtd><mn>0</mn></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd><mn>0</mn></mtd> <mtd><msup><mi>e</mi> <mrow><mn>2</mn><mi>&#x003C0;</mi><mi>i</mi><mi>s</mi><mo stretchy="false">/</mo><mn>3</mn></mrow></msup></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd><mn>0</mn></mtd> <mtd><mn>0</mn></mtd> <mtd><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mn>4</mn><mi>&#x003C0;</mi><mi>i</mi><mi>s</mi><mo stretchy="false">/</mo><mn>3</mn></mrow></msup></mtd></mtr></mtable></mrow></mstyle><mo>)</mo></mrow><mo>,</mo><mrow><mo>(</mo><mrow><mtable displaystyle="false" rowspacing="0.5ex"><mtr><mtd><msup><mi>e</mi> <mrow><mi>i</mi><mi>&#x003C0;</mi><mi>s</mi></mrow></msup></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd><mn>0</mn></mtd> <mtd><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mi>i</mi><mi>&#x003C0;</mi><mi>s</mi></mrow></msup></mtd></mtr></mtable></mrow><mo>)</mo></mrow><mo>,</mo><msup><mi>e</mi> <mrow><mn>2</mn><mi>&#x003C0;</mi><mi>i</mi><mi>s</mi><mo stretchy="false">/</mo><mn>6</mn></mrow></msup><mo>)</mo></mrow><mo>,</mo><mspace width="2em"/><mi>s</mi><mo>&#x02208;</mo><mo stretchy="false">[</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo stretchy="false">]</mo></mrow><annotation encoding='application/x-tex'>g(s)=\left(\left(\begin{smallmatrix}e^{2\pi i s/3}&amp;0&amp;0\\0&amp;e^{2\pi i s/3}&amp;0\\0&amp;0&amp;e^{&#x2d;4\pi i s/3}\end{smallmatrix}\right),\begin{pmatrix}e^{i\pi s}&amp;0\\0&amp;e^{&#x2d;i\pi s}\end{pmatrix},e^{2\pi i s/6}\right), \qquad s\in[0,1]
  1210. </annotation></semantics></math></div>
  1211.  
  1212. <p><math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x003C0;</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>H</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>\pi_1(H)</annotation></semantics></math> is generated by the loop</p>
  1213.  
  1214. <div class="numberedEq" id="e3308:hsdef"><span>(3)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>h</mi><mo stretchy="false">(</mo><mi>s</mi><mo stretchy="false">)</mo><mo>=</mo><mrow><mo>(</mo><mrow><mtable displaystyle="false" rowspacing="0.5ex"><mtr><mtd><mn>1</mn></mtd> <mtd><mn>0</mn></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd><mn>0</mn></mtd> <mtd><mn>1</mn></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd><mn>0</mn></mtd> <mtd><mn>0</mn></mtd> <mtd><msup><mi>e</mi> <mrow><mstyle mathcolor="red"><mo>&#x02212;</mo></mstyle><mn>2</mn><mi>&#x003C0;</mi><mi>i</mi><mi>s</mi></mrow></msup></mtd></mtr></mtable></mrow><mo>)</mo></mrow><mo>,</mo><mspace width="2em"/><mi>s</mi><mo>&#x02208;</mo><mo stretchy="false">[</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo stretchy="false">]</mo></mrow><annotation encoding='application/x-tex'>h(s)= \begin{pmatrix}1&amp;0&amp;0\\0&amp;1&amp;0\\0&amp;0&amp;e^{{\color{red} &#x2d;}2\pi i s}\end{pmatrix}, \qquad s\in[0,1]
  1215. </annotation></semantics></math></div>
  1216.  
  1217. <p>Plugging (<a href="#e3308:hsdef">3</a>) into (<a href="#e3308:idef">1</a>), we see that <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>i</mi><mo stretchy="false">(</mo><mi>h</mi><mo stretchy="false">(</mo><mi>s</mi><mo stretchy="false">)</mo><mo stretchy="false">)</mo><mo>=</mo><mi>g</mi><mo stretchy="false">(</mo><mi>s</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>i(h(s))=g(s)</annotation></semantics></math>. Hence <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x003C0;</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>G</mi><mo stretchy="false">/</mo><mi>H</mi><mo stretchy="false">)</mo><mo>=</mo><mn>0</mn></mrow><annotation encoding='application/x-tex'>\pi_1(G/H)=0</annotation></semantics></math> and there are no cosmic strings.</p>
  1218.  
  1219.      </div>
  1220.    </content>
  1221.  </entry>
  1222.  <entry>
  1223.    <title type="html">Entanglement for Laymen</title>
  1224.    <link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003186.html" />
  1225.    <updated>2020-01-06T22:57:30Z</updated>
  1226.    <published>2020-01-06T14:30:37-06:00</published>
  1227.    <id>tag:golem.ph.utexas.edu,2020:%2F~distler%2Fblog%2F1.3186</id>
  1228.    <summary type="text">I keep getting asked ...</summary>
  1229.    <author>
  1230.      <name>distler</name>
  1231.      <uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
  1232.      <email>distler@golem.ph.utexas.edu</email>
  1233.    </author>
  1234.    <category term="Physics" />
  1235.    <content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003186.html">
  1236.      <div xmlns="http://www.w3.org/1999/xhtml">
  1237. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  1238.  
  1239. <p>I&#8217;ve been asked, innumerable times, to explain quantum entanglement to some lay audience. Most of the elementary explanations that I have seen (heck, maybe all of them) fail to draw any meaningful distinction between &#8220;entanglement&#8221; and mere &#8220;(classical) correlation.&#8221;</p>
  1240.  
  1241. <p>This drives me up the wall, so each time I am asked, I strive to come up with an elementary explanation of the difference. Rather than keep reinventing the wheel, let me herewith record my latest attempt.</p>
  1242.  
  1243. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  1244.  
  1245. <p>&#8220;Entanglement&#8221; is a bit tricky to explain, versus &#8220;correlation&#8221; &#8212; which has a perfectly classical interpretation.</p>
  1246.  
  1247. <p>Say I tear a page of paper in two, crumple up the two pieces into balls and (at random) hand one to Adam and the other to Betty. They then go their separate ways and &#8212; sometime later &#8212; Adam unfolds his piece of paper. There&#8217;s a 50% chance that he got the top half, and 50% that he got the bottom half. But <em>if</em> he got the top half, we know for certain that Betty got the bottom half (and vice versa).</p>
  1248.  
  1249. <p>That&#8217;s correlation.</p>
  1250.  
  1251. <p>In this regard, the entangled state behaves exactly the same way. What distinguishes the entangled state from the merely correlated is something that doesn&#8217;t have a classical analogue. So let me shift from pieces of paper to photons.</p>
  1252.  
  1253. <p>You&#8217;re probably familiar with the polaroid filters in good sunglasses. They absorb light polarized along the horizontal axis, but transmit light polarized along the vertical axis. </p>
  1254.  
  1255. <p>Say, instead of crumpled pieces of paper, I send Adam and Betty a pair of photons.</p>
  1256.  
  1257. <p>In the correlated state, one photon is polarized horizontally, and one photon is polarized vertically, and there&#8217;s a 50% chance that Adam got the first while Betty got the second and a 50% chance that it&#8217;s the other way around.</p>
  1258.  
  1259. <p>Adam and Betty send their photons through polaroid filters, both aligned vertically. If Adam&#8217;s photon makes it through the filter, we can be certain that Betty&#8217;s gets absorbed and vice versa. Same is true if they both align their filters horizontally.</p>
  1260.  
  1261. <p>Say Adam aligns his filter horizontally, while Betty aligns hers vertically. Then either both photons make it though (with 50% probability) or both get absorbed (also with 50% probability).</p>
  1262.  
  1263. <p><em>All</em> of the above statements are also true in the entangled state.</p>
  1264.  
  1265. <p>The tricky thing, the thing that makes the entangled state <strong>different</strong> from the correlated state, is what happens if both Adam and Betty align their filters at a 45&#x00b0; angle. Now there&#8217;s a 50% chance that Adam&#8217;s photon makes it through his filter, and a 50% chance that Betty&#8217;s photon makes it through her filter.</p>
  1266.  
  1267. <p>(You can check this yourself, if you&#8217;re willing to sacrifice an old pair of sunglasses. Polarize a beam of light with one sunglass lens, and view it through the other sunglass lens. As you rotate the second lens, the intensity varies from 100% (when the lenses are aligned) to 0 (when they are at 90&#x00b0;). The intensity is 50% when the second lens is at 45&#x00b0;.)</p>
  1268.  
  1269. <p>So what is the probability that <strong>both</strong> Adam and Betty&#8217;s photons make it through? Well, if there&#8217;s a 50% chance that his made it through and a 50% chance that hers made it through, then you might surmise that there&#8217;s a 25% chance that both made it through. </p>
  1270.  
  1271. <p>That&#8217;s indeed the correct answer in the correlated state.</p>
  1272.  
  1273. <p>In fact, in the correlated state, each of the 4 possible outcomes (both photons made it through, Adam&#8217;s made it through but Betty&#8217;s got absorbed, Adam&#8217;s got absorbed but Betty&#8217;s made it through or both got absorbed) has a 25% chance of taking place.</p>
  1274.  
  1275. <p>But, in the entangled state, things are different.</p>
  1276.  
  1277. <p>In the entangled state, the probability that both photons made it through is 50% &#8211; the same as the probability that one made it through. In other words, if Adam&#8217;s photon made it through the 45&#x00b0; filter, then we can be certain that Betty&#8217;s made it through. And if Adam&#8217;s was absorbed, so was Betty&#8217;s. There&#8217;s zero chance that one of their photons made it through while the other got absorbed.</p>
  1278.  
  1279. <p>Unfortunately, while it&#8217;s fairly easy to create the correlated state with classical tools (polaroid filters, half-silvered mirrors, &#8230;), creating the entangled state requires some quantum mechanical ingredients. So you&#8217;ll just have to believe me that quantum mechanics allows for a state of two photons with all of the aforementioned properties.</p>
  1280.  
  1281. <p>Sorry if this explanation was a bit convoluted; I told you that entanglement is subtle&#8230;</p>
  1282.  
  1283.      </div>
  1284.    </content>
  1285.  </entry>
  1286.  <entry>
  1287.    <title type="html">Instiki 0.30.0 and tex2svg 1.0</title>
  1288.    <link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003093.html" />
  1289.    <updated>2019-05-20T06:10:29Z</updated>
  1290.    <published>2019-02-28T14:21:06-06:00</published>
  1291.    <id>tag:golem.ph.utexas.edu,2019:%2F~distler%2Fblog%2F1.3093</id>
  1292.    <summary type="text">A new release, with support for Tikz pictures</summary>
  1293.    <author>
  1294.      <name>distler</name>
  1295.      <uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
  1296.      <email>distler@golem.ph.utexas.edu</email>
  1297.    </author>
  1298.    <category term="Instiki" />
  1299.    <content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003093.html">
  1300.      <div xmlns="http://www.w3.org/1999/xhtml">
  1301. <p><a href="https://golem.ph.utexas.edu/wiki/instiki/">Instiki</a> is my wiki-cum-collaboration platform. It has a built-in <acronym title="What You See Is What You Get">WYSIWYG</acronym> vector-graphics drawing program, which is great for making figures. Unfortunately:</p>
  1302.  
  1303. <ul>
  1304. <li>An <a href="https://golem.ph.utexas.edu/~distler/blog/archives/002271.html">extra step</a> is required, in order to convert the resulting <abbr title="Scalable Vector Graphics">SVG</abbr> into <abbr title="Portable Document Format">PDF</abbr> for inclusion in the LaTeX paper. And what you end up with is a directory full of little <abbr>PDF</abbr> files (one for each figure), which need to be managed.</li>
  1305. <li>Many of my colleagues would rather use <a href="https://en.wikibooks.org/wiki/LaTeX/PGF/TikZ">Tikz</a>, which has become the de-facto standard for including figures in LaTeX.</li>
  1306. </ul>
  1307.  
  1308. <p><em>Obviously,</em> I needed to include Tikz support in <strong>Instiki</strong>. But, up until now, I didn&#8217;t really see a good way to do that, given that I wanted something that is</p>
  1309.  
  1310. <ol>
  1311. <li>Portable</li>
  1312. <li>Secure</li>
  1313. </ol>
  1314.  
  1315. <p>Both considerations pointed towards creating a separate, standalone piece of software to handle the conversion, which communicates with <strong>Instiki</strong> over a (local or remote) port. <a href="https://github.com/distler/tex2svg">tex2svg 1.0.1</a> requires a working <a href="https://www.tug.org/texlive/">TeX installation</a> and the <a href="http://www.cityinthesky.co.uk/opensource/pdf2svg/">pdf2svg</a> commandline utility. The latter, in turn, requires the <code>poppler-glib</code> library, which is easily obtained from your favourite package manager. E.g., under <a href="http://www.finkproject.org/">Fink</a>, on MacOS, you do a</p>
  1316.  
  1317. <blockquote>
  1318.  <p><code>fink install poppler8-glib</code></p>
  1319. </blockquote>
  1320.  
  1321. <p>before install <strong>pdf2svg</strong>. </p>
  1322.  
  1323. <p>But portability is not enough. If you&#8217;re going to expose <strong>Instiki</strong> over the internet, you also need to make it secure. TeX is a Turing-complete language with (limited) access to the file system. It is <em>trivial</em> to compose some simple LaTeX input which, when compiled, will</p>
  1324.  
  1325. <ul>
  1326. <li>exfiltrate sensitive information from the machine or </li>
  1327. <li><acronym title="Denial of Service">DoS</acronym> the machine by using up 100% of the <abbr title="Central Processing Unit">CPU</abbr> time or filling up 100% of the available disk space.</li>
  1328. </ul>
  1329.  
  1330. <p>You should never, <em>ever</em> compile a TeX file from an untrusted source.</p>
  1331.  
  1332. <p><strong>tex2svg</strong> rigorously filters its input, allowing only a known-safe subset of LaTeX commands through. And it limits the size of the input. So it should be safe to use, even on the internet.</p>
  1333.  
  1334. <p>After starting up the <strong>tex2svg</strong> server, you just uncomment the last line of <code>config/environments/production.rb</code> and restart <strong>Instiki</strong>. Now you can write something like</p>
  1335.  
  1336. <blockquote><pre><code>\begin{tikzpicture}[decoration={markings,
  1337. mark=at position .5 with {\arrow{>}}}]
  1338. \usetikzlibrary{arrows,shapes,decorations.markings}
  1339. \begin{scope}[scale=2.0]
  1340. \node[Bl,scale=.75] (or1) at (8,3) {};
  1341. \node[scale=1] at (8.7,2.9) {$D3$ brane};
  1342. \node[draw,diamond,fill=yellow,scale=.3] (A1) at (7,0) {};
  1343. \draw[dashed] (A1) -- (7,-.7);
  1344. \node[draw,diamond,fill=yellow,scale=.3] (A2) at (7.5,0) {};
  1345. \draw[dashed] (A2) -- (7.5,-.7);
  1346. \node[draw,diamond,fill=yellow,scale=.3] (A3) at (8,0) {};
  1347. \draw[dashed] (A3) -- (8,-.7);
  1348. \node[draw,diamond,fill=yellow,scale=.3] (A4) at (8.5,0) {};
  1349. \draw[dashed] (A4) -- (8.5,-.7);
  1350. \node[draw,diamond,fill=yellow,scale=.3] (A5) at (9,0) {};
  1351. \draw[dashed] (A5) -- (9,-.7);
  1352. \node[draw,circle,fill=aqua,scale=.3] (B) at (9.5,0) {};
  1353. \draw[dashed] (B) -- (9.5,-.7);
  1354. \node[draw,regular polygon,regular polygon sides=5,fill=purple,scale=.3] (C1) at (10,0) {};
  1355. \draw[dashed] (C1) -- (10,-.7);
  1356. \node[draw,regular polygon,regular polygon sides=5,fill=purple,scale=.3] (C2) at (10.5,0) {};
  1357. \draw[dashed] (C2) -- (10.5,-.7);
  1358. \draw (6.8,-.7) -- (6.8,-.9) to (9.2,-.9) to (9.2,-.7);
  1359. \draw (9.8,-.7) -- (9.8,-.9) to (10.7,-.9) to (10.7,-.7);
  1360. \draw[->-=.75] (C2) to (10.2,.35);
  1361. \draw[->-=.75] (C1) to (10.2,.35);
  1362. \node[scale=.6] at (9.9,.35) {$(2,2)$};
  1363. \draw[->-=.7] (B) to (9.6,.7);
  1364. \draw (10.2,.35) to (9.6,.7);
  1365. \node[scale=.6] at (9.35,.9) {$(4,0)$};
  1366. \draw[->-=.5] (9.1,.8) to (A5);
  1367. \draw (9.6,.7) to (9.1,.8) to (A5);
  1368. \draw (9.1,.8) to [out=170,in=280] (8.3,1.45);
  1369. \draw[dashed] (8.3,1.45) to (8.1,2.5);
  1370. \draw[->-=.5] (8.1,2.5) to (or1);
  1371. \node[scale=.75] at (7.7,2.7) {$(3,0)$};
  1372. %\draw (11.4,2.4) to [out=180,in=90] (6.2,-.5) to [out=90,in=0] (or1) -- cycle;
  1373. \node[scale=.75] at (8,-1.1) {A-type};
  1374. \node[scale=.75] at (9.5,-1.1) {B-type};
  1375. \node[scale=.75] at (10.25,-1.1) {C-type};
  1376. \draw[dashed] (8.7,.6) to [out=180,in=90] (6.2,-.55) to [out=270,in=180] (8.7,-1.6) to [out=0,in=270] (11.2,-.55) to [out=90,in=0] (8.7,.6) -- cycle;
  1377. \node[scale=1] at (12,.6) {$E_6$ singularity};
  1378. \end{scope}
  1379. \end{tikzpicture}</code></pre></blockquote>
  1380.  
  1381. <p>in <strong>Instiki</strong> and have it produce</p>
  1382.  
  1383. <div style='text-align: center'><svg height='264.139pt' version='1.1' viewBox='0 0 362.922 264.139' width='362.922pt' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'>
  1384. <defs>
  1385. <g>
  1386. <symbol id='glyph5385-0-0' overflow='visible'>
  1387. <path d='' style='stroke: none;'/>
  1388. </symbol>
  1389. <symbol id='glyph5385-0-1' overflow='visible'>
  1390. <path d='M 1.578125 -0.78125 C 1.484375 -0.390625 1.46875 -0.3125 0.671875 -0.3125 C 0.515625 -0.3125 0.40625 -0.3125 0.40625 -0.125 C 0.40625 0 0.484375 0 0.671875 0 L 3.984375 0 C 6.046875 0 8.015625 -2.109375 8.015625 -4.28125 C 8.015625 -5.6875 7.171875 -6.8125 5.671875 -6.8125 L 2.328125 -6.8125 C 2.140625 -6.8125 2.03125 -6.8125 2.03125 -6.625 C 2.03125 -6.5 2.109375 -6.5 2.3125 -6.5 C 2.4375 -6.5 2.625 -6.484375 2.734375 -6.484375 C 2.90625 -6.453125 2.953125 -6.4375 2.953125 -6.3125 C 2.953125 -6.28125 2.953125 -6.25 2.921875 -6.125 Z M 3.734375 -6.125 C 3.828125 -6.46875 3.84375 -6.5 4.28125 -6.5 L 5.34375 -6.5 C 6.3125 -6.5 7.140625 -5.96875 7.140625 -4.65625 C 7.140625 -4.171875 6.953125 -2.53125 6.09375 -1.4375 C 5.8125 -1.0625 5.03125 -0.3125 3.796875 -0.3125 L 2.671875 -0.3125 C 2.53125 -0.3125 2.515625 -0.3125 2.453125 -0.3125 C 2.359375 -0.328125 2.328125 -0.34375 2.328125 -0.421875 C 2.328125 -0.453125 2.328125 -0.46875 2.375 -0.640625 Z ' style='stroke: none;'/>
  1391. </symbol>
  1392. <symbol id='glyph5385-0-2' overflow='visible'>
  1393. <path d='M 7.0625 -2.328125 C 7.078125 -2.375 7.109375 -2.4375 7.109375 -2.46875 C 7.109375 -2.46875 7.109375 -2.578125 6.984375 -2.578125 C 6.890625 -2.578125 6.875 -2.515625 6.859375 -2.453125 C 6.203125 -0.984375 5.84375 -0.3125 4.140625 -0.3125 L 2.6875 -0.3125 C 2.546875 -0.3125 2.515625 -0.3125 2.46875 -0.3125 C 2.359375 -0.328125 2.328125 -0.34375 2.328125 -0.421875 C 2.328125 -0.453125 2.328125 -0.46875 2.375 -0.640625 L 3.0625 -3.375 L 4.046875 -3.375 C 4.890625 -3.375 4.890625 -3.15625 4.890625 -2.90625 C 4.890625 -2.84375 4.890625 -2.71875 4.828125 -2.421875 C 4.8125 -2.375 4.796875 -2.34375 4.796875 -2.3125 C 4.796875 -2.265625 4.828125 -2.203125 4.921875 -2.203125 C 5 -2.203125 5.03125 -2.25 5.078125 -2.40625 L 5.640625 -4.734375 C 5.640625 -4.796875 5.59375 -4.84375 5.515625 -4.84375 C 5.4375 -4.84375 5.40625 -4.78125 5.390625 -4.671875 C 5.171875 -3.90625 5 -3.671875 4.078125 -3.671875 L 3.140625 -3.671875 L 3.734375 -6.078125 C 3.828125 -6.4375 3.84375 -6.46875 4.28125 -6.46875 L 5.6875 -6.46875 C 6.890625 -6.46875 7.203125 -6.1875 7.203125 -5.359375 C 7.203125 -5.125 7.203125 -5.109375 7.15625 -4.828125 C 7.15625 -4.78125 7.140625 -4.703125 7.140625 -4.65625 C 7.140625 -4.609375 7.171875 -4.53125 7.265625 -4.53125 C 7.375 -4.53125 7.390625 -4.59375 7.40625 -4.78125 L 7.609375 -6.515625 C 7.640625 -6.78125 7.59375 -6.78125 7.34375 -6.78125 L 2.296875 -6.78125 C 2.109375 -6.78125 2 -6.78125 2 -6.578125 C 2 -6.46875 2.09375 -6.46875 2.28125 -6.46875 C 2.65625 -6.46875 2.9375 -6.46875 2.9375 -6.296875 C 2.9375 -6.25 2.9375 -6.234375 2.875 -6.046875 L 1.5625 -0.78125 C 1.46875 -0.390625 1.453125 -0.3125 0.65625 -0.3125 C 0.484375 -0.3125 0.375 -0.3125 0.375 -0.125 C 0.375 0 0.46875 0 0.65625 0 L 5.828125 0 C 6.0625 0 6.078125 -0.015625 6.140625 -0.171875 Z ' style='stroke: none;'/>
  1394. </symbol>
  1395. <symbol id='glyph5385-1-0' overflow='visible'>
  1396. <path d='' style='stroke: none;'/>
  1397. </symbol>
  1398. <symbol id='glyph5385-1-1' overflow='visible'>
  1399. <path d='M 2.890625 -3.515625 C 3.703125 -3.78125 4.28125 -4.46875 4.28125 -5.265625 C 4.28125 -6.078125 3.40625 -6.640625 2.453125 -6.640625 C 1.453125 -6.640625 0.6875 -6.046875 0.6875 -5.28125 C 0.6875 -4.953125 0.90625 -4.765625 1.203125 -4.765625 C 1.5 -4.765625 1.703125 -4.984375 1.703125 -5.28125 C 1.703125 -5.765625 1.234375 -5.765625 1.09375 -5.765625 C 1.390625 -6.265625 2.046875 -6.390625 2.40625 -6.390625 C 2.828125 -6.390625 3.375 -6.171875 3.375 -5.28125 C 3.375 -5.15625 3.34375 -4.578125 3.09375 -4.140625 C 2.796875 -3.65625 2.453125 -3.625 2.203125 -3.625 C 2.125 -3.609375 1.890625 -3.59375 1.8125 -3.59375 C 1.734375 -3.578125 1.671875 -3.5625 1.671875 -3.46875 C 1.671875 -3.359375 1.734375 -3.359375 1.90625 -3.359375 L 2.34375 -3.359375 C 3.15625 -3.359375 3.53125 -2.6875 3.53125 -1.703125 C 3.53125 -0.34375 2.84375 -0.0625 2.40625 -0.0625 C 1.96875 -0.0625 1.21875 -0.234375 0.875 -0.8125 C 1.21875 -0.765625 1.53125 -0.984375 1.53125 -1.359375 C 1.53125 -1.71875 1.265625 -1.921875 0.984375 -1.921875 C 0.734375 -1.921875 0.421875 -1.78125 0.421875 -1.34375 C 0.421875 -0.4375 1.34375 0.21875 2.4375 0.21875 C 3.65625 0.21875 4.5625 -0.6875 4.5625 -1.703125 C 4.5625 -2.515625 3.921875 -3.296875 2.890625 -3.515625 Z ' style='stroke: none;'/>
  1400. </symbol>
  1401. <symbol id='glyph5385-1-2' overflow='visible'>
  1402. <path d='M 1.71875 -3.765625 L 1.71875 -6.921875 L 0.28125 -6.8125 L 0.28125 -6.5 C 0.984375 -6.5 1.0625 -6.4375 1.0625 -5.9375 L 1.0625 0 L 1.3125 0 C 1.3125 -0.015625 1.390625 -0.15625 1.671875 -0.625 C 1.8125 -0.390625 2.234375 0.109375 2.96875 0.109375 C 4.15625 0.109375 5.1875 -0.875 5.1875 -2.15625 C 5.1875 -3.421875 4.21875 -4.40625 3.078125 -4.40625 C 2.296875 -4.40625 1.875 -3.9375 1.71875 -3.765625 Z M 1.75 -1.140625 L 1.75 -3.1875 C 1.75 -3.375 1.75 -3.390625 1.859375 -3.546875 C 2.25 -4.109375 2.796875 -4.1875 3.03125 -4.1875 C 3.484375 -4.1875 3.84375 -3.921875 4.078125 -3.546875 C 4.34375 -3.140625 4.359375 -2.578125 4.359375 -2.15625 C 4.359375 -1.796875 4.34375 -1.203125 4.0625 -0.75 C 3.84375 -0.4375 3.46875 -0.109375 2.9375 -0.109375 C 2.484375 -0.109375 2.125 -0.34375 1.890625 -0.71875 C 1.75 -0.921875 1.75 -0.953125 1.75 -1.140625 Z ' style='stroke: none;'/>
  1403. </symbol>
  1404. <symbol id='glyph5385-1-3' overflow='visible'>
  1405. <path d='M 1.671875 -3.3125 L 1.671875 -4.40625 L 0.28125 -4.296875 L 0.28125 -3.984375 C 0.984375 -3.984375 1.0625 -3.921875 1.0625 -3.421875 L 1.0625 -0.75 C 1.0625 -0.3125 0.953125 -0.3125 0.28125 -0.3125 L 0.28125 0 C 0.671875 -0.015625 1.140625 -0.03125 1.421875 -0.03125 C 1.8125 -0.03125 2.28125 -0.03125 2.6875 0 L 2.6875 -0.3125 L 2.46875 -0.3125 C 1.734375 -0.3125 1.71875 -0.421875 1.71875 -0.78125 L 1.71875 -2.3125 C 1.71875 -3.296875 2.140625 -4.1875 2.890625 -4.1875 C 2.953125 -4.1875 2.984375 -4.1875 3 -4.171875 C 2.96875 -4.171875 2.765625 -4.046875 2.765625 -3.78125 C 2.765625 -3.515625 2.984375 -3.359375 3.203125 -3.359375 C 3.375 -3.359375 3.625 -3.484375 3.625 -3.796875 C 3.625 -4.109375 3.3125 -4.40625 2.890625 -4.40625 C 2.15625 -4.40625 1.796875 -3.734375 1.671875 -3.3125 Z ' style='stroke: none;'/>
  1406. </symbol>
  1407. <symbol id='glyph5385-1-4' overflow='visible'>
  1408. <path d='M 3.3125 -0.75 C 3.359375 -0.359375 3.625 0.0625 4.09375 0.0625 C 4.3125 0.0625 4.921875 -0.078125 4.921875 -0.890625 L 4.921875 -1.453125 L 4.671875 -1.453125 L 4.671875 -0.890625 C 4.671875 -0.3125 4.421875 -0.25 4.3125 -0.25 C 3.984375 -0.25 3.9375 -0.703125 3.9375 -0.75 L 3.9375 -2.734375 C 3.9375 -3.15625 3.9375 -3.546875 3.578125 -3.921875 C 3.1875 -4.3125 2.6875 -4.46875 2.21875 -4.46875 C 1.390625 -4.46875 0.703125 -4 0.703125 -3.34375 C 0.703125 -3.046875 0.90625 -2.875 1.171875 -2.875 C 1.453125 -2.875 1.625 -3.078125 1.625 -3.328125 C 1.625 -3.453125 1.578125 -3.78125 1.109375 -3.78125 C 1.390625 -4.140625 1.875 -4.25 2.1875 -4.25 C 2.6875 -4.25 3.25 -3.859375 3.25 -2.96875 L 3.25 -2.609375 C 2.734375 -2.578125 2.046875 -2.546875 1.421875 -2.25 C 0.671875 -1.90625 0.421875 -1.390625 0.421875 -0.953125 C 0.421875 -0.140625 1.390625 0.109375 2.015625 0.109375 C 2.671875 0.109375 3.125 -0.296875 3.3125 -0.75 Z M 3.25 -2.390625 L 3.25 -1.390625 C 3.25 -0.453125 2.53125 -0.109375 2.078125 -0.109375 C 1.59375 -0.109375 1.1875 -0.453125 1.1875 -0.953125 C 1.1875 -1.5 1.609375 -2.328125 3.25 -2.390625 Z ' style='stroke: none;'/>
  1409. </symbol>
  1410. <symbol id='glyph5385-1-5' overflow='visible'>
  1411. <path d='M 1.09375 -3.421875 L 1.09375 -0.75 C 1.09375 -0.3125 0.984375 -0.3125 0.3125 -0.3125 L 0.3125 0 C 0.671875 -0.015625 1.171875 -0.03125 1.453125 -0.03125 C 1.703125 -0.03125 2.21875 -0.015625 2.5625 0 L 2.5625 -0.3125 C 1.890625 -0.3125 1.78125 -0.3125 1.78125 -0.75 L 1.78125 -2.59375 C 1.78125 -3.625 2.5 -4.1875 3.125 -4.1875 C 3.765625 -4.1875 3.875 -3.65625 3.875 -3.078125 L 3.875 -0.75 C 3.875 -0.3125 3.765625 -0.3125 3.09375 -0.3125 L 3.09375 0 C 3.4375 -0.015625 3.953125 -0.03125 4.21875 -0.03125 C 4.46875 -0.03125 5 -0.015625 5.328125 0 L 5.328125 -0.3125 C 4.8125 -0.3125 4.5625 -0.3125 4.5625 -0.609375 L 4.5625 -2.515625 C 4.5625 -3.375 4.5625 -3.671875 4.25 -4.03125 C 4.109375 -4.203125 3.78125 -4.40625 3.203125 -4.40625 C 2.46875 -4.40625 2 -3.984375 1.71875 -3.359375 L 1.71875 -4.40625 L 0.3125 -4.296875 L 0.3125 -3.984375 C 1.015625 -3.984375 1.09375 -3.921875 1.09375 -3.421875 Z ' style='stroke: none;'/>
  1412. </symbol>
  1413. <symbol id='glyph5385-1-6' overflow='visible'>
  1414. <path d='M 1.109375 -2.515625 C 1.171875 -4 2.015625 -4.25 2.359375 -4.25 C 3.375 -4.25 3.484375 -2.90625 3.484375 -2.515625 Z M 1.109375 -2.296875 L 3.890625 -2.296875 C 4.109375 -2.296875 4.140625 -2.296875 4.140625 -2.515625 C 4.140625 -3.5 3.59375 -4.46875 2.359375 -4.46875 C 1.203125 -4.46875 0.28125 -3.4375 0.28125 -2.1875 C 0.28125 -0.859375 1.328125 0.109375 2.46875 0.109375 C 3.6875 0.109375 4.140625 -1 4.140625 -1.1875 C 4.140625 -1.28125 4.0625 -1.3125 4 -1.3125 C 3.921875 -1.3125 3.890625 -1.25 3.875 -1.171875 C 3.53125 -0.140625 2.625 -0.140625 2.53125 -0.140625 C 2.03125 -0.140625 1.640625 -0.4375 1.40625 -0.8125 C 1.109375 -1.28125 1.109375 -1.9375 1.109375 -2.296875 Z ' style='stroke: none;'/>
  1415. </symbol>
  1416. <symbol id='glyph5385-1-7' overflow='visible'>
  1417. <path d='M 2.078125 -1.9375 C 2.296875 -1.890625 3.109375 -1.734375 3.109375 -1.015625 C 3.109375 -0.515625 2.765625 -0.109375 1.984375 -0.109375 C 1.140625 -0.109375 0.78125 -0.671875 0.59375 -1.53125 C 0.5625 -1.65625 0.5625 -1.6875 0.453125 -1.6875 C 0.328125 -1.6875 0.328125 -1.625 0.328125 -1.453125 L 0.328125 -0.125 C 0.328125 0.046875 0.328125 0.109375 0.4375 0.109375 C 0.484375 0.109375 0.5 0.09375 0.6875 -0.09375 C 0.703125 -0.109375 0.703125 -0.125 0.890625 -0.3125 C 1.328125 0.09375 1.78125 0.109375 1.984375 0.109375 C 3.125 0.109375 3.59375 -0.5625 3.59375 -1.28125 C 3.59375 -1.796875 3.296875 -2.109375 3.171875 -2.21875 C 2.84375 -2.546875 2.453125 -2.625 2.03125 -2.703125 C 1.46875 -2.8125 0.8125 -2.9375 0.8125 -3.515625 C 0.8125 -3.875 1.0625 -4.28125 1.921875 -4.28125 C 3.015625 -4.28125 3.078125 -3.375 3.09375 -3.078125 C 3.09375 -2.984375 3.1875 -2.984375 3.203125 -2.984375 C 3.34375 -2.984375 3.34375 -3.03125 3.34375 -3.21875 L 3.34375 -4.234375 C 3.34375 -4.390625 3.34375 -4.46875 3.234375 -4.46875 C 3.1875 -4.46875 3.15625 -4.46875 3.03125 -4.34375 C 3 -4.3125 2.90625 -4.21875 2.859375 -4.1875 C 2.484375 -4.46875 2.078125 -4.46875 1.921875 -4.46875 C 0.703125 -4.46875 0.328125 -3.796875 0.328125 -3.234375 C 0.328125 -2.890625 0.484375 -2.609375 0.75 -2.390625 C 1.078125 -2.140625 1.359375 -2.078125 2.078125 -1.9375 Z ' style='stroke: none;'/>
  1418. </symbol>
  1419. <symbol id='glyph5385-1-8' overflow='visible'>
  1420. <path d='M 1.765625 -4.40625 L 0.375 -4.296875 L 0.375 -3.984375 C 1.015625 -3.984375 1.109375 -3.921875 1.109375 -3.4375 L 1.109375 -0.75 C 1.109375 -0.3125 1 -0.3125 0.328125 -0.3125 L 0.328125 0 C 0.640625 -0.015625 1.1875 -0.03125 1.421875 -0.03125 C 1.78125 -0.03125 2.125 -0.015625 2.46875 0 L 2.46875 -0.3125 C 1.796875 -0.3125 1.765625 -0.359375 1.765625 -0.75 Z M 1.796875 -6.140625 C 1.796875 -6.453125 1.5625 -6.671875 1.28125 -6.671875 C 0.96875 -6.671875 0.75 -6.40625 0.75 -6.140625 C 0.75 -5.875 0.96875 -5.609375 1.28125 -5.609375 C 1.5625 -5.609375 1.796875 -5.828125 1.796875 -6.140625 Z ' style='stroke: none;'/>
  1421. </symbol>
  1422. <symbol id='glyph5385-1-9' overflow='visible'>
  1423. <path d='M 2.21875 -1.71875 C 1.34375 -1.71875 1.34375 -2.71875 1.34375 -2.9375 C 1.34375 -3.203125 1.359375 -3.53125 1.5 -3.78125 C 1.578125 -3.890625 1.8125 -4.171875 2.21875 -4.171875 C 3.078125 -4.171875 3.078125 -3.1875 3.078125 -2.953125 C 3.078125 -2.6875 3.078125 -2.359375 2.921875 -2.109375 C 2.84375 -2 2.609375 -1.71875 2.21875 -1.71875 Z M 1.0625 -1.328125 C 1.0625 -1.359375 1.0625 -1.59375 1.21875 -1.796875 C 1.609375 -1.515625 2.03125 -1.484375 2.21875 -1.484375 C 3.140625 -1.484375 3.828125 -2.171875 3.828125 -2.9375 C 3.828125 -3.3125 3.671875 -3.671875 3.421875 -3.90625 C 3.78125 -4.25 4.140625 -4.296875 4.3125 -4.296875 C 4.34375 -4.296875 4.390625 -4.296875 4.421875 -4.28125 C 4.3125 -4.25 4.25 -4.140625 4.25 -4.015625 C 4.25 -3.84375 4.390625 -3.734375 4.546875 -3.734375 C 4.640625 -3.734375 4.828125 -3.796875 4.828125 -4.03125 C 4.828125 -4.203125 4.71875 -4.515625 4.328125 -4.515625 C 4.125 -4.515625 3.6875 -4.453125 3.265625 -4.046875 C 2.84375 -4.375 2.4375 -4.40625 2.21875 -4.40625 C 1.28125 -4.40625 0.59375 -3.71875 0.59375 -2.953125 C 0.59375 -2.515625 0.8125 -2.140625 1.0625 -1.921875 C 0.9375 -1.78125 0.75 -1.453125 0.75 -1.09375 C 0.75 -0.78125 0.890625 -0.40625 1.203125 -0.203125 C 0.59375 -0.046875 0.28125 0.390625 0.28125 0.78125 C 0.28125 1.5 1.265625 2.046875 2.484375 2.046875 C 3.65625 2.046875 4.6875 1.546875 4.6875 0.765625 C 4.6875 0.421875 4.5625 -0.09375 4.046875 -0.375 C 3.515625 -0.640625 2.9375 -0.640625 2.328125 -0.640625 C 2.078125 -0.640625 1.65625 -0.640625 1.578125 -0.65625 C 1.265625 -0.703125 1.0625 -1 1.0625 -1.328125 Z M 2.5 1.828125 C 1.484375 1.828125 0.796875 1.3125 0.796875 0.78125 C 0.796875 0.328125 1.171875 -0.046875 1.609375 -0.0625 L 2.203125 -0.0625 C 3.0625 -0.0625 4.171875 -0.0625 4.171875 0.78125 C 4.171875 1.328125 3.46875 1.828125 2.5 1.828125 Z ' style='stroke: none;'/>
  1424. </symbol>
  1425. <symbol id='glyph5385-1-10' overflow='visible'>
  1426. <path d='M 3.890625 -0.78125 L 3.890625 0.109375 L 5.328125 0 L 5.328125 -0.3125 C 4.640625 -0.3125 4.5625 -0.375 4.5625 -0.875 L 4.5625 -4.40625 L 3.09375 -4.296875 L 3.09375 -3.984375 C 3.78125 -3.984375 3.875 -3.921875 3.875 -3.421875 L 3.875 -1.65625 C 3.875 -0.78125 3.390625 -0.109375 2.65625 -0.109375 C 1.828125 -0.109375 1.78125 -0.578125 1.78125 -1.09375 L 1.78125 -4.40625 L 0.3125 -4.296875 L 0.3125 -3.984375 C 1.09375 -3.984375 1.09375 -3.953125 1.09375 -3.078125 L 1.09375 -1.578125 C 1.09375 -0.796875 1.09375 0.109375 2.609375 0.109375 C 3.171875 0.109375 3.609375 -0.171875 3.890625 -0.78125 Z ' style='stroke: none;'/>
  1427. </symbol>
  1428. <symbol id='glyph5385-1-11' overflow='visible'>
  1429. <path d='M 1.765625 -6.921875 L 0.328125 -6.8125 L 0.328125 -6.5 C 1.03125 -6.5 1.109375 -6.4375 1.109375 -5.9375 L 1.109375 -0.75 C 1.109375 -0.3125 1 -0.3125 0.328125 -0.3125 L 0.328125 0 C 0.65625 -0.015625 1.1875 -0.03125 1.4375 -0.03125 C 1.6875 -0.03125 2.171875 -0.015625 2.546875 0 L 2.546875 -0.3125 C 1.875 -0.3125 1.765625 -0.3125 1.765625 -0.75 Z ' style='stroke: none;'/>
  1430. </symbol>
  1431. <symbol id='glyph5385-1-12' overflow='visible'>
  1432. <path d='M 1.71875 -3.984375 L 3.15625 -3.984375 L 3.15625 -4.296875 L 1.71875 -4.296875 L 1.71875 -6.125 L 1.46875 -6.125 C 1.46875 -5.3125 1.171875 -4.25 0.1875 -4.203125 L 0.1875 -3.984375 L 1.03125 -3.984375 L 1.03125 -1.234375 C 1.03125 -0.015625 1.96875 0.109375 2.328125 0.109375 C 3.03125 0.109375 3.3125 -0.59375 3.3125 -1.234375 L 3.3125 -1.796875 L 3.0625 -1.796875 L 3.0625 -1.25 C 3.0625 -0.515625 2.765625 -0.140625 2.390625 -0.140625 C 1.71875 -0.140625 1.71875 -1.046875 1.71875 -1.21875 Z ' style='stroke: none;'/>
  1433. </symbol>
  1434. <symbol id='glyph5385-1-13' overflow='visible'>
  1435. <path d='M 4.140625 -3.34375 C 4.390625 -3.984375 4.90625 -3.984375 5.0625 -3.984375 L 5.0625 -4.296875 C 4.828125 -4.28125 4.546875 -4.265625 4.3125 -4.265625 C 4.140625 -4.265625 3.671875 -4.28125 3.453125 -4.296875 L 3.453125 -3.984375 C 3.765625 -3.984375 3.921875 -3.8125 3.921875 -3.5625 C 3.921875 -3.453125 3.90625 -3.4375 3.859375 -3.3125 L 2.84375 -0.875 L 1.75 -3.546875 C 1.703125 -3.65625 1.6875 -3.6875 1.6875 -3.734375 C 1.6875 -3.984375 2.046875 -3.984375 2.25 -3.984375 L 2.25 -4.296875 C 1.984375 -4.28125 1.328125 -4.265625 1.15625 -4.265625 C 0.890625 -4.265625 0.484375 -4.28125 0.1875 -4.296875 L 0.1875 -3.984375 C 0.671875 -3.984375 0.859375 -3.984375 1 -3.640625 L 2.5 0 C 2.4375 0.125 2.296875 0.453125 2.25 0.59375 C 2.03125 1.140625 1.75 1.828125 1.109375 1.828125 C 1.0625 1.828125 0.828125 1.828125 0.640625 1.640625 C 0.953125 1.609375 1.03125 1.390625 1.03125 1.21875 C 1.03125 0.96875 0.84375 0.8125 0.609375 0.8125 C 0.40625 0.8125 0.1875 0.9375 0.1875 1.234375 C 0.1875 1.6875 0.609375 2.046875 1.109375 2.046875 C 1.734375 2.046875 2.140625 1.46875 2.375 0.90625 Z ' style='stroke: none;'/>
  1436. </symbol>
  1437. <symbol id='glyph5385-2-0' overflow='visible'>
  1438. <path d='' style='stroke: none;'/>
  1439. </symbol>
  1440. <symbol id='glyph5385-2-1' overflow='visible'>
  1441. <path d='M 1.984375 1.4375 C 1.984375 1.421875 1.984375 1.40625 1.875 1.296875 C 1.125 0.546875 0.9375 -0.578125 0.9375 -1.5 C 0.9375 -2.53125 1.171875 -3.578125 1.90625 -4.328125 C 1.984375 -4.40625 1.984375 -4.40625 1.984375 -4.421875 C 1.984375 -4.46875 1.953125 -4.484375 1.921875 -4.484375 C 1.859375 -4.484375 1.328125 -4.078125 0.96875 -3.328125 C 0.671875 -2.65625 0.59375 -2 0.59375 -1.5 C 0.59375 -1.03125 0.65625 -0.3125 0.984375 0.375 C 1.34375 1.109375 1.859375 1.5 1.921875 1.5 C 1.953125 1.5 1.984375 1.484375 1.984375 1.4375 Z ' style='stroke: none;'/>
  1442. </symbol>
  1443. <symbol id='glyph5385-2-2' overflow='visible'>
  1444. <path d='M 0.765625 -0.453125 L 1.390625 -1.078125 C 2.328125 -1.90625 2.6875 -2.21875 2.6875 -2.828125 C 2.6875 -3.5 2.140625 -3.984375 1.421875 -3.984375 C 0.734375 -3.984375 0.296875 -3.4375 0.296875 -2.90625 C 0.296875 -2.5625 0.59375 -2.5625 0.609375 -2.5625 C 0.71875 -2.5625 0.921875 -2.640625 0.921875 -2.890625 C 0.921875 -3.046875 0.8125 -3.203125 0.609375 -3.203125 C 0.5625 -3.203125 0.546875 -3.203125 0.53125 -3.1875 C 0.671875 -3.578125 1 -3.796875 1.34375 -3.796875 C 1.890625 -3.796875 2.140625 -3.3125 2.140625 -2.828125 C 2.140625 -2.34375 1.84375 -1.875 1.515625 -1.5 L 0.359375 -0.21875 C 0.296875 -0.15625 0.296875 -0.140625 0.296875 0 L 2.515625 0 L 2.6875 -1.046875 L 2.53125 -1.046875 C 2.5 -0.859375 2.46875 -0.59375 2.40625 -0.515625 C 2.359375 -0.453125 1.96875 -0.453125 1.84375 -0.453125 Z ' style='stroke: none;'/>
  1445. </symbol>
  1446. <symbol id='glyph5385-2-3' overflow='visible'>
  1447. <path d='M 1.734375 -1.5 C 1.734375 -1.96875 1.65625 -2.6875 1.328125 -3.359375 C 0.96875 -4.09375 0.453125 -4.484375 0.40625 -4.484375 C 0.359375 -4.484375 0.34375 -4.46875 0.34375 -4.421875 C 0.34375 -4.40625 0.34375 -4.40625 0.453125 -4.296875 C 1.046875 -3.703125 1.375 -2.75 1.375 -1.5 C 1.375 -0.46875 1.15625 0.578125 0.421875 1.328125 C 0.34375 1.40625 0.34375 1.421875 0.34375 1.4375 C 0.34375 1.46875 0.359375 1.5 0.40625 1.5 C 0.453125 1.5 1 1.09375 1.359375 0.328125 C 1.65625 -0.328125 1.734375 -1 1.734375 -1.5 Z ' style='stroke: none;'/>
  1448. </symbol>
  1449. <symbol id='glyph5385-2-4' overflow='visible'>
  1450. <path d='M 1.765625 -0.984375 L 1.765625 -0.46875 C 1.765625 -0.25 1.75 -0.1875 1.296875 -0.1875 L 1.171875 -0.1875 L 1.171875 0 C 1.421875 -0.015625 1.734375 -0.015625 1.984375 -0.015625 C 2.234375 -0.015625 2.5625 -0.015625 2.796875 0 L 2.796875 -0.1875 L 2.671875 -0.1875 C 2.234375 -0.1875 2.21875 -0.25 2.21875 -0.46875 L 2.21875 -0.984375 L 2.8125 -0.984375 L 2.8125 -1.171875 L 2.21875 -1.171875 L 2.21875 -3.890625 C 2.21875 -4.015625 2.21875 -4.046875 2.125 -4.046875 C 2.078125 -4.046875 2.046875 -4.046875 2 -3.984375 L 0.171875 -1.171875 L 0.171875 -0.984375 Z M 1.796875 -1.171875 L 0.328125 -1.171875 L 1.796875 -3.40625 Z ' style='stroke: none;'/>
  1451. </symbol>
  1452. <symbol id='glyph5385-2-5' overflow='visible'>
  1453. <path d='M 2.75 -1.921875 C 2.75 -2.390625 2.71875 -2.875 2.515625 -3.3125 C 2.234375 -3.890625 1.75 -3.984375 1.5 -3.984375 C 1.140625 -3.984375 0.703125 -3.828125 0.453125 -3.265625 C 0.265625 -2.859375 0.234375 -2.390625 0.234375 -1.921875 C 0.234375 -1.46875 0.25 -0.921875 0.5 -0.46875 C 0.765625 0.015625 1.203125 0.125 1.484375 0.125 C 1.8125 0.125 2.265625 0 2.53125 -0.5625 C 2.71875 -0.96875 2.75 -1.4375 2.75 -1.921875 Z M 1.484375 0 C 1.25 0 0.90625 -0.15625 0.796875 -0.71875 C 0.734375 -1.078125 0.734375 -1.640625 0.734375 -1.984375 C 0.734375 -2.375 0.734375 -2.765625 0.78125 -3.09375 C 0.890625 -3.796875 1.34375 -3.859375 1.484375 -3.859375 C 1.6875 -3.859375 2.078125 -3.75 2.203125 -3.15625 C 2.25 -2.8125 2.25 -2.359375 2.25 -1.984375 C 2.25 -1.53125 2.25 -1.125 2.1875 -0.75 C 2.09375 -0.171875 1.765625 0 1.484375 0 Z ' style='stroke: none;'/>
  1454. </symbol>
  1455. <symbol id='glyph5385-3-0' overflow='visible'>
  1456. <path d='' style='stroke: none;'/>
  1457. </symbol>
  1458. <symbol id='glyph5385-3-1' overflow='visible'>
  1459. <path d='M 1.21875 0 C 1.21875 -0.40625 1.0625 -0.640625 0.828125 -0.640625 C 0.640625 -0.640625 0.515625 -0.484375 0.515625 -0.3125 C 0.515625 -0.15625 0.640625 0 0.828125 0 C 0.90625 0 0.984375 -0.03125 1.046875 -0.078125 C 1.0625 -0.09375 1.0625 -0.09375 1.078125 -0.09375 C 1.078125 -0.09375 1.078125 -0.09375 1.078125 0 C 1.078125 0.4375 0.875 0.796875 0.671875 1 C 0.609375 1.0625 0.609375 1.078125 0.609375 1.09375 C 0.609375 1.125 0.640625 1.15625 0.671875 1.15625 C 0.734375 1.15625 1.21875 0.6875 1.21875 0 Z ' style='stroke: none;'/>
  1460. </symbol>
  1461. <symbol id='glyph5385-4-0' overflow='visible'>
  1462. <path d='' style='stroke: none;'/>
  1463. </symbol>
  1464. <symbol id='glyph5385-4-1' overflow='visible'>
  1465. <path d='M 2.46875 1.796875 C 2.46875 1.765625 2.46875 1.75 2.34375 1.625 C 1.40625 0.6875 1.171875 -0.71875 1.171875 -1.859375 C 1.171875 -3.171875 1.453125 -4.46875 2.375 -5.40625 C 2.46875 -5.484375 2.46875 -5.5 2.46875 -5.53125 C 2.46875 -5.578125 2.4375 -5.59375 2.390625 -5.59375 C 2.328125 -5.59375 1.65625 -5.09375 1.203125 -4.140625 C 0.828125 -3.328125 0.734375 -2.5 0.734375 -1.859375 C 0.734375 -1.28125 0.828125 -0.375 1.234375 0.46875 C 1.6875 1.375 2.328125 1.859375 2.390625 1.859375 C 2.4375 1.859375 2.46875 1.84375 2.46875 1.796875 Z ' style='stroke: none;'/>
  1466. </symbol>
  1467. <symbol id='glyph5385-4-2' overflow='visible'>
  1468. <path d='M 2.171875 -2.625 C 2.78125 -2.828125 3.21875 -3.359375 3.21875 -3.9375 C 3.21875 -4.5625 2.546875 -4.96875 1.84375 -4.96875 C 1.078125 -4.96875 0.515625 -4.53125 0.515625 -3.953125 C 0.515625 -3.71875 0.671875 -3.5625 0.890625 -3.5625 C 1.125 -3.5625 1.28125 -3.734375 1.28125 -3.953125 C 1.28125 -4.328125 0.921875 -4.328125 0.8125 -4.328125 C 1.046875 -4.6875 1.53125 -4.78125 1.8125 -4.78125 C 2.109375 -4.78125 2.53125 -4.625 2.53125 -3.953125 C 2.53125 -3.859375 2.515625 -3.421875 2.3125 -3.09375 C 2.09375 -2.734375 1.84375 -2.71875 1.65625 -2.71875 C 1.59375 -2.703125 1.40625 -2.6875 1.359375 -2.6875 C 1.296875 -2.6875 1.25 -2.671875 1.25 -2.59375 C 1.25 -2.515625 1.296875 -2.515625 1.421875 -2.515625 L 1.75 -2.515625 C 2.375 -2.515625 2.640625 -2.015625 2.640625 -1.28125 C 2.640625 -0.265625 2.125 -0.046875 1.796875 -0.046875 C 1.484375 -0.046875 0.921875 -0.171875 0.65625 -0.609375 C 0.921875 -0.578125 1.15625 -0.734375 1.15625 -1.015625 C 1.15625 -1.296875 0.953125 -1.4375 0.734375 -1.4375 C 0.546875 -1.4375 0.3125 -1.34375 0.3125 -1.015625 C 0.3125 -0.328125 1.015625 0.171875 1.828125 0.171875 C 2.734375 0.171875 3.40625 -0.515625 3.40625 -1.28125 C 3.40625 -1.890625 2.9375 -2.46875 2.171875 -2.625 Z ' style='stroke: none;'/>
  1469. </symbol>
  1470. <symbol id='glyph5385-4-3' overflow='visible'>
  1471. <path d='M 3.4375 -2.390625 C 3.4375 -2.984375 3.390625 -3.578125 3.140625 -4.140625 C 2.796875 -4.859375 2.1875 -4.96875 1.859375 -4.96875 C 1.421875 -4.96875 0.875 -4.78125 0.5625 -4.078125 C 0.328125 -3.5625 0.296875 -2.984375 0.296875 -2.390625 C 0.296875 -1.828125 0.328125 -1.15625 0.625 -0.59375 C 0.953125 0.015625 1.5 0.171875 1.859375 0.171875 C 2.265625 0.171875 2.828125 0 3.15625 -0.703125 C 3.390625 -1.21875 3.4375 -1.796875 3.4375 -2.390625 Z M 1.859375 0 C 1.5625 0 1.125 -0.1875 1 -0.90625 C 0.90625 -1.359375 0.90625 -2.03125 0.90625 -2.484375 C 0.90625 -2.953125 0.90625 -3.453125 0.96875 -3.859375 C 1.109375 -4.75 1.671875 -4.8125 1.859375 -4.8125 C 2.109375 -4.8125 2.59375 -4.671875 2.734375 -3.9375 C 2.8125 -3.515625 2.8125 -2.953125 2.8125 -2.484375 C 2.8125 -1.921875 2.8125 -1.40625 2.734375 -0.9375 C 2.625 -0.21875 2.203125 0 1.859375 0 Z ' style='stroke: none;'/>
  1472. </symbol>
  1473. <symbol id='glyph5385-4-4' overflow='visible'>
  1474. <path d='M 2.15625 -1.859375 C 2.15625 -2.453125 2.078125 -3.359375 1.671875 -4.203125 C 1.21875 -5.109375 0.578125 -5.59375 0.5 -5.59375 C 0.453125 -5.59375 0.421875 -5.578125 0.421875 -5.53125 C 0.421875 -5.5 0.421875 -5.484375 0.5625 -5.359375 C 1.296875 -4.609375 1.71875 -3.421875 1.71875 -1.859375 C 1.71875 -0.59375 1.453125 0.71875 0.515625 1.671875 C 0.421875 1.75 0.421875 1.765625 0.421875 1.796875 C 0.421875 1.84375 0.453125 1.859375 0.5 1.859375 C 0.578125 1.859375 1.25 1.359375 1.6875 0.40625 C 2.0625 -0.40625 2.15625 -1.234375 2.15625 -1.859375 Z ' style='stroke: none;'/>
  1475. </symbol>
  1476. <symbol id='glyph5385-4-5' overflow='visible'>
  1477. <path d='M 2.96875 -5.203125 C 2.9375 -5.296875 2.921875 -5.34375 2.796875 -5.34375 C 2.6875 -5.34375 2.65625 -5.296875 2.625 -5.203125 L 1.078125 -0.734375 C 0.9375 -0.34375 0.640625 -0.234375 0.234375 -0.234375 L 0.234375 0 C 0.40625 0 0.734375 -0.015625 1 -0.015625 C 1.234375 -0.015625 1.625 0 1.859375 0 L 1.859375 -0.234375 C 1.484375 -0.234375 1.296875 -0.421875 1.296875 -0.609375 C 1.296875 -0.640625 1.3125 -0.703125 1.3125 -0.71875 L 1.65625 -1.703125 L 3.5 -1.703125 L 3.90625 -0.5625 C 3.90625 -0.53125 3.921875 -0.484375 3.921875 -0.453125 C 3.921875 -0.234375 3.5 -0.234375 3.296875 -0.234375 L 3.296875 0 C 3.5625 -0.015625 4.09375 -0.015625 4.375 -0.015625 C 4.703125 -0.015625 5.046875 -0.015625 5.359375 0 L 5.359375 -0.234375 L 5.21875 -0.234375 C 4.765625 -0.234375 4.671875 -0.28125 4.578125 -0.53125 Z M 2.578125 -4.359375 L 3.421875 -1.9375 L 1.734375 -1.9375 Z ' style='stroke: none;'/>
  1478. </symbol>
  1479. <symbol id='glyph5385-4-6' overflow='visible'>
  1480. <path d='M 2.0625 -1.390625 L 2.0625 -1.828125 L 0.078125 -1.828125 L 0.078125 -1.390625 Z ' style='stroke: none;'/>
  1481. </symbol>
  1482. <symbol id='glyph5385-4-7' overflow='visible'>
  1483. <path d='M 1.296875 -2.984375 L 2.359375 -2.984375 L 2.359375 -3.21875 L 1.296875 -3.21875 L 1.296875 -4.59375 L 1.109375 -4.59375 C 1.09375 -3.984375 0.875 -3.1875 0.140625 -3.15625 L 0.140625 -2.984375 L 0.78125 -2.984375 L 0.78125 -0.921875 C 0.78125 0 1.46875 0.078125 1.734375 0.078125 C 2.265625 0.078125 2.484375 -0.453125 2.484375 -0.921875 L 2.484375 -1.359375 L 2.296875 -1.359375 L 2.296875 -0.9375 C 2.296875 -0.390625 2.0625 -0.109375 1.796875 -0.109375 C 1.296875 -0.109375 1.296875 -0.78125 1.296875 -0.90625 Z ' style='stroke: none;'/>
  1484. </symbol>
  1485. <symbol id='glyph5385-4-8' overflow='visible'>
  1486. <path d='M 3.09375 -2.515625 C 3.296875 -2.984375 3.671875 -2.984375 3.796875 -2.984375 L 3.796875 -3.21875 C 3.625 -3.203125 3.40625 -3.203125 3.234375 -3.203125 C 3.09375 -3.203125 2.75 -3.21875 2.578125 -3.21875 L 2.578125 -2.984375 C 2.8125 -2.984375 2.9375 -2.859375 2.9375 -2.671875 C 2.9375 -2.59375 2.921875 -2.578125 2.890625 -2.484375 L 2.140625 -0.65625 L 1.3125 -2.65625 C 1.28125 -2.734375 1.265625 -2.765625 1.265625 -2.796875 C 1.265625 -2.984375 1.53125 -2.984375 1.6875 -2.984375 L 1.6875 -3.21875 C 1.484375 -3.21875 1 -3.203125 0.859375 -3.203125 C 0.671875 -3.203125 0.359375 -3.203125 0.140625 -3.21875 L 0.140625 -2.984375 C 0.5 -2.984375 0.640625 -2.984375 0.75 -2.71875 L 1.859375 0 C 1.828125 0.09375 1.71875 0.34375 1.6875 0.4375 C 1.515625 0.84375 1.3125 1.359375 0.828125 1.359375 C 0.796875 1.359375 0.625 1.359375 0.484375 1.234375 C 0.703125 1.203125 0.765625 1.03125 0.765625 0.921875 C 0.765625 0.71875 0.625 0.609375 0.453125 0.609375 C 0.3125 0.609375 0.140625 0.703125 0.140625 0.921875 C 0.140625 1.265625 0.453125 1.53125 0.828125 1.53125 C 1.296875 1.53125 1.609375 1.109375 1.78125 0.671875 Z ' style='stroke: none;'/>
  1487. </symbol>
  1488. <symbol id='glyph5385-4-9' overflow='visible'>
  1489. <path d='M 1.28125 -2.8125 L 1.28125 -3.296875 L 0.203125 -3.21875 L 0.203125 -2.984375 C 0.734375 -2.984375 0.796875 -2.9375 0.796875 -2.609375 L 0.796875 0.875 C 0.796875 1.21875 0.703125 1.21875 0.203125 1.21875 L 0.203125 1.453125 C 0.46875 1.4375 0.84375 1.421875 1.046875 1.421875 C 1.25 1.421875 1.625 1.4375 1.890625 1.453125 L 1.890625 1.21875 C 1.390625 1.21875 1.3125 1.21875 1.3125 0.875 L 1.3125 -0.4375 C 1.34375 -0.328125 1.65625 0.078125 2.21875 0.078125 C 3.109375 0.078125 3.890625 -0.65625 3.890625 -1.609375 C 3.890625 -2.5625 3.171875 -3.296875 2.328125 -3.296875 C 1.75 -3.296875 1.4375 -2.96875 1.28125 -2.8125 Z M 1.3125 -0.84375 L 1.3125 -2.515625 C 1.53125 -2.890625 1.890625 -3.109375 2.265625 -3.109375 C 2.8125 -3.109375 3.265625 -2.453125 3.265625 -1.609375 C 3.265625 -0.703125 2.75 -0.078125 2.203125 -0.078125 C 1.890625 -0.078125 1.609375 -0.234375 1.40625 -0.53125 C 1.3125 -0.6875 1.3125 -0.703125 1.3125 -0.84375 Z ' style='stroke: none;'/>
  1490. </symbol>
  1491. <symbol id='glyph5385-4-10' overflow='visible'>
  1492. <path d='M 0.84375 -1.875 C 0.875 -3 1.515625 -3.1875 1.765625 -3.1875 C 2.53125 -3.1875 2.609375 -2.171875 2.609375 -1.875 Z M 0.828125 -1.71875 L 2.90625 -1.71875 C 3.078125 -1.71875 3.09375 -1.71875 3.09375 -1.875 C 3.09375 -2.625 2.703125 -3.34375 1.765625 -3.34375 C 0.890625 -3.34375 0.203125 -2.578125 0.203125 -1.640625 C 0.203125 -0.640625 1 0.078125 1.859375 0.078125 C 2.765625 0.078125 3.09375 -0.75 3.09375 -0.890625 C 3.09375 -0.96875 3.046875 -0.984375 3 -0.984375 C 2.9375 -0.984375 2.921875 -0.9375 2.90625 -0.875 C 2.640625 -0.109375 1.96875 -0.109375 1.890625 -0.109375 C 1.53125 -0.109375 1.21875 -0.328125 1.046875 -0.609375 C 0.828125 -0.96875 0.828125 -1.453125 0.828125 -1.71875 Z ' style='stroke: none;'/>
  1493. </symbol>
  1494. <symbol id='glyph5385-4-11' overflow='visible'>
  1495. <path d='M 1.65625 -2.734375 L 1.65625 -4.578125 C 1.65625 -4.8125 1.671875 -4.875 2.03125 -4.875 L 2.953125 -4.875 C 3.671875 -4.875 3.9375 -4.234375 3.9375 -3.84375 C 3.9375 -3.359375 3.5625 -2.734375 2.734375 -2.734375 Z M 3.421875 -2.671875 C 4.140625 -2.8125 4.65625 -3.28125 4.65625 -3.84375 C 4.65625 -4.484375 3.96875 -5.09375 3 -5.09375 L 0.265625 -5.09375 L 0.265625 -4.875 L 0.453125 -4.875 C 1.015625 -4.875 1.03125 -4.78125 1.03125 -4.515625 L 1.03125 -0.578125 C 1.03125 -0.3125 1.015625 -0.234375 0.453125 -0.234375 L 0.265625 -0.234375 L 0.265625 0 L 3.203125 0 C 4.1875 0 4.859375 -0.671875 4.859375 -1.359375 C 4.859375 -2.015625 4.25 -2.578125 3.421875 -2.671875 Z M 2.953125 -0.234375 L 2.03125 -0.234375 C 1.671875 -0.234375 1.65625 -0.28125 1.65625 -0.53125 L 1.65625 -2.5625 L 3.0625 -2.5625 C 3.796875 -2.5625 4.109375 -1.875 4.109375 -1.375 C 4.109375 -0.84375 3.734375 -0.234375 2.953125 -0.234375 Z ' style='stroke: none;'/>
  1496. </symbol>
  1497. <symbol id='glyph5385-4-12' overflow='visible'>
  1498. <path d='M 0.421875 -2.546875 C 0.421875 -1.015625 1.625 0.171875 3.015625 0.171875 C 4.234375 0.171875 4.96875 -0.875 4.96875 -1.734375 C 4.96875 -1.8125 4.96875 -1.859375 4.875 -1.859375 C 4.78125 -1.859375 4.78125 -1.828125 4.78125 -1.75 C 4.71875 -0.671875 3.921875 -0.0625 3.109375 -0.0625 C 2.65625 -0.0625 1.1875 -0.328125 1.1875 -2.546875 C 1.1875 -4.78125 2.640625 -5.03125 3.09375 -5.03125 C 3.90625 -5.03125 4.578125 -4.359375 4.734375 -3.265625 C 4.75 -3.15625 4.75 -3.140625 4.84375 -3.140625 C 4.96875 -3.140625 4.96875 -3.15625 4.96875 -3.3125 L 4.96875 -5.09375 C 4.96875 -5.21875 4.96875 -5.265625 4.890625 -5.265625 C 4.859375 -5.265625 4.828125 -5.265625 4.765625 -5.171875 L 4.390625 -4.625 C 4.109375 -4.890625 3.734375 -5.265625 3.015625 -5.265625 C 1.625 -5.265625 0.421875 -4.078125 0.421875 -2.546875 Z ' style='stroke: none;'/>
  1499. </symbol>
  1500. <symbol id='glyph5385-5-0' overflow='visible'>
  1501. <path d='' style='stroke: none;'/>
  1502. </symbol>
  1503. <symbol id='glyph5385-5-1' overflow='visible'>
  1504. <path d='M 1.515625 0 C 1.515625 -0.5 1.328125 -0.796875 1.03125 -0.796875 C 0.796875 -0.796875 0.640625 -0.609375 0.640625 -0.390625 C 0.640625 -0.1875 0.796875 0 1.03125 0 C 1.125 0 1.21875 -0.03125 1.296875 -0.09375 C 1.328125 -0.109375 1.328125 -0.125 1.34375 -0.125 C 1.34375 -0.125 1.359375 -0.109375 1.359375 0 C 1.359375 0.546875 1.09375 1 0.84375 1.234375 C 0.765625 1.328125 0.765625 1.34375 0.765625 1.359375 C 0.765625 1.40625 0.796875 1.4375 0.84375 1.4375 C 0.921875 1.4375 1.515625 0.859375 1.515625 0 Z ' style='stroke: none;'/>
  1505. </symbol>
  1506. <symbol id='glyph5385-6-0' overflow='visible'>
  1507. <path d='' style='stroke: none;'/>
  1508. </symbol>
  1509. <symbol id='glyph5385-6-1' overflow='visible'>
  1510. <path d='M 1.046875 -2.28125 C 1.046875 -2.84375 1.09375 -3.359375 1.359375 -3.796875 C 1.59375 -4.171875 1.96875 -4.421875 2.421875 -4.421875 C 2.625 -4.421875 2.90625 -4.375 3.046875 -4.1875 C 2.875 -4.171875 2.71875 -4.046875 2.71875 -3.84375 C 2.71875 -3.671875 2.84375 -3.515625 3.046875 -3.515625 C 3.265625 -3.515625 3.390625 -3.65625 3.390625 -3.859375 C 3.390625 -4.265625 3.09375 -4.625 2.40625 -4.625 C 1.40625 -4.625 0.375 -3.703125 0.375 -2.203125 C 0.375 -0.40625 1.21875 0.140625 2 0.140625 C 2.84375 0.140625 3.578125 -0.515625 3.578125 -1.421875 C 3.578125 -2.3125 2.875 -2.96875 2.0625 -2.96875 C 1.5 -2.96875 1.203125 -2.59375 1.046875 -2.28125 Z M 2 -0.078125 C 1.640625 -0.078125 1.375 -0.28125 1.21875 -0.59375 C 1.125 -0.796875 1.0625 -1.15625 1.0625 -1.5625 C 1.0625 -2.25 1.46875 -2.765625 2.03125 -2.765625 C 2.34375 -2.765625 2.5625 -2.640625 2.734375 -2.390625 C 2.90625 -2.125 2.90625 -1.828125 2.90625 -1.421875 C 2.90625 -1.03125 2.90625 -0.734375 2.71875 -0.453125 C 2.5625 -0.21875 2.328125 -0.078125 2 -0.078125 Z ' style='stroke: none;'/>
  1511. </symbol>
  1512. </g>
  1513. <clipPath id='clip1'>
  1514.  <path d='M 0 132 L 290 132 L 290 264.140625 L 0 264.140625 Z '/>
  1515. </clipPath>
  1516. </defs>
  1517. <g id='surface1'>
  1518. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1519.  <use x='121.327' xlink:href='#glyph5385-0-1' y='11.619'/>
  1520. </g>
  1521. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1522.  <use x='129.852' xlink:href='#glyph5385-1-1' y='11.619'/>
  1523. </g>
  1524. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1525.  <use x='138.150846' xlink:href='#glyph5385-1-2' y='11.619'/>
  1526.  <use x='143.686066' xlink:href='#glyph5385-1-3' y='11.619'/>
  1527.  <use x='147.588417' xlink:href='#glyph5385-1-4' y='11.619'/>
  1528.  <use x='152.569717' xlink:href='#glyph5385-1-5' y='11.619'/>
  1529.  <use x='158.104937' xlink:href='#glyph5385-1-6' y='11.619'/>
  1530. </g>
  1531. <path d='M 398.823344 -0.0013125 L 396.854594 1.967438 L 394.885844 -0.0013125 L 396.854594 -1.966156 Z ' style='fill-rule: nonzero; fill: rgb(100%,94.898987%,0%); fill-opacity: 1; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1532. <path d='M 396.854594 -2.052094 L 396.854594 -39.684906 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1533. <path d='M 427.171 -0.0013125 L 425.20225 1.967438 L 423.2335 -0.0013125 L 425.20225 -1.966156 Z ' style='fill-rule: nonzero; fill: rgb(100%,94.898987%,0%); fill-opacity: 1; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1534. <path d='M 425.20225 -2.052094 L 425.20225 -39.684906 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1535. <path d='M 455.51475 -0.0013125 L 453.549906 1.967438 L 451.581156 -0.0013125 L 453.549906 -1.966156 Z ' style='fill-rule: nonzero; fill: rgb(100%,94.898987%,0%); fill-opacity: 1; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1536. <path d='M 453.549906 -2.052094 L 453.549906 -39.684906 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1537. <path d='M 483.862406 -0.0013125 L 481.897562 1.967438 L 479.928812 -0.0013125 L 481.897562 -1.966156 Z ' style='fill-rule: nonzero; fill: rgb(100%,94.898987%,0%); fill-opacity: 1; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1538. <path d='M 481.897562 -2.052094 L 481.897562 -39.684906 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1539. <path d='M 512.210062 -0.0013125 L 510.241312 1.967438 L 508.276469 -0.0013125 L 510.241312 -1.966156 Z ' style='fill-rule: nonzero; fill: rgb(100%,94.898987%,0%); fill-opacity: 1; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1540. <path d='M 510.241312 -2.052094 L 510.241312 -39.684906 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1541. <path d='M 539.999125 -0.0013125 C 539.999125 0.779938 539.366312 1.408844 538.588969 1.408844 C 537.811625 1.408844 537.178812 0.779938 537.178812 -0.0013125 C 537.178812 -0.778656 537.811625 -1.407562 538.588969 -1.407562 C 539.366312 -1.407562 539.999125 -0.778656 539.999125 -0.0013125 Z ' style='fill-rule: nonzero; fill: rgb(0%,100%,100%); fill-opacity: 1; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1542. <path d='M 538.588969 -1.470062 L 538.588969 -39.684906 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1543. <path d='M 566.936625 1.740875 L 565.280375 0.53775 L 565.913187 -1.407562 L 567.960062 -1.407562 L 568.592875 0.53775 Z ' style='fill-rule: nonzero; fill: rgb(50.19989%,0%,50.19989%); fill-opacity: 1; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1544. <path d='M 566.936625 -1.470062 L 566.936625 -39.684906 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1545. <path d='M 595.284281 1.740875 L 593.628031 0.53775 L 594.260844 -1.407562 L 596.307719 -1.407562 L 596.940531 0.53775 Z ' style='fill-rule: nonzero; fill: rgb(50.19989%,0%,50.19989%); fill-opacity: 1; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1546. <path d='M 595.284281 -1.470062 L 595.284281 -39.684906 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1547. <path d='M 385.518656 -39.684906 L 385.518656 -51.02475 L 521.581156 -51.02475 L 521.581156 -39.684906 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1548. <path d='M 555.596781 -39.684906 L 555.596781 -51.02475 L 606.620219 -51.02475 L 606.620219 -39.684906 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1549. <path d='M 594.323344 1.119781 L 578.573344 19.494781 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1550. <path d='M -1.195421 1.594645 C -1.097051 0.997648 -0.00101491 0.0991926 0.299171 0.000817526 C -0.0022826 -0.0996653 -1.095373 -0.998109 -1.195861 -1.593838 ' style='fill: none; stroke-width: 0.31879; stroke-linecap: round; stroke-linejoin: round; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(-0.65309,-0.76193,-0.76193,0.65309,227.27804,153.07507)'/>
  1551. <path d='M 567.671 1.283844 L 578.046 19.444 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1552. <path d='M -1.19503 1.593683 C -1.097222 0.997608 0.0000106325 0.10034 0.299257 0.00155713 C 0.000493138 -0.097221 -1.094819 -0.997375 -1.194573 -1.593932 ' style='fill: none; stroke-width: 0.31879; stroke-linecap: round; stroke-linejoin: round; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(0.49643,-0.86877,-0.86877,-0.49643,226.75123,153.12404)'/>
  1553. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1554.  <use x='203.321' xlink:href='#glyph5385-2-1' y='154.22'/>
  1555.  <use x='205.645673' xlink:href='#glyph5385-2-2' y='154.22'/>
  1556. </g>
  1557. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1558.  <use x='208.6346' xlink:href='#glyph5385-3-1' y='154.22'/>
  1559. </g>
  1560. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1561.  <use x='211.2914' xlink:href='#glyph5385-2-2' y='154.22'/>
  1562.  <use x='214.28018' xlink:href='#glyph5385-2-3' y='154.22'/>
  1563. </g>
  1564. <path d='M 538.796 1.455719 L 544.194437 39.233063 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1565. <path d='M -1.196161 1.592032 C -1.095105 0.995095 -0.0006237 0.0983102 0.29757 -0.00108661 C -0.0000709335 -0.0988285 -1.094547 -0.996724 -1.194495 -1.594766 ' style='fill: none; stroke-width: 0.31879; stroke-linecap: round; stroke-linejoin: round; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(0.14148,-0.99034,-0.99034,-0.14148,192.89823,133.33751)'/>
  1566. <path d='M 578.276469 19.842438 L 544.260844 39.686188 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1567. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1568.  <use x='172.141' xlink:href='#glyph5385-2-1' y='123.04'/>
  1569.  <use x='174.465673' xlink:href='#glyph5385-2-4' y='123.04'/>
  1570. </g>
  1571. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1572.  <use x='177.454' xlink:href='#glyph5385-3-1' y='123.04'/>
  1573. </g>
  1574. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1575.  <use x='180.1108' xlink:href='#glyph5385-2-5' y='123.04'/>
  1576.  <use x='183.09958' xlink:href='#glyph5385-2-3' y='123.04'/>
  1577. </g>
  1578. <path d='M 515.913187 45.354156 L 510.526469 2.279938 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1579. <path d='M -1.195006 1.592576 C -1.096726 0.995042 -0.0014377 0.101134 0.298294 0.000891144 C 0.00000925408 -0.0993346 -1.095814 -0.995601 -1.194128 -1.594098 ' style='fill: none; stroke-width: 0.31879; stroke-linecap: round; stroke-linejoin: round; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(-0.12408,0.99287,0.99287,0.12408,159.23144,170.28966)'/>
  1580. <path d='M 544.260844 39.686188 L 515.913187 45.354156 L 510.471781 1.822906 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1581. <path d='M 515.913187 45.354156 C 493.417094 49.322906 474.522562 59.709625 470.557719 82.205719 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1582. <path d='M 470.557719 82.205719 L 459.217875 141.733063 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1583. <path d='M 459.217875 141.733063 L 454.167094 166.990875 ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1584. <path d='M -1.195876 1.593196 C -1.096288 0.995655 -0.000799519 0.0993385 0.297971 -0.000252933 C -0.0008003 -0.099842 -1.096296 -0.99615 -1.195889 -1.593691 ' style='fill: none; stroke-width: 0.31879; stroke-linecap: round; stroke-linejoin: round; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(-0.19612,-0.98058,-0.98058,0.19612,102.87069,5.57739)'/>
  1585. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1586.  <use x='76.936' xlink:href='#glyph5385-4-1' y='21.366'/>
  1587.  <use x='79.841841' xlink:href='#glyph5385-4-2' y='21.366'/>
  1588. </g>
  1589. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1590.  <use x='83.578' xlink:href='#glyph5385-5-1' y='21.366'/>
  1591. </g>
  1592. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1593.  <use x='86.899' xlink:href='#glyph5385-4-3' y='21.366'/>
  1594.  <use x='90.634975' xlink:href='#glyph5385-4-4' y='21.366'/>
  1595. </g>
  1596. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1597.  <use x='91.039' xlink:href='#glyph5385-4-5' y='236.758'/>
  1598.  <use x='96.642963' xlink:href='#glyph5385-4-6' y='236.758'/>
  1599.  <use x='99.133363' xlink:href='#glyph5385-4-7' y='236.758'/>
  1600. </g>
  1601. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1602.  <use x='101.82999' xlink:href='#glyph5385-4-8' y='236.758'/>
  1603.  <use x='105.773685' xlink:href='#glyph5385-4-9' y='236.758'/>
  1604. </g>
  1605. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1606.  <use x='110.134315' xlink:href='#glyph5385-4-10' y='236.758'/>
  1607. </g>
  1608. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1609.  <use x='176.234' xlink:href='#glyph5385-4-11' y='236.758'/>
  1610.  <use x='181.526382' xlink:href='#glyph5385-4-6' y='236.758'/>
  1611.  <use x='184.016783' xlink:href='#glyph5385-4-7' y='236.758'/>
  1612. </g>
  1613. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1614.  <use x='186.71341' xlink:href='#glyph5385-4-8' y='236.758'/>
  1615.  <use x='190.657105' xlink:href='#glyph5385-4-9' y='236.758'/>
  1616. </g>
  1617. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1618.  <use x='195.017735' xlink:href='#glyph5385-4-10' y='236.758'/>
  1619. </g>
  1620. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1621.  <use x='218.702' xlink:href='#glyph5385-4-12' y='236.758'/>
  1622.  <use x='224.098242' xlink:href='#glyph5385-4-6' y='236.758'/>
  1623.  <use x='226.588643' xlink:href='#glyph5385-4-7' y='236.758'/>
  1624. </g>
  1625. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1626.  <use x='229.28527' xlink:href='#glyph5385-4-8' y='236.758'/>
  1627.  <use x='233.228965' xlink:href='#glyph5385-4-9' y='236.758'/>
  1628. </g>
  1629. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1630.  <use x='237.589595' xlink:href='#glyph5385-4-10' y='236.758'/>
  1631. </g>
  1632. <g clip-path='url(#clip1)' clip-rule='nonzero'>
  1633. <path d='M 493.2335 34.018219 C 432.530375 34.018219 351.499125 29.522125 351.499125 -31.181 C 351.499125 -91.372406 433.042094 -90.708344 493.2335 -90.708344 C 553.424906 -90.708344 634.967875 -91.372406 634.967875 -31.181 C 634.967875 29.522125 553.940531 34.018219 493.2335 34.018219 Z ' style='fill: none; stroke-width: 0.3985; stroke-linecap: butt; stroke-linejoin: miter; stroke: rgb(0%,0%,0%); stroke-opacity: 1;' transform='matrix(1,0,0,-1,-351.296,172.569)'/>
  1634. </g>
  1635. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1636.  <use x='298.435' xlink:href='#glyph5385-0-2' y='141.043'/>
  1637. </g>
  1638. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1639.  <use x='305.789' xlink:href='#glyph5385-6-1' y='142.538'/>
  1640. </g>
  1641. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1642.  <use x='313.58' xlink:href='#glyph5385-1-7' y='141.043'/>
  1643.  <use x='317.509249' xlink:href='#glyph5385-1-8' y='141.043'/>
  1644.  <use x='320.27686' xlink:href='#glyph5385-1-5' y='141.043'/>
  1645.  <use x='325.81208' xlink:href='#glyph5385-1-9' y='141.043'/>
  1646.  <use x='330.79338' xlink:href='#glyph5385-1-10' y='141.043'/>
  1647.  <use x='336.328601' xlink:href='#glyph5385-1-11' y='141.043'/>
  1648.  <use x='339.096211' xlink:href='#glyph5385-1-4' y='141.043'/>
  1649.  <use x='344.077511' xlink:href='#glyph5385-1-3' y='141.043'/>
  1650.  <use x='347.979862' xlink:href='#glyph5385-1-8' y='141.043'/>
  1651.  <use x='350.747472' xlink:href='#glyph5385-1-12' y='141.043'/>
  1652. </g>
  1653. <g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
  1654.  <use x='354.342974' xlink:href='#glyph5385-1-13' y='141.043'/>
  1655. </g>
  1656. </g>
  1657. </svg>
  1658. </div>
  1659.  
  1660. <p><a href="https://github.com/parasew/instiki/releases/tag/0.30.0">Instiki 0.30.0</a> incorporates these changes, is compatible with Ruby 2.6, and greatly accelerates the process of saving pages (over previous versions).</p>
  1661.  
  1662.      </div>
  1663.    </content>
  1664.  </entry>
  1665.  <entry>
  1666.    <title type="html">Brotli</title>
  1667.    <link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003089.html" />
  1668.    <updated>2019-05-23T04:32:04Z</updated>
  1669.    <published>2019-02-15T09:47:07-06:00</published>
  1670.    <id>tag:golem.ph.utexas.edu,2019:%2F~distler%2Fblog%2F1.3089</id>
  1671.    <summary type="text">Another WebServer-related post</summary>
  1672.    <author>
  1673.      <name>distler</name>
  1674.      <uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
  1675.      <email>distler@golem.ph.utexas.edu</email>
  1676.    </author>
  1677.    <category term="Computers" />
  1678.    <content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003089.html">
  1679.      <div xmlns="http://www.w3.org/1999/xhtml">
  1680. <p>I finally got around to enabling <a href="https://medium.com/oyotech/how-brotli-compression-gave-us-37-latency-improvement-14d41e50fee4">Brotli compression</a> on Golem. Reading the <a href="https://httpd.apache.org/docs/2.4/mod/mod_brotli.html">manual</a>, I came across the <a href="https://httpd.apache.org/docs/2.4/mod/mod_brotli.html#brotlialteretag"><code>BrotliAlterETag</code></a> directive:</p>
  1681.  
  1682. <div style='border: 1px solid grey; padding: 10px; overflow:auto;'>
  1683. <b style='margin-right:10px'>Description:</b> How the outgoing ETag header should be modified during compression<br/>
  1684. <b style='margin-right:10px'>Syntax:</b> <code>BrotliAlterETag AddSuffix|NoChange|Remove</code>
  1685. </div>
  1686.  
  1687. <p>with the description:</p>
  1688.  
  1689. <blockquote><dl><dt>AddSuffix</dt>
  1690. <dd>Append the compression method onto the end of the ETag, causing compressed and uncompressed representations to have unique ETags. In another dynamic compression module, <code>mod_deflate</code>, this has been the default since 2.4.0. This setting prevents serving &#8220;<code>HTTP Not Modified (304)</code>&#8221; responses to conditional requests for compressed content.</dd>
  1691. <dt>NoChange</dt>
  1692. <dd>Don&#8217;t change the ETag on a compressed response. In another dynamic compression module, <code>mod_deflate</code>, this has been the default prior to 2.4.0. This setting does not satisfy the <abbr title="Hypertext Transfer Protocol">HTTP</abbr>/1.1 property that all representations of the same resource have unique ETags.</dd>
  1693. <dt>Remove</dt>
  1694. <dd>Remove the ETag header from compressed responses. This prevents some conditional requests from being possible, but avoids the shortcomings of the preceding options.</dd></dl></blockquote>
  1695.  
  1696. <p>Sure enough, it turns out that ETags+compression have been completely broken in Apache 2.4.x. Two methods for saving bandwidth, and delivering pages faster, cancel each other out and chew up more bandwidth than if one or the other were disabled.</p>
  1697.  
  1698. <p>To unpack this a little further, the first time your browser requests a page, Apache computes a hash of the page and sends that along as a header in the response</p>
  1699.  
  1700. <blockquote><pre><code>etag: "38f7-56d65f4a2fcc0"</code></pre></blockquote>
  1701.  
  1702. <p>When your browser requests the page again, it sends an</p>
  1703.  
  1704. <blockquote><pre><code>If-None-Match: "38f7-56d65f4a2fcc0"</code></pre></blockquote>
  1705.  
  1706. <p>header in the request. If that matches the hash of the page, Apaches sends a &#8220;<code>HTTP Not Modified (304)</code>&#8221; response, telling your browser the page is unchanged from the last time it requested it.</p>
  1707.  
  1708. <p>If the page is compressed, using <code>mod_deflate</code>, then the header Apache sends is slightly different</p>
  1709.  
  1710. <blockquote><pre><code>etag: "38f7-56d65f4a2fcc0-gzip"</code></pre></blockquote>
  1711.  
  1712. <p>So, when your browser sends its request with an</p>
  1713.  
  1714. <blockquote><pre><code>If-None-Match: "38f7-56d65f4a2fcc0-gzip"</code></pre></blockquote>
  1715.  
  1716. <p>header, Apache compares &#8220;<code>38f7-56d65f4a2fcc0-gzip</code>&#8221; with the hash of the page, concludes that they don&#8217;t match, and sends the whole page again (thus wasting all the bandwidth you originally saved by sending the page compressed).</p>
  1717.  
  1718. <p>This is completely brain-dead. And, even though the problem has <a href="https://bz.apache.org/bugzilla/show_bug.cgi?id=45023">been around for years</a>, the Apache folks don&#8217;t seem to have gotten around to fixing it. Instead, they just replicated the problem in <code>mod_brotli</code> (with a &#8220;<code>-br</code>&#8221; suffix replacing &#8220;<code>-gzip</code>&#8221;).</p>
  1719.  
  1720. <p>The solution is drop-dead simple. Add the line</p>
  1721.  
  1722. <blockquote><pre><code>RequestHeader edit "If-None-Match" '^"((.*)-(gzip|br))"$' '"$1", "$2"'</code></pre></blockquote>
  1723.  
  1724. <p>to your Apache configuration file. This gives Apache two ETags to compare with: the one with the suffix and the original unmodified one. The latter will match the hash of the file and Apache will return a &#8220;<code>HTTP Not Modified (304)</code>&#8221; as expected.</p>
  1725.  
  1726. <p>Why Apache didn&#8217;t just implement this in their code is beyond me.</p>
  1727.  
  1728.      </div>
  1729.    </content>
  1730.  </entry>
  1731.  <entry>
  1732.    <title type="html">Python urllib2 and TLS</title>
  1733.    <link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003080.html" />
  1734.    <updated>2018-12-31T06:12:27Z</updated>
  1735.    <published>2018-12-27T11:28:03-06:00</published>
  1736.    <id>tag:golem.ph.utexas.edu,2018:%2F~distler%2Fblog%2F1.3080</id>
  1737.    <summary type="text">In which I discover that you can't trust python to do the right thing...</summary>
  1738.    <author>
  1739.      <name>distler</name>
  1740.      <uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
  1741.      <email>distler@golem.ph.utexas.edu</email>
  1742.    </author>
  1743.    <category term="Computers" />
  1744.    <content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003080.html">
  1745.      <div xmlns="http://www.w3.org/1999/xhtml">
  1746. <p>I was thinking about <a href="https://www.ssl.com/article/deprecating-early-tls/">dropping</a> <a href="https://tools.ietf.org/id/draft-moriarty-tls-oldversions-diediedie-00.html">support</a> for TLSv1.0 in this webserver. All the major browser vendors have announced that they are <a href="https://arstechnica.com/gadgets/2018/10/browser-vendors-unite-to-end-support-for-20-year-old-tls-1-0/">dropping it from their browsers</a>. And you&#8217;d think that since TLSv1.2 has been around for a decade, even very old clients <em>ought</em> to be able to negotiate a TLSv1.2 connection.</p>
  1747.  
  1748. <p>But, when I checked, you can imagine my surprise that this webserver receives a <em>ton</em> of TLSv1 connections&#8230; including from the <a href="https://github.com/distler/venus/commits/master">application</a> that powers <a href="https://golem.ph.utexas.edu/~distler/planet/">Planet Musings</a>. Yikes!</p>
  1749.  
  1750. <p>The latter is built around the <a href="https://github.com/kurtmckee/feedparser">Universal Feed Parser</a> which uses the standard Python <a href="https://docs.python.org/2/library/urllib2.html">urrlib2</a> to negotiate the connection. And therein lay the problem &#8230;</p>
  1751.  
  1752. <p>At least in its default configuration, <code>urllib2</code> won&#8217;t negotiate anything higher than a TLSv1.0 connection. And, sure enough, that&#8217;s a problem:</p>
  1753.  
  1754. <blockquote><pre><code>ERROR:planet.runner:Error processing http://excursionset.com/blog?format=RSS
  1755. ERROR:planet.runner:URLError: &lt;urlopen error [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590)>
  1756. ...
  1757. ERROR:planet.runner:Error processing https://www.scottaaronson.com/blog/?feed=atom
  1758. ERROR:planet.runner:URLError: &lt;urlopen error [Errno 54] Connection reset by peer>
  1759. ...
  1760. ERROR:planet.runner:Error processing https://www.science20.com/quantum_diaries_survivor/feed
  1761. ERROR:planet.runner:URLError: &lt;urlopen error EOF occurred in violation of protocol (_ssl.c:590)></code></pre></blockquote>
  1762.  
  1763. <p>Even if <em>I&#8217;m</em> still supporting TLSv1.0, <em>others</em> have already dropped support for it.</p>
  1764.  
  1765. <p>Now, you might find it strange that <code>urllib2</code> defaults to a TLSv1.0 connection, when it&#8217;s certainly <em>capable</em> of negotiating something more secure (whatever OpenSSL supports). But, prior to Python 2.7.9, <code>urllib2</code> <a href="https://access.redhat.com/articles/2039753">didn&#8217;t even check</a> the server&#8217;s <abbr title="Secure Sockets Layer">SSL</abbr> certificate. Any encryption was bogus (wide open to a <acronym title="Man-in-the-Middle">MiTM</acronym> attack). So why bother negotiating a more secure connection?</p>
  1766.  
  1767. <p>Switching from the system Python to Python 2.7.15 (installed by Fink) yielded a slew of</p>
  1768.  
  1769. <blockquote><pre><code>ERROR:planet.runner:URLError: &lt;urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:726)></code></pre></blockquote>
  1770.  
  1771. <p>errors. Apparently, no root certificate file was getting loaded.</p>
  1772.  
  1773. <p>The solution to both of these problems turned out to be:</p>
  1774.  
  1775. <blockquote><pre><code>--- a/feedparser/http.py
  1776. +++ b/feedparser/http.py
  1777. @@ -5,13 +5,15 @@ import gzip
  1778. import re
  1779. import struct
  1780. import zlib
  1781. +import ssl
  1782. <span style='color: red'>+import certifi</span>
  1783.  
  1784. try:
  1785.     import urllib.parse
  1786.     import urllib.request
  1787. except ImportError:
  1788.     from urllib import splithost, splittype, splituser
  1789. -    from urllib2 import build_opener, HTTPDigestAuthHandler, HTTPRedirectHandler, HTTPDefaultErrorHandler, Request
  1790. +    from urllib2 import build_opener, HTTPSHandler, HTTPDigestAuthHandler, HTTPRedirectHandler, HTTPDefaultErrorHandler, Request
  1791.     from urlparse import urlparse
  1792.  
  1793.     class urllib(object):
  1794. @@ -170,7 +172,9 @@ def get(url, etag=None, modified=None, agent=None, referrer=None, handlers=None,
  1795.  
  1796.     # try to open with urllib2 (to use optional headers)
  1797.     request = _build_urllib2_request(url, agent, ACCEPT_HEADER, etag, modified, referrer, auth, request_headers)
  1798. -    opener = urllib.request.build_opener(*tuple(handlers + [_FeedURLHandler()]))
  1799. +    context = ssl.SSLContext(ssl.PROTOCOL_TLS)
  1800. <span style='color: red'>+    context.load_verify_locations(cafile=certifi.where())</span>
  1801. +    opener = urllib.request.build_opener(*tuple(handlers + [HTTPSHandler(context=context)] + [_FeedURLHandler()]))
  1802.     opener.addheaders = [] # RMK - must clear so we only send our custom User-Agent
  1803.     f = opener.open(request)
  1804.     data = f.read()</code></pre></blockquote>
  1805.  
  1806. <p>Actually, the lines in <span style='color: red'>red</span> aren&#8217;t strictly necessary. As long as you set a <code>ssl.SSLContext()</code>, a suitable set of root certificates gets loaded. But, honestly, I don&#8217;t trust the internals of <code>urllib2</code> to do the right thing anymore, so I want to <em>make sure</em> that a <a href="https://pypi.org/project/certifi/">well-curated set</a> of root certificates is used.</p>
  1807.  
  1808. <p>With these changes, <code>Venus</code> negotiates a <a href="https://kinsta.com/blog/tls-1-3/">TLSv1.3</a> connection. <em>Yay!</em></p>
  1809.  
  1810. <p>Now, if only everyone <em>else</em> would update their Python scripts &#8230;</p>
  1811.  
  1812. <div id="PythonTLSu1" class="update"><h4>Update:</h4> <a href='http://pyfound.blogspot.com/2017/01/time-to-upgrade-your-python-tls-v12.html'>This article</a> goes some of the way towards explaining the brokenness of Python&#8217;s TLS implementation on MacOSX. But only some of the way &#8230;</div>
  1813.  
  1814. <div id="PythonTLSU2" class="update"><h4>Update 2:</h4> Another offender turned out to be the very application (MarsEdit 3) that I used to prepare this post. Upgrading to <a href='https://red-sweater.com/marsedit/'>MarsEdit 4</a> was a bit of a bother. Apple&#8217;s App-sandboxing prevented my <code>Markdown+itex2MML</code> <a href='http://golem.ph.utexas.edu/~distler/blog/files/MarsEditFilters.dmg.gz'>text filter</a> from working. One is no longer allowed to use <code>IPC::Open2</code> to pipe text through the commandline <code>itex2MML</code>. So I had to create a <a href='https://valelab4.ucsf.edu/svn/3rdpartypublic/swig/Doc/Manual/Perl5.html'>Perl Extension Module</a> for <code>itex2MML</code>. Now there&#8217;s a <a href='https://metacpan.org/release/MathML-itex2MML'><acronym title="Mathematical Markup Language">MathML</acronym>::itex2MML</a> module on <a href='https://www.cpan.org/'><acronym title="Comprehensive Perl Archive Network">CPAN</acronym></a> to go along with the <a href='https://rubygems.org/gems/itextomml'>Rubygem</a>.</div>
  1815.  
  1816.      </div>
  1817.    </content>
  1818.  </entry>
  1819.  <entry>
  1820.    <title type="html">Responsibility</title>
  1821.    <link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/002943.html" />
  1822.    <updated>2024-01-20T17:03:26Z</updated>
  1823.    <published>2017-02-24T18:13:18-06:00</published>
  1824.    <id>tag:golem.ph.utexas.edu,2017:%2F~distler%2Fblog%2F1.2943</id>
  1825.    <summary type="text">The quantum theory of the relativistic free particle</summary>
  1826.    <author>
  1827.      <name>distler</name>
  1828.      <uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
  1829.      <email>distler@golem.ph.utexas.edu</email>
  1830.    </author>
  1831.    <category term="Physics" />
  1832.    <content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/002943.html">
  1833.      <div xmlns="http://www.w3.org/1999/xhtml">
  1834. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  1835.  
  1836. <p>Many years ago, when I was an assistant professor at Princeton, there was a cocktail party at Curt Callan&#8217;s house to mark the beginning of the semester. There, I found myself in the kitchen, chatting with Sacha Polyakov. I asked him what he was going to be teaching that semester, and he replied that he was very nervous because &#8212; for the first time in his life &#8212; he would be teaching an undergraduate course. After my initial surprise that he had gotten this far in life without ever having taught an undergraduate course, I asked which course it was. He said it was the advanced undergraduate Mechanics course (chaos, etc.) and we agreed that would be a fun subject to teach. We chatted some more, and then he said that, on reflection, he probably shouldn&#8217;t be quite so worried. After all, it wasn&#8217;t as if he was going to teach Quantum Field Theory, &#8220;That&#8217;s a subject I&#8217;d feel <em>responsible</em> for.&#8221;</p>
  1837.  
  1838. <p>This remark stuck with me, but it never seemed quite so poignant until this semester, when I find myself teaching the undergraduate particle physics course.</p>
  1839.  
  1840. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  1841.  
  1842. <p>The textbooks (and I mean <em>all</em> of them) start off by &#8220;explaining&#8221; that relativistic quantum mechanics (e.g. replacing the Schr&#xf6;dinger equation with Klein-Gordon) make no sense (negative probabilities and all that &#8230;). And they then proceed to use it anyway (supplemented by some Feynman rules pulled out of thin air).</p>
  1843.  
  1844. <p>This drives me up the #@%^ing wall. It is <em>precisely</em> wrong.</p>
  1845.  
  1846. <p>There is a <em>perfectly</em> consistent quantum mechanical theory of free particles. The <em>problem</em> arises when you want to introduce interactions. In Special Relativity, there is no interaction-at-a-distance; all forces are necessarily mediated by fields. Those fields fluctuate and, when you want to study the quantum theory, you end up having to quantize them.</p>
  1847.  
  1848. <p>But the free particle is just fine. Of course it has to be: free field theory is just the theory of an (indefinite number of) free particles. So it better be true that the quantum theory of a single relativistic free particle makes sense.</p>
  1849.  
  1850. <p>So what is that theory?</p>
  1851.  
  1852. <ol>
  1853. <li>It has a Hilbert space, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x0210B;</mi></mrow><annotation encoding='application/x-tex'>\mathcal{H}</annotation></semantics></math>, of states. To make the action of Lorentz transformations as simple as possible, it behoves us to use a Lorentz-invariant inner product on that Hilbert space. This is most easily done in the momentum representation
  1854. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mo stretchy="false">&#x027E8;</mo><mi>&#x003C7;</mi><mo stretchy="false">&#x0007C;</mo><mi>&#x03D5;</mi><mo stretchy="false">&#x027E9;</mo><mo>=</mo><mo>&#x0222B;</mo><mfrac><mrow><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>&#x003C0;</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><msqrt><mrow><msup><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover> <mn>2</mn></msup><mo>+</mo><msup><mi>m</mi> <mn>2</mn></msup></mrow></msqrt></mrow></mfrac><mspace width="0.16667em"/><mi>&#x003C7;</mi><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><msup><mo stretchy="false">)</mo> <mo>*</mo></msup><mi>&#x03D5;</mi><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>
  1855. \langle\chi|\phi\rangle = \int \frac{d^3\vec{k}}{{(2\pi)}^3 2\sqrt{\vec{k}^2+m^2}}\, \chi(\vec{k})^* \phi(\vec{k})
  1856. </annotation></semantics></math></li>
  1857. <li>As usual, the time-evolution is given by a Schr&#xf6;dinger equation</li>
  1858. </ol>
  1859.  
  1860. <div class="numberedEq" id="e2943:Schroedinger"><span>(1)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>i</mi><msub><mo>&#x02202;</mo> <mi>t</mi></msub><mo stretchy="false">&#x0007C;</mo><mi>&#x003C8;</mi><mo stretchy="false">&#x027E9;</mo><mo>=</mo><msub><mi>H</mi> <mn>0</mn></msub><mo stretchy="false">&#x0007C;</mo><mi>&#x003C8;</mi><mo stretchy="false">&#x027E9;</mo></mrow><annotation encoding='application/x-tex'>i\partial_t |\psi\rangle = H_0 |\psi\rangle
  1861. </annotation></semantics></math></div>
  1862.  
  1863. <p>where <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>H</mi> <mn>0</mn></msub><mo>=</mo><msqrt><mrow><msup><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover> <mn>2</mn></msup><mo>+</mo><msup><mi>m</mi> <mn>2</mn></msup></mrow></msqrt></mrow><annotation encoding='application/x-tex'>H_0 = \sqrt{\vec{p}^2+m^2}</annotation></semantics></math>. Now, you might object that it is hard to make sense of a pseudo-differential operator like <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>H</mi> <mn>0</mn></msub></mrow><annotation encoding='application/x-tex'>H_0</annotation></semantics></math>. Perhaps. But it&#8217;s not <em>any</em> harder than making sense of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>U</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo>=</mo><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mi>i</mi><msup><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover> <mn>2</mn></msup><mi>t</mi><mo stretchy="false">/</mo><mn>2</mn><mi>m</mi></mrow></msup></mrow><annotation encoding='application/x-tex'>U(t)= e^{&#x2d;i \vec{p}^2 t/2m}</annotation></semantics></math>, which we routinely pretend to do in elementary quantum. In both cases, we use the fact that, in the momentum representation, the operator <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><annotation encoding='application/x-tex'>\vec{p}</annotation></semantics></math> is represented as multiplication by <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><annotation encoding='application/x-tex'>\vec{k}</annotation></semantics></math>.</p>
  1864.  
  1865. <p>I could go on, but let me leave the rest of the development of the theory as a series of questions.</p>
  1866.  
  1867. <ol>
  1868. <li>The self-adjoint operator, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mi>x</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><annotation encoding='application/x-tex'>\vec{x}</annotation></semantics></math>, satisfies
  1869. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mo stretchy="false">[</mo><msup><mi>x</mi> <mi>i</mi></msup><mo>,</mo><msub><mi>p</mi> <mi>j</mi></msub><mo stretchy="false">]</mo><mo>=</mo><mi>i</mi><msubsup><mi>&#x003B4;</mi> <mi>j</mi> <mi>i</mi></msubsup></mrow><annotation encoding='application/x-tex'>
  1870. [x^i,p_j] = i \delta^{i}_j
  1871. </annotation></semantics></math>
  1872. Thus it can be written in the form
  1873. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msup><mi>x</mi> <mi>i</mi></msup><mo>=</mo><mi>i</mi><mrow><mo>(</mo><mfrac><mo>&#x02202;</mo><mrow><mo>&#x02202;</mo><msub><mi>k</mi> <mi>i</mi></msub></mrow></mfrac><mo>+</mo><msub><mi>f</mi> <mi>i</mi></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow></mrow><annotation encoding='application/x-tex'>
  1874.  x^i = i\left(\frac{\partial}{\partial k_i} + f_i(\vec{k})\right)
  1875. </annotation></semantics></math>
  1876. for some real function <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>f</mi> <mi>i</mi></msub></mrow><annotation encoding='application/x-tex'>f_i</annotation></semantics></math>. What is <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>f</mi> <mi>i</mi></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>f_i(\vec{k})</annotation></semantics></math>?</li>
  1877. <li>Define <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>J</mi> <mn>0</mn></msup><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>J^0(\vec{r})</annotation></semantics></math> to be the probability density. That is, when the particle is in state <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo stretchy="false">&#x0007C;</mo><mi>&#x03D5;</mi><mo stretchy="false">&#x027E9;</mo></mrow><annotation encoding='application/x-tex'>|\phi\rangle</annotation></semantics></math>, the probability for finding it in some Borel subset <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>S</mi><mo>&#x02282;</mo><msup><mi>&#x0211D;</mi> <mn>3</mn></msup></mrow><annotation encoding='application/x-tex'>S\subset\mathbb{R}^3</annotation></semantics></math> is given by
  1878. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mtext>Prob</mtext><mo stretchy="false">(</mo><mi>S</mi><mo stretchy="false">)</mo><mo>=</mo><msub><mo>&#x0222B;</mo> <mi>S</mi></msub><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><msup><mi>J</mi> <mn>0</mn></msup><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>
  1879.   \text{Prob}(S) = \int_S d^3\vec{r} J^0(\vec{r})
  1880. </annotation></semantics></math>
  1881. Obviously, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>J</mi> <mn>0</mn></msup><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>J^0(\vec{r})</annotation></semantics></math> must take the form
  1882. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msup><mi>J</mi> <mn>0</mn></msup><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>=</mo><mo>&#x0222B;</mo><mfrac><mrow><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>&#x003C0;</mi><mo stretchy="false">)</mo></mrow> <mn>6</mn></msup><mn>4</mn><msqrt><mrow><msup><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover> <mn>2</mn></msup><mo>+</mo><msup><mi>m</mi> <mn>2</mn></msup></mrow></msqrt><msqrt><mrow><msup><mrow><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo></mrow> <mn>2</mn></msup><mo>+</mo><msup><mi>m</mi> <mn>2</mn></msup></mrow></msqrt></mrow></mfrac><mi>g</mi><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>,</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo><mo stretchy="false">)</mo><msup><mi>e</mi> <mrow><mi>i</mi><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02212;</mo><mover><mrow><mi>k</mi><mo>&#x02032;</mo></mrow><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mo>&#x022C5;</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover></mrow></msup><mi>&#x03D5;</mi><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo><mi>&#x03D5;</mi><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo><msup><mo stretchy="false">)</mo> <mo>*</mo></msup></mrow><annotation encoding='application/x-tex'>
  1883. J^0(\vec{r}) = \int\frac{d^3\vec{k}d^3\vec{k}&apos;}{{(2\pi)}^6 4\sqrt{\vec{k}^2+m^2}\sqrt{{\vec{k}&apos;}^2+m^2}} g(\vec{k},\vec{k}&apos;) e^{i(\vec{k}&#x2d;\vec{k&apos;})\cdot\vec{r}}\phi(\vec{k})\phi(\vec{k}&apos;)^*
  1884. </annotation></semantics></math>
  1885. Find <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>g</mi><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>,</mo><mover><mi>k</mi><mo stretchy="false">&#x02192;</mo></mover><mo>&#x02032;</mo><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>g(\vec{k},\vec{k}&apos;)</annotation></semantics></math>. (Hint: you need to diagonalize the operator <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mi>x</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><annotation encoding='application/x-tex'>\vec{x}</annotation></semantics></math> that you found in problem 1.)</li>
  1886. <li>The conservation of probability says
  1887. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mn>0</mn><mo>=</mo><msub><mo>&#x02202;</mo> <mi>t</mi></msub><msup><mi>J</mi> <mn>0</mn></msup><mo>+</mo><msub><mo>&#x02202;</mo> <mi>i</mi></msub><msup><mi>J</mi> <mi>i</mi></msup></mrow><annotation encoding='application/x-tex'>
  1888. 0=\partial_t J^0 + \partial_i J^i
  1889. </annotation></semantics></math>
  1890. Use the Schr&#xf6;dinger equation (<a href="#e2943:Schroedinger">1</a>) to find <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>J</mi> <mi>i</mi></msup><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">&#x02192;</mo></mover><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>J^i(\vec{r})</annotation></semantics></math>.</li>
  1891. <li>Under Lorentz transformations, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>H</mi> <mn>0</mn></msub></mrow><annotation encoding='application/x-tex'>H_0</annotation></semantics></math> and <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover></mrow><annotation encoding='application/x-tex'>\vec{p}</annotation></semantics></math> transform as the components of a 4-vector. For a boost in the <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>z</mi></mrow><annotation encoding='application/x-tex'>z</annotation></semantics></math>-direction, of rapidity <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x003BB;</mi></mrow><annotation encoding='application/x-tex'>\lambda</annotation></semantics></math>, we should have
  1892. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><msub><mi>U</mi> <mi>&#x003BB;</mi></msub><msqrt><mrow><msup><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover> <mn>2</mn></msup><mo>+</mo><msup><mi>m</mi> <mn>2</mn></msup></mrow></msqrt><msubsup><mi>U</mi> <mi>&#x003BB;</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mn>1</mn></mrow></msubsup></mtd> <mtd><mo>=</mo><mi>cosh</mi><mo stretchy="false">(</mo><mi>&#x003BB;</mi><mo stretchy="false">)</mo><msqrt><mrow><msup><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover> <mn>2</mn></msup><mo>+</mo><msup><mi>m</mi> <mn>2</mn></msup></mrow></msqrt><mo>+</mo><mi>sinh</mi><mo stretchy="false">(</mo><mi>&#x003BB;</mi><mo stretchy="false">)</mo><msub><mi>p</mi> <mn>3</mn></msub></mtd></mtr> <mtr><mtd><msub><mi>U</mi> <mi>&#x003BB;</mi></msub><msub><mi>p</mi> <mn>1</mn></msub><msubsup><mi>U</mi> <mi>&#x003BB;</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mn>1</mn></mrow></msubsup></mtd> <mtd><mo>=</mo><msub><mi>p</mi> <mn>1</mn></msub></mtd></mtr> <mtr><mtd><msub><mi>U</mi> <mi>&#x003BB;</mi></msub><msub><mi>p</mi> <mn>2</mn></msub><msubsup><mi>U</mi> <mi>&#x003BB;</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mn>1</mn></mrow></msubsup></mtd> <mtd><mo>=</mo><msub><mi>p</mi> <mn>3</mn></msub></mtd></mtr> <mtr><mtd><msub><mi>U</mi> <mi>&#x003BB;</mi></msub><msub><mi>p</mi> <mn>3</mn></msub><msubsup><mi>U</mi> <mi>&#x003BB;</mi> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mn>1</mn></mrow></msubsup></mtd> <mtd><mo>=</mo><mi>sinh</mi><mo stretchy="false">(</mo><mi>&#x003BB;</mi><mo stretchy="false">)</mo><msqrt><mrow><msup><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover> <mn>2</mn></msup><mo>+</mo><msup><mi>m</mi> <mn>2</mn></msup></mrow></msqrt><mo>+</mo><mi>cosh</mi><mo stretchy="false">(</mo><mi>&#x003BB;</mi><mo stretchy="false">)</mo><msub><mi>p</mi> <mn>3</mn></msub></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
  1893. \begin{split}
  1894. U_\lambda \sqrt{\vec{p}^2+m^2} U_\lambda^{&#x2d;1} &amp;= \cosh(\lambda) \sqrt{\vec{p}^2+m^2} + \sinh(\lambda) p_3\\
  1895. U_\lambda p_1 U_\lambda^{&#x2d;1} &amp;= p_1\\
  1896. U_\lambda p_2 U_\lambda^{&#x2d;1} &amp;= p_3\\
  1897. U_\lambda p_3 U_\lambda^{&#x2d;1} &amp;= \sinh(\lambda) \sqrt{\vec{p}^2+m^2} + \cosh(\lambda) p_3
  1898. \end{split}
  1899. </annotation></semantics></math>
  1900. and we should be able to write <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>U</mi> <mi>&#x003BB;</mi></msub><mo>=</mo><msup><mi>e</mi> <mrow><mi>i</mi><mi>&#x003BB;</mi><mi>B</mi></mrow></msup></mrow><annotation encoding='application/x-tex'>U_\lambda = e^{i\lambda B}</annotation></semantics></math> for some self-adjoint operator, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>B</mi></mrow><annotation encoding='application/x-tex'>B</annotation></semantics></math>. What is <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>B</mi></mrow><annotation encoding='application/x-tex'>B</annotation></semantics></math>? (N.B.: by contrast the <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>x</mi> <mi>i</mi></msup></mrow><annotation encoding='application/x-tex'>x^i</annotation></semantics></math>, introduced above, do <em>not</em> transform in a simple way under Lorentz transformations.)</li>
  1901. </ol>
  1902.  
  1903. <p>The Hilbert space of a free scalar field is now <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msubsup><mo lspace="0.16667em" rspace="0.16667em">&#x02A01;</mo> <mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow> <mn>&#x0221E;</mn></msubsup><msup><mtext>Sym</mtext> <mi>n</mi></msup><mi>&#x0210B;</mi></mrow><annotation encoding='application/x-tex'>\bigoplus_{n=0}^\infty \text{Sym}^n\mathcal{H}</annotation></semantics></math>. That&#8217;s perhaps not the easiest way to get there. But it is a way &#8230;</p>
  1904.  
  1905. <h4 id="RespU1" class="update">Update:</h4>
  1906.  
  1907. <p>Yike! Well, that went south pretty fast. For the first time (ever, I think) I&#8217;m closing comments on this one, and calling it a day. To summarize, for those who still care,</p>
  1908.  
  1909. <ol>
  1910. <li>There is a decomposition of the Hilbert space of a Free Scalar field as
  1911. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msub><mi>&#x0210B;</mi> <mi>&#x03D5;</mi></msub><mo>=</mo><munderover><mo lspace="0.16667em" rspace="0.16667em">&#x02A01;</mo> <mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow> <mn>&#x0221E;</mn></munderover><msub><mi>&#x0210B;</mi> <mi>n</mi></msub></mrow><annotation encoding='application/x-tex'>
  1912.    \mathcal{H}_\phi = \bigoplus_{n=0}^\infty \mathcal{H}_n
  1913.   </annotation></semantics></math>
  1914. where
  1915. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msub><mi>&#x0210B;</mi> <mi>n</mi></msub><mo>=</mo><msup><mtext>Sym</mtext> <mi>n</mi></msup><mi>&#x0210B;</mi></mrow><annotation encoding='application/x-tex'>
  1916.   \mathcal{H}_n = \text{Sym}^n \mathcal{H}
  1917.   </annotation></semantics></math>
  1918. and <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x0210B;</mi></mrow><annotation encoding='application/x-tex'>\mathcal{H}</annotation></semantics></math> is 1-particle Hilbert space described above (also known as the spin-<math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mn>0</mn></mrow><annotation encoding='application/x-tex'>0</annotation></semantics></math>, mass-<math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>m</mi></mrow><annotation encoding='application/x-tex'>m</annotation></semantics></math>,
  1919. irreducible unitary representation of Poincar&#x000E9;).</li>
  1920. <li>The Hamiltonian of the Free Scalar field is the direct sum of the induced Hamiltonia on <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x0210B;</mi> <mi>n</mi></msub></mrow><annotation encoding='application/x-tex'>\mathcal{H}_n</annotation></semantics></math>, induced
  1921. from the Hamiltonian, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>H</mi><mo>=</mo><msqrt><mrow><msup><mover><mi>p</mi><mo stretchy="false">&#x02192;</mo></mover> <mn>2</mn></msup><mo>+</mo><msup><mi>m</mi> <mn>2</mn></msup></mrow></msqrt></mrow><annotation encoding='application/x-tex'>H=\sqrt{\vec{p}^2+m^2}</annotation></semantics></math>, on <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x0210B;</mi></mrow><annotation encoding='application/x-tex'>\mathcal{H}</annotation></semantics></math>. In particular, it (along with the other
  1922. Poincar&#x000E9; generators) is block-diagonal with respect to this decomposition.</li>
  1923. <li>There are other interesting observables which are also block-diagonal, with respect to this decomposition
  1924. (i.e., don&#8217;t change the particle number) and hence we can discuss their restriction to <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>&#x0210B;</mi> <mi>n</mi></msub></mrow><annotation encoding='application/x-tex'>\mathcal{H}_n</annotation></semantics></math>.</li>
  1925. </ol>
  1926.  
  1927. <p>Gotta keep reminding myself why I decided to foreswear blogging&#8230;</p>
  1928.  
  1929.      </div>
  1930.    </content>
  1931.  </entry>
  1932.  <entry>
  1933.    <title type="html">MathML Update</title>
  1934.    <link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/002926.html" />
  1935.    <updated>2016-12-14T15:00:56Z</updated>
  1936.    <published>2016-12-04T14:56:38-06:00</published>
  1937.    <id>tag:golem.ph.utexas.edu,2016:%2F~distler%2Fblog%2F1.2926</id>
  1938.    <summary type="text">Native MathML rendering in Safari</summary>
  1939.    <author>
  1940.      <name>distler</name>
  1941.      <uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
  1942.      <email>distler@golem.ph.utexas.edu</email>
  1943.    </author>
  1944.    <category term="MathML" />
  1945.    <content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/002926.html">
  1946.      <div xmlns="http://www.w3.org/1999/xhtml">
  1947. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  1948.  
  1949. <p>For a while now, <a href="http://frederic-wang.fr/">Fr&#x000E9;d&#x000E9;ric Wang</a> has been urging me to enable native <acronym title="Mathematical Markup Language">MathML</acronym> rendering for Safari. He and <a href="https://www.igalia.com/">his colleagues</a> have made many improvements to Webkit&#8217;s <acronym>MathML</acronym> support. But there were at least two show-stopper bugs that prevented me from flipping the switch.</p>
  1950.  
  1951. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  1952.  
  1953. <p>Fortunately:</p>
  1954.  
  1955. <ul>
  1956. <li>The <a href="http://stixfonts.org/">STIX Two fonts</a> were released this week. They represent a big improvement on Version 1, and are finally definitively better than LatinModern for displaying <acronym>MathML</acronym> on the web. Most interestingly, they fix <a href="https://bugs.webkit.org/show_bug.cgi?id=161189">this bug</a>. That means I can bundle these fonts<sup><a href="#MMLf1">1</a></sup>, solving both that problem and the more generic problem of users not having a good set of Math fonts installed.</li>
  1957. <li>Thus inspired, I wrote a little <a href="https://golem.ph.utexas.edu/~distler/code/instiki/svn/revision/887#public/javascripts/page_helper.js">Javascript polyfill</a> to fix <a href="https://bugs.webkit.org/show_bug.cgi?id=160075">the other bug</a>.</li>
  1958. </ul>
  1959.  
  1960. <p>While there are still a lot of remaining issues (for instance <del><a href="https://bugs.webkit.org/show_bug.cgi?id=160547">this one</a></del> <ins><a href="https://golem.ph.utexas.edu/~distler/code/instiki/svn/revision/892/public/javascripts/page_helper.js">fixed</a></ins>), I think Safari&#8217;s native <acronym>MathML</acronym> rendering is now good enough for everyday use (and, in enough respects, superior to <a href="http://www.mathjax.org">MathJax</a>&#8217;s) to enable it <em>by default</em> in <a href="https://golem.ph.utexas.edu/wiki/instiki/show/HomePage">Instiki</a>, <a href="https://golem.ph.utexas.edu/forum/">Heterotic Beast</a> and on this blog.</p>
  1961.  
  1962. <p>Of course, you&#8217;ll need to be using<sup><a href="#MMLf2">2</a></sup> Safari 10.1 or <a href="https://developer.apple.com/safari/download/">Safari Technology Preview</a>. </p>
  1963.  
  1964. <div id="MathMLU1" class="update"><h4>Update:</h4> Another nice benefit of STIX Two fonts is that <a href="https://golem.ph.utexas.edu/~distler/blog/itex2MMLcommands.html">itex</a> can support both Chancery (<code>\mathcal{}</code>) and Roundhand (<code>\mathscr{}</code>) symbols
  1965. <math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><mo>&#x0005C;</mo><mstyle mathvariant="monospace"><mi>mathcal</mi></mstyle><mo stretchy="false">{</mo><mo stretchy="false">}</mo><mo>:</mo></mtd> <mtd><mspace width="0.16667em"/><mi>&#x1D49C;&#x0212C;&#x1D49E;&#x1D49F;&#x02130;&#x02131;&#x1D4A2;&#x0210B;&#x02110;&#x1D4A5;&#x1D4A6;&#x02112;&#x02133;&#x1D4A9;&#x1D4AA;&#x1D4AB;&#x1D4AC;&#x0211B;&#x1D4AE;&#x1D4AF;&#x1D4B0;&#x1D4B1;&#x1D4B2;&#x1D4B3;&#x1D4B4;&#x1D4B5;</mi></mtd></mtr> <mtr><mtd><mo>&#x0005C;</mo><mstyle mathvariant="monospace"><mi>mathscr</mi></mstyle><mo stretchy="false">{</mo><mo stretchy="false">}</mo><mo>:</mo></mtd> <mtd><mspace width="0.16667em"/><mi class='mathscript'>&#x1D49C;&#x0212C;&#x1D49E;&#x1D49F;&#x02130;&#x02131;&#x1D4A2;&#x0210B;&#x02110;&#x1D4A5;&#x1D4A6;&#x02112;&#x02133;&#x1D4A9;&#x1D4AA;&#x1D4AB;&#x1D4AC;&#x0211B;&#x1D4AE;&#x1D4AF;&#x1D4B0;&#x1D4B1;&#x1D4B2;&#x1D4B3;&#x1D4B4;&#x1D4B5;</mi></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
  1966. \begin{split}
  1967. \backslash\mathtt{mathcal}\{\}:&amp;\,\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\\
  1968. \backslash\mathtt{mathscr}\{\}:&amp;\,\mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}
  1969. \end{split}
  1970. </annotation></semantics></math></div>
  1971.  
  1972. <hr/>
  1973.  
  1974. <div id="MMLf1" class="footnote"><p><sup>1</sup> In an ideal world, <abbr title="Operating System">OS</abbr> vendors would bundle the STIX Two fonts with their next release (as Apple previously bundled the STIX fonts with MacOSX &#x2265;10.7) and motivated users would download and <a href="http://stixfonts.org/install.html">install</a> them in the meantime.</p></div>
  1975.  
  1976. <div id="MMLf2" class="footnote"><p><sup>2</sup> N.B.: We&#8217;re not browser-sniffing (anymore). We&#8217;re just checking for <acronym>MathML</acronym> support comparable to <a href="https://trac.webkit.org/changeset/203640">Webkit version 203640</a>. If Google (for instance) decided to <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=6606">re-enable <acronym>MathML</acronym> support in Chrome</a>, that would work too.</p></div>
  1977.  
  1978.      </div>
  1979.    </content>
  1980.  </entry>
  1981.  <entry>
  1982.    <title type="html">Coriolis</title>
  1983.    <link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/002890.html" />
  1984.    <updated>2016-06-17T23:10:56Z</updated>
  1985.    <published>2016-06-14T16:40:08-06:00</published>
  1986.    <id>tag:golem.ph.utexas.edu,2016:%2F~distler%2Fblog%2F1.2890</id>
  1987.    <summary type="text">The Coriolis Effect on Syfy.</summary>
  1988.    <author>
  1989.      <name>distler</name>
  1990.      <uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
  1991.      <email>distler@golem.ph.utexas.edu</email>
  1992.    </author>
  1993.    <category term="Life" />
  1994.    <content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/002890.html">
  1995.      <div xmlns="http://www.w3.org/1999/xhtml">
  1996. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  1997.  
  1998. <p>I really like the science fiction TV series <a href="http://www.syfy.com/theexpanse">The Expanse</a>. In addition to a good plot and a convincing vision of human society two centuries hence, it depicts, as Phil Plait <a href="http://www.slate.com/blogs/bad_astronomy/2015/12/14/the_expanse_syfy_s_next_big_thing.html">observes</a>, a lot of good science in a matter-of-fact, almost off-hand fashion. But one scene (really, just a few dialogue-free seconds in a longer scene) has been bothering me. In it, Miller, the hard-boiled detective living on <a href="https://en.wikipedia.org/wiki/Ceres_%28dwarf_planet%29">Ceres</a>, pours himself a drink. And we see &#8212; as the whiskey slowly pours from the bottle into the glass &#8212; that the artificial gravity at the lower levels (where the poor people live) is significantly weaker than near the surface (where the rich live) <em>and</em> that there&#8217;s a significant Coriolis effect. Unfortunately, the effect depicted is 3 orders-of-magnitude too big.</p>
  1999.  
  2000. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  2001.  
  2002. <div id="CoriolisI1" style="width:480pt; max-width: 90%; position:relative; margin:auto"><img style="width:480pt; max-width: 100%;" src="https://golem.ph.utexas.edu/~distler/blog/images/coriolis.jpg" alt="Pouring a drink on Ceres. Significant Coriolis deflection is apparent."/></div>
  2003.  
  2004. <p>To explain, six million residents inhabit the interior of the asteroid, which has been spun up to provide an artificial gravity. Ceres has a radius, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>R</mi> <mi>C</mi></msub><mo>=</mo><mn>4.73</mn><mo>&#x000D7;</mo><msup><mn>10</mn> <mn>5</mn></msup></mrow><annotation encoding='application/x-tex'>R_C = 4.73\times 10^5</annotation></semantics></math> m and a surface gravity <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>g</mi> <mi>C</mi></msub><mo>=</mo><mn>.27</mn><mspace width="0.16667em"/><mtext>m</mtext><mo stretchy="false">/</mo><msup><mtext>s</mtext> <mn>2</mn></msup></mrow><annotation encoding='application/x-tex'>g_C=.27\,\text{m}/\text{s}^2</annotation></semantics></math>. The rotational period is supposed to be 40 minutes (<math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x003C9;</mi><mo>&#x0223C;</mo><mn>2.6</mn><mo>&#x000D7;</mo><msup><mn>10</mn> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mn>3</mn></mrow></msup><mspace width="0.16667em"/><mo stretchy="false">/</mo><mtext>s</mtext></mrow><annotation encoding='application/x-tex'>\omega\sim 2.6\times 10^{&#x2d;3}\, /\text{s}</annotation></semantics></math>). Near the surface, this yields <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>&#x003C9;</mi> <mn>2</mn></msup><msub><mi>R</mi> <mi>C</mi></msub><mo stretchy="false">(</mo><mn>1</mn><mo>&#x02212;</mo><msup><mi>&#x003F5;</mi> <mn>2</mn></msup><mo stretchy="false">)</mo><mo>&#x02261;</mo><msup><mi>&#x003C9;</mi> <mn>2</mn></msup><msub><mi>R</mi> <mi>C</mi></msub><mo>&#x02212;</mo><msub><mi>g</mi> <mi>C</mi></msub><mo>&#x0223C;</mo><mn>0.3</mn></mrow><annotation encoding='application/x-tex'>\omega^2 R_C(1&#x2d;\epsilon^2)\equiv \omega^2 R_C &#x2d;g_C \sim 0.3</annotation></semantics></math> g. On the innermost level, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>R</mi><mo>=</mo><mstyle displaystyle="false"><mfrac><mn>1</mn><mn>3</mn></mfrac></mstyle><msub><mi>R</mi> <mi>C</mi></msub></mrow><annotation encoding='application/x-tex'>R=\tfrac{1}{3} R_C</annotation></semantics></math>, and the effective artificial gravity is only 0.1 g.</p>
  2005.  
  2006. <div style="width:480pt; max-width: 90%; position:relative; margin:auto"><img style="width:480pt; max-width: 100%;" src="https://golem.ph.utexas.edu/~distler/blog/images/ceres.jpg" alt="Ceres Station, dug into the interior of the asteroid."/></div>
  2007.  
  2008. <p>So how big is the Coriolis effect in this scenario?</p>
  2009.  
  2010. <p>The equations<sup><a href="#CoriolisF1">1</a></sup> to be solved are</p>
  2011.  
  2012. <div class="numberedEq" id="e2890:FeMA"><span>(1)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><mfrac><mrow><msup><mi>d</mi> <mn>2</mn></msup><mi>x</mi></mrow><mrow><mi>d</mi><msup><mi>t</mi> <mn>2</mn></msup></mrow></mfrac></mtd> <mtd><mo>=</mo><msup><mi>&#x003C9;</mi> <mn>2</mn></msup><mo stretchy="false">(</mo><mn>1</mn><mo>&#x02212;</mo><msup><mi>&#x003F5;</mi> <mn>2</mn></msup><mo stretchy="false">)</mo><mi>x</mi><mo>&#x02212;</mo><mn>2</mn><mi>&#x003C9;</mi><mfrac><mrow><mi>d</mi><mi>y</mi></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac></mtd></mtr> <mtr><mtd><mfrac><mrow><msup><mi>d</mi> <mn>2</mn></msup><mi>y</mi></mrow><mrow><mi>d</mi><msup><mi>t</mi> <mn>2</mn></msup></mrow></mfrac></mtd> <mtd><mo>=</mo><msup><mi>&#x003C9;</mi> <mn>2</mn></msup><mo stretchy="false">(</mo><mn>1</mn><mo>&#x02212;</mo><msup><mi>&#x003F5;</mi> <mn>2</mn></msup><mo stretchy="false">)</mo><mo stretchy="false">(</mo><mi>y</mi><mo>&#x02212;</mo><mi>R</mi><mo stretchy="false">)</mo><mo>+</mo><mn>2</mn><mi>&#x003C9;</mi><mfrac><mrow><mi>d</mi><mi>x</mi></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>\begin{split}
  2013. \frac{d^2 x}{d t^2}&amp;= \omega^2(1&#x2d;\epsilon^2) x &#x2d; 2 \omega \frac{d y}{d t}\\
  2014. \frac{d^2 y}{d t^2}&amp;= \omega^2(1&#x2d;\epsilon^2) (y&#x2d;R) + 2 \omega \frac{d x}{d t}
  2015. \end{split}
  2016. </annotation></semantics></math></div>
  2017.  
  2018. <p>with initial conditions <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>x</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo>=</mo><mover><mi>x</mi><mo>&#x002D9;</mo></mover><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo>=</mo><mi>y</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo>=</mo><mover><mi>y</mi><mo>&#x002D9;</mo></mover><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo><mo>=</mo><mn>0</mn></mrow><annotation encoding='application/x-tex'>x(t)=\dot{x}(t)=y(t)=\dot{y}(t)=0</annotation></semantics></math>. The exact solution solution is elementary, but for <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>&#x003C9;</mi><mi>t</mi><mo>&#x0226A;</mo><mn>1</mn></mrow><annotation encoding='application/x-tex'>\omega t\ll 1</annotation></semantics></math>, <em>i.e.</em> for times much shorter than the rotational period, we can approximate</p>
  2019.  
  2020. <div class="numberedEq" id="e2890:approx"><span>(2)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mrow><mtable displaystyle="true" columnalign="right left right left right left right left right left" columnspacing="0em"><mtr><mtd><mi>x</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>=</mo><mfrac><mn>1</mn><mn>3</mn></mfrac><mo stretchy="false">(</mo><mn>1</mn><mo>&#x02212;</mo><msup><mi>&#x003F5;</mi> <mn>2</mn></msup><mo stretchy="false">)</mo><mi>R</mi><mo stretchy="false">(</mo><mi>&#x003C9;</mi><mi>t</mi><msup><mo stretchy="false">)</mo> <mn>3</mn></msup><mo>+</mo><mi>O</mi><mo maxsize="1.2em" minsize="1.2em">(</mo><mo stretchy="false">(</mo><mi>&#x003C9;</mi><mi>t</mi><msup><mo stretchy="false">)</mo> <mn>5</mn></msup><mo maxsize="1.2em" minsize="1.2em">)</mo><mo>,</mo></mtd></mtr> <mtr><mtd><mi>y</mi><mo stretchy="false">(</mo><mi>t</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>=</mo><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mstyle displaystyle="false"><mfrac><mn>1</mn><mn>2</mn></mfrac></mstyle><mo stretchy="false">(</mo><mn>1</mn><mo>&#x02212;</mo><msup><mi>&#x003F5;</mi> <mn>2</mn></msup><mo stretchy="false">)</mo><mi>R</mi><mo stretchy="false">(</mo><mi>&#x003C9;</mi><mi>t</mi><msup><mo stretchy="false">)</mo> <mn>2</mn></msup><mo>+</mo><mi>O</mi><mo maxsize="1.2em" minsize="1.2em">(</mo><mo stretchy="false">(</mo><mi>&#x003C9;</mi><mi>t</mi><msup><mo stretchy="false">)</mo> <mn>4</mn></msup><mo maxsize="1.2em" minsize="1.2em">)</mo></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>\begin{split}
  2021.  x(t)&amp;= \frac{1}{3} (1&#x2d;\epsilon^2) R (\omega t)^3 +O\bigl((\omega t)^5\bigr),\\
  2022.  y(t)&amp;= &#x2d; \tfrac{1}{2} (1&#x2d;\epsilon^2)R(\omega t)^2+O\bigl((\omega t)^4\bigr)
  2023. \end{split}
  2024. </annotation></semantics></math></div>
  2025.  
  2026. <p>From (<a href="#e2890:approx">2</a>), if the whiskey falls a distance <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>h</mi><mo>&#x0226A;</mo><mi>R</mi></mrow><annotation encoding='application/x-tex'>h\ll R</annotation></semantics></math>, it undergoes a lateral displacement</p>
  2027.  
  2028. <div class="numberedEq" id="e2890:final"><span>(3)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>&#x00394;</mi><mi>x</mi><mo>=</mo><mstyle displaystyle="false"><mfrac><mn>2</mn><mn>3</mn></mfrac></mstyle><mi>h</mi><mspace width="0.16667em"/><msup><mrow><mo>(</mo><mfrac><mrow><mn>2</mn><mi>h</mi></mrow><mrow><mo stretchy="false">(</mo><mn>1</mn><mo>&#x02212;</mo><msup><mi>&#x003F5;</mi> <mn>2</mn></msup><mo stretchy="false">)</mo><mi>R</mi></mrow></mfrac><mo>)</mo></mrow> <mrow><mn>1</mn><mo stretchy="false">/</mo><mn>2</mn></mrow></msup></mrow><annotation encoding='application/x-tex'>\Delta x = \tfrac{2}{3} h\, {\left(\frac{2h}{(1&#x2d;\epsilon^2)R}\right)}^{1/2}
  2029. </annotation></semantics></math></div>
  2030.  
  2031. <p>For <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>h</mi><mo>=</mo><mn>16</mn></mrow><annotation encoding='application/x-tex'>h=16</annotation></semantics></math> cm and <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>R</mi><mo>=</mo><mstyle displaystyle="false"><mfrac><mn>1</mn><mn>3</mn></mfrac></mstyle><msub><mi>R</mi> <mi>C</mi></msub></mrow><annotation encoding='application/x-tex'>R=\tfrac{1}{3}R_C</annotation></semantics></math>, this is <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mfrac><mrow><mi>&#x00394;</mi><mi>x</mi></mrow><mi>h</mi></mfrac><mo>=</mo><msup><mn>10</mn> <mrow><mo lspace="0.11111em" rspace="0em">&#x02212;</mo><mn>3</mn></mrow></msup></mrow><annotation encoding='application/x-tex'>\frac{\Delta x}{h}= 10^{&#x2d;3}</annotation></semantics></math> which is 3 orders of magnitude smaller than depicted in the <a href="#CoriolisI1">screenshot</a> above<sup><a href="#CoriolisF2">2</a></sup>.</p>
  2032.  
  2033. <p>So, while I love the idea of the Coriolis effect appearing &#8212; however tangentially &#8212; in a TV drama, this really wasn&#8217;t the place for it.</p>
  2034.  
  2035. <hr/>
  2036.  
  2037. <div id="CoriolisF1" class="footnote"><p><sup>1</sup> Here, I&#8217;m approximating Ceres to be a sphere of uniform density. That&#8217;s not really correct, but since the contribution of Ceres&#8217; intrinsic gravity to (<a href="#e2890:final">3</a>) is only a 5% effect, the <em>corrections</em> from non-uniform density are negligible.</p></div>
  2038.  
  2039. <div id="CoriolisF2" class="footnote"><p><sup>2</sup> We could complain about other things: like that the slope should be monotonic (very much unlike what&#8217;s depicted). But that seems a minor quibble, compared to the effect being a thousand times too large.</p></div>
  2040.  
  2041.      </div>
  2042.    </content>
  2043.  </entry>
  2044.  <entry>
  2045.    <title type="html">BMiSsed</title>
  2046.    <link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/002863.html" />
  2047.    <updated>2016-01-11T16:09:36Z</updated>
  2048.    <published>2016-01-10T11:39:02-06:00</published>
  2049.    <id>tag:golem.ph.utexas.edu,2016:%2F~distler%2Fblog%2F1.2863</id>
  2050.    <summary type="text">I'm confused about Hawking-Perry-Strominger.</summary>
  2051.    <author>
  2052.      <name>distler</name>
  2053.      <uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
  2054.      <email>distler@golem.ph.utexas.edu</email>
  2055.    </author>
  2056.    <category term="Physics" />
  2057.    <content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/002863.html">
  2058.      <div xmlns="http://www.w3.org/1999/xhtml">
  2059. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  2060.  
  2061. <p>There&#8217;s a general mantra that we all repeat to ourselves: gauge transformations are <em>not symmetries</em>; they are <em>redundancies</em> of our description. There is an exception, of course: gauge transformations that don&#8217;t go to the identity at infinity <em>aren&#8217;t</em> redundancies; they are actual symmetries.</p>
  2062.  
  2063. <p>Strominger, rather beautifully <a href="http://arxiv.org/abs/1312.2229">showed</a> that BMS supertranslations (or, more precisely, a certain diagonal subgroup of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mtext>BMS</mtext> <mo>+</mo></msup></mrow><annotation encoding='application/x-tex'>\text{BMS}^+</annotation></semantics></math> (which act as supertranslations on <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>&#x02110;</mi> <mo>+</mo></msup></mrow><annotation encoding='application/x-tex'>\mathcal{I}^+</annotation></semantics></math>) and <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mtext>BMS</mtext> <mo>&#x02212;</mo></msup></mrow><annotation encoding='application/x-tex'>\text{BMS}^&#x2d;</annotation></semantics></math> (which act as supertranslations on <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>&#x02110;</mi> <mo>&#x02212;</mo></msup></mrow><annotation encoding='application/x-tex'>\mathcal{I}^&#x2d;</annotation></semantics></math>) are symmetries of the gravitational S-matrix. The corresponding conservation laws are equivalent to Weinberg&#8217;s <a href="http://inspirehep.net/record/48759">Soft-Graviton Theorem</a>. Similarly, in electromagnetism, the <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>U</mi><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>U(1)</annotation></semantics></math> gauge transformations which don&#8217;t go to the identity on  <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>&#x02110;</mi> <mo>&#x000B1;</mo></msup></mrow><annotation encoding='application/x-tex'>\mathcal{I}^\pm</annotation></semantics></math> give rise to the Soft-Photon Theorem.</p>
  2064.  
  2065. <p>A while back, there was considerable brouhaha about Hawking&#8217;s claim that BMS symmetry had something to do with resolving the blackhole information paradox. Well, finally, a paper from <a href="http://arxiv.org/abs/1601.00921">Hawking, Perry and Strominger</a> has arrived.</p>
  2066.  
  2067. <p>Cue <a href="http://backreaction.blogspot.com/2016/01/more-information-emerges-about-new.html">further</a> <a href="http://blogs.scientificamerican.com/dark-star-diaries/stephen-hawking-s-new-black-hole-paper-translated-an-interview-with-co-author-andrew-strominger/">brouhaha</a>&#8230;</p>
  2068.  
  2069. <div><a href="http://golem.ph.utexas.edu/~distler/blog/mathml.html"><img class="mathlogo" src="https://golem.ph.utexas.edu/~distler/blog/images/MathML.png" alt="MathML-enabled post (click for more details)." title="MathML-enabled post (click for details)." /></a></div>
  2070.  
  2071. <p>In a nutshell, it seems they want to propose that gauge transformations which don&#8217;t go to the identity at the blackhole <em>horizon</em> are also <em>not redundancies</em>, but rather <em>symmetries</em> of the theory. And the corresponding conservation laws (they mostly talk about the electromagnetic case &#8212; hence soft-photons) provide previously unforeseen hair to the blackhole.</p>
  2072.  
  2073. <p>Lots of details (or, at least, the promise of followup work containing said details) follow, but the crux of the matter is the following: two blackholes which differ by a gauge transformation which is not the identity on the horizon are <em>different</em> (degenerate) blackholes. Moreover, some diagonal subgroup of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mtext>BMS</mtext> <mi>H</mi></msup></mrow><annotation encoding='application/x-tex'>\text{BMS}^H</annotation></semantics></math> and <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mtext>BMS</mtext> <mo>+</mo></msup></mrow><annotation encoding='application/x-tex'>\text{BMS}^+</annotation></semantics></math> is supposed to be a symmetry of the Hawking process (hence allowing the &#8220;hair&#8221; to escape, as the blackhole evaporates).</p>
  2074.  
  2075. <p>But I&#8217;m stuck at the starting point: why are we changing the rules and declaring that gauge transformations at the horizon are symmetries, rather than redundancies? </p>
  2076.  
  2077. <p>As I. I. Rabi said (on a different subject), &#8220;Who ordered that?&#8221;</p>
  2078.  
  2079. <p>The second, more subtle, point is how are we supposed to &#8220;find&#8221; the desired diagonal subgroup of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mtext>BMS</mtext> <mi>H</mi></msup><mo>&#x000D7;</mo><msup><mtext>BMS</mtext> <mo>+</mo></msup></mrow><annotation encoding='application/x-tex'>\text{BMS}^H\times \text{BMS}^+</annotation></semantics></math>? In the case that Strominger studied, a crucial fact was that <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>&#x02110;</mi> <mo>&#x02212;</mo></msup></mrow><annotation encoding='application/x-tex'>\mathcal{I}^&#x2d;</annotation></semantics></math> and <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>&#x02110;</mi> <mo>+</mo></msup></mrow><annotation encoding='application/x-tex'>\mathcal{I}^+</annotation></semantics></math> intersect on the <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>S</mi> <mn>2</mn></msup></mrow><annotation encoding='application/x-tex'>S^2</annotation></semantics></math> at spatial infinity. Studying the action of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mtext>BMS</mtext> <mo>&#x000B1;</mo></msup></mrow><annotation encoding='application/x-tex'>\text{BMS}^\pm</annotation></semantics></math> near spatial infinity picked out the desired subgroup of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mtext>BMS</mtext> <mo>&#x02212;</mo></msup><mo>&#x000D7;</mo><msup><mtext>BMS</mtext> <mo>+</mo></msup></mrow><annotation encoding='application/x-tex'>\text{BMS}^&#x2d;\times \text{BMS}^+</annotation></semantics></math>. But, while the horizon of an <em>eternal</em> blackhole does intersect <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>&#x02110;</mi> <mo>+</mo></msup></mrow><annotation encoding='application/x-tex'>\mathcal{I}^+</annotation></semantics></math> (a fact HPS use in section 3), the horizon of an evaporating one does not. So I can&#8217;t imagine any natural way to relate supertranslations (or <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>U</mi><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>U(1)</annotation></semantics></math> gauge rotations) on the horizon of an evaporating blackhole to supertranslations (gauge rotations) on <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>&#x02110;</mi> <mo>+</mo></msup></mrow><annotation encoding='application/x-tex'>\mathcal{I}^+</annotation></semantics></math>. Section 6 of their paper is supposed to address this question, but I honestly can&#8217;t make heads or tails of it.</p>
  2080.  
  2081. <p>In the end, my puzzlement comes down to this: the whole setup is that of local quantum field theory, the context in which the blackhole information paradox originally arose. The &#8220;solution&#8221; seems to be to change the rules of local quantum field theory (in a seemingly ad-hoc way, at the horizon). But, if we&#8217;ve learned anything &#8212; from String Theory, <abbr title="Anti de Sitter">AdS</abbr>/<abbr title="Conformal Field Theory">CFT</abbr>, &#8230; &#8212;- it&#8217;s not that local quantum field theory needs to be modified in some way; it&#8217;s that local quantum field theory, in the presence of blackholes, breaks down at something of order the Page Time and this breakdown is <em>not</em> some local effect.</p>
  2082.  
  2083.      </div>
  2084.    </content>
  2085.  </entry>
  2086.  
  2087. </feed>

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid Atom 1.0" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=https%3A//golem.ph.utexas.edu/%7Edistler/blog/atom10.xml

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda