This is a valid Atom 1.0 feed.
This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.
line 343, column 82: (2 occurrences) [help]
... athML' display='block'><semantics><mrow><menclose notation="box"><mrow>< ...
^
line 343, column 82: (2 occurrences) [help]
... athML' display='block'><semantics><mrow><menclose notation="box"><mrow>< ...
^
... ntics><annotation-xml encoding="SVG1.1"><svg width="434" height="165" xm ...
^
line 497, column 2: (13 occurrences) [help]
<foreignObject x="202.5" y="46.5" id="svg_89522_66" font-size="16" width=" ...
^
line 517, column 4: (3 occurrences) [help]
<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" id="sv ...
^
<semantics id="svg_89522_20">
^
line 647, column 6: (2 occurrences) [help]
<mrow id="svg_89522_21">
^
line 648, column 7: (8 occurrences) [help]
<mo id="svg_89522_22" stretchy="false">[</mo>
^
line 1577, column 0: (42 occurrences) [help]
<symbol id='glyph5385-0-0' overflow='visible'>
line 1577, column 0: (42 occurrences) [help]
<symbol id='glyph5385-0-0' overflow='visible'>
<clipPath id='clip1'>
<g clip-path='url(#clip1)' clip-rule='nonzero'>
<g clip-path='url(#clip1)' clip-rule='nonzero'>
<div style='border: 1px solid grey; padding: 10px; overflow:auto;'>
... ></mtd> <mtd><mspace width="0.16667em"/><mi class='mathscript'>𝒜 ...
^
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/css" href="https://golem.ph.utexas.edu/~distler/blog/atom.css" ?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
<title>Musings</title>
<link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/" />
<link rel="self" href="https://golem.ph.utexas.edu/~distler/blog/atom10.xml" />
<link rel="replies" type="application/atom+xml" href="https://golem.ph.utexas.edu/~distler/blog/comments.atom"/>
<updated>2024-09-30T13:01:23Z</updated>
<subtitle>Thoughts on Science, Computing, and Life on Earth.</subtitle>
<id>tag:golem.ph.utexas.edu,2003:Musings/1</id>
<generator uri="http://www.movabletype.org/" version="3.36">Movable Type</generator>
<icon>https://golem.ph.utexas.edu/~distler/blog/images/favicon.ico</icon>
<rights>Copyright (c) 2024, Jacques Distler</rights>
<entry>
<title type="html">Golem VI</title>
<link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003563.html" />
<updated>2024-09-30T13:01:23Z</updated>
<published>2024-09-30T08:01:18-06:00</published>
<id>tag:golem.ph.utexas.edu,2024:%2F~distler%2Fblog%2F1.3563</id>
<summary type="text">Another Regeneration</summary>
<author>
<name>distler</name>
<uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
<email>distler@golem.ph.utexas.edu</email>
</author>
<category term="Computers" />
<content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003563.html">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
<p>Hopefully, you didn’t notice, but <a href="/~distler/blog/archives/002763.html">Golem V</a> has been replaced. Superficially, the new machine looks pretty much like the old.</p>
<p>It’s another Mac Mini, with an (8-core) Apple Silicon M2 chip (instead of a quad-core Intel Core i7), 24 GB of <acronym title="Random Access Memory">RAM</acronym> (instead of 16), dual 10Gbase-T NICs (instead of 1Gbase-T), a 1TB internal SSD and a 2TB external SSD (TimeMachine backup).</p>
<p>The transition was anything but smooth.</p>
<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>
<p>The first step involved retrieving the external HD, which contained a clone of the internal System drive, from <acronym title="University Data Center">UDC</acronym> and running <a href="https://support.apple.com/en-us/102613">Migration Assistant</a> to transfer the data to the new machine. </p>
<p>Except … Migration Assistant refused to touch the external HD. It (like the System drive of Golem V) was formatted with a case-sensitive filesystem. Ten years ago, that was perfectly OK, and seemed like the wave of the future. But the filesystem (specifically, the Data Volume) for <em>current</em> versions of Macos is case-<em>insensitive</em> and there is <em>no way</em> to format it as case-sensitive. Since transferring data from a case-sensitive to a case-insensitive filesystem is potentially lossy, Migration Assistant refused to even try.</p>
<p>The solution turned out to be:</p>
<ul>
<li>Format a new drive as case-insensitive.</li>
<li>Use <code>rsync</code> to copy the old (case-sensitive) drive onto the new one.</li>
<li><code>rsync</code> complained about a handful of files, but none were of any consequence.</li>
<li>Run Migration Assistant on the new case-insensitive drive.</li>
</ul>
<p>And that was just Day 1. Recompiling/reinstalling a whole mess ‘o software occupied the next several weeks, with similar hurdles to overcome. </p>
<p>For instance, installing Perl XS modules, using <code>cpan</code> consistently failed with a </p>
<blockquote>
<pre><code>fatal error: 'EXTERN.h' file not found</code></pre>
</blockquote>
<p>error. Googling the failures led me to <a href="https://perlmonks.org/">perlmonks.org</a>, where a <a href="https://www.perlmonks.org/?node_id=1224716">post</a> sagely opined</p>
<blockquote>
<p>First, do <em>not</em> use the system Perl on MacOS. As Corion says, that is for Apple, not for you.</p>
</blockquote>
<p>This is nonsense. The system Perl is the one Apple <em>intends</em> you to use. But … if you’re gonna do development on Macos (and installing Perl XS modules apparently constitutes development), you need to use the Macos <acronym title="Software Development Kit">SDK</acronym>. And <code>cpan</code> doesn’t seem to be smart enough to do that. The Makefile it generates says</p>
<blockquote>
<pre><code>PERL_INC = /System/Library/Perl/5.34/darwin-thread-multi-2level/CORE</code></pre>
</blockquote>
<p>Edit that by hand to read</p>
<blockquote>
<pre><code>PERL_INC = /Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk/System/Library/Perl/5.34/darwin-thread-multi-2level/CORE</code></pre>
</blockquote>
<p>and everything compiles and installs just fine.</p>
<p>And don’t even get me started on the woeful state of the once-marvelous <a href="https://www.finkproject.org/">Fink Package Manager</a>.</p>
<p>One odder bit of breakage does deserve a mention. <code>sysctl</code> is used to set (or read) various Kernel parameters (including one that I very much need for my setup: <code>net.inet.ip.forwarding=1</code>). And there’s a file <code>/etc/sysctl.conf</code> where you can store these settings, so that they persist across reboots. Unnoticed by me, Migration Assistant didn’t copy that file to the new Golem, which was the source of much puzzlement and consternation when the new Golem booted up for the first time at <acronym>UDC</acronym>, and the networking wasn’t working right.</p>
<p>When I realized what was going on, I just thought, “Aha! I’ll recreate that file and all will be good.” Imagine my surprise when I rebooted the machine a couple of days later and, again, the networking wasn’t working right. Turns out that, unlike every other Unix system I have seen (and unlike the previous Golem), the current version(s) of Macos completely ignore <code>/etc/sysctl.conf</code>. If you want to persist those settings between reboots, you have to do that in a cron-job (or launchd script or whatever.)</p>
<p>Anyway, enough complaining. The new Golem seems to be working now, in no small part thanks to the amazing support (and boundless patience) of Chris Murphy, Andrew Manhein and the rest of the crew at <acronym>UDC</acronym>. <em>Thanks guys!</em></p>
</div>
</content>
</entry>
<entry>
<title type="html">The Zinn-Justin Equation</title>
<link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003546.html" />
<updated>2024-08-03T10:31:30Z</updated>
<published>2024-07-30T13:56:37-06:00</published>
<id>tag:golem.ph.utexas.edu,2024:%2F~distler%2Fblog%2F1.3546</id>
<summary type="text">A note on the renormalization of nonabelian gauge theories </summary>
<author>
<name>distler</name>
<uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
<email>distler@golem.ph.utexas.edu</email>
</author>
<category term="Physics" />
<content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003546.html">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
<p>A note from my <abbr title="Quantum Field Theory">QFT</abbr> class. Finally, I understand what Batalin-Vilkovisky anti-fields are <em>for</em>.</p>
<p>The Ward-Takahashi Identities are central to understanding the renormalization of QED. They are an (infinite tower of) constraints satisfied by the vertex functions in the <abbr title="One Particle Irreducible">1PI</abbr> generating functional <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>Γ</mi><mo stretchy="false">(</mo><msub><mi>A</mi> <mi>μ</mi></msub><mo>,</mo><mi>ψ</mi><mo>,</mo><mover><mi>ψ</mi><mo stretchy="false">˜</mo></mover><mo>,</mo><mi>b</mi><mo>,</mo><mi>c</mi><mo>,</mo><mi>χ</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>\Gamma(A_\mu,\psi,\tilde\psi,b,c,\chi)</annotation></semantics></math>. They are simply derived by demanding that the <abbr title="Becchi-Rouet-Stora-Tyutin">BRST</abbr> variations</p>
<div class="numberedEq" id="e3546:abelianBRST"><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><msub><mi>δ</mi> <mtext>BRST</mtext></msub><mi>b</mi></mtd> <mtd><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><mfrac><mn>1</mn><mi>ξ</mi></mfrac><mo stretchy="false">(</mo><mo>∂</mo><mo>⋅</mo><mi>A</mi><mo>−</mo><msup><mi>ξ</mi> <mrow><mn>1</mn><mo stretchy="false">/</mo><mn>2</mn></mrow></msup><mi>χ</mi><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd><msub><mi>δ</mi> <mtext>BRST</mtext></msub><msub><mi>A</mi> <mi>μ</mi></msub></mtd> <mtd><mo>=</mo><msub><mo>∂</mo> <mi>μ</mi></msub><mi>c</mi></mtd></mtr> <mtr><mtd><msub><mi>δ</mi> <mtext>BRST</mtext></msub><mi>χ</mi></mtd> <mtd><mo>=</mo><msup><mi>ξ</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</mo><mn>1</mn><mo stretchy="false">/</mo><mn>2</mn></mrow></msup><msup><mo>∂</mo> <mi>μ</mi></msup><msub><mo>∂</mo> <mi>μ</mi></msub><mi>c</mi></mtd></mtr> <mtr><mtd><msub><mi>δ</mi> <mtext>BRST</mtext></msub><mi>ψ</mi></mtd> <mtd><mo>=</mo><mi>i</mi><mi>e</mi><mi>c</mi><mi>ψ</mi></mtd></mtr> <mtr><mtd><msub><mi>δ</mi> <mtext>BRST</mtext></msub><mover><mi>ψ</mi><mo stretchy="false">˜</mo></mover></mtd> <mtd><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><mi>i</mi><mi>e</mi><mi>c</mi><mover><mi>ψ</mi><mo stretchy="false">˜</mo></mover></mtd></mtr> <mtr><mtd><msub><mi>δ</mi> <mtext>BRST</mtext></msub><mi>c</mi></mtd> <mtd><mo>=</mo><mn>0</mn></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>\begin{split}
\delta_{\text{BRST}} b&= -\frac{1}{\xi}(\partial\cdot A-\xi^{1/2}\chi)\\
\delta_{\text{BRST}} A_\mu&= \partial_\mu c\\
\delta_{\text{BRST}} \chi &= \xi^{-1/2} \partial^\mu\partial_\mu c\\
\delta_{\text{BRST}} \psi &= i e c\psi\\
\delta_{\text{BRST}} \tilde{\psi} &= -i e c\tilde{\psi}\\
\delta_{\text{BRST}} c &= 0
\end{split}
</annotation></semantics></math></div>
<p>annihilate <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>Γ</mi></mrow><annotation encoding='application/x-tex'>\Gamma</annotation></semantics></math>:
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msub><mi>δ</mi> <mtext>BRST</mtext></msub><mi>Γ</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding='application/x-tex'>
\delta_{\text{BRST}}\Gamma=0
</annotation></semantics></math>
(Here, by a slight abuse of notation, I’m using the same symbol to denote the sources in the <abbr>1PI</abbr> generating functional and the corresponding renormalized fields in the renormalized action
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>ℒ</mi><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><mfrac><mrow><msub><mi>Z</mi> <mi>A</mi></msub></mrow><mn>4</mn></mfrac><msub><mi>F</mi> <mrow><mi>μ</mi><mi>ν</mi></mrow></msub><msup><mi>F</mi> <mrow><mi>μ</mi><mi>ν</mi></mrow></msup><mo>+</mo><msub><mi>Z</mi> <mi>ψ</mi></msub><mrow><mo>(</mo><mi>i</mi><msup><mi>ψ</mi> <mo>†</mo></msup><mover><mi>σ</mi><mo>¯</mo></mover><mo>⋅</mo><mo stretchy="false">(</mo><mo>∂</mo><mo lspace="0.11111em" rspace="0em">−</mo><mi>i</mi><mi>e</mi><mi>A</mi><mo stretchy="false">)</mo><mi>ψ</mi><mo>+</mo><mi>i</mi><msup><mover><mi>ψ</mi><mo stretchy="false">˜</mo></mover> <mo>†</mo></msup><mover><mi>σ</mi><mo>¯</mo></mover><mo>⋅</mo><mo stretchy="false">(</mo><mo>∂</mo><mo lspace="0.11111em" rspace="0em">+</mo><mi>i</mi><mi>e</mi><mi>A</mi><mo stretchy="false">)</mo><mover><mi>ψ</mi><mo stretchy="false">˜</mo></mover><mo>−</mo><msub><mi>Z</mi> <mi>m</mi></msub><mi>m</mi><mo stretchy="false">(</mo><mi>ψ</mi><mover><mi>ψ</mi><mo stretchy="false">˜</mo></mover><mo>+</mo><msup><mi>ψ</mi> <mo>†</mo></msup><msup><mover><mi>ψ</mi><mo stretchy="false">˜</mo></mover> <mo>†</mo></msup><mo stretchy="false">)</mo><mo>)</mo></mrow><mo>+</mo><msub><mi>ℒ</mi> <mtext>GF</mtext></msub><mo>+</mo><msub><mi>ℒ</mi> <mtext>gh</mtext></msub></mrow><annotation encoding='application/x-tex'>
\mathcal{L}= -\frac{Z_A}{4}F_{\mu\nu}F^{\mu\nu} + Z_\psi \left(i\psi^\dagger \overline{\sigma}\cdot(\partial-i e A)\psi+
i\tilde{\psi}^\dagger \overline{\sigma}\cdot(\partial+i e A)\tilde{\psi} -Z_m m(\psi\tilde{\psi}+\psi^\dagger\tilde{\psi}^\dagger)
\right) +\mathcal{L}_{\text{GF}}+\mathcal{L}_{\text{gh}}
</annotation></semantics></math>
where
<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>ℒ</mi> <mtext>GF</mtext></msub><mo>+</mo><msub><mi>ℒ</mi> <mtext>gh</mtext></msub></mtd> <mtd><mo>=</mo><msub><mi>δ</mi> <mtext>BRST</mtext></msub><mfrac><mn>1</mn><mn>2</mn></mfrac><mrow><mo>(</mo><mi>b</mi><mo stretchy="false">(</mo><mo>∂</mo><mo>⋅</mo><mi>A</mi><mo>+</mo><msup><mi>ξ</mi> <mrow><mn>1</mn><mo stretchy="false">/</mo><mn>2</mn></mrow></msup><mi>χ</mi><mo stretchy="false">)</mo><mo>)</mo></mrow></mtd></mtr> <mtr><mtd/> <mtd><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><mfrac><mn>1</mn><mrow><mn>2</mn><mi>ξ</mi></mrow></mfrac><mo stretchy="false">(</mo><mo>∂</mo><mo>⋅</mo><mi>A</mi><msup><mo stretchy="false">)</mo> <mn>2</mn></msup><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><mi>χ</mi> <mn>2</mn></msup><mo>−</mo><mi>b</mi><msup><mo>∂</mo> <mi>μ</mi></msup><msub><mo>∂</mo> <mi>μ</mi></msub><mi>c</mi></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
\begin{split}
\mathcal{L}_{\text{GF}}+\mathcal{L}_{\text{gh}}&= \delta_{\text{BRST}}\frac{1}{2}\left(b(\partial\cdot A+\xi^{1/2}\chi)\right)\\
&=-\frac{1}{2\xi} (\partial\cdot A)^2+ \frac{1}{2}\chi^2 - b\partial^\mu\partial_\mu c
\end{split}
</annotation></semantics></math>
They both transform under <abbr>BRST</abbr> by (<a href="#e3546:abelianBRST">1</a>).)</p>
<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>
<p>The situation in nonabelian gauge theories is more cloudy. <em>Unlike</em> in QED, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>𝒩</mi><mo>≔</mo><msub><mi>Z</mi> <mi>g</mi></msub><msubsup><mi>Z</mi> <mi>A</mi> <mrow><mn>1</mn><mo stretchy="false">/</mo><mn>2</mn></mrow></msubsup><mo>≠</mo><mn>1</mn></mrow><annotation encoding='application/x-tex'>\mathcal{N}\coloneqq Z_g Z_A^{1/2}\neq 1</annotation></semantics></math>. Hence the <abbr>BRST</abbr> transformations need to be renormalized. Let
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msub><mover><mi>D</mi><mo stretchy="false">˜</mo></mover> <mi>μ</mi></msub><mo>=</mo><msub><mo>∂</mo> <mi>μ</mi></msub><mo>−</mo><mi>i</mi><mi>g</mi><mi>𝒩</mi><msub><mi>A</mi> <mi>μ</mi></msub></mrow><annotation encoding='application/x-tex'>
\tilde{D}_\mu = \partial_\mu -i g\mathcal{N}A_\mu
</annotation></semantics></math>
be the renormalized covariant derivative and
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msub><mover><mi>F</mi><mo stretchy="false">˜</mo></mover> <mrow><mi>μ</mi><mi>ν</mi></mrow></msub><mo>=</mo><mfrac><mi>i</mi><mrow><mi>g</mi><mi>𝒩</mi></mrow></mfrac><mo stretchy="false">[</mo><msub><mover><mi>D</mi><mo stretchy="false">˜</mo></mover> <mi>μ</mi></msub><mo>,</mo><msub><mover><mi>D</mi><mo stretchy="false">˜</mo></mover> <mi>ν</mi></msub><mo stretchy="false">]</mo><mo>=</mo><msub><mo>∂</mo> <mi>μ</mi></msub><msub><mi>A</mi> <mi>ν</mi></msub><mo>−</mo><msub><mo>∂</mo> <mi>ν</mi></msub><msub><mi>A</mi> <mi>μ</mi></msub><mo>−</mo><mi>i</mi><mi>g</mi><mi>𝒩</mi><mo stretchy="false">[</mo><msub><mi>A</mi> <mi>μ</mi></msub><mo>,</mo><msub><mi>A</mi> <mi>ν</mi></msub><mo stretchy="false">]</mo></mrow><annotation encoding='application/x-tex'>
\tilde{F}_{\mu\nu} = \frac{i}{g\mathcal{N}}[\tilde{D}_\mu,\tilde{D}_\nu]= \partial_\mu A_\nu-\partial_\nu A_\mu -i g\mathcal{N}[A_\mu,A_\nu]
</annotation></semantics></math>
the renormalized field strength. The renormalized <abbr>BRST</abbr> transformations</p>
<div class="numberedEq" id="e3546:nonabelianBRST"><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><msub><mi>δ</mi> <mtext>BRST</mtext></msub><mi>b</mi></mtd> <mtd><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><mfrac><mn>1</mn><mi>ξ</mi></mfrac><mo stretchy="false">(</mo><mo>∂</mo><mo>⋅</mo><mi>A</mi><mo>−</mo><msup><mi>ξ</mi> <mrow><mn>1</mn><mo stretchy="false">/</mo><mn>2</mn></mrow></msup><mi>χ</mi><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd><msub><mi>δ</mi> <mtext>BRST</mtext></msub><msub><mi>A</mi> <mi>μ</mi></msub></mtd> <mtd><mo>=</mo><msub><mi>Z</mi> <mtext>gh</mtext></msub><msub><mover><mi>D</mi><mo stretchy="false">˜</mo></mover> <mi>μ</mi></msub><mi>c</mi><mo>=</mo><msub><mi>Z</mi> <mtext>gh</mtext></msub><mo stretchy="false">(</mo><msub><mo>∂</mo> <mi>μ</mi></msub><mi>c</mi><mo>−</mo><mi>i</mi><mi>g</mi><mi>𝒩</mi><mo stretchy="false">[</mo><msub><mi>A</mi> <mi>μ</mi></msub><mo>,</mo><mi>c</mi><mo stretchy="false">]</mo><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd><msub><mi>δ</mi> <mtext>BRST</mtext></msub><mi>χ</mi></mtd> <mtd><mo>=</mo><msup><mi>ξ</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</mo><mn>1</mn><mo stretchy="false">/</mo><mn>2</mn></mrow></msup><msub><mi>Z</mi> <mtext>gh</mtext></msub><msup><mo>∂</mo> <mi>μ</mi></msup><msub><mover><mi>D</mi><mo stretchy="false">˜</mo></mover> <mi>μ</mi></msub><mi>c</mi></mtd></mtr> <mtr><mtd><msub><mi>δ</mi> <mtext>BRST</mtext></msub><mi>c</mi></mtd> <mtd><mo>=</mo><mfrac><mrow><mi>i</mi><mi>g</mi></mrow><mn>2</mn></mfrac><msub><mi>Z</mi> <mtext>gh</mtext></msub><mi>𝒩</mi><mo stretchy="false">{</mo><mi>c</mi><mo>,</mo><mi>c</mi><mo stretchy="false">}</mo></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>\begin{split}
\delta_{\text{BRST}} b&= -\frac{1}{\xi}(\partial\cdot A-\xi^{1/2}\chi)\\
\delta_{\text{BRST}} A_\mu&= Z_{\text{gh}}\tilde{D}_\mu c = Z_{\text{gh}} (\partial_\mu c -i g\mathcal{N}[A_\mu,c])\\
\delta_{\text{BRST}} \chi &= \xi^{-1/2}Z_{\text{gh}} \partial^\mu\tilde{D}_\mu c\\
\delta_{\text{BRST}} c &= \frac{i g}{2}Z_{\text{gh}} \mathcal{N}\{c,c\}
\end{split}
</annotation></semantics></math></div>
<p>explicitly involve both <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>𝒩</mi></mrow><annotation encoding='application/x-tex'>\mathcal{N}</annotation></semantics></math> and the ghost wave-function renormalization, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>Z</mi> <mtext>gh</mtext></msub></mrow><annotation encoding='application/x-tex'>Z_{\text{gh}}</annotation></semantics></math> and are corrected order-by-order in perturbation theory. Hence the relations which follow from <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>δ</mi> <mtext>BRST</mtext></msub><mi>Γ</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding='application/x-tex'>\delta_{\text{BRST}} \Gamma=0</annotation></semantics></math> (called the Slavnov-Taylor Identities) are also corrected order-by-order in perturbation theory.</p>
<p>This is … awkward. The vertex functions are <em>finite</em> quantities. And yet the relations (naively) involve these infinite renormalization constants (which, moreover, are power-series in <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>
<p>But if we step up to the full-blown Batalin-Vilkovisky formalism, we can do better. Let’s introduce a new commuting adjoint-valued scalar field <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>Φ</mi></mrow><annotation encoding='application/x-tex'>\Phi</annotation></semantics></math> with ghost number <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo lspace="0.11111em" rspace="0em">−</mo><mn>2</mn></mrow><annotation encoding='application/x-tex'>-2</annotation></semantics></math> and an anti-commuting adjoint-valued vector-field <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>S</mi> <mi>μ</mi></msub></mrow><annotation encoding='application/x-tex'>S_\mu</annotation></semantics></math> with ghost number <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo lspace="0.11111em" rspace="0em">−</mo><mn>1</mn></mrow><annotation encoding='application/x-tex'>-1</annotation></semantics></math> and posit that they transform trivially under <abbr>BRST</abbr>:
<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>δ</mi> <mtext>BRST</mtext></msub><mi>Φ</mi></mtd> <mtd><mo>=</mo><mn>0</mn></mtd></mtr> <mtr><mtd><msub><mi>δ</mi> <mtext>BRST</mtext></msub><msub><mi>S</mi> <mi>μ</mi></msub></mtd> <mtd><mo>=</mo><mn>0</mn></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
\begin{split}
\delta_{\text{BRST}} \Phi&=0\\
\delta_{\text{BRST}} S_\mu&=0
\end{split}
</annotation></semantics></math>
The renormalized Yang-Mills Lagrangian<sup><a href='#ZJF1'>1</a></sup> is</p>
<div class="numberedEq"><span>(2)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>ℒ</mi><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><mfrac><mrow><msub><mi>Z</mi> <mi>A</mi></msub></mrow><mn>2</mn></mfrac><mi>Tr</mi><msub><mover><mi>F</mi><mo stretchy="false">˜</mo></mover> <mrow><mi>μ</mi><mi>ν</mi></mrow></msub><msup><mover><mi>F</mi><mo stretchy="false">˜</mo></mover> <mrow><mi>μ</mi><mi>ν</mi></mrow></msup><mo>+</mo><msub><mi>ℒ</mi> <mtext>GF</mtext></msub><mo>+</mo><msub><mi>ℒ</mi> <mtext>gh</mtext></msub><mo>+</mo><msub><mi>ℒ</mi> <mtext>AF</mtext></msub></mrow><annotation encoding='application/x-tex'>
\mathcal{L}= -\frac{Z_A}{2} Tr\tilde{F}_{\mu\nu}\tilde{F}^{\mu\nu} +\mathcal{L}_{\text{GF}}+\mathcal{L}_{\text{gh}}+\mathcal{L}_{\text{AF}}
</annotation></semantics></math></div>
<p>where
<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>ℒ</mi> <mtext>GF</mtext></msub><mo>+</mo><msub><mi>ℒ</mi> <mtext>gh</mtext></msub></mtd> <mtd><mo>=</mo><msub><mi>δ</mi> <mtext>BRST</mtext></msub><mi>Tr</mi><mrow><mo>(</mo><mi>b</mi><mo stretchy="false">(</mo><mo>∂</mo><mo>⋅</mo><mi>A</mi><mo>+</mo><msup><mi>ξ</mi> <mrow><mn>1</mn><mo stretchy="false">/</mo><mn>2</mn></mrow></msup><mi>χ</mi><mo stretchy="false">)</mo><mo>)</mo></mrow></mtd></mtr> <mtr><mtd/> <mtd><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><mfrac><mn>1</mn><mi>ξ</mi></mfrac><mi>Tr</mi><mo stretchy="false">(</mo><mo>∂</mo><mo>⋅</mo><mi>A</mi><msup><mo stretchy="false">)</mo> <mn>2</mn></msup><mo>+</mo><mi>Tr</mi><msup><mi>χ</mi> <mn>2</mn></msup><mo>−</mo><mn>2</mn><msub><mi>Z</mi> <mtext>gh</mtext></msub><mi>Tr</mi><mi>b</mi><mo>∂</mo><mo>⋅</mo><mover><mi>D</mi><mo stretchy="false">˜</mo></mover><mi>c</mi></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
\begin{split}
\mathcal{L}_{\text{GF}}+\mathcal{L}_{\text{gh}}&= \delta_{\text{BRST}}Tr\left(b(\partial\cdot A+\xi^{1/2}\chi)\right)\\
&=-\frac{1}{\xi} Tr(\partial\cdot A)^2+ Tr\chi^2 -2Z_{\text{gh}}Tr b\partial\cdot\tilde{D} c
\end{split}
</annotation></semantics></math>
and
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msub><mi>ℒ</mi> <mtext>AF</mtext></msub><mo>=</mo><msub><mi>Z</mi> <mtext>gh</mtext></msub><mi>Tr</mi><mo stretchy="false">(</mo><msup><mi>S</mi> <mi>μ</mi></msup><msub><mover><mi>D</mi><mo stretchy="false">˜</mo></mover> <mi>μ</mi></msub><mi>c</mi><mo stretchy="false">)</mo><mo>+</mo><mfrac><mrow><mi>i</mi><mi>g</mi></mrow><mn>2</mn></mfrac><msub><mi>Z</mi> <mtext>gh</mtext></msub><mi>𝒩</mi><mi>Tr</mi><mo stretchy="false">(</mo><mi>Φ</mi><mo stretchy="false">{</mo><mi>c</mi><mo>,</mo><mi>c</mi><mo stretchy="false">}</mo><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>
\mathcal{L}_{\text{AF}} =Z_{\text{gh}}Tr(S^\mu\tilde{D}_\mu c) +\frac{i g}{2} Z_{\text{gh}}\mathcal{N} Tr(\Phi\{c,c\})
</annotation></semantics></math>
<math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>ℒ</mi> <mtext>AF</mtext></msub></mrow><annotation encoding='application/x-tex'>\mathcal{L}_{\text{AF}}</annotation></semantics></math> is explicitly <abbr>BRST</abbr>-invariant because what appears multiplying the anti-fields <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>S</mi> <mi>μ</mi></msup></mrow><annotation encoding='application/x-tex'>S^\mu</annotation></semantics></math> and <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>Φ</mi></mrow><annotation encoding='application/x-tex'>\Phi</annotation></semantics></math> are <abbr>BRST</abbr> variations (respectively of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>A</mi> <mi>μ</mi></msub></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><mi>c</mi></mrow><annotation encoding='application/x-tex'>c</annotation></semantics></math>). These were the “troublesome” <abbr>BRST</abbr> variations where the RHS of (<a href="#e3546:nonabelianBRST">1</a>) were nonlinear in the fields (and hence subject to renormalization).</p>
<p>Now we can replace the “ugly” equation <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>δ</mi> <mtext>BRST</mtext></msub><mi>Γ</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding='application/x-tex'>\delta_{\text{BRST}}\Gamma=0</annotation></semantics></math>, which has explicit factors of <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>𝒩</mi></mrow><annotation encoding='application/x-tex'>\mathcal{N}</annotation></semantics></math> and <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>Z</mi> <mtext>gh</mtext></msub></mrow><annotation encoding='application/x-tex'>Z_{\text{gh}}</annotation></semantics></math> and is corrected order-by-order, with</p>
<div class="numberedEq" id="e3546:ZJ"><span>(3)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mfrac><mrow><mi>δ</mi><mi>Γ</mi></mrow><mrow><mi>δ</mi><msubsup><mi>A</mi> <mi>μ</mi> <mi>a</mi></msubsup></mrow></mfrac><mfrac><mrow><mi>δ</mi><mi>Γ</mi></mrow><mrow><mi>δ</mi><msubsup><mi>S</mi> <mi>a</mi> <mi>μ</mi></msubsup></mrow></mfrac><mo>+</mo><mfrac><mrow><mi>δ</mi><mi>Γ</mi></mrow><mrow><mi>δ</mi><msup><mi>c</mi> <mi>a</mi></msup></mrow></mfrac><mfrac><mrow><mi>δ</mi><mi>Γ</mi></mrow><mrow><mi>δ</mi><msub><mi>Φ</mi> <mi>a</mi></msub></mrow></mfrac><mo>−</mo><msup><mi>ξ</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</mo><mn>1</mn><mo stretchy="false">/</mo><mn>2</mn></mrow></msup><msub><mi>χ</mi> <mi>a</mi></msub><mfrac><mrow><mi>δ</mi><mi>Γ</mi></mrow><mrow><mi>δ</mi><msub><mi>b</mi> <mi>a</mi></msub></mrow></mfrac><mo>=</mo><mn>0</mn></mrow><annotation encoding='application/x-tex'>\frac{\delta\Gamma}{\delta A^a_\mu}\frac{\delta\Gamma}{\delta S_a^\mu} +
\frac{\delta \Gamma}{\delta c^a}\frac{\delta \Gamma}{\delta \Phi_a} -
\xi^{-1/2} \chi_a\frac{\delta\Gamma}{\delta b_a} = 0
</annotation></semantics></math></div>
<p>which is an exact (all-orders) relation among finite quantites. The price we pay is that the Zinn-Justin equation (<a href="#e3546:ZJ">3</a>) is quadratic, rather than linear, in <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>Γ</mi></mrow><annotation encoding='application/x-tex'>\Gamma</annotation></semantics></math>.</p>
<div id="ZJF1" class="footnote"><p><sup>1</sup> The trace is normalized such that <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>Tr</mi><mo stretchy="false">(</mo><msub><mi>t</mi> <mi>a</mi></msub><msub><mi>t</mi> <mi>b</mi></msub><mo stretchy="false">)</mo><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>δ</mi> <mrow><mi>a</mi><mi>b</mi></mrow></msub></mrow><annotation encoding='application/x-tex'>Tr(t_a t_b) = \frac{1}{2}\delta_{a b}</annotation></semantics></math>.</p></div>
</div>
</content>
</entry>
<entry>
<title type="html">dCS</title>
<link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003491.html" />
<updated>2023-09-05T03:57:42Z</updated>
<published>2023-09-02T13:34:15-06:00</published>
<id>tag:golem.ph.utexas.edu,2023:%2F~distler%2Fblog%2F1.3491</id>
<summary type="text">"Dynamical Chern Simons Gravity" ain't</summary>
<author>
<name>distler</name>
<uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
<email>distler@golem.ph.utexas.edu</email>
</author>
<category term="Physics" />
<content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003491.html">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
For various reasons, some people seem to think that the following modification to Einstein Gravity
<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>∫</mo><mstyle displaystyle="false"><mfrac><mn>1</mn><mn>2</mn></mfrac></mstyle><mi>d</mi><mi>ϕ</mi><mo>∧</mo><mo>*</mo><mi>d</mi><mi>ϕ</mi><mo>+</mo><mstyle displaystyle="false"><mfrac><mrow><msup><mi>κ</mi> <mn>2</mn></msup></mrow><mn>2</mn></mfrac></mstyle><mo>*</mo><mi>ℛ</mi><mo>+</mo><mstyle mathcolor="red"><mstyle displaystyle="false"><mfrac><mrow><mn>3</mn><mi>ϕ</mi></mrow><mrow><mn>192</mn><msup><mi>π</mi> <mn>2</mn></msup><mi>f</mi></mrow></mfrac></mstyle><mi>Tr</mi><mo stretchy="false">(</mo><mi>R</mi><mo>∧</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)}
</annotation></semantics></math></div>
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>−</mo><mi>L</mi></mrow></msub></mrow><annotation encoding='application/x-tex'>U(1)_{B-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>)
<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>−</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>π</mi> <mn>2</mn></msup></mrow></mfrac><mi>Tr</mi><mo stretchy="false">(</mo><mi>R</mi><mo>∧</mo><mi>R</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>
d * J_{B-L} = \frac{N_f}{192\pi^2} Tr(R\wedge R)
</annotation></semantics></math></div>
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>−</mo><mi>L</mi></mrow></msub></mrow><annotation encoding='application/x-tex'>U(1)_{B-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>).
In the real world, the neutrinos are not massless; there’s the Weinberg term
<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)
</annotation></semantics></math></div>
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>−</mo><mi>L</mi></mrow></msub></mrow><annotation encoding='application/x-tex'>U(1)_{B-L}</annotation></semantics></math>. When the Higgs gets a VEV, this term gives a mass
<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">⟨</mo><mi>H</mi><msup><mo stretchy="false">⟩</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'>
m^{i j} = \frac{\langle H\rangle^2 y^{i j}}{M}
</annotation></semantics></math>
to the neutrinos, So, rather than completely decoupling, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>ϕ</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
<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>→</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>ϕ</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}
</annotation></semantics></math></div>
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 — whether for LIGO or large-scale structure — are … <em>bizarre</em>.
<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">⟨</mo><mi>H</mi><mo stretchy="false">⟩</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>ϕ</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>
<hr/>
<div id='dCSfn1'>
<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>θ</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>θ</mi></mrow><annotation encoding='application/x-tex'>\theta</annotation></semantics></math> and phase of the determinant of the quark mass matrix is physical.
</div>
<div id='dCSfn2'>
<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>𝒜</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>−</mo><mi>L</mi></mrow></msub></mrow><annotation encoding='application/x-tex'>U(1)_{B-L}</annotation></semantics></math> and modify (<a href="#e3491:dCS">1</a>) to
<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>∫</mo><mstyle displaystyle="false"><mfrac><mn>1</mn><mn>2</mn></mfrac></mstyle><mo stretchy="false">(</mo><mi>d</mi><mi>ϕ</mi><mo>−</mo><mi>f</mi><mi>𝒜</mi><mo stretchy="false">)</mo><mo>∧</mo><mo>*</mo><mo stretchy="false">(</mo><mi>d</mi><mi>ϕ</mi><mo>−</mo><mi>f</mi><mi>𝒜</mi><mo stretchy="false">)</mo><mo>+</mo><mstyle displaystyle="false"><mfrac><mrow><msup><mi>κ</mi> <mn>2</mn></msup></mrow><mn>2</mn></mfrac></mstyle><mo>*</mo><mi>ℛ</mi><mo>+</mo><mstyle mathcolor="red"><mstyle displaystyle="false"><mfrac><mrow><mn>3</mn><mi>ϕ</mi></mrow><mrow><mn>24</mn><msup><mi>π</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>∧</mo><mi>R</mi><mo stretchy="false">)</mo><mo>+</mo><mi>d</mi><mi>𝒜</mi><mo>∧</mo><mi>d</mi><mi>𝒜</mi><mo>]</mo></mrow></mstyle></mrow><annotation encoding='application/x-tex'>S= \int \tfrac{1}{2} (d\phi-f\mathcal{A})\wedge *(d\phi-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]}
</annotation></semantics></math></div>
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>−</mo><mi>L</mi></mrow></msub></mrow><annotation encoding='application/x-tex'>U(1)_{B-L}</annotation></semantics></math> gauge transformations
<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>𝒜</mi></mtd> <mtd><mo>→</mo><mi>𝒜</mi><mo>+</mo><mi>d</mi><mi>χ</mi></mtd></mtr> <mtr><mtd><mi>ϕ</mi></mtd> <mtd><mo>→</mo><mi>ϕ</mi><mo>+</mo><mi>f</mi><mi>χ</mi></mtd></mtr> <mtr><mtd><msub><mi>Q</mi> <mi>i</mi></msub></mtd> <mtd><mo>→</mo><msup><mi>e</mi> <mrow><mi>i</mi><mi>χ</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>¯</mo></mover> <mi>i</mi></msub></mtd> <mtd><mo>→</mo><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</mo><mi>i</mi><mi>χ</mi><mo stretchy="false">/</mo><mn>3</mn></mrow></msup><msub><mover><mi>u</mi><mo>¯</mo></mover> <mi>i</mi></msub></mtd></mtr> <mtr><mtd><msub><mover><mi>d</mi><mo>¯</mo></mover> <mi>i</mi></msub></mtd> <mtd><mo>→</mo><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</mo><mi>i</mi><mi>χ</mi><mo stretchy="false">/</mo><mn>3</mn></mrow></msup><msub><mover><mi>d</mi><mo>¯</mo></mover> <mi>i</mi></msub></mtd></mtr> <mtr><mtd><msub><mi>L</mi> <mi>i</mi></msub></mtd> <mtd><mo>→</mo><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</mo><mi>i</mi><mi>χ</mi></mrow></msup><msub><mi>L</mi> <mi>i</mi></msub></mtd></mtr> <mtr><mtd><msub><mover><mi>e</mi><mo>¯</mo></mover> <mi>i</mi></msub></mtd> <mtd><mo>→</mo><msup><mi>e</mi> <mrow><mi>i</mi><mi>χ</mi></mrow></msup><msub><mover><mi>e</mi><mo>¯</mo></mover> <mi>i</mi></msub></mtd></mtr> <mtr><mtd/></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
\begin{split}
\mathcal{A}&\to \mathcal{A}+d\chi\\
\phi&\to \phi+ f \chi\\
Q_i&\to e^{i\chi/3}Q_i\\
\overline{u}_i&\to e^{-i\chi/3}\overline{u}_i\\
\overline{d}_i&\to e^{-i\chi/3}\overline{d}_i\\
L_i&\to e^{-i\chi}L_i\\
\overline{e}_i&\to e^{i\chi}\overline{e}_i\\
\end{split}
</annotation></semantics></math>
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>𝒜</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>𝒜</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>χ</mi><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><mi>ϕ</mi><mo stretchy="false">/</mo><mi>f</mi></mrow><annotation encoding='application/x-tex'>\chi = -\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>−</mo><mi>L</mi></mrow></msub></mrow><annotation encoding='application/x-tex'>U(1)_{B-L}</annotation></semantics></math>) puts the coupling to <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>ϕ</mi></mrow><annotation encoding='application/x-tex'>\phi</annotation></semantics></math> into the neutrino mass matrix (where it belongs).
</div>
</div>
</content>
</entry>
<entry>
<title type="html">MathML in Chrome</title>
<link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003452.html" />
<updated>2023-02-15T15:12:03Z</updated>
<published>2023-02-12T23:02:26-06:00</published>
<id>tag:golem.ph.utexas.edu,2023:%2F~distler%2Fblog%2F1.3452</id>
<summary type="text">At long last, Chrome supports MathML.</summary>
<author>
<name>distler</name>
<uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
<email>distler@golem.ph.utexas.edu</email>
</author>
<category term="MathML" />
<content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003452.html">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
<p>Thanks to the hard work of <a href="https://www.igalia.com/team/fwang">Frédé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>
<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>
<ul>
<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><mtd></code> to align correctly.</li>
<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>
<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>
</ul>
<p>There are a number of remaining <a href="https://bugs.chromium.org/p/chromium/issues/list?q=component%3ABlink%3EMathML&can=2">issues</a>.</p>
<ul>
<li><p>Math accents <a href="https://bugs.chromium.org/p/chromium/issues/detail?id=1410455&q=component%3ABlink%3EMathML&can=2">don’t stretch</a>, when they’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>
<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>×</mo><msub><mstyle mathvariant="bold"><mi>V</mi></mstyle> <mn>2</mn></msub><mo>=</mo><mrow><mo>∣</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>∂</mo><mi>X</mi></mrow><mrow><mo>∂</mo><mi>u</mi></mrow></mfrac></mtd> <mtd><mfrac><mrow><mo>∂</mo><mi>Y</mi></mrow><mrow><mo>∂</mo><mi>u</mi></mrow></mfrac></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd><mfrac><mrow><mo>∂</mo><mi>X</mi></mrow><mrow><mo>∂</mo><mi>v</mi></mrow></mfrac></mtd> <mtd><mfrac><mrow><mo>∂</mo><mi>Y</mi></mrow><mrow><mo>∂</mo><mi>v</mi></mrow></mfrac></mtd> <mtd><mn>0</mn></mtd></mtr> <mtr><mtd/></mtr></mtable></mrow><mo>∣</mo></mrow></mrow><annotation encoding='application/x-tex'>
\mathbf{V}_{1} \times \mathbf{V}_{2} = \begin{vmatrix} \mathbf{i} & \mathbf{j} & \mathbf{k} \\\\ \frac{\partial X}{\partial u} & \frac{\partial Y}{\partial u} & 0 \\ \frac{\partial X}{\partial v} & \frac{\partial Y}{\partial v} & 0 \\ \end{vmatrix}
</annotation></semantics></math></p>
<p><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mrow><mo>|</mo><mfrac><mrow><mi>f</mi><mo stretchy="false">(</mo><mi>z</mi><mo stretchy="false">)</mo><mo>−</mo><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo></mrow><mrow><mn>1</mn><mo>−</mo><mover><mrow><mi>f</mi><mo stretchy="false">(</mo><mi>a</mi><mo stretchy="false">)</mo></mrow><mo>¯</mo></mover><mi>f</mi><mo stretchy="false">(</mo><mi>z</mi><mo stretchy="false">)</mo></mrow></mfrac><mo>|</mo></mrow><mo>≤</mo><mrow><mo>|</mo><mfrac><mrow><mi>z</mi><mo>−</mo><mi>a</mi></mrow><mrow><mn>1</mn><mo>−</mo><mover><mi>a</mi><mo>¯</mo></mover><mi>z</mi></mrow></mfrac><mo>|</mo></mrow></mrow><annotation encoding='application/x-tex'>
\left\vert\frac{f(z)-f(a)}{1-\overline{f(a)}f(z)}\right\vert\le \left\vert\frac{z-a}{1-\overline{a}z}\right\vert
</annotation></semantics></math></p>
<p><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mover><mi>PGL</mi><mo>˜</mo></mover><mo stretchy="false">(</mo><mi>N</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>
\widetilde{PGL}(N)
</annotation></semantics></math></p>
<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>→</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">↓</mo></mtd> <mtd><mo>⇓</mo><mpadded width="0px"><mo>∼</mo></mpadded></mtd> <mtd><mo stretchy="false">↓</mo></mtd></mtr> <mtr><mtd><mi>T</mi><mo>′</mo></mtd> <mtd><mo>→</mo></mtd> <mtd><mi>T</mi></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
\begin{matrix} P_1(Y) &\to& P_1(X) \\ \downarrow &\Downarrow\mathrlap{\sim}& \downarrow \\ T' &\to& T \end{matrix}
</annotation></semantics></math></p>
<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>−</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>−</mo><mfrac><mn>3</mn><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>−</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow><mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>−</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>−</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>−</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>−</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>−</mo><mfrac><mn>3</mn><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>−</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow><mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>−</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>−</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>−</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>−</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>−</mo><mfrac><mn>3</mn><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>−</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow><mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>−</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>−</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>−</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>−</mo><mfrac><mn>1</mn><mn>2</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>−</mo><mfrac><mn>3</mn><mn>4</mn></mfrac></mrow><mo>)</mo></mrow><mrow><mo>(</mo><mrow><mi>x</mi><mo>−</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow><mrow><mrow><mo>(</mo><mrow><mfrac><mn>1</mn><mn>4</mn></mfrac><mo>−</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>−</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>−</mo><mn>1</mn></mrow><mo>)</mo></mrow></mrow></mfrac></mrow><annotation encoding='application/x-tex'>
p_3 (x) = \left( {\frac{1}{2}} \right)\frac{{\left( {x - \frac{1}{2}} \right)\left( {x - \frac{3}{4}} \right)\left( {x - 1} \right)}}{{\left( {\frac{1}{4} - \frac{1}{2}} \right)\left( {\frac{1}{4} - \frac{3}{4}} \right)\left( {\frac{1}{4} - 1} \right)}} + \left( {\frac{1}{2}} \right)\frac{{\left( {x - \frac{1}{2}} \right)\left( {x - \frac{3}{4}} \right)\left( {x - 1} \right)}}{{\left( {\frac{1}{4} - \frac{1}{2}} \right)\left( {\frac{1}{4} - \frac{3}{4}} \right)\left( {\frac{1}{4} - 1} \right)}} + \left( {\frac{1}{2}} \right)\frac{{\left( {x - \frac{1}{2}} \right)\left( {x - \frac{3}{4}} \right)\left( {x - 1} \right)}}{{\left( {\frac{1}{4} - \frac{1}{2}} \right)\left( {\frac{1}{4} - \frac{3}{4}} \right)\left( {\frac{1}{4} - 1} \right)}} + \left( {\frac{1}{2}} \right)\frac{{\left( {x - \frac{1}{2}} \right)\left( {x - \frac{3}{4}} \right)\left( {x - 1} \right)}}{{\left( {\frac{1}{4} - \frac{1}{2}} \right)\left( {\frac{1}{4} - \frac{3}{4}} \right)\left( {\frac{1}{4} - 1} \right)}}
</annotation></semantics></math></p></li>
<li><p><del>This equation</del>
<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>ψ</mi><mo>=</mo><mn>0</mn></mrow></menclose></mrow><annotation encoding='application/x-tex'>
\boxed{(i\slash{D}+m)\psi = 0}
</annotation></semantics></math>
<del>doesn’t display remotely correctly, because Chrome doesn’t implement the <code><menclose></code> element.</del> <ins>Fixed now.</ins></p></li>
<li>…</li>
</ul>
<p>But, hey, this is <em>amazing</em> for a first release.</p>
<h4 id="ChromeU1" class="update">Update:</h4>
<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><menclose></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>
</div>
</content>
</entry>
<entry>
<title type="html">Fine Structure</title>
<link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003425.html" />
<updated>2023-10-03T06:27:56Z</updated>
<published>2022-10-17T21:00:35-06:00</published>
<id>tag:golem.ph.utexas.edu,2022:%2F~distler%2Fblog%2F1.3425</id>
<summary type="text">Something I never knew about the spin-orbit coupling</summary>
<author>
<name>distler</name>
<uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
<email>distler@golem.ph.utexas.edu</email>
</author>
<category term="Physics" />
<content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003425.html">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
<p>I’m teaching the undergraduate Quantum II course (“Atoms and Molecules”) this semester. We’ve come to the point where it’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’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, …).</p>
<p>Instead, various hand-waving arguments are invoked (“The electron has an intrinsic magnetic moment and since it’s moving in the electrostatic field of the proton, it sees a magnetic field …”) which give you the wrong answer for the spin-orbit coupling (off by a factor of two), which you then have to further correct (“Thomas precession”) and then there’s the Darwin term, with an even more hand-wavy explanation …</p>
<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).
</p>
<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>
<p>
<ol>
<li>For a spinless particle, the correction amounts to replacing the nonrelativistic kinetic energy by the relativistic expression
<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>→</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>−</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>−</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>…</mi></mrow><annotation encoding='application/x-tex'>
\frac{p^2}{2m} \to \sqrt{p^2 c^2 +m^2 c^4} - m c^2 = \frac{p^2}{2m} - \frac{(p^2)^2}{8m^3 c^2}+\dots
</annotation></semantics></math>
</li>
<li>For a spin-1/2 particle, “<math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mi>p</mi><mo stretchy="false">→</mo></mover></mrow><annotation encoding='application/x-tex'>\vec{p}</annotation></semantics></math>” only appears dotted into the Pauli matrices, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mi>σ</mi><mo stretchy="false">→</mo></mover><mo>⋅</mo><mover><mi>p</mi><mo stretchy="false">→</mo></mover></mrow><annotation encoding='application/x-tex'>\vec{\sigma}\cdot\vec{p}</annotation></semantics></math>.
<ul>
<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>σ</mi><mo stretchy="false">→</mo></mover><mo>⋅</mo><mover><mi>p</mi><mo stretchy="false">→</mo></mover><mo>→</mo><mover><mi>σ</mi><mo stretchy="false">→</mo></mover><mo>⋅</mo><mo stretchy="false">(</mo><mover><mi>p</mi><mo stretchy="false">→</mo></mover><mo>−</mo><mi>q</mi><mover><mi>A</mi><mo stretchy="false">→</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}-q \vec{A}/c)</annotation></semantics></math>.
</li>
<li>What we previously wrote as “<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>” 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>σ</mi><mo stretchy="false">→</mo></mover><mo>⋅</mo><mover><mi>p</mi><mo stretchy="false">→</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>.
</li>
</ul>
</li>
<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>σ</mi><mo stretchy="false">→</mo></mover><mo>⋅</mo><mover><mi>p</mi><mo stretchy="false">→</mo></mover></mrow><annotation encoding='application/x-tex'>\vec{\sigma}\cdot\vec{p}</annotation></semantics></math> appear in the low-velocity expansion.
</li>
<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">→</mo></mover><mo stretchy="false">)</mo><mo>→</mo><mi>V</mi><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">→</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>→</mo><mi>H</mi><mo>+</mo><mtext>const</mtext></mrow><annotation encoding='application/x-tex'>H\to H+\text{const}</annotation></semantics></math>.
</li>
</ol></p>
<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">→</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.
<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">→</mo></mover><mo stretchy="false">)</mo><mo>−</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><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>σ</mi><mo stretchy="false">→</mo></mover><mo>⋅</mo><mover><mi>p</mi><mo stretchy="false">→</mo></mover><mo>,</mo><mo stretchy="false">[</mo><mover><mi>σ</mi><mo stretchy="false">→</mo></mover><mo>⋅</mo><mover><mi>p</mi><mo stretchy="false">→</mo></mover><mo>,</mo><mi>V</mi><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo stretchy="false">]</mo><mo stretchy="false">]</mo></mrow><annotation encoding='application/x-tex'>
H = \frac{p^2}{2m} +V(\vec{r}) - \frac{(p^2)^2}{8m^3 c^2} - \frac{c_1}{m^2 c^2} [\vec{\sigma}\cdot\vec{p},[\vec{\sigma}\cdot\vec{p},V(\vec{r})]]
</annotation></semantics></math>
Expanding this out a bit,
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mo stretchy="false">[</mo><mover><mi>σ</mi><mo stretchy="false">→</mo></mover><mo>⋅</mo><mover><mi>p</mi><mo stretchy="false">→</mo></mover><mo>,</mo><mo stretchy="false">[</mo><mover><mi>σ</mi><mo stretchy="false">→</mo></mover><mo>⋅</mo><mover><mi>p</mi><mo stretchy="false">→</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>−</mo><mn>2</mn><mover><mi>σ</mi><mo stretchy="false">→</mo></mover><mo>⋅</mo><mover><mi>p</mi><mo stretchy="false">→</mo></mover><mi>V</mi><mover><mi>σ</mi><mo stretchy="false">→</mo></mover><mo>⋅</mo><mover><mi>p</mi><mo stretchy="false">→</mo></mover></mrow><annotation encoding='application/x-tex'>
[\vec{\sigma}\cdot\vec{p},[\vec{\sigma}\cdot\vec{p},V]] = (p^2 V + V p^2) - 2 \vec{\sigma}\cdot\vec{p} V \vec{\sigma}\cdot\vec{p}
</annotation></semantics></math>
Both terms are separately Hermitian, but condition (4) fixes their relative coefficient.</p>
<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">→</mo></mover><mo>=</mo><mstyle displaystyle="false"><mfrac><mi>ℏ</mi><mn>2</mn></mfrac></mstyle><mover><mi>σ</mi><mo stretchy="false">→</mo></mover></mrow><annotation encoding='application/x-tex'>\vec{S}=\tfrac{\hbar}{2}\vec{\sigma}</annotation></semantics></math>)
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mo lspace="0.11111em" rspace="0em">−</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>σ</mi><mo stretchy="false">→</mo></mover><mo>⋅</mo><mover><mi>p</mi><mo stretchy="false">→</mo></mover><mo>,</mo><mo stretchy="false">[</mo><mover><mi>σ</mi><mo stretchy="false">→</mo></mover><mo>⋅</mo><mover><mi>p</mi><mo stretchy="false">→</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>∇</mo><mo stretchy="false">→</mo></mover><mo stretchy="false">(</mo><mi>V</mi><mo stretchy="false">)</mo><mo>×</mo><mover><mi>p</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>⋅</mo><mover><mi>S</mi><mo stretchy="false">→</mo></mover><mo>+</mo><mfrac><mrow><msub><mi>c</mi> <mn>1</mn></msub><msup><mi>ℏ</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>∇</mo> <mn>2</mn></msup><mo stretchy="false">(</mo><mi>V</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>
-\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)
</annotation></semantics></math></p>
<p>For a central force potential, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mover><mo>∇</mo><mo stretchy="false">→</mo></mover><mo stretchy="false">(</mo><mi>V</mi><mo stretchy="false">)</mo><mo>=</mo><mover><mi>r</mi><mo stretchy="false">→</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">→</mo></mover><mo>⋅</mo><mover><mi>S</mi><mo stretchy="false">→</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’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>
<p>No hand-wavy hocus-pocus was required.</p>
<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>σ</mi><mo stretchy="false">→</mo></mover><mo>⋅</mo><mover><mi>p</mi><mo stretchy="false">→</mo></mover><mo>,</mo><mo stretchy="false">[</mo><mover><mi>σ</mi><mo stretchy="false">→</mo></mover><mo>⋅</mo><mover><mi>p</mi><mo stretchy="false">→</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’t think I’ve ever seen that before …</p>
<hr/>
<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>ℋ</mi><mo>=</mo><msup><mi>L</mi> <mn>2</mn></msup><mo stretchy="false">(</mo><msup><mi>ℝ</mi> <mn>3</mn></msup><mo stretchy="false">)</mo><mo>⊗</mo><msup><mi>ℂ</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
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msub><mi>Ω</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">→</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">→</mo></mover><mo stretchy="false">)</mo></mtd></mtr></mtable></mrow><mo>)</mo></mrow><mo>↦</mo><mrow><mo>(</mo><mrow><mtable displaystyle="false" rowspacing="0.5ex"><mtr><mtd><mo>−</mo><msubsup><mi>f</mi> <mn>2</mn> <mo>*</mo></msubsup><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">→</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">→</mo></mover><mo stretchy="false">)</mo></mtd></mtr></mtable></mrow><mo>)</mo></mrow></mrow><annotation encoding='application/x-tex'>
\Omega_T: \begin{pmatrix}f_1(\vec{r})\\ f_2(\vec{r})\end{pmatrix} \mapsto \begin{pmatrix}-f^*_2(\vec{r})\\ f^*_1(\vec{r})\end{pmatrix}
</annotation></semantics></math>
and parity is implemented as the unitary operator
<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">→</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">→</mo></mover><mo stretchy="false">)</mo></mtd></mtr></mtable></mrow><mo>)</mo></mrow><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><mo lspace="0.11111em" rspace="0em">−</mo><mover><mi>r</mi><mo stretchy="false">→</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">−</mo><mover><mi>r</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo></mtd></mtr></mtable></mrow><mo>)</mo></mrow></mrow><annotation encoding='application/x-tex'>
U_P: \begin{pmatrix}f_1(\vec{r})\\ f_2(\vec{r})\end{pmatrix} \mapsto \begin{pmatrix}f_1(-\vec{r})\\ f_2(-\vec{r})\end{pmatrix}
</annotation></semantics></math>
These obviously satisfy
<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>Ω</mi> <mi>T</mi></msub><mover><mi>σ</mi><mo stretchy="false">→</mo></mover><msubsup><mi>Ω</mi> <mi>T</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</mo><mn>1</mn></mrow></msubsup></mtd> <mtd><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><mover><mi>σ</mi><mo stretchy="false">→</mo></mover><mo>,</mo><mspace width="1em"/></mtd> <mtd><msub><mi>U</mi> <mi>P</mi></msub><mover><mi>σ</mi><mo stretchy="false">→</mo></mover><msub><mi>U</mi> <mi>P</mi></msub></mtd> <mtd><mo>=</mo><mover><mi>σ</mi><mo stretchy="false">→</mo></mover></mtd></mtr> <mtr><mtd><msub><mi>Ω</mi> <mi>T</mi></msub><mover><mi>p</mi><mo stretchy="false">→</mo></mover><msubsup><mi>Ω</mi> <mi>T</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</mo><mn>1</mn></mrow></msubsup></mtd> <mtd><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><mover><mi>p</mi><mo stretchy="false">→</mo></mover><mo>,</mo><mspace width="1em"/></mtd> <mtd><msub><mi>U</mi> <mi>P</mi></msub><mover><mi>p</mi><mo stretchy="false">→</mo></mover><msub><mi>U</mi> <mi>P</mi></msub></mtd> <mtd><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><mover><mi>p</mi><mo stretchy="false">→</mo></mover></mtd></mtr> <mtr><mtd/></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
\begin{aligned}
\Omega_T \vec{\sigma} \Omega_T^{-1} &= -\vec{\sigma},\quad& U_P \vec{\sigma} U_P &= \vec{\sigma}\\
\Omega_T \vec{p} \Omega_T^{-1} &= -\vec{p},\quad& U_P \vec{p} U_P &= -\vec{p}\\
\end{aligned}
</annotation></semantics></math>
</div>
<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.
</div>
</div>
</content>
</entry>
<entry>
<title type="html">HL &#x2260; HS</title>
<link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003406.html" />
<updated>2022-07-24T05:40:03Z</updated>
<published>2022-07-15T12:34:07-06:00</published>
<id>tag:golem.ph.utexas.edu,2022:%2F~distler%2Fblog%2F1.3406</id>
<summary type="text">... in twisted class-S theories at genus-0</summary>
<author>
<name>distler</name>
<uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
<email>distler@golem.ph.utexas.edu</email>
</author>
<category term="Physics" />
<content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003406.html">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
<p>There’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’t.</p>
<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">^</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>τ</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">−</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>τ</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'>(-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>
<p>For genus <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>g</mi><mo>></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’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>
<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>ℤ</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>
<p>But it’s nice to have a class of examples where that hard work is unnecessary.</p>
<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>
<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>ℤ</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>𝔤</mi><mo>=</mo><mi>𝔰𝔭</mi><mo stretchy="false">(</mo><mi>N</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>\mathfrak{g}=\mathfrak{sp}(N-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>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msup><mo stretchy="false">]</mo></mrow><annotation encoding='application/x-tex'>[1^{2(N-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>−</mo><mn>1</mn><mo stretchy="false">)</mo><mo stretchy="false">]</mo></mrow><annotation encoding='application/x-tex'>[2(N-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>𝔰𝔭</mi><mo stretchy="false">(</mo><mi>N</mi><mo>−</mo><mn>1</mn><msub><mo stretchy="false">)</mo> <mrow><mn>2</mn><mi>N</mi></mrow></msub><mo>×</mo><mi>𝔰𝔭</mi><mo stretchy="false">(</mo><mi>N</mi><mo>−</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-1)_{2N}\times \mathfrak{sp}(N-1)_{2N}</annotation></semantics></math> symmetry is enhanced to <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>𝔰𝔭</mi><mo stretchy="false">(</mo><mn>2</mn><mi>N</mi><mo>−</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-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>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>2(N-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’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>
<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>−</mo><mn>1</mn></mrow><annotation encoding='application/x-tex'>R=N-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>ϕ</mi> <mi>a</mi> <mi>i</mi></msubsup><mo>,</mo><msubsup><mover><mi>ϕ</mi><mo stretchy="false">˜</mo></mover> <mover><mi>a</mi><mo stretchy="false">˜</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>…</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">˜</mo></mover><mo>=</mo><mn>1</mn><mo>,</mo><mi>…</mi><mo>,</mo><mn>2</mn><mo stretchy="false">(</mo><mi>N</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>a,\tilde{a}=1,\dots, 2(N-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>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>4(N-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>−</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>Sp(2N-2)</annotation></semantics></math>. Let <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msup><mi>Φ</mi> <mrow><mi>i</mi><mi>j</mi></mrow></msup><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><msup><mi>Φ</mi> <mrow><mi>j</mi><mi>i</mi></mrow></msup></mrow><annotation encoding='application/x-tex'>\Phi^{i j}=-\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>−</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-1,\; j=0</annotation></semantics></math> is</p>
<div class="numberedEq" id="e3406:Dopp"><span>(1)</span><math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msub><mi>ϵ</mi> <mrow><msub><mi>i</mi> <mn>1</mn></msub><msub><mi>i</mi> <mn>2</mn></msub><mi>…</mi><msub><mi>i</mi> <mrow><mn>2</mn><mi>N</mi></mrow></msub></mrow></msub><msubsup><mi>ϕ</mi> <mrow><msub><mi>a</mi> <mn>1</mn></msub></mrow> <mrow><msub><mi>i</mi> <mn>1</mn></msub></mrow></msubsup><msubsup><mi>ϕ</mi> <mrow><msub><mi>a</mi> <mn>2</mn></msub></mrow> <mrow><msub><mi>i</mi> <mn>2</mn></msub></mrow></msubsup><mi>…</mi><msubsup><mi>ϕ</mi> <mrow><msub><mi>a</mi> <mrow><mn>2</mn><mi>N</mi><mo>−</mo><mn>2</mn></mrow></msub></mrow> <mrow><msub><mi>i</mi> <mrow><mn>2</mn><mi>N</mi><mo>−</mo><mn>2</mn></mrow></msub></mrow></msubsup><msup><mi>Φ</mi> <mrow><msub><mi>i</mi> <mrow><mn>2</mn><mi>N</mi><mo>−</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-2}}_{a_{2N-2}}\Phi^{i_{2N-1}i_{2N}}
</annotation></semantics></math></div>
<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>−</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>(2N-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>−</mo><mn>2</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>Sp(2N-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>…</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>Δ</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>−</mo><mn>1</mn></mrow><annotation encoding='application/x-tex'>\Delta=1+2R+j=2N-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">−</mo><msup><mi>τ</mi> <mrow><mn>2</mn><mi>N</mi></mrow></msup><mi>χ</mi><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mi>…</mi><mo>,</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>-\tau^{2N}\chi(0,\dots,0,1)</annotation></semantics></math> to the Hall-Littlewood index.</p>
<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>Δ</mi><mo>=</mo><mn>2</mn><mi>N</mi><mo>−</mo><mn>1</mn></mrow><annotation encoding='application/x-tex'>\Delta=2N-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
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msubsup><mi>A</mi> <mrow><mi>R</mi><mo>−</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">^</mo></mover> <mrow><mi>R</mi><mo>−</mo><mn>1</mn><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo></mrow></msub><mo>⊕</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>⊕</mo><msub><mover><mi>D</mi><mo>¯</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>⊕</mo><msub><mover><mi>B</mi><mo stretchy="false">^</mo></mover> <mrow><mi>R</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow><annotation encoding='application/x-tex'>
A^{2R+1}_{R-1,0(0,0)} = \hat{C}_{R-1(0,0)}\oplus D_{R(0,0)}\oplus \overline{D}_{R(0,0)}\oplus \hat{B}_{R+1}
</annotation></semantics></math>
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>Δ</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">^</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>Δ</mi></mrow><annotation encoding='application/x-tex'>\Delta</annotation></semantics></math> is independent of the gauge coupling.</p>
<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>−</mo><mn>4</mn></mrow></msup><mo stretchy="false">]</mo></mrow><annotation encoding='application/x-tex'>[2,1^{2N-4}]</annotation></semantics></math>. The resulting <abbr>SCFT</abbr> has a Lagrangian description
<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">
<g>
<title>Layer 1</title>
<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"/>
<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"/>
<foreignObject x="202.5" y="46.5" id="svg_89522_66" font-size="16" width="88" height="24">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<mi>SO</mi>
<mo stretchy="false">(</mo>
<mn>2</mn>
<mi>N</mi>
<mo>−</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mrow>
<annotation encoding="application/x-tex">SO(2N-1)</annotation>
</semantics>
</math>
</foreignObject>
<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)"/>
<g id="svg_89522_51">
<circle fill="#ffffff" stroke="#000000" stroke-width="2" cx="317.5" cy="70" r="5" id="svg_89522_52"/>
<foreignObject x="297.5" y="45" font-size="16" width="38" height="24" id="svg_89522_53">
<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" id="svg_89522_54">
<semantics>
<mrow>
<mo stretchy="false">[</mo>
<msup>
<mn>1</mn>
<mrow>
<mn>2</mn>
<mi>N</mi>
</mrow>
</msup>
<mo stretchy="false">]</mo>
</mrow>
<annotation encoding="application/x-tex">[1^{2N}]</annotation>
</semantics>
</math>
</foreignObject>
</g>
<foreignObject x="62.5" y="141" id="svg_89522_68" font-size="16" width="80" height="24">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<mo stretchy="false">(</mo>
<mi>N</mi>
<mo>−</mo>
<mn>2</mn>
<mo stretchy="false">)</mo>
<mo stretchy="false">(</mo>
<mi>V</mi>
<mo stretchy="false">)</mo>
</mrow>
<annotation encoding="application/x-tex">(N-2)(V)</annotation>
</semantics>
</math>
</foreignObject>
<foreignObject x="243.5" y="141" font-size="16" width="170" height="24" id="svg_89522_69">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<mo stretchy="false">(</mo>
<mi>N</mi>
<mo>−</mo>
<mn>1</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>−</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">(N-1)(V)+(N-1)(1)</annotation>
</semantics>
</math>
</foreignObject>
<g id="svg_89522_9">
<circle fill="#ffffff" stroke="#000000" stroke-width="2" cx="185.5" cy="71" r="5" id="svg_89522_3"/>
<foreignObject x="36.5" y="56" id="svg_89522_49" font-size="16" width="144" height="26">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<mo minsize="1.2em" maxsize="1.2em">(</mo>
<mo stretchy="false">[</mo>
<msup>
<mn>1</mn>
<mrow>
<mn>2</mn>
<mi>N</mi>
</mrow>
</msup>
<mo stretchy="false">]</mo>
<mo>,</mo>
<mi>SO</mi>
<mo stretchy="false">(</mo>
<mn>2</mn>
<mi>N</mi>
<mo>−</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
<mo minsize="1.2em" maxsize="1.2em">)</mo>
</mrow>
<annotation encoding="application/x-tex">\bigl([1^{2N}],Spin(2N-1)\bigr)</annotation>
</semantics>
</math>
</foreignObject>
</g>
<g id="svg_89522_10">
<circle fill="#aaaaaa" stroke="#000000" stroke-width="2" cx="381.5" cy="114" r="5" id="svg_89522_15"/>
<foreignObject x="346.5" y="89" font-size="16" width="70" height="24" id="svg_89522_16">
<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" id="svg_89522_17">
<semantics>
<mrow>
<mo stretchy="false">[</mo>
<mn>2</mn>
<mo stretchy="false">(</mo>
<mi>N</mi>
<mo>−</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
<mo stretchy="false">]</mo>
</mrow>
<annotation encoding="application/x-tex">[2(N-1)]</annotation>
</semantics>
</math>
</foreignObject>
<foreignObject height="20" width="14" font-size="16" id="svg_89522_6" y="121" x="374.5">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<msub>
<mi>z</mi>
<mn>1</mn>
</msub>
</mrow>
<annotation encoding="application/x-tex">z_1</annotation>
</semantics>
</math>
</foreignObject>
</g>
<g id="svg_89522_43">
<circle id="svg_89522_14" fill="#aaaaaa" stroke="#000000" stroke-width="2" cx="86.5" cy="114" r="5"/>
<foreignObject id="svg_89522_18" x="51.5" y="89" font-size="16" width="70" height="24">
<math id="svg_89522_19" xmlns="http://www.w3.org/1998/Math/MathML" display="inline">
<semantics id="svg_89522_20">
<mrow id="svg_89522_21">
<mo id="svg_89522_22" stretchy="false">[</mo>
<mn id="svg_89522_23">2</mn>
<mo id="svg_89522_24" stretchy="false">(</mo>
<mi id="svg_89522_25">N</mi>
<mo id="svg_89522_26">−</mo>
<mn id="svg_89522_27">1</mn>
<mo id="svg_89522_28" stretchy="false">)</mo>
<mo id="svg_89522_31" stretchy="false">]</mo>
</mrow>
<annotation id="svg_89522_34" encoding="application/x-tex">[2(N-1)]</annotation>
</semantics>
</math>
</foreignObject>
<foreignObject id="svg_89522_35" height="20" width="14" font-size="16" y="121" x="81.5">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<msub>
<mi>z</mi>
<mn>2</mn>
</msub>
</mrow>
<annotation encoding="application/x-tex">z_2</annotation>
</semantics>
</math>
</foreignObject>
</g>
<g id="svg_89522_45">
<circle fill="#aaaaaa" stroke="#000000" stroke-width="2" cx="381.5" cy="41" r="5" id="svg_89522_7"/>
<foreignObject x="347.5" y="16" id="svg_89522_29" font-size="16" width="64" height="24">
<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>−</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mrow>
</msup>
<mo stretchy="false">]</mo>
</mrow>
<annotation encoding="application/x-tex">[1^{2(N-1)}]</annotation>
</semantics>
</math>
</foreignObject>
<foreignObject height="20" width="14" font-size="16" id="svg_89522_44" y="49" x="375.5">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<msub>
<mi>z</mi>
<mn>3</mn>
</msub>
</mrow>
<annotation encoding="application/x-tex">z_3</annotation>
</semantics>
</math>
</foreignObject>
</g>
<g id="svg_89522_47">
<circle fill="#aaaaaa" stroke="#000000" stroke-width="2" cx="86.5" cy="30" r="5" id="svg_89522_32"/>
<foreignObject x="55.5" y="5" font-size="16" width="78" height="24" id="svg_89522_33">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<mo stretchy="false">[</mo>
<mn>2</mn>
<mo>,</mo>
<msup>
<mn>1</mn>
<mrow>
<mn>2</mn>
<mo stretchy="false">(</mo>
<mi>N</mi>
<mo>−</mo>
<mn>2</mn>
<mo stretchy="false">)</mo>
</mrow>
</msup>
<mo stretchy="false">]</mo>
</mrow>
<annotation encoding="application/x-tex">[2,1^{2(N-2)}]</annotation>
</semantics>
</math>
</foreignObject>
<foreignObject height="20" width="14" font-size="16" id="svg_89522_46" y="37" x="80.5">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<msub>
<mi>z</mi>
<mn>4</mn>
</msub>
</mrow>
<annotation encoding="application/x-tex">z_4</annotation>
</semantics>
</math>
</foreignObject>
</g>
</g>
<defs>
<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">
<path id="svg_89522_1" d="m0,50l100,40l-30,-40l30,-40l-100,40z" fill="#000000" stroke="#000000" stroke-width="10"/>
</marker>
<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">
<path id="svg_89522_4" d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" stroke="#000000" stroke-width="10"/>
</marker>
</defs>
</svg></annotation-xml></semantics></mrow><annotation encoding='application/x-tex'>
\begin{svg}<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">
<g>
<title>Layer 1</title>
<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"/>
<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"/>
<foreignObject x="202.5" y="46.5" id="svg_89522_66" font-size="16" width="88" height="24">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<mi>SO</mi>
<mo stretchy="false">(</mo>
<mn>2</mn>
<mi>N</mi>
<mo>&#x2212;</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mrow>
<annotation encoding="application/x-tex">SO(2N-1)</annotation>
</semantics>
</math>
</foreignObject>
<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)"/>
<g id="svg_89522_51">
<circle fill="#ffffff" stroke="#000000" stroke-width="2" cx="317.5" cy="70" r="5" id="svg_89522_52"/>
<foreignObject x="297.5" y="45" font-size="16" width="38" height="24" id="svg_89522_53">
<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" id="svg_89522_54">
<semantics>
<mrow>
<mo stretchy="false">[</mo>
<msup>
<mn>1</mn>
<mrow>
<mn>2</mn>
<mi>N</mi>
</mrow>
</msup>
<mo stretchy="false">]</mo>
</mrow>
<annotation encoding="application/x-tex">[1^{2N}]</annotation>
</semantics>
</math>
</foreignObject>
</g>
<foreignObject x="62.5" y="141" id="svg_89522_68" font-size="16" width="80" height="24">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<mo stretchy="false">(</mo>
<mi>N</mi>
<mo>&#x2212;</mo>
<mn>2</mn>
<mo stretchy="false">)</mo>
<mo stretchy="false">(</mo>
<mi>V</mi>
<mo stretchy="false">)</mo>
</mrow>
<annotation encoding="application/x-tex">(N-2)(V)</annotation>
</semantics>
</math>
</foreignObject>
<foreignObject x="243.5" y="141" font-size="16" width="170" height="24" id="svg_89522_69">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<mo stretchy="false">(</mo>
<mi>N</mi>
<mo>&#x2212;</mo>
<mn>1</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>&#x2212;</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">(N-1)(V)+(N-1)(1)</annotation>
</semantics>
</math>
</foreignObject>
<g id="svg_89522_9">
<circle fill="#ffffff" stroke="#000000" stroke-width="2" cx="185.5" cy="71" r="5" id="svg_89522_3"/>
<foreignObject x="36.5" y="56" id="svg_89522_49" font-size="16" width="144" height="26">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<mo minsize="1.2em" maxsize="1.2em">(</mo>
<mo stretchy="false">[</mo>
<msup>
<mn>1</mn>
<mrow>
<mn>2</mn>
<mi>N</mi>
</mrow>
</msup>
<mo stretchy="false">]</mo>
<mo>,</mo>
<mi>SO</mi>
<mo stretchy="false">(</mo>
<mn>2</mn>
<mi>N</mi>
<mo>&#x2212;</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
<mo minsize="1.2em" maxsize="1.2em">)</mo>
</mrow>
<annotation encoding="application/x-tex">\bigl([1^{2N}],Spin(2N-1)\bigr)</annotation>
</semantics>
</math>
</foreignObject>
</g>
<g id="svg_89522_10">
<circle fill="#aaaaaa" stroke="#000000" stroke-width="2" cx="381.5" cy="114" r="5" id="svg_89522_15"/>
<foreignObject x="346.5" y="89" font-size="16" width="70" height="24" id="svg_89522_16">
<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline" id="svg_89522_17">
<semantics>
<mrow>
<mo stretchy="false">[</mo>
<mn>2</mn>
<mo stretchy="false">(</mo>
<mi>N</mi>
<mo>&#x2212;</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
<mo stretchy="false">]</mo>
</mrow>
<annotation encoding="application/x-tex">[2(N-1)]</annotation>
</semantics>
</math>
</foreignObject>
<foreignObject height="20" width="14" font-size="16" id="svg_89522_6" y="121" x="374.5">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<msub>
<mi>z</mi>
<mn>1</mn>
</msub>
</mrow>
<annotation encoding="application/x-tex">z_1</annotation>
</semantics>
</math>
</foreignObject>
</g>
<g id="svg_89522_43">
<circle id="svg_89522_14" fill="#aaaaaa" stroke="#000000" stroke-width="2" cx="86.5" cy="114" r="5"/>
<foreignObject id="svg_89522_18" x="51.5" y="89" font-size="16" width="70" height="24">
<math id="svg_89522_19" xmlns="http://www.w3.org/1998/Math/MathML" display="inline">
<semantics id="svg_89522_20">
<mrow id="svg_89522_21">
<mo id="svg_89522_22" stretchy="false">[</mo>
<mn id="svg_89522_23">2</mn>
<mo id="svg_89522_24" stretchy="false">(</mo>
<mi id="svg_89522_25">N</mi>
<mo id="svg_89522_26">&#x2212;</mo>
<mn id="svg_89522_27">1</mn>
<mo id="svg_89522_28" stretchy="false">)</mo>
<mo id="svg_89522_31" stretchy="false">]</mo>
</mrow>
<annotation id="svg_89522_34" encoding="application/x-tex">[2(N-1)]</annotation>
</semantics>
</math>
</foreignObject>
<foreignObject id="svg_89522_35" height="20" width="14" font-size="16" y="121" x="81.5">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<msub>
<mi>z</mi>
<mn>2</mn>
</msub>
</mrow>
<annotation encoding="application/x-tex">z_2</annotation>
</semantics>
</math>
</foreignObject>
</g>
<g id="svg_89522_45">
<circle fill="#aaaaaa" stroke="#000000" stroke-width="2" cx="381.5" cy="41" r="5" id="svg_89522_7"/>
<foreignObject x="347.5" y="16" id="svg_89522_29" font-size="16" width="64" height="24">
<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>&#x2212;</mo>
<mn>1</mn>
<mo stretchy="false">)</mo>
</mrow>
</msup>
<mo stretchy="false">]</mo>
</mrow>
<annotation encoding="application/x-tex">[1^{2(N-1)}]</annotation>
</semantics>
</math>
</foreignObject>
<foreignObject height="20" width="14" font-size="16" id="svg_89522_44" y="49" x="375.5">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<msub>
<mi>z</mi>
<mn>3</mn>
</msub>
</mrow>
<annotation encoding="application/x-tex">z_3</annotation>
</semantics>
</math>
</foreignObject>
</g>
<g id="svg_89522_47">
<circle fill="#aaaaaa" stroke="#000000" stroke-width="2" cx="86.5" cy="30" r="5" id="svg_89522_32"/>
<foreignObject x="55.5" y="5" font-size="16" width="78" height="24" id="svg_89522_33">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<mo stretchy="false">[</mo>
<mn>2</mn>
<mo>,</mo>
<msup>
<mn>1</mn>
<mrow>
<mn>2</mn>
<mo stretchy="false">(</mo>
<mi>N</mi>
<mo>&#x2212;</mo>
<mn>2</mn>
<mo stretchy="false">)</mo>
</mrow>
</msup>
<mo stretchy="false">]</mo>
</mrow>
<annotation encoding="application/x-tex">[2,1^{2(N-2)}]</annotation>
</semantics>
</math>
</foreignObject>
<foreignObject height="20" width="14" font-size="16" id="svg_89522_46" y="37" x="80.5">
<math display="inline" xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<mrow>
<msub>
<mi>z</mi>
<mn>4</mn>
</msub>
</mrow>
<annotation encoding="application/x-tex">z_4</annotation>
</semantics>
</math>
</foreignObject>
</g>
</g>
<defs>
<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">
<path id="svg_89522_1" d="m0,50l100,40l-30,-40l30,-40l-100,40z" fill="#000000" stroke="#000000" stroke-width="10"/>
</marker>
<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">
<path id="svg_89522_4" d="m100,50l-100,40l30,-40l-30,-40l100,40z" fill="#000000" stroke="#000000" stroke-width="10"/>
</marker>
</defs>
</svg>\end{svg}
</annotation></semantics></math>
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>−</mo><mn>1</mn><mo stretchy="false">)</mo><mo>+</mo><mo stretchy="false">(</mo><mn>2</mn><mi>N</mi><mo>−</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>−</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-1)+(2N-3)(V) + (N-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>−</mo><mn>3</mn><mo stretchy="false">)</mo><mo stretchy="false">/</mo><mn>2</mn></mrow><annotation encoding='application/x-tex'>R=(2N-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>−</mo><mn>3</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>(2N-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>−</mo><mn>3</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>Sp(2N-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>Δ</mi><mo>=</mo><mn>2</mn><mi>N</mi><mo>−</mo><mn>2</mn></mrow><annotation encoding='application/x-tex'>\Delta=2N-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">−</mo><msup><mi>τ</mi> <mrow><mn>2</mn><mi>N</mi><mo>−</mo><mn>1</mn></mrow></msup><mi>χ</mi><mo stretchy="false">(</mo><mn>0</mn><mo>,</mo><mi>…</mi><mo>,</mo><mn>0</mn><mo>,</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>-\tau^{2N-1}\chi(0,\dots,0,1)</annotation></semantics></math> to the Hall-Littlewood index.</p>
<p>These examples were rather special, in that they had an S-duality frame in which they were Lagrangian field theories. Generically that won’t be the case. But there’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>
<hr />
<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 “gauge theory” 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>−</mo><mn>3</mn><mo>+</mo><mi>n</mi><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>(3g-3+n)</annotation></semantics></math> simple factors in the gauge group. This statement has to be modified slightly in the presence of “atypical” punctures in the twisted theory.</p></div>
<div id="F2" class="footnote"><p><sup>2</sup> Here, I’m taking “Higgs branch” to mean the branch on which the gauge symmetry is maximally-Higgsed.</p></div>
<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>𝒩</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>
</div>
</content>
</entry>
<entry>
<title type="html">Monterey and Samba</title>
<link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003393.html" />
<updated>2022-04-11T06:55:46Z</updated>
<published>2022-04-11T01:48:01-06:00</published>
<id>tag:golem.ph.utexas.edu,2022:%2F~distler%2Fblog%2F1.3393</id>
<summary type="text">Time Machine remote backups are borked</summary>
<author>
<name>distler</name>
<uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
<email>distler@golem.ph.utexas.edu</email>
</author>
<category term="Computers" />
<content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003393.html">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
<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 (“bands”) which comprise the <code>.sparsebundle</code>.</p>
<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>
<p>After upgrading, I <em>tried</em> to do an incremental backup. This repeatedly failed, with a slew of errors that I don’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>
<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>
<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>
<p>Here’s the bit of the Time Machine log around the failure:</p>
<pre><code>
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
2022-04-10 16:49:03.152913-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:CopyProgress] Failed copy from volume "Macintosh HD - Data"
113980 Total Items Added (l: 6.24 GB p: 6.68 GB)
0 Total Items Propagated (shallow) (l: Zero KB p: Zero KB)
0 Total Items Propagated (recursive) (l: Zero KB p: Zero KB)
113980 Total Items in Backup (l: 6.24 GB p: 6.68 GB)
95406 Files Copied (l: 6.2 GB p: 6.62 GB)
15585 Directories Copied (l: Zero KB p: Zero KB)
290 Symlinks Copied (l: 7 KB p: Zero KB)
2699 Files Linked (l: 43.8 MB p: 52.1 MB)
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=(
"/usr/local/lib/ruby/gems/2.3.0/doc/did_you_mean-1.0.2/rdoc/css/rdoc.css"
)}
2022-04-10 16:49:11.487666-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
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'
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
2022-04-10 16:49:21.950579-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:49:21.987207-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
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'
2022-04-10 16:49:22.359520-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
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
2022-04-10 16:49:27.292449-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
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
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
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
2022-04-10 16:49:28.512397-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Mountpoint '/Volumes/Personal' is still valid
2022-04-10 16:49:28.713895-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Mountpoint '/System/Volumes/Data' is still valid
2022-04-10 16:49:31.394479-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Backup failed (11: BACKUP_FAILED_COPY_STAGE)
2022-04-10 16:49:37.756029-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Unmounted '/Volumes/Backups of Tin Can'
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: {
Action = Unmount;
Dissenter = 1;
DissenterPID = 19902;
DissenterPPID = 0;
DissenterStatus = 49168;
Target = "file:///Volumes/.timemachine/192.168.0.xxx/81CD6E80-8234-4079-B19A-3AC33F7E06EF/Distler%20Backup%200/";
}
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.}
2022-04-10 16:49:42.935636-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:BackupScheduling] Not prioritizing backups with priority errors. lockState=0
...
2022-04-10 16:53:07.167148-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Starting automatic backup
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
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}
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}
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.
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)
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
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'
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'
2022-04-10 16:53:19.440910-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:53:19.643846-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
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
2022-04-10 16:53:20.586062-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
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'
2022-04-10 16:53:20.587567-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:53:20.589086-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:53:20.590174-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:53:20.591703-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:53:20.592900-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:53:20.593027-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Attempting to mount APFS volume from disk3s1
2022-04-10 16:53:50.382455-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Failed to mount 'disk3s1', dissenter {
DAStatus = 49218;
}, status: (null)
2022-04-10 16:53:50.791300-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Mount dissented, retrying...
2022-04-10 16:53:53.893930-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:53:53.897615-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:53:53.916581-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:53:53.916724-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Attempting to mount APFS volume from disk3s1
2022-04-10 16:54:09.948095-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Failed to mount 'disk3s1', dissenter {
DAStatus = 49218;
}, status: (null)
2022-04-10 16:54:10.324846-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Mount dissented, retrying...
2022-04-10 16:54:13.425438-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:54:13.427379-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:54:13.429332-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:54:13.429410-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Attempting to mount APFS volume from disk3s1
2022-04-10 16:54:20.216256-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Failed to mount 'disk3s1', dissenter {
DAStatus = 49218;
}, status: (null)
2022-04-10 16:54:20.533201-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Mount dissented, retrying...
2022-04-10 16:54:23.633572-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
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'
2022-04-10 16:54:25.829714-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Waiting 60 seconds and trying again.
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'
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)
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}
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}
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.
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
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'
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'
2022-04-10 16:55:42.625886-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:55:42.627412-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
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
2022-04-10 16:55:43.236237-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
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'
2022-04-10 16:55:43.237707-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:55:43.238827-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:55:43.239902-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:55:43.241266-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:55:43.242325-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:DiskImages] Found disk3s1 41504653-0000-11AA-AA11-00306543ECAC
2022-04-10 16:55:43.242443-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Attempting to mount APFS volume from disk3s1
2022-04-10 16:56:03.825110-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:General] Failed to mount 'disk3s1', dissenter {
DAStatus = 49218;
}, status: (null)
2022-04-10 16:56:03.940935-0500 localhost backupd[71202]: (TimeMachine) [com.apple.TimeMachine:Mounting] Mount dissented, retrying...
</code>
</pre>
<p>Won’t even mount, eh?</p>
<pre><code>
% sudo fsck_apfs /dev/disk3s1
Password:
** Checking the container superblock.
Checking the checkpoint with transaction ID 2703.
** Checking the space manager.
** Checking the space manager free queue trees.
** Checking the object map.
** Checking volume /dev/rdisk3s1.
** Checking the APFS volume superblock.
The volume Backups of Tin Can was formatted by newfs_apfs (1934.101.3) and last modified by apfs_kext (1934.101.3).
** Checking the object map.
warning: (oid 0x432370d) om: btn: invalid o_cksum (0xce8d60bd7f753902)
Object map is invalid.
** The volume /dev/rdisk3s1 was found to be corrupt and cannot be repaired.
** Verifying allocated space.
** The volume /dev/disk3s1 could not be verified completely.
</code>
</pre>
<p>Time Machine managed to corrupt the Object B-tree, on its first attempt. And <code>fsck_apfs</code> can’t repair it. The entire file system is <em>hosed</em>. So much for the “robustness” of APFS and so much for the quality of Apple’s backup software.</p>
<p>And it ain’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>
<p>Next time, I’ll tell you about <a href="https://www.finkproject.org/">Fink</a>.</p>
</div>
</content>
</entry>
<entry>
<title type="html">Spinor Helicity Variables in QED</title>
<link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003375.html" />
<updated>2022-01-08T18:05:03Z</updated>
<published>2022-01-08T11:47:36-06:00</published>
<id>tag:golem.ph.utexas.edu,2022:%2F~distler%2Fblog%2F1.3375</id>
<summary type="text">Spinor helicity variable and canonical quantization for spin-1/2 and spin-1.</summary>
<author>
<name>distler</name>
<uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
<email>distler@golem.ph.utexas.edu</email>
</author>
<category term="Physics" />
<content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003375.html">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
<p>I’m teaching Quantum Field Theory this year. One of the things I’ve been trying to emphasize is the usefulness of spinor-helicity variables in dealing with massless particles. This is well-known to the “Amplitudes” crowd, but hasn’t really trickled down to the textbooks yet. Mark Srednicki’s book comes close, but doesn’t (<abbr title="In My Humble Opinion">IMHO</abbr>) quite do a satisfactory job of it.</p>
<p>Herewith are some notes.</p>
<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>
<p>The first step in constructing perturbation theory is to quantize the free fields. Following Weinberg and Srednicki, I’m using the “mostly-plus” 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>
<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>⋅</mo><mi>σ</mi><msub><mo stretchy="false">)</mo> <mrow><mi>α</mi><mover><mi>β</mi><mo>˙</mo></mover></mrow></msub><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><msub><mi>λ</mi> <mi>α</mi></msub><msubsup><mi>λ</mi> <mover><mi>β</mi><mo>˙</mo></mover> <mo>†</mo></msubsup><mo>,</mo><mspace width="2em"/><mo stretchy="false">(</mo><mi>k</mi><mo>⋅</mo><mover><mi>σ</mi><mo>¯</mo></mover><msup><mo stretchy="false">)</mo> <mrow><mover><mi>α</mi><mo>˙</mo></mover><mi>β</mi></mrow></msup><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><msup><mi>λ</mi> <mrow><mo>†</mo><mover><mi>α</mi><mo>˙</mo></mover></mrow></msup><msup><mi>λ</mi> <mi>β</mi></msup></mrow><annotation encoding='application/x-tex'>(k\cdot\sigma)_{\alpha\dot\beta}= -\lambda_\alpha\lambda^\dagger_{\dot\beta},\qquad (k\cdot\overline{\sigma})^{\dot\alpha\beta} = -\lambda^{\dagger\dot\alpha}\lambda^\beta
</annotation></semantics></math></div>
<p>which allow us to straightforwardly canonically-quantize.</p>
<h3>Spin-1/2</h3>
<p>For a Weyl fermion,
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>ℒ</mi><mo>=</mo><mi>i</mi><msup><mi>ψ</mi> <mo>†</mo></msup><mover><mi>σ</mi><mo>¯</mo></mover><mo>⋅</mo><mo>∂</mo><mi>ψ</mi></mrow><annotation encoding='application/x-tex'>
\mathcal{L}= i\psi^\dagger\overline{\sigma}\cdot\partial \psi
</annotation></semantics></math>
the general solution to the equations of motion is
<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>ψ</mi> <mi>α</mi></msub><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>=</mo><mo>∫</mo><mfrac><mrow><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">→</mo></mover></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">|</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">|</mo></mrow></mfrac><msub><mi>λ</mi> <mi>α</mi></msub><mrow><mo>(</mo><msubsup><mi>ξ</mi> <mover><mi>k</mi><mo stretchy="false">→</mo></mover> <mo>†</mo></msubsup><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</mo><mi>ik</mi><mo>⋅</mo><mi>x</mi></mrow></msup><mo>+</mo><msub><mi>η</mi> <mover><mi>k</mi><mo stretchy="false">→</mo></mover></msub><msup><mi>e</mi> <mrow><mi>ik</mi><mo>⋅</mo><mi>x</mi></mrow></msup><mo>)</mo></mrow></mtd></mtr> <mtr><mtd><msubsup><mi>ψ</mi> <mover><mi>α</mi><mo>˙</mo></mover> <mo>†</mo></msubsup><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mtd> <mtd><mo>=</mo><mo>∫</mo><mfrac><mrow><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">→</mo></mover></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">|</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">|</mo></mrow></mfrac><msubsup><mi>λ</mi> <mover><mi>α</mi><mo>˙</mo></mover> <mo>†</mo></msubsup><mrow><mo>(</mo><msubsup><mi>η</mi> <mover><mi>k</mi><mo stretchy="false">→</mo></mover> <mo>†</mo></msubsup><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</mo><mi>ik</mi><mo>⋅</mo><mi>x</mi></mrow></msup><mo>+</mo><msub><mi>ξ</mi> <mover><mi>k</mi><mo stretchy="false">→</mo></mover></msub><msup><mi>e</mi> <mrow><mi>ik</mi><mo>⋅</mo><mi>x</mi></mrow></msup><mo>)</mo></mrow></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
\begin{aligned}
\psi_\alpha(x)&=\int\frac{d^3\vec{k}}{{(2\pi)}^3 2|\vec{k}|}\lambda_\alpha \left(\xi^\dagger_{\vec{k}}e^{-ik\cdot x}+\eta_{\vec{k}}e^{ik\cdot x}\right)\\
\psi^\dagger_{\dot\alpha}(x)&=\int\frac{d^3\vec{k}}{{(2\pi)}^3 2|\vec{k}|}\lambda^\dagger_{\dot\alpha}\left(\eta^\dagger_{\vec{k}}e^{-ik\cdot x}+\xi_{\vec{k}}e^{ik\cdot x}\right)
\end{aligned}
</annotation></semantics></math>
The Equal-Time Anti-Commutation Relations
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mo stretchy="false">{</mo><msub><mi>ψ</mi> <mi>α</mi></msub><mo stretchy="false">(</mo><mover><mi>x</mi><mo stretchy="false">→</mo></mover><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo><mo>,</mo><msubsup><mi>ψ</mi> <mover><mi>β</mi><mo>˙</mo></mover> <mo>†</mo></msubsup><mo stretchy="false">(</mo><mover><mi>x</mi><mo stretchy="false">→</mo></mover><mo>′</mo><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo><mo stretchy="false">}</mo><mo>=</mo><msubsup><mi>σ</mi> <mrow><mi>α</mi><mover><mi>β</mi><mo>˙</mo></mover></mrow> <mn>0</mn></msubsup><msup><mi>δ</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">→</mo></mover><mo>−</mo><mover><mi>x</mi><mo stretchy="false">→</mo></mover><mo>′</mo><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>
\{\psi_\alpha(\vec{x},0),\psi^\dagger_{\dot\beta}(\vec{x}',0)\}=\sigma^0_{\alpha\dot\beta}\delta^{(3)}(\vec{x}-\vec{x}')
</annotation></semantics></math>
become the canonical anti-commutation relations
<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>ξ</mi> <mover><mi>k</mi><mo stretchy="false">→</mo></mover></msub><mo>,</mo><msubsup><mi>ξ</mi> <mrow><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo>′</mo></mrow> <mo>†</mo></msubsup><mo stretchy="false">}</mo></mtd> <mtd><mo>=</mo><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">|</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">|</mo><msup><mi>δ</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">→</mo></mover><mo>−</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo>′</mo><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd><mo stretchy="false">{</mo><msub><mi>η</mi> <mover><mi>k</mi><mo stretchy="false">→</mo></mover></msub><mo>,</mo><msubsup><mi>η</mi> <mrow><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo>′</mo></mrow> <mo>†</mo></msubsup><mo stretchy="false">}</mo></mtd> <mtd><mo>=</mo><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">|</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">|</mo><msup><mi>δ</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">→</mo></mover><mo>−</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo>′</mo><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd/></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
\begin{aligned}
\{\xi_{\vec{k}},\xi^\dagger_{\vec{k}'}\}&= {(2\pi)}^3 2|\vec{k}| \delta^{(3)}(\vec{k}-\vec{k}')\\
\{\eta_{\vec{k}},\eta^\dagger_{\vec{k}'}\}&= {(2\pi)}^3 2|\vec{k}| \delta^{(3)}(\vec{k}-\vec{k}')\\
\end{aligned}
</annotation></semantics></math>
for creation and annihilation operators for fermions of definite helicity.</p>
<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>λ</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>λ</mi> <mi>i</mi> <mo>†</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>λ</mi> <mi>i</mi></msub><msubsup><mi>λ</mi> <mi>i</mi> <mo>†</mo></msubsup><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><msub><mi>k</mi> <mi>i</mi></msub><mo>⋅</mo><mi>σ</mi></mrow><annotation encoding='application/x-tex'>\lambda_i\lambda^\dagger_i=-k_i\cdot\sigma</annotation></semantics></math>, etc.</p>
<h3>Spin-1</h3>
<p>There’s a certain amount of hand-wringing associated to quantizing the free Maxwell Lagrangian,
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mi>ℒ</mi><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><mstyle displaystyle="false"><mfrac><mn>1</mn><mn>4</mn></mfrac></mstyle><msub><mi>F</mi> <mrow><mi>μ</mi><mi>ν</mi></mrow></msub><msup><mi>F</mi> <mrow><mi>μ</mi><mi>ν</mi></mrow></msup></mrow><annotation encoding='application/x-tex'>
\mathcal{L} = -\tfrac{1}{4}F_{\mu\nu}F^{\mu\nu}
</annotation></semantics></math>
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>μ</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>π</mi> <mi>μ</mi></msub><mo>=</mo><mfrac><mrow><mi>δ</mi><mi>ℒ</mi></mrow><mrow><mi>δ</mi><msub><mo>∂</mo> <mn>0</mn></msub><msup><mi>A</mi> <mi>μ</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>π</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, …).</p>
<p>On the other hand, if we</p>
<ol>
<li>realize that the phase space is the space of classical solutions and</li>
<li>introduce spinor helicity variables, as before,</li>
</ol>
<p>it’s easy to write down the general solution to the equations of motion</p>
<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>μ</mi><mi>ν</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>∫</mo><mfrac><mrow><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">→</mo></mover></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">|</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">|</mo></mrow></mfrac></mtd> <mtd><mrow><mo>(</mo><mi>λ</mi><msup><mi>σ</mi> <mrow><mi>μ</mi><mi>ν</mi></mrow></msup><mi>λ</mi><msubsup><mi>ε</mi> <mo lspace="0.11111em" rspace="0em">−</mo> <mo>†</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><msup><mi>λ</mi> <mo>†</mo></msup><msup><mover><mi>σ</mi><mo>¯</mo></mover> <mrow><mi>μ</mi><mi>ν</mi></mrow></msup><msup><mi>λ</mi> <mo>†</mo></msup><msubsup><mi>ε</mi> <mo lspace="0.11111em" rspace="0em">+</mo> <mo>†</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</mo><mi>ik</mi><mo>⋅</mo><mi>x</mi></mrow></msup><mo>+</mo></mtd></mtr> <mtr><mtd/> <mtd><mo lspace="0.11111em" rspace="0em">+</mo><mrow><mo>(</mo><mi>λ</mi><msup><mi>σ</mi> <mrow><mi>μ</mi><mi>ν</mi></mrow></msup><mi>λ</mi><msub><mi>ε</mi> <mo lspace="0.11111em" rspace="0em">+</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><msup><mi>λ</mi> <mo>†</mo></msup><msup><mover><mi>σ</mi><mo>¯</mo></mover> <mrow><mi>μ</mi><mi>ν</mi></mrow></msup><msup><mi>λ</mi> <mo>†</mo></msup><msub><mi>ε</mi> <mo lspace="0.11111em" rspace="0em">−</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow><msup><mi>e</mi> <mrow><mi>ik</mi><mo>⋅</mo><mi>x</mi></mrow></msup></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>\begin{aligned}
F^{\mu\nu}(x)= \frac{1}{\sqrt{2}}\int\frac{d^3\vec{k}}{{(2\pi)}^3 2|\vec{k}|}&\left(\lambda\sigma^{\mu\nu}\lambda\varepsilon^\dagger_{-}(\vec{k})+ \lambda^\dagger\overline{\sigma}^{\mu\nu}\lambda^\dagger \varepsilon^\dagger_{+}(\vec{k})\right)e^{-ik\cdot x}+\\
&+\left(\lambda\sigma^{\mu\nu}\lambda\varepsilon_{+}(\vec{k})+ \lambda^\dagger\overline{\sigma}^{\mu\nu}\lambda^\dagger \varepsilon_{-}(\vec{k})\right)e^{ik\cdot x}
\end{aligned}
</annotation></semantics></math></div>
<p>The (non-degenerate) symplectic structure on the space of classical solutions leads to the Equal-Time Commutation Relations</p>
<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">→</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">→</mo></mover><mo>′</mo><mo>,</mo><mn>0</mn><mo stretchy="false">)</mo><mo stretchy="false">]</mo><mo>=</mo><mi>i</mi><mrow><mo>(</mo><msub><mi>δ</mi> <mrow><mi>i</mi><mi>k</mi></mrow></msub><mfrac><mo>∂</mo><mrow><mo>∂</mo><msup><mi>x</mi> <mi>j</mi></msup></mrow></mfrac><mo>−</mo><msub><mi>δ</mi> <mrow><mi>i</mi><mi>j</mi></mrow></msub><mfrac><mo>∂</mo><mrow><mo>∂</mo><msup><mi>x</mi> <mi>k</mi></msup></mrow></mfrac><mo>)</mo></mrow><msup><mi>δ</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">→</mo></mover><mo>−</mo><mover><mi>x</mi><mo stretchy="false">→</mo></mover><mo>′</mo><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>[F_{0i}(\vec{x},0),F_{j k}(\vec{x}',0)]=i\left(\delta_{i k}\frac{\partial}{\partial x^j}-\delta_{i j}\frac{\partial}{\partial x^k}\right)\delta^{(3)}(\vec{x}-\vec{x}')
</annotation></semantics></math></div>
<p>which, in turn, give the canonical commutation relations
<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>ε</mi> <mo>+</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>,</mo><msubsup><mi>ε</mi> <mo>+</mo> <mo>†</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo>′</mo><mo stretchy="false">)</mo><mo stretchy="false">]</mo></mtd> <mtd><mo>=</mo><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">|</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">|</mo><msup><mi>δ</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">→</mo></mover><mo>−</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo>′</mo><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd><mo stretchy="false">[</mo><msub><mi>ε</mi> <mo>−</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>,</mo><msubsup><mi>ε</mi> <mo>−</mo> <mo>†</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo>′</mo><mo stretchy="false">)</mo><mo stretchy="false">]</mo></mtd> <mtd><mo>=</mo><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">|</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">|</mo><msup><mi>δ</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">→</mo></mover><mo>−</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo>′</mo><mo stretchy="false">)</mo></mtd></mtr> <mtr><mtd/></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
\begin{aligned}
[\varepsilon_+(\vec{k}),\varepsilon^\dagger_+(\vec{k}')]&={(2\pi)}^3 2|\vec{k}| \delta^{(3)}(\vec{k}-\vec{k}')\\
[\varepsilon_-(\vec{k}),\varepsilon^\dagger_-(\vec{k}')]&={(2\pi)}^3 2|\vec{k}| \delta^{(3)}(\vec{k}-\vec{k}')\\
\end{aligned}
</annotation></semantics></math>
of the creation and annihilation operators for photons of definite helicity.</p>
<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>μ</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>μ</mi><mi>ν</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>
<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">ˇ</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
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">ˇ</mo></mover><mo>⋅</mo><mi>σ</mi><msub><mo stretchy="false">)</mo> <mrow><mi>α</mi><mover><mi>β</mi><mo>˙</mo></mover></mrow></msub><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><msub><mi>μ</mi> <mi>α</mi></msub><msubsup><mi>μ</mi> <mover><mi>β</mi><mo>˙</mo></mover> <mo>†</mo></msubsup><mo>,</mo><mspace width="2em"/><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">ˇ</mo></mover><mo>⋅</mo><mover><mi>σ</mi><mo>¯</mo></mover><msup><mo stretchy="false">)</mo> <mrow><mover><mi>α</mi><mo>˙</mo></mover><mi>β</mi></mrow></msup><mo>=</mo><mo lspace="0.11111em" rspace="0em">−</mo><msup><mi>μ</mi> <mrow><mo>†</mo><mover><mi>α</mi><mo>˙</mo></mover></mrow></msup><msup><mi>μ</mi> <mi>β</mi></msup></mrow><annotation encoding='application/x-tex'>
(\check{k}\cdot\sigma)_{\alpha\dot\beta}= -\mu_\alpha\mu^\dagger_{\dot\beta},\qquad (\check{k}\cdot\overline{\sigma})^{\dot\alpha\beta} = -\mu^{\dagger\dot\alpha}\mu^\beta
</annotation></semantics></math>
We then can write </p>
<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>μ</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>∫</mo><mfrac><mrow><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">→</mo></mover></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">|</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">|</mo></mrow></mfrac><mrow><mo>(</mo><mfrac><mrow><msup><mi>μ</mi> <mo>†</mo></msup><msup><mover><mi>σ</mi><mo>¯</mo></mover> <mi>μ</mi></msup><mi>λ</mi></mrow><mrow><msup><mi>μ</mi> <mo>†</mo></msup><msup><mi>λ</mi> <mo>†</mo></msup></mrow></mfrac><msubsup><mi>ε</mi> <mo lspace="0.11111em" rspace="0em">−</mo> <mo>†</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><mfrac><mrow><mi>μ</mi><msup><mi>σ</mi> <mi>μ</mi></msup><msup><mi>λ</mi> <mo>†</mo></msup></mrow><mrow><mi>μ</mi><mi>λ</mi></mrow></mfrac><msubsup><mi>ε</mi> <mo lspace="0.11111em" rspace="0em">+</mo> <mo>†</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</mo><mi>ik</mi><mo>⋅</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>λ</mi> <mo>†</mo></msup><msup><mover><mi>σ</mi><mo>¯</mo></mover> <mi>μ</mi></msup><mi>μ</mi></mrow><mrow><mi>λ</mi><mi>μ</mi></mrow></mfrac><msub><mi>ε</mi> <mo lspace="0.11111em" rspace="0em">−</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><mfrac><mrow><mi>λ</mi><msup><mi>σ</mi> <mi>μ</mi></msup><msup><mi>μ</mi> <mo>†</mo></msup></mrow><mrow><msup><mi>λ</mi> <mo>†</mo></msup><msup><mi>μ</mi> <mo>†</mo></msup></mrow></mfrac><msub><mi>ε</mi> <mo lspace="0.11111em" rspace="0em">+</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow><msup><mi>e</mi> <mrow><mi>ik</mi><mo>⋅</mo><mi>x</mi></mrow></msup></mtd></mtr> <mtr><mtd/> <mtd><mo>=</mo><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac><mo>∫</mo><mfrac><mrow><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">→</mo></mover></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">|</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">|</mo></mrow></mfrac><mrow><mo>(</mo><mfrac><mrow><msup><mi>μ</mi> <mo>†</mo></msup><msup><mover><mi>σ</mi><mo>¯</mo></mover> <mi>μ</mi></msup><mi>λ</mi></mrow><mrow><msup><mi>μ</mi> <mo>†</mo></msup><msup><mi>λ</mi> <mo>†</mo></msup></mrow></mfrac><msubsup><mi>ε</mi> <mo lspace="0.11111em" rspace="0em">−</mo> <mo>†</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><mfrac><mrow><mi>μ</mi><msup><mi>σ</mi> <mi>μ</mi></msup><msup><mi>λ</mi> <mo>†</mo></msup></mrow><mrow><mi>μ</mi><mi>λ</mi></mrow></mfrac><msubsup><mi>ε</mi> <mo lspace="0.11111em" rspace="0em">+</mo> <mo>†</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</mo><mi>ik</mi><mo>⋅</mo><mi>x</mi></mrow></msup></mtd></mtr> <mtr><mtd/> <mtd><mspace width="2em"/><mo>−</mo><mrow><mo>(</mo><mfrac><mrow><mi>μ</mi><msup><mi>σ</mi> <mi>μ</mi></msup><msup><mi>λ</mi> <mo>†</mo></msup></mrow><mrow><mi>μ</mi><mi>λ</mi></mrow></mfrac><msub><mi>ε</mi> <mo lspace="0.11111em" rspace="0em">−</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><mfrac><mrow><msup><mi>μ</mi> <mo>†</mo></msup><msup><mover><mi>σ</mi><mo>¯</mo></mover> <mi>μ</mi></msup><mi>λ</mi></mrow><mrow><msup><mi>μ</mi> <mo>†</mo></msup><msup><mi>λ</mi> <mo>†</mo></msup></mrow></mfrac><msub><mi>ε</mi> <mo lspace="0.11111em" rspace="0em">+</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow><msup><mi>e</mi> <mrow><mi>ik</mi><mo>⋅</mo><mi>x</mi></mrow></msup></mtd></mtr> <mtr><mtd/></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>\begin{aligned}
A^\mu(x)&= \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_{-}(\vec{k})+ \frac{\mu\sigma^\mu\lambda^\dagger}{\mu\lambda} \varepsilon^\dagger_{+}(\vec{k})\right)e^{-ik\cdot x}+\\
&\qquad+\left(\frac{\lambda^\dagger\overline{\sigma}^\mu\mu}{\lambda\mu}\varepsilon_{-}(\vec{k})+ \frac{\lambda\sigma^\mu\mu^\dagger}{\lambda^\dagger\mu^\dagger} \varepsilon_{+}(\vec{k})\right)e^{ik\cdot x}\\
&=\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_{-}(\vec{k})+ \frac{\mu\sigma^\mu\lambda^\dagger}{\mu\lambda} \varepsilon^\dagger_{+}(\vec{k})\right)e^{-ik\cdot x}\\
&\qquad-\left(\frac{\mu\sigma^\mu\lambda^\dagger}{\mu\lambda}\varepsilon_{-}(\vec{k})+ \frac{\mu^\dagger\overline{\sigma}^\mu\lambda}{\mu^\dagger\lambda^\dagger} \varepsilon_{+}(\vec{k})\right)e^{ik\cdot x}\\
\end{aligned}
</annotation></semantics></math></div>
<p>which satisfies <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo>∂</mo><mo>⋅</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)
<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>∂</mo> <mi>μ</mi></msup><msup><mi>A</mi> <mi>ν</mi></msup><mo>−</mo><msup><mo>∂</mo> <mi>ν</mi></msup><msup><mi>A</mi> <mi>μ</mi></msup></mtd> <mtd><mo>=</mo><mfrac><mn>1</mn><msqrt><mn>2</mn></msqrt></mfrac><mo>∫</mo><mfrac><mrow><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">→</mo></mover></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><mo stretchy="false">|</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">|</mo></mrow></mfrac><mrow><mo>(</mo><mi>λ</mi><msup><mi>σ</mi> <mrow><mi>μ</mi><mi>ν</mi></mrow></msup><mi>λ</mi><msubsup><mi>ε</mi> <mo lspace="0.11111em" rspace="0em">−</mo> <mo>†</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><msup><mi>λ</mi> <mo>†</mo></msup><msup><mover><mi>σ</mi><mo>¯</mo></mover> <mrow><mi>μ</mi><mi>ν</mi></mrow></msup><msup><mi>λ</mi> <mo>†</mo></msup><msubsup><mi>ε</mi> <mo lspace="0.11111em" rspace="0em">+</mo> <mo>†</mo></msubsup><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow><msup><mi>e</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</mo><mi>ik</mi><mo>⋅</mo><mi>x</mi></mrow></msup><mo>+</mo></mtd></mtr> <mtr><mtd/> <mtd><mspace width="2em"/><mo>+</mo><mrow><mo>(</mo><mi>λ</mi><msup><mi>σ</mi> <mrow><mi>μ</mi><mi>ν</mi></mrow></msup><mi>λ</mi><msub><mi>ε</mi> <mo lspace="0.11111em" rspace="0em">+</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>+</mo><msup><mi>λ</mi> <mo>†</mo></msup><msup><mover><mi>σ</mi><mo>¯</mo></mover> <mrow><mi>μ</mi><mi>ν</mi></mrow></msup><msup><mi>λ</mi> <mo>†</mo></msup><msub><mi>ε</mi> <mo lspace="0.11111em" rspace="0em">−</mo></msub><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow><msup><mi>e</mi> <mrow><mi>ik</mi><mo>⋅</mo><mi>x</mi></mrow></msup></mtd></mtr> <mtr><mtd/> <mtd><mo>=</mo><msup><mi>F</mi> <mrow><mi>μ</mi><mi>ν</mi></mrow></msup><mo stretchy="false">(</mo><mi>x</mi><mo stretchy="false">)</mo></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
\begin{aligned}
\partial^\mu A^\nu-\partial^\nu A^\mu&= \frac{1}{\sqrt{2}}\int\frac{d^3\vec{k}}{{(2\pi)}^3 2|\vec{k}|}\left(\lambda\sigma^{\mu\nu}\lambda\varepsilon^\dagger_{-}(\vec{k})+ \lambda^\dagger\overline{\sigma}^{\mu\nu}\lambda^\dagger \varepsilon^\dagger_{+}(\vec{k})\right)e^{-ik\cdot x}+\\
&\qquad+\left(\lambda\sigma^{\mu\nu}\lambda\varepsilon_{+}(\vec{k})+ \lambda^\dagger\overline{\sigma}^{\mu\nu}\lambda^\dagger \varepsilon_{-}(\vec{k})\right)e^{ik\cdot x}\\
&=F^{\mu\nu}(x)
\end{aligned}
</annotation></semantics></math>
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">ˇ</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>μ</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>†</sup>.</p>
<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>ξ</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’s the subject for another blog post.</p>
<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>μ</mi><msup><mi>σ</mi> <mi>μ</mi></msup><msup><mi>λ</mi> <mo>†</mo></msup></mrow><mrow><mi>μ</mi><mi>λ</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>μ</mi> <mo>†</mo></msup><msup><mover><mi>σ</mi><mo>¯</mo></mover> <mi>μ</mi></msup><mi>λ</mi></mrow><mrow><msup><mi>μ</mi> <mo>†</mo></msup><msup><mi>λ</mi> <mo>†</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’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">ˇ</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">ˇ</mo></mover></mrow><annotation encoding='application/x-tex'>\check{k}</annotation></semantics></math> is a nice check on our calculations.</p>
<hr />
<p><sup>†</sup> Notoriously, Lorentz gauge <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mo>∂</mo><mo>⋅</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>μ</mi></msub><mo>→</mo><msub><mi>A</mi> <mi>μ</mi></msub><mo>+</mo><msub><mo>∂</mo> <mi>μ</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>□</mo><mi>f</mi><mo>=</mo><mn>0</mn></mrow><annotation encoding='application/x-tex'>\square f = 0</annotation></semantics></math>.</p>
</div>
</content>
</entry>
<entry>
<title type="html">Cosmic Strings in the Standard Model</title>
<link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003308.html" />
<updated>2021-03-23T04:56:16Z</updated>
<published>2021-03-21T00:27:15-06:00</published>
<id>tag:golem.ph.utexas.edu,2021:%2F~distler%2Fblog%2F1.3308</id>
<summary type="text">Prompted by some posts by John Baez, a little calculation with an unsurprising result.</summary>
<author>
<name>distler</name>
<uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
<email>distler@golem.ph.utexas.edu</email>
</author>
<category term="Physics" />
<content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003308.html">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
<p>Over at the <a href="https://golem.ph.utexas.edu/category/">n-Category Café</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
<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>×</mo><mi>SU</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><mo stretchy="false">)</mo><mo stretchy="false">/</mo><mi>N</mi></mrow><annotation encoding='application/x-tex'>
G = (SU(3)\times SU(2)\times U(1))/N
</annotation></semantics></math>
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>ℤ</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>′</mo><mo>=</mo><mi>SU</mi><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo><mo>×</mo><mi>SU</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'>G'=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>π</mi><mi>i</mi><mo stretchy="false">/</mo><mn>3</mn></mrow></msup><mi>𝟙</mi><mo>,</mo><mo lspace="0.11111em" rspace="0em">−</mo><mi>𝟙</mi><mo>,</mo><msup><mi>e</mi> <mrow><mn>2</mn><mi>π</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},-\mathbb{1},e^{2\pi i/6}\right)</annotation></semantics></math>.</p>
<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>′</mo><mo stretchy="false">)</mo><mo>=</mo><mi>U</mi><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo><mo>×</mo><msub><mi>ℤ</mi> <mn>6</mn></msub></mrow><annotation encoding='application/x-tex'>Z(G')=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>
<p>None of this is new. I’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é Pamplona</a> doing this calculation. (As any incoming graduate student should do, I spent many a sunny afternoon at a café doing this and similar calculations.)</p>
<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>
<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">:</mo><mi>H</mi><mo>↪</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>∈</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>≔</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
<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'>
b = d^{1/6}
</annotation></semantics></math>
Then</p>
<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">−</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>−</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>−</mo><mn>1</mn></mstyle></msup><mo>)</mo></mrow></mrow><annotation encoding='application/x-tex'>i(h) = \left(h b^{-2}, \left(\begin{smallmatrix}b^{{\color{red}-}3}&0\\0&b^{{\color{red}+}3}\end{smallmatrix}\right), b^{\color{red}-1}\right)
</annotation></semantics></math></div>
<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>′</mo></mrow><annotation encoding='application/x-tex'>G'</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>
<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>π</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>π</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>π</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>ℤ</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
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mn>0</mn><mo>→</mo><msub><mi>π</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>H</mi><mo stretchy="false">)</mo><mo>→</mo><msub><mi>π</mi> <mn>1</mn></msub><mo stretchy="false">(</mo><mi>G</mi><mo stretchy="false">)</mo><mo>→</mo><msub><mi>π</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'>
0\to \pi_1(H)\to \pi_1(G) \to \pi_1(G/H)\to 0
</annotation></semantics></math>
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>π</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>π</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>π</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>ℤ</mi> <mi>n</mi></msub></mrow><annotation encoding='application/x-tex'>\mathbb{Z}_n</annotation></semantics></math> cosmic strings.</p>
<p><math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>π</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>
<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>π</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>π</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">−</mo><mn>4</mn><mi>π</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>π</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">−</mo><mi>i</mi><mi>π</mi><mi>s</mi></mrow></msup></mtd></mtr></mtable></mrow><mo>)</mo></mrow><mo>,</mo><msup><mi>e</mi> <mrow><mn>2</mn><mi>π</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>∈</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}&0&0\\0&e^{2\pi i s/3}&0\\0&0&e^{-4\pi i s/3}\end{smallmatrix}\right),\begin{pmatrix}e^{i\pi s}&0\\0&e^{-i\pi s}\end{pmatrix},e^{2\pi i s/6}\right), \qquad s\in[0,1]
</annotation></semantics></math></div>
<p><math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><msub><mi>π</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>
<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>−</mo></mstyle><mn>2</mn><mi>π</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>∈</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&0&0\\0&1&0\\0&0&e^{{\color{red} -}2\pi i s}\end{pmatrix}, \qquad s\in[0,1]
</annotation></semantics></math></div>
<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>π</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>
</div>
</content>
</entry>
<entry>
<title type="html">Entanglement for Laymen</title>
<link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003186.html" />
<updated>2024-09-23T18:06:25Z</updated>
<published>2020-01-06T14:30:37-06:00</published>
<id>tag:golem.ph.utexas.edu,2020:%2F~distler%2Fblog%2F1.3186</id>
<summary type="text">I keep getting asked ...</summary>
<author>
<name>distler</name>
<uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
<email>distler@golem.ph.utexas.edu</email>
</author>
<category term="Physics" />
<content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003186.html">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
<p>I’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 “entanglement” and mere “(classical) correlation.”</p>
<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>
<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>
<p>“Entanglement” is a bit tricky to explain, versus “correlation” — which has a perfectly classical interpretation.</p>
<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 — sometime later — Adam unfolds his piece of paper. There’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>
<p>That’s correlation.</p>
<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’t have a classical analogue. So let me shift from pieces of paper to photons.</p>
<p>You’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>
<p>Say, instead of crumpled pieces of paper, I send Adam and Betty a pair of photons.</p>
<p>In the correlated state, one photon is polarized horizontally, and one photon is polarized vertically, and there’s a 50% chance that Adam got the first while Betty got the second and a 50% chance that it’s the other way around.</p>
<p>Adam and Betty send their photons through polaroid filters, both aligned vertically. If Adam’s photon makes it through the filter, we can be certain that Betty’s gets absorbed and vice versa. Same is true if they both align their filters horizontally.</p>
<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>
<p><em>All</em> of the above statements are also true in the entangled state.</p>
<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° angle. Now there’s a 50% chance that Adam’s photon makes it through his filter, and a 50% chance that Betty’s photon makes it through her filter.</p>
<p>(You can check this yourself, if you’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°). The intensity is 50% when the second lens is at 45°.)</p>
<p>So what is the probability that <strong>both</strong> Adam and Betty’s photons make it through? Well, if there’s a 50% chance that his made it through and a 50% chance that hers made it through, then you might surmise that there’s a 25% chance that both made it through. </p>
<p>That’s indeed the correct answer in the correlated state.</p>
<p>In fact, in the correlated state, each of the 4 possible outcomes (both photons made it through, Adam’s made it through but Betty’s got absorbed, Adam’s got absorbed but Betty’s made it through or both got absorbed) has a 25% chance of taking place.</p>
<p>But, in the entangled state, things are different.</p>
<p>In the entangled state, the probability that both photons made it through is 50% – the same as the probability that one made it through. In other words, if Adam’s photon made it through the 45° filter, then we can be certain that Betty’s made it through. And if Adam’s was absorbed, so was Betty’s. There’s zero chance that one of their photons made it through while the other got absorbed.</p>
<p>Unfortunately, while it’s fairly easy to create the correlated state with classical tools (polaroid filters, half-silvered mirrors, …), creating the entangled state requires some quantum mechanical ingredients. So you’ll just have to believe me that quantum mechanics allows for a state of two photons with all of the aforementioned properties.</p>
<p>Sorry if this explanation was a bit convoluted; I told you that entanglement is subtle…</p>
</div>
</content>
</entry>
<entry>
<title type="html">Instiki 0.30.0 and tex2svg 1.0</title>
<link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003093.html" />
<updated>2019-05-20T06:10:29Z</updated>
<published>2019-02-28T14:21:06-06:00</published>
<id>tag:golem.ph.utexas.edu,2019:%2F~distler%2Fblog%2F1.3093</id>
<summary type="text">A new release, with support for Tikz pictures</summary>
<author>
<name>distler</name>
<uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
<email>distler@golem.ph.utexas.edu</email>
</author>
<category term="Instiki" />
<content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003093.html">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
<ul>
<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>
<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>
</ul>
<p><em>Obviously,</em> I needed to include Tikz support in <strong>Instiki</strong>. But, up until now, I didn’t really see a good way to do that, given that I wanted something that is</p>
<ol>
<li>Portable</li>
<li>Secure</li>
</ol>
<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>
<blockquote>
<p><code>fink install poppler8-glib</code></p>
</blockquote>
<p>before install <strong>pdf2svg</strong>. </p>
<p>But portability is not enough. If you’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>
<ul>
<li>exfiltrate sensitive information from the machine or </li>
<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>
</ul>
<p>You should never, <em>ever</em> compile a TeX file from an untrusted source.</p>
<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>
<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>
<blockquote><pre><code>\begin{tikzpicture}[decoration={markings,
mark=at position .5 with {\arrow{>}}}]
\usetikzlibrary{arrows,shapes,decorations.markings}
\begin{scope}[scale=2.0]
\node[Bl,scale=.75] (or1) at (8,3) {};
\node[scale=1] at (8.7,2.9) {$D3$ brane};
\node[draw,diamond,fill=yellow,scale=.3] (A1) at (7,0) {};
\draw[dashed] (A1) -- (7,-.7);
\node[draw,diamond,fill=yellow,scale=.3] (A2) at (7.5,0) {};
\draw[dashed] (A2) -- (7.5,-.7);
\node[draw,diamond,fill=yellow,scale=.3] (A3) at (8,0) {};
\draw[dashed] (A3) -- (8,-.7);
\node[draw,diamond,fill=yellow,scale=.3] (A4) at (8.5,0) {};
\draw[dashed] (A4) -- (8.5,-.7);
\node[draw,diamond,fill=yellow,scale=.3] (A5) at (9,0) {};
\draw[dashed] (A5) -- (9,-.7);
\node[draw,circle,fill=aqua,scale=.3] (B) at (9.5,0) {};
\draw[dashed] (B) -- (9.5,-.7);
\node[draw,regular polygon,regular polygon sides=5,fill=purple,scale=.3] (C1) at (10,0) {};
\draw[dashed] (C1) -- (10,-.7);
\node[draw,regular polygon,regular polygon sides=5,fill=purple,scale=.3] (C2) at (10.5,0) {};
\draw[dashed] (C2) -- (10.5,-.7);
\draw (6.8,-.7) -- (6.8,-.9) to (9.2,-.9) to (9.2,-.7);
\draw (9.8,-.7) -- (9.8,-.9) to (10.7,-.9) to (10.7,-.7);
\draw[->-=.75] (C2) to (10.2,.35);
\draw[->-=.75] (C1) to (10.2,.35);
\node[scale=.6] at (9.9,.35) {$(2,2)$};
\draw[->-=.7] (B) to (9.6,.7);
\draw (10.2,.35) to (9.6,.7);
\node[scale=.6] at (9.35,.9) {$(4,0)$};
\draw[->-=.5] (9.1,.8) to (A5);
\draw (9.6,.7) to (9.1,.8) to (A5);
\draw (9.1,.8) to [out=170,in=280] (8.3,1.45);
\draw[dashed] (8.3,1.45) to (8.1,2.5);
\draw[->-=.5] (8.1,2.5) to (or1);
\node[scale=.75] at (7.7,2.7) {$(3,0)$};
%\draw (11.4,2.4) to [out=180,in=90] (6.2,-.5) to [out=90,in=0] (or1) -- cycle;
\node[scale=.75] at (8,-1.1) {A-type};
\node[scale=.75] at (9.5,-1.1) {B-type};
\node[scale=.75] at (10.25,-1.1) {C-type};
\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;
\node[scale=1] at (12,.6) {$E_6$ singularity};
\end{scope}
\end{tikzpicture}</code></pre></blockquote>
<p>in <strong>Instiki</strong> and have it produce</p>
<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'>
<defs>
<g>
<symbol id='glyph5385-0-0' overflow='visible'>
<path d='' style='stroke: none;'/>
</symbol>
<symbol id='glyph5385-0-1' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-0-2' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-1-0' overflow='visible'>
<path d='' style='stroke: none;'/>
</symbol>
<symbol id='glyph5385-1-1' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-1-2' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-1-3' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-1-4' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-1-5' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-1-6' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-1-7' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-1-8' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-1-9' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-1-10' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-1-11' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-1-12' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-1-13' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-2-0' overflow='visible'>
<path d='' style='stroke: none;'/>
</symbol>
<symbol id='glyph5385-2-1' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-2-2' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-2-3' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-2-4' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-2-5' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-3-0' overflow='visible'>
<path d='' style='stroke: none;'/>
</symbol>
<symbol id='glyph5385-3-1' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-4-0' overflow='visible'>
<path d='' style='stroke: none;'/>
</symbol>
<symbol id='glyph5385-4-1' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-4-2' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-4-3' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-4-4' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-4-5' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-4-6' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-4-7' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-4-8' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-4-9' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-4-10' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-4-11' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-4-12' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-5-0' overflow='visible'>
<path d='' style='stroke: none;'/>
</symbol>
<symbol id='glyph5385-5-1' overflow='visible'>
<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;'/>
</symbol>
<symbol id='glyph5385-6-0' overflow='visible'>
<path d='' style='stroke: none;'/>
</symbol>
<symbol id='glyph5385-6-1' overflow='visible'>
<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;'/>
</symbol>
</g>
<clipPath id='clip1'>
<path d='M 0 132 L 290 132 L 290 264.140625 L 0 264.140625 Z '/>
</clipPath>
</defs>
<g id='surface1'>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='121.327' xlink:href='#glyph5385-0-1' y='11.619'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='129.852' xlink:href='#glyph5385-1-1' y='11.619'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='138.150846' xlink:href='#glyph5385-1-2' y='11.619'/>
<use x='143.686066' xlink:href='#glyph5385-1-3' y='11.619'/>
<use x='147.588417' xlink:href='#glyph5385-1-4' y='11.619'/>
<use x='152.569717' xlink:href='#glyph5385-1-5' y='11.619'/>
<use x='158.104937' xlink:href='#glyph5385-1-6' y='11.619'/>
</g>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='203.321' xlink:href='#glyph5385-2-1' y='154.22'/>
<use x='205.645673' xlink:href='#glyph5385-2-2' y='154.22'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='208.6346' xlink:href='#glyph5385-3-1' y='154.22'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='211.2914' xlink:href='#glyph5385-2-2' y='154.22'/>
<use x='214.28018' xlink:href='#glyph5385-2-3' y='154.22'/>
</g>
<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)'/>
<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)'/>
<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)'/>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='172.141' xlink:href='#glyph5385-2-1' y='123.04'/>
<use x='174.465673' xlink:href='#glyph5385-2-4' y='123.04'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='177.454' xlink:href='#glyph5385-3-1' y='123.04'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='180.1108' xlink:href='#glyph5385-2-5' y='123.04'/>
<use x='183.09958' xlink:href='#glyph5385-2-3' y='123.04'/>
</g>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<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)'/>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='76.936' xlink:href='#glyph5385-4-1' y='21.366'/>
<use x='79.841841' xlink:href='#glyph5385-4-2' y='21.366'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='83.578' xlink:href='#glyph5385-5-1' y='21.366'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='86.899' xlink:href='#glyph5385-4-3' y='21.366'/>
<use x='90.634975' xlink:href='#glyph5385-4-4' y='21.366'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='91.039' xlink:href='#glyph5385-4-5' y='236.758'/>
<use x='96.642963' xlink:href='#glyph5385-4-6' y='236.758'/>
<use x='99.133363' xlink:href='#glyph5385-4-7' y='236.758'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='101.82999' xlink:href='#glyph5385-4-8' y='236.758'/>
<use x='105.773685' xlink:href='#glyph5385-4-9' y='236.758'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='110.134315' xlink:href='#glyph5385-4-10' y='236.758'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='176.234' xlink:href='#glyph5385-4-11' y='236.758'/>
<use x='181.526382' xlink:href='#glyph5385-4-6' y='236.758'/>
<use x='184.016783' xlink:href='#glyph5385-4-7' y='236.758'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='186.71341' xlink:href='#glyph5385-4-8' y='236.758'/>
<use x='190.657105' xlink:href='#glyph5385-4-9' y='236.758'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='195.017735' xlink:href='#glyph5385-4-10' y='236.758'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='218.702' xlink:href='#glyph5385-4-12' y='236.758'/>
<use x='224.098242' xlink:href='#glyph5385-4-6' y='236.758'/>
<use x='226.588643' xlink:href='#glyph5385-4-7' y='236.758'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='229.28527' xlink:href='#glyph5385-4-8' y='236.758'/>
<use x='233.228965' xlink:href='#glyph5385-4-9' y='236.758'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='237.589595' xlink:href='#glyph5385-4-10' y='236.758'/>
</g>
<g clip-path='url(#clip1)' clip-rule='nonzero'>
<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)'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='298.435' xlink:href='#glyph5385-0-2' y='141.043'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='305.789' xlink:href='#glyph5385-6-1' y='142.538'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='313.58' xlink:href='#glyph5385-1-7' y='141.043'/>
<use x='317.509249' xlink:href='#glyph5385-1-8' y='141.043'/>
<use x='320.27686' xlink:href='#glyph5385-1-5' y='141.043'/>
<use x='325.81208' xlink:href='#glyph5385-1-9' y='141.043'/>
<use x='330.79338' xlink:href='#glyph5385-1-10' y='141.043'/>
<use x='336.328601' xlink:href='#glyph5385-1-11' y='141.043'/>
<use x='339.096211' xlink:href='#glyph5385-1-4' y='141.043'/>
<use x='344.077511' xlink:href='#glyph5385-1-3' y='141.043'/>
<use x='347.979862' xlink:href='#glyph5385-1-8' y='141.043'/>
<use x='350.747472' xlink:href='#glyph5385-1-12' y='141.043'/>
</g>
<g style='fill: rgb(0%,0%,0%); fill-opacity: 1;'>
<use x='354.342974' xlink:href='#glyph5385-1-13' y='141.043'/>
</g>
</g>
</svg>
</div>
<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>
</div>
</content>
</entry>
<entry>
<title type="html">Brotli</title>
<link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003089.html" />
<updated>2019-05-23T04:32:04Z</updated>
<published>2019-02-15T09:47:07-06:00</published>
<id>tag:golem.ph.utexas.edu,2019:%2F~distler%2Fblog%2F1.3089</id>
<summary type="text">Another WebServer-related post</summary>
<author>
<name>distler</name>
<uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
<email>distler@golem.ph.utexas.edu</email>
</author>
<category term="Computers" />
<content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003089.html">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
<div style='border: 1px solid grey; padding: 10px; overflow:auto;'>
<b style='margin-right:10px'>Description:</b> How the outgoing ETag header should be modified during compression<br/>
<b style='margin-right:10px'>Syntax:</b> <code>BrotliAlterETag AddSuffix|NoChange|Remove</code>
</div>
<p>with the description:</p>
<blockquote><dl><dt>AddSuffix</dt>
<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 “<code>HTTP Not Modified (304)</code>” responses to conditional requests for compressed content.</dd>
<dt>NoChange</dt>
<dd>Don’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>
<dt>Remove</dt>
<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>
<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>
<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>
<blockquote><pre><code>etag: "38f7-56d65f4a2fcc0"</code></pre></blockquote>
<p>When your browser requests the page again, it sends an</p>
<blockquote><pre><code>If-None-Match: "38f7-56d65f4a2fcc0"</code></pre></blockquote>
<p>header in the request. If that matches the hash of the page, Apaches sends a “<code>HTTP Not Modified (304)</code>” response, telling your browser the page is unchanged from the last time it requested it.</p>
<p>If the page is compressed, using <code>mod_deflate</code>, then the header Apache sends is slightly different</p>
<blockquote><pre><code>etag: "38f7-56d65f4a2fcc0-gzip"</code></pre></blockquote>
<p>So, when your browser sends its request with an</p>
<blockquote><pre><code>If-None-Match: "38f7-56d65f4a2fcc0-gzip"</code></pre></blockquote>
<p>header, Apache compares “<code>38f7-56d65f4a2fcc0-gzip</code>” with the hash of the page, concludes that they don’t match, and sends the whole page again (thus wasting all the bandwidth you originally saved by sending the page compressed).</p>
<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’t seem to have gotten around to fixing it. Instead, they just replicated the problem in <code>mod_brotli</code> (with a “<code>-br</code>” suffix replacing “<code>-gzip</code>”).</p>
<p>The solution is drop-dead simple. Add the line</p>
<blockquote><pre><code>RequestHeader edit "If-None-Match" '^"((.*)-(gzip|br))"$' '"$1", "$2"'</code></pre></blockquote>
<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 “<code>HTTP Not Modified (304)</code>” as expected.</p>
<p>Why Apache didn’t just implement this in their code is beyond me.</p>
</div>
</content>
</entry>
<entry>
<title type="html">Python urllib2 and TLS</title>
<link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/003080.html" />
<updated>2018-12-31T06:12:27Z</updated>
<published>2018-12-27T11:28:03-06:00</published>
<id>tag:golem.ph.utexas.edu,2018:%2F~distler%2Fblog%2F1.3080</id>
<summary type="text">In which I discover that you can't trust python to do the right thing...</summary>
<author>
<name>distler</name>
<uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
<email>distler@golem.ph.utexas.edu</email>
</author>
<category term="Computers" />
<content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/003080.html">
<div xmlns="http://www.w3.org/1999/xhtml">
<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’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>
<p>But, when I checked, you can imagine my surprise that this webserver receives a <em>ton</em> of TLSv1 connections… 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>
<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 …</p>
<p>At least in its default configuration, <code>urllib2</code> won’t negotiate anything higher than a TLSv1.0 connection. And, sure enough, that’s a problem:</p>
<blockquote><pre><code>ERROR:planet.runner:Error processing http://excursionset.com/blog?format=RSS
ERROR:planet.runner:URLError: <urlopen error [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590)>
...
ERROR:planet.runner:Error processing https://www.scottaaronson.com/blog/?feed=atom
ERROR:planet.runner:URLError: <urlopen error [Errno 54] Connection reset by peer>
...
ERROR:planet.runner:Error processing https://www.science20.com/quantum_diaries_survivor/feed
ERROR:planet.runner:URLError: <urlopen error EOF occurred in violation of protocol (_ssl.c:590)></code></pre></blockquote>
<p>Even if <em>I’m</em> still supporting TLSv1.0, <em>others</em> have already dropped support for it.</p>
<p>Now, you might find it strange that <code>urllib2</code> defaults to a TLSv1.0 connection, when it’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’t even check</a> the server’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>
<p>Switching from the system Python to Python 2.7.15 (installed by Fink) yielded a slew of</p>
<blockquote><pre><code>ERROR:planet.runner:URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:726)></code></pre></blockquote>
<p>errors. Apparently, no root certificate file was getting loaded.</p>
<p>The solution to both of these problems turned out to be:</p>
<blockquote><pre><code>--- a/feedparser/http.py
+++ b/feedparser/http.py
@@ -5,13 +5,15 @@ import gzip
import re
import struct
import zlib
+import ssl
<span style='color: red'>+import certifi</span>
try:
import urllib.parse
import urllib.request
except ImportError:
from urllib import splithost, splittype, splituser
- from urllib2 import build_opener, HTTPDigestAuthHandler, HTTPRedirectHandler, HTTPDefaultErrorHandler, Request
+ from urllib2 import build_opener, HTTPSHandler, HTTPDigestAuthHandler, HTTPRedirectHandler, HTTPDefaultErrorHandler, Request
from urlparse import urlparse
class urllib(object):
@@ -170,7 +172,9 @@ def get(url, etag=None, modified=None, agent=None, referrer=None, handlers=None,
# try to open with urllib2 (to use optional headers)
request = _build_urllib2_request(url, agent, ACCEPT_HEADER, etag, modified, referrer, auth, request_headers)
- opener = urllib.request.build_opener(*tuple(handlers + [_FeedURLHandler()]))
+ context = ssl.SSLContext(ssl.PROTOCOL_TLS)
<span style='color: red'>+ context.load_verify_locations(cafile=certifi.where())</span>
+ opener = urllib.request.build_opener(*tuple(handlers + [HTTPSHandler(context=context)] + [_FeedURLHandler()]))
opener.addheaders = [] # RMK - must clear so we only send our custom User-Agent
f = opener.open(request)
data = f.read()</code></pre></blockquote>
<p>Actually, the lines in <span style='color: red'>red</span> aren’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’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>
<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>
<p>Now, if only everyone <em>else</em> would update their Python scripts …</p>
<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’s TLS implementation on MacOSX. But only some of the way …</div>
<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’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’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>
</div>
</content>
</entry>
<entry>
<title type="html">Responsibility</title>
<link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/002943.html" />
<updated>2024-01-20T17:03:26Z</updated>
<published>2017-02-24T18:13:18-06:00</published>
<id>tag:golem.ph.utexas.edu,2017:%2F~distler%2Fblog%2F1.2943</id>
<summary type="text">The quantum theory of the relativistic free particle</summary>
<author>
<name>distler</name>
<uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
<email>distler@golem.ph.utexas.edu</email>
</author>
<category term="Physics" />
<content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/002943.html">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
<p>Many years ago, when I was an assistant professor at Princeton, there was a cocktail party at Curt Callan’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 — for the first time in his life — 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’t be quite so worried. After all, it wasn’t as if he was going to teach Quantum Field Theory, “That’s a subject I’d feel <em>responsible</em> for.”</p>
<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>
<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>
<p>The textbooks (and I mean <em>all</em> of them) start off by “explaining” that relativistic quantum mechanics (e.g. replacing the Schrödinger equation with Klein-Gordon) make no sense (negative probabilities and all that …). And they then proceed to use it anyway (supplemented by some Feynman rules pulled out of thin air).</p>
<p>This drives me up the #@%^ing wall. It is <em>precisely</em> wrong.</p>
<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>
<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>
<p>So what is that theory?</p>
<ol>
<li>It has a Hilbert space, <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>ℋ</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
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mo stretchy="false">⟨</mo><mi>χ</mi><mo stretchy="false">|</mo><mi>ϕ</mi><mo stretchy="false">⟩</mo><mo>=</mo><mo>∫</mo><mfrac><mrow><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">→</mo></mover></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mo stretchy="false">)</mo></mrow> <mn>3</mn></msup><mn>2</mn><msqrt><mrow><msup><mover><mi>k</mi><mo stretchy="false">→</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>χ</mi><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><msup><mo stretchy="false">)</mo> <mo>*</mo></msup><mi>ϕ</mi><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>
\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})
</annotation></semantics></math></li>
<li>As usual, the time-evolution is given by a Schrödinger equation</li>
</ol>
<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>∂</mo> <mi>t</mi></msub><mo stretchy="false">|</mo><mi>ψ</mi><mo stretchy="false">⟩</mo><mo>=</mo><msub><mi>H</mi> <mn>0</mn></msub><mo stretchy="false">|</mo><mi>ψ</mi><mo stretchy="false">⟩</mo></mrow><annotation encoding='application/x-tex'>i\partial_t |\psi\rangle = H_0 |\psi\rangle
</annotation></semantics></math></div>
<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">→</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’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">−</mo><mi>i</mi><msup><mover><mi>p</mi><mo stretchy="false">→</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^{-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">→</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">→</mo></mover></mrow><annotation encoding='application/x-tex'>\vec{k}</annotation></semantics></math>.</p>
<p>I could go on, but let me leave the rest of the development of the theory as a series of questions.</p>
<ol>
<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">→</mo></mover></mrow><annotation encoding='application/x-tex'>\vec{x}</annotation></semantics></math>, satisfies
<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>δ</mi> <mi>j</mi> <mi>i</mi></msubsup></mrow><annotation encoding='application/x-tex'>
[x^i,p_j] = i \delta^{i}_j
</annotation></semantics></math>
Thus it can be written in the form
<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>∂</mo><mrow><mo>∂</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">→</mo></mover><mo stretchy="false">)</mo><mo>)</mo></mrow></mrow><annotation encoding='application/x-tex'>
x^i = i\left(\frac{\partial}{\partial k_i} + f_i(\vec{k})\right)
</annotation></semantics></math>
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">→</mo></mover><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>f_i(\vec{k})</annotation></semantics></math>?</li>
<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">→</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">|</mo><mi>ϕ</mi><mo stretchy="false">⟩</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>⊂</mo><msup><mi>ℝ</mi> <mn>3</mn></msup></mrow><annotation encoding='application/x-tex'>S\subset\mathbb{R}^3</annotation></semantics></math> is given by
<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>∫</mo> <mi>S</mi></msub><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>r</mi><mo stretchy="false">→</mo></mover><msup><mi>J</mi> <mn>0</mn></msup><mo stretchy="false">(</mo><mover><mi>r</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>
\text{Prob}(S) = \int_S d^3\vec{r} J^0(\vec{r})
</annotation></semantics></math>
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">→</mo></mover><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>J^0(\vec{r})</annotation></semantics></math> must take the form
<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">→</mo></mover><mo stretchy="false">)</mo><mo>=</mo><mo>∫</mo><mfrac><mrow><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">→</mo></mover><msup><mi>d</mi> <mn>3</mn></msup><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo>′</mo></mrow><mrow><msup><mrow><mo stretchy="false">(</mo><mn>2</mn><mi>π</mi><mo stretchy="false">)</mo></mrow> <mn>6</mn></msup><mn>4</mn><msqrt><mrow><msup><mover><mi>k</mi><mo stretchy="false">→</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">→</mo></mover><mo>′</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">→</mo></mover><mo>,</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo>′</mo><mo stretchy="false">)</mo><msup><mi>e</mi> <mrow><mi>i</mi><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo>−</mo><mover><mrow><mi>k</mi><mo>′</mo></mrow><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mo>⋅</mo><mover><mi>r</mi><mo stretchy="false">→</mo></mover></mrow></msup><mi>ϕ</mi><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo stretchy="false">)</mo><mi>ϕ</mi><mo stretchy="false">(</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo>′</mo><msup><mo stretchy="false">)</mo> <mo>*</mo></msup></mrow><annotation encoding='application/x-tex'>
J^0(\vec{r}) = \int\frac{d^3\vec{k}d^3\vec{k}'}{{(2\pi)}^6 4\sqrt{\vec{k}^2+m^2}\sqrt{{\vec{k}'}^2+m^2}} g(\vec{k},\vec{k}') e^{i(\vec{k}-\vec{k'})\cdot\vec{r}}\phi(\vec{k})\phi(\vec{k}')^*
</annotation></semantics></math>
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">→</mo></mover><mo>,</mo><mover><mi>k</mi><mo stretchy="false">→</mo></mover><mo>′</mo><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>g(\vec{k},\vec{k}')</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">→</mo></mover></mrow><annotation encoding='application/x-tex'>\vec{x}</annotation></semantics></math> that you found in problem 1.)</li>
<li>The conservation of probability says
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><mn>0</mn><mo>=</mo><msub><mo>∂</mo> <mi>t</mi></msub><msup><mi>J</mi> <mn>0</mn></msup><mo>+</mo><msub><mo>∂</mo> <mi>i</mi></msub><msup><mi>J</mi> <mi>i</mi></msup></mrow><annotation encoding='application/x-tex'>
0=\partial_t J^0 + \partial_i J^i
</annotation></semantics></math>
Use the Schrö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">→</mo></mover><mo stretchy="false">)</mo></mrow><annotation encoding='application/x-tex'>J^i(\vec{r})</annotation></semantics></math>.</li>
<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">→</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>λ</mi></mrow><annotation encoding='application/x-tex'>\lambda</annotation></semantics></math>, we should have
<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>λ</mi></msub><msqrt><mrow><msup><mover><mi>p</mi><mo stretchy="false">→</mo></mover> <mn>2</mn></msup><mo>+</mo><msup><mi>m</mi> <mn>2</mn></msup></mrow></msqrt><msubsup><mi>U</mi> <mi>λ</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</mo><mn>1</mn></mrow></msubsup></mtd> <mtd><mo>=</mo><mi>cosh</mi><mo stretchy="false">(</mo><mi>λ</mi><mo stretchy="false">)</mo><msqrt><mrow><msup><mover><mi>p</mi><mo stretchy="false">→</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>λ</mi><mo stretchy="false">)</mo><msub><mi>p</mi> <mn>3</mn></msub></mtd></mtr> <mtr><mtd><msub><mi>U</mi> <mi>λ</mi></msub><msub><mi>p</mi> <mn>1</mn></msub><msubsup><mi>U</mi> <mi>λ</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</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>λ</mi></msub><msub><mi>p</mi> <mn>2</mn></msub><msubsup><mi>U</mi> <mi>λ</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</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>λ</mi></msub><msub><mi>p</mi> <mn>3</mn></msub><msubsup><mi>U</mi> <mi>λ</mi> <mrow><mo lspace="0.11111em" rspace="0em">−</mo><mn>1</mn></mrow></msubsup></mtd> <mtd><mo>=</mo><mi>sinh</mi><mo stretchy="false">(</mo><mi>λ</mi><mo stretchy="false">)</mo><msqrt><mrow><msup><mover><mi>p</mi><mo stretchy="false">→</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>λ</mi><mo stretchy="false">)</mo><msub><mi>p</mi> <mn>3</mn></msub></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
\begin{split}
U_\lambda \sqrt{\vec{p}^2+m^2} U_\lambda^{-1} &= \cosh(\lambda) \sqrt{\vec{p}^2+m^2} + \sinh(\lambda) p_3\\
U_\lambda p_1 U_\lambda^{-1} &= p_1\\
U_\lambda p_2 U_\lambda^{-1} &= p_3\\
U_\lambda p_3 U_\lambda^{-1} &= \sinh(\lambda) \sqrt{\vec{p}^2+m^2} + \cosh(\lambda) p_3
\end{split}
</annotation></semantics></math>
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>λ</mi></msub><mo>=</mo><msup><mi>e</mi> <mrow><mi>i</mi><mi>λ</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>
</ol>
<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">⨁</mo> <mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow> <mn>∞</mn></msubsup><msup><mtext>Sym</mtext> <mi>n</mi></msup><mi>ℋ</mi></mrow><annotation encoding='application/x-tex'>\bigoplus_{n=0}^\infty \text{Sym}^n\mathcal{H}</annotation></semantics></math>. That’s perhaps not the easiest way to get there. But it is a way …</p>
<h4 id="RespU1" class="update">Update:</h4>
<p>Yike! Well, that went south pretty fast. For the first time (ever, I think) I’m closing comments on this one, and calling it a day. To summarize, for those who still care,</p>
<ol>
<li>There is a decomposition of the Hilbert space of a Free Scalar field as
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msub><mi>ℋ</mi> <mi>ϕ</mi></msub><mo>=</mo><munderover><mo lspace="0.16667em" rspace="0.16667em">⨁</mo> <mrow><mi>n</mi><mo>=</mo><mn>0</mn></mrow> <mn>∞</mn></munderover><msub><mi>ℋ</mi> <mi>n</mi></msub></mrow><annotation encoding='application/x-tex'>
\mathcal{H}_\phi = \bigoplus_{n=0}^\infty \mathcal{H}_n
</annotation></semantics></math>
where
<math xmlns='http://www.w3.org/1998/Math/MathML' display='block'><semantics><mrow><msub><mi>ℋ</mi> <mi>n</mi></msub><mo>=</mo><msup><mtext>Sym</mtext> <mi>n</mi></msup><mi>ℋ</mi></mrow><annotation encoding='application/x-tex'>
\mathcal{H}_n = \text{Sym}^n \mathcal{H}
</annotation></semantics></math>
and <math xmlns='http://www.w3.org/1998/Math/MathML' display='inline'><semantics><mrow><mi>ℋ</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>,
irreducible unitary representation of Poincaré).</li>
<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>ℋ</mi> <mi>n</mi></msub></mrow><annotation encoding='application/x-tex'>\mathcal{H}_n</annotation></semantics></math>, induced
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">→</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>ℋ</mi></mrow><annotation encoding='application/x-tex'>\mathcal{H}</annotation></semantics></math>. In particular, it (along with the other
Poincaré generators) is block-diagonal with respect to this decomposition.</li>
<li>There are other interesting observables which are also block-diagonal, with respect to this decomposition
(i.e., don’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>ℋ</mi> <mi>n</mi></msub></mrow><annotation encoding='application/x-tex'>\mathcal{H}_n</annotation></semantics></math>.</li>
</ol>
<p>Gotta keep reminding myself why I decided to foreswear blogging…</p>
</div>
</content>
</entry>
<entry>
<title type="html">MathML Update</title>
<link rel="alternate" type="application/xhtml+xml" href="https://golem.ph.utexas.edu/~distler/blog/archives/002926.html" />
<updated>2016-12-14T15:00:56Z</updated>
<published>2016-12-04T14:56:38-06:00</published>
<id>tag:golem.ph.utexas.edu,2016:%2F~distler%2Fblog%2F1.2926</id>
<summary type="text">Native MathML rendering in Safari</summary>
<author>
<name>distler</name>
<uri>https://golem.ph.utexas.edu/~distler/blog/</uri>
<email>distler@golem.ph.utexas.edu</email>
</author>
<category term="MathML" />
<content type="xhtml" xml:base="https://golem.ph.utexas.edu/~distler/blog/archives/002926.html">
<div xmlns="http://www.w3.org/1999/xhtml">
<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>
<p>For a while now, <a href="http://frederic-wang.fr/">Frédé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’s <acronym>MathML</acronym> support. But there were at least two show-stopper bugs that prevented me from flipping the switch.</p>
<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>
<p>Fortunately:</p>
<ul>
<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>
<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>
</ul>
<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’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>’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>
<p>Of course, you’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>
<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
<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>\</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>𝒜ℬ𝒞𝒟ℰℱ𝒢ℋℐ𝒥𝒦ℒℳ𝒩𝒪𝒫𝒬ℛ𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵</mi></mtd></mtr> <mtr><mtd><mo>\</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'>𝒜ℬ𝒞𝒟ℰℱ𝒢ℋℐ𝒥𝒦ℒℳ𝒩𝒪𝒫𝒬ℛ𝒮𝒯𝒰𝒱𝒲𝒳𝒴𝒵</mi></mtd></mtr></mtable></mrow></mrow><annotation encoding='application/x-tex'>
\begin{split}
\backslash\mathtt{mathcal}\{\}:&\,\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\\
\backslash\mathtt{mathscr}\{\}:&\,\mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}
\end{split}
</annotation></semantics></math></div>
<hr/>
<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 ≥10.7) and motivated users would download and <a href="http://stixfonts.org/install.html">install</a> them in the meantime.</p></div>
<div id="MMLf2" class="footnote"><p><sup>2</sup> N.B.: We’re not browser-sniffing (anymore). We’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>
</div>
</content>
</entry>
</feed>
If you would like to create a banner that links to this page (i.e. this validation result), do the following:
Download the "valid Atom 1.0" banner.
Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)
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=http%3A//golem.ph.utexas.edu/%7Edistler/blog/atom.xml