Jekyll2019-11-01T05:33:08+00:00https://11011110.github.io/blog/feed.xml11011110Geometry, graphs, algorithms, and moreDavid EppsteinHalloween linkage2019-10-31T22:31:00+00:002019-10-31T22:31:00+00:00https://11011110.github.io/blog/2019/10/31/halloween-linkage<ul>
<li>
<p><a href="https://arxiv.org/abs/1910.07935">Quasiperiodic bobbin lace patterns</a> (<a href="https://mathstodon.xyz/@11011110/102987125919505994"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://twitter.com/bit_player/status/1185356703065354240">via</a>). Veronika Irvine, Therese Biedl, and Craig S. Kaplan make aperiodic tilings in fiber arts.</p>
</li>
<li>
<p><a href="https://mathstodon.xyz/@11011110/102990451172061906">Pen refill mishap added a little extra challenge to my daily newspaper sudoku</a>.</p>
</li>
<li>
<p><a href="https://www.metafilter.com/183649/Thinking-Outside-the-Plane">Thinking outside the plane</a> (<a href="https://mathstodon.xyz/@11011110/103004338061916266"><script type="math/tex">\mathbb{M}</script></a>). Interesting roundup of 3d solutions to 2d problems, starting with Tarski’s plank problem: Can you cover a diameter-<script type="math/tex">n</script> disk with fewer than <script type="math/tex">n</script> unit-width strips? Sadly, they missed <a href="https://en.wikipedia.org/wiki/Desargues%27s_theorem#Three-dimensional_proof">the 3d proof of Desargues’ theorem</a>. There’s also a <a href="/blog/2006/03/22/miquels-six-circles.html">2d-3d connection with Miquel’s six-circle theorem</a> but I think it goes the other way.</p>
</li>
<li>
<p><a href="https://boingboing.net/2019/10/22/no-tech-for-ice.html">ACM takes conference-sponsorship money from surveillance-tech company Palantir, for its conference on CS and the law</a> (<a href="https://mathstodon.xyz/@11011110/103009469247627504"><script type="math/tex">\mathbb{M}</script></a>). If you’re wondering what’s up with the article’s lead image of a protest banner that draws the analogy IBM : Nazis :: Palantir : ICE, see <a href="https://thehill.com/policy/technology/458170-ice-renews-contract-with-palantir">TheHill on Palantir and ICE</a>, and Edwin Black’s book <em>IBM and the Holocaust: The Strategic Alliance Between Nazi Germany and America’s Most Powerful Corporation</em> (2001).</p>
</li>
<li>
<p><a href="https://www.insidehighered.com/news/2019/10/23/what-happened-when-professor-was-accused-sharing-his-own-work-his-website">Where research meets profits</a> (<a href="https://mathstodon.xyz/@11011110/103015566207491138"><script type="math/tex">\mathbb{M}</script></a>).</p>
<ol>
<li>
<p>American Psychological Association hires anti-piracy firm to police its paywalled papers</p>
</li>
<li>
<p>Firm files takedowns against association members for putting their own papers online</p>
</li>
<li>
<p>Refereeing strike!</p>
</li>
</ol>
<p>But the strikers’ demands for pay or no policing seem off to me. I’d rather the societies take to heart their members’ interests in making research public, and make it all open access. They have plenty of other opportunities for revenue.</p>
</li>
<li>
<p>In his latest alphabet entry “<a href="https://nebusresearch.wordpress.com/2019/10/24/my-2019-mathematics-a-to-z-platonic/">Platonic</a>” (<a href="https://mathstodon.xyz/@11011110/103021223105504570"><script type="math/tex">\mathbb{M}</script></a>), Joseph Nebus writes that “it was obvious” that eight equal charged particles free to move on a sphere would space themselves out into the vertices of a cube. And it is obvious, but sadly, in this case, the obvious is false. <a href="https://en.wikipedia.org/wiki/Thomson_problem">They form a square antiprism instead</a>.</p>
</li>
<li>
<p><a href="https://mathstodon.xyz/@efz1005/103019409025942829">efz1005 finds cellular-automaton-like moving patterns</a> in the results of repeated <a href="https://en.wikipedia.org/wiki/Sobel_operator">Sobel filtering</a>.</p>
</li>
<li>
<p>I saw MOMIX dance recently (<a href="https://mathstodon.xyz/@11011110/103029975706697274"><script type="math/tex">\mathbb{M}</script></a>). Nobody seems to have pointed out that the big rolling sculpture in their “Dream Catcher” has the shape of an <a href="https://en.wikipedia.org/wiki/Oloid">oloid</a> so I added that to the Wikipedia article. An earlier MOMIX piece with another big rolling sculpture is based on the <a href="https://en.wikipedia.org/wiki/Sphericon">sphericon</a>, and <a href="https://www.csmonitor.com/1988/0427/ualan.html">was discovered by MOMIX dancer/sculptor Alan Boeding prior to one of the two previously listed discoveries of the sphericon</a>.</p>
</li>
<li>
<p><a href="https://blogs.scientificamerican.com/roots-of-unity/farewell-to-the-fractional-foot/">Farewell to the fractional foot</a> (<a href="https://mathstodon.xyz/@11011110/103037449957835028"><script type="math/tex">\mathbb{M}</script></a>). Obviously, the US lags everyone else in using metric, which makes much more sense than imperial (just for length, we have mils, inches, feet, yards, miles, chains, furlongs, leagues, fathoms, cables, nautical miles, links, and rods!) But I did not know that we have two incompatible feet (1200/3937 m and 0.3048 m) and we’re lagging even in getting rid of the stupider of the two. Quickly, without looking it up: is 3937 prime?</p>
</li>
<li>
<p><a href="https://mathenchant.wordpress.com/2019/10/16/guess-again-the-ehrenfeucht-mycielski-sequence/">Guess again: The Ehrenfeucht-Mycielski sequence</a> (<a href="https://mathstodon.xyz/@11011110/103043946615009587"><script type="math/tex">\mathbb{M}</script></a>). Jim Propp explains how this binary sequence can fool pattern-matching methods that base their predictions for future bits on longest matches, and describes an open problem on how close to evenly split between 0’s and 1’s its bits are.</p>
</li>
<li>
<p><a href="https://gowers.wordpress.com/2019/10/30/advances-in-combinatorics-fully-launched/">Timothy Gowers welcomes the launch</a> of the new online journal <a href="https://www.advancesincombinatorics.com"><em>Advances in Combinatorics</em></a> (<a href="https://mathstodon.xyz/@11011110/103052545397311834"><script type="math/tex">\mathbb{M}</script></a>). Like the earlier journal <a href="https://discreteanalysisjournal.com"><em>Discrete Analysis</em></a> (and the technical part of <em>CACM</em>), every paper comes with a one-page overview by the editors explaining the significance of the result in more general terms.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Jessen%27s_icosahedron">Jessen’s icosahedron</a> (<a href="https://mathstodon.xyz/@11011110/103055395934306081"><script type="math/tex">\mathbb{M}</script></a>) is a non-convex shape with right-angled dihedrals but not axis-aligned faces. It’s rigid but not infinitesimally, so paper models are hard to make accurately. I drew the Wikipedia article’s new lead image after the article had for years shown the wrong shape (with vertices of a regular icosahedron). Surely someone else can do better? Also it can be cut into pieces and reassembled into cubes. Anyone know an explicit construction?</p>
</li>
<li>
<p><a href="https://www.quantamagazine.org/mathematicians-cut-apart-shapes-to-find-pieces-of-equations-20191031/">Mathematicians cut apart shapes to find pieces of equations</a> (<a href="https://mathstodon.xyz/@11011110/103058080604687106"><script type="math/tex">\mathbb{M}</script></a>). Despite the misleading bits — it’s only regular tetrahedra that can’t be dissected into cubes, not all unit volume tetrahedra, and the Dehn invariant cannot really be called a number — this <em>Quanta</em> story is an interesting popular summary of <a href="https://en.wikipedia.org/wiki/Wallace–Bolyai–Gerwien_theorem">scissors congruence</a>, <a href="https://en.wikipedia.org/wiki/Hilbert%27s_third_problem">Hilbert’s third problem</a>, the <a href="https://en.wikipedia.org/wiki/Dehn_invariant">Dehn invariant</a>, and progress in higher dimensions.</p>
</li>
</ul>David EppsteinQuasiperiodic bobbin lace patterns (, via). Veronika Irvine, Therese Biedl, and Craig S. Kaplan make aperiodic tilings in fiber arts.Don’t walk2019-10-19T20:11:00+00:002019-10-19T20:11:00+00:00https://11011110.github.io/blog/2019/10/19/dont-walk<p>Like many UC Irvine faculty I live in <a href="https://en.wikipedia.org/wiki/University_Hills,_Irvine">University Hills</a>, a faculty housing complex associated with UC Irvine. It’s a great place to live: the prices are significantly lower than the surrounding area, I like my neighbors, and I love living so close to my office (ten minutes by foot) that I can walk to work instead of having to deal with the twin headaches of Southern California traffic and university parking.</p>
<p>Because it’s so convenient for walking, University Hills is filled with footpaths, many of which pass through greenbelts instead of running alongside the roads. The main footpath leading to the campus from the neighborhood heads towards a building designed in the shape of a giant arch, with the intent of providing a gateway into the central campus. Because the building is part of the engineering school, it’s called the Engineering Gateway. Here it is from the campus side:</p>
<p style="text-align:center"><img src="http://www.ics.uci.edu/~eppstein/pix/dontwalk/GatewayFromCampus-m.jpg" alt="Engineering Gateway from the UC Irvine campus" style="border-style:solid;border-color:black;" /></p>
<p>It looks inviting, but you wouldn’t know from this view that it’s now a dead end. Here’s a view from the other side, from the end of the footpath that used to connect to it via a crosswalk across the ring road around campus. The crosswalk has been ripped out, replaced by a fence, and planted with ivy to discourage anyone from crossing that way.</p>
<p style="text-align:center"><img src="http://www.ics.uci.edu/~eppstein/pix/dontwalk/GatewayFromHills-m.jpg" alt="Engineering Gateway from University Hills" style="border-style:solid;border-color:black;" /></p>
<p>Instead, the path has been rerouted to dump you onto the ring road, where a little farther along there’s a new replacement crosswalk. You can get into the campus by crossing there and following a service road (creatively named “Engineering Service Road”) past this lovely view:</p>
<p style="text-align:center"><img src="http://www.ics.uci.edu/~eppstein/pix/dontwalk/ServiceRoad-m.jpg" alt="Engineering Service Road, UC Irvine" style="border-style:solid;border-color:black;" /></p>
<p>Alternatively, you can still get to the Engineering Gateway by walking a half-block out of your way down the ring road, crossing, and then following this inviting sidewalk another half-block back the way you came:</p>
<p style="text-align:center"><img src="http://www.ics.uci.edu/~eppstein/pix/dontwalk/PeltasonToGateway-m.jpg" alt="Along Peltason Road to the Engineering Gateway" style="border-style:solid;border-color:black;" /></p>
<p>I don’t usually take either of those two routes. Instead, I take a different path down a different service road, between two loading docks, where a narrow gap between the backs of two buildings (the University Club and the computer science department) leads into the campus. Here’s what it looks like on weekends; on weekdays, it’s often completely blocked by delivery trucks.</p>
<p style="text-align:center"><img src="http://www.ics.uci.edu/~eppstein/pix/dontwalk/LosTrancos-m.jpg" alt="Los Trancos Drive, UC Irvine" style="border-style:solid;border-color:black;" /></p>
<p>It’s almost as if by making these routes so awkward and ugly, the campus offices of transportation and physical and environmental planning, which pride themselves on their <a href="https://sustainability.uci.edu/sustainablecampus/transportation/">sustainability</a>, are trying to send the faculty a message. But what could that message be?</p>
<div><table style="margin-left:auto;margin-right:auto">
<tr style="text-align:center;vertical-align:middle">
<td style="padding:10px"><img src="http://www.ics.uci.edu/~eppstein/pix/dontwalk/StopDoNotEnter-m.jpg" alt="Stop, Do Not Enter" width="420" style="border-style:solid;border-color:black;" /></td>
<td style="padding:10px"><img src="http://www.ics.uci.edu/~eppstein/pix/dontwalk/DontWalk-m.jpg" alt="Don't Walk" width="280" style="border-style:solid;border-color:black;" /></td>
</tr><tr style="text-align:center;vertical-align:middle">
<td style="padding:10px"><img src="http://www.ics.uci.edu/~eppstein/pix/dontwalk/NoPeds-m.jpg" alt="No Pedestrians" width="280" style="border-style:solid;border-color:black;" /></td>
<td style="padding:10px"><img src="http://www.ics.uci.edu/~eppstein/pix/dontwalk/NoPedAccess-m.jpg" alt="No Pedestrian Access" width="420" style="border-style:solid;border-color:black;" /></td>
</tr></table></div>
<p>(<a href="https://mathstodon.xyz/@11011110/102993193993079892">Discuss on Mastodon</a> or more likely on the UHills mailing list)</p>David EppsteinLike many UC Irvine faculty I live in University Hills, a faculty housing complex associated with UC Irvine. It’s a great place to live: the prices are significantly lower than the surrounding area, I like my neighbors, and I love living so close to my office (ten minutes by foot) that I can walk to work instead of having to deal with the twin headaches of Southern California traffic and university parking.MathJax 3 in Jekyll and Kramdown2019-10-17T20:30:00+00:002019-10-17T20:30:00+00:00https://11011110.github.io/blog/2019/10/17/mathjax-3-jekyll<p>The mathematical equations in my blog posts, and the ones you see on many other web sites, are formatted with <a href="https://www.mathjax.org/">MathJax</a>, a JavaScript library that lets web developers write LaTeX formulas and turns them within your browser into nicely formatted math. The web pages of my blog are generated by <a href="https://jekyllrb.com">Jekyll</a>, a static web site generation system (meaning that it doesn’t go querying a database for its content, they are just web pages stored in files somewhere). I can write my posts in more than one format, but since the <a href="/blog/2017/04/10/back-up.html">April 2017 LiveJournal apocalypse</a> I’ve been writing them using <a href="https://kramdown.gettalong.org">kramdown</a>, a system built into Jekyll for transforming marked-up text files into html ready for browsers to read and display. And so far mostly those different systems have been getting along really well together. Kramdown knows about MathJax and can handle equations in its input without trying to interpret their syntax as kramdown codes, Jekyll only needs me to modify a template somewhere so that my blog pages include an invocation of the MathJax library, and MathJax in your browser happily formats the equations in my posts. But recently, the MathJax people released MathJax version 3.0.0, and that doesn’t work so well with Jekyll and Kramdown. Despite some difficulty, I seem to have gotten them working again. So I thought it might be helpful to post here what went wrong and how I fixed it, in case others run into the same issues.</p>
<p>There are multiple ways of invoking MathJax, but the one I’ve been using is simply to put a line in my html headers saying to load the MathJax library from a content distribution network (asynchronously, so that it doesn’t delay the pages from being shown to readers). Once MathJax loads, it scans through the html that it has been applied to, looking for blocks of math to reformat. The default way of marking these blocks is to include them in <code class="language-plaintext highlighter-rouge">\( ... \)</code> or <code class="language-plaintext highlighter-rouge">\[ ... \]</code> delimiters (for inline formulas and display formulas that go on a line of their own, as you might use in LaTeX if you aren’t still using <code class="language-plaintext highlighter-rouge">$ ... $</code> or <code class="language-plaintext highlighter-rouge">$$ ... $$</code> instead). There are ways of changing the defaults, and those ways have also changed between MathJax 2 and MathJax 3, but I wasn’t using them.</p>
<p>In kramdown, you don’t use the same delimiters for math. Kramdown expects to see mathematical formulas delimited by <code class="language-plaintext highlighter-rouge">$$ ... $$</code> in its marked-up text input, always. It will determine from context whether it’s an inline formula or a display formula. It also doesn’t use the default delimiters in the html that it generates. Instead it outputs html that puts inline formulas inside <code class="language-plaintext highlighter-rouge"><script type="math/tex"> ... </script></code> html tags, and, similarly, puts display formulas inside <code class="language-plaintext highlighter-rouge"><script type="math/tex; mode=display"> ... </script></code> tags. This all worked in MathJax 2, and these script delimiters are <a href="http://docs.mathjax.org/en/latest/upgrading/earlier/jsMath.html">still recommended in the MathJax 3 documentation</a>, but they don’t work any more.</p>
<p>The right way to fix this would be either to get MathJax 3 to understand the script delimiters, or to get kramdown to know how to generate something that works in MathJax 3, but I don’t have a lot of control over either. And the second-best fix might be to use some other software after kramdown runs, to change the delimiters in the static html files before they get served to anyone, but I don’t have that option on my blog host. Instead, I followed <a href="https://kramdown.gettalong.org/math_engine/mathjax.html">a suggestion in the kramdown documentation</a> for working with <a href="https://katex.org">KaTeX</a>, a competing JavaScript library to MathJax for formatting mathematical equations in web pages. The suggestion is to add to your html files a little bit of glue JavaScript code that recognizes the formula delimiters produced by kramdown and does something with them. In my case, the something that I want to do is just to convert them to the delimiters that MathJax defaultly recognizes.</p>
<p>Timing is crucial here. If I try to run the JavaScript to convert the delimiters too early, they won’t yet be part of the html document that the JavaScript is running on and won’t be found and converted. In particular, running it at the time the html headers are parsed is too early. If I run it too late, the web page will already have been shown to the person viewing it, and each conversion step of each delimiter will also be shown as a slow and unsightly change of the text, on top of the later changes performed by MathJax. You can put JavaScript code at the end of the body of an html page, but that would be too late. Additionally, MathJax should be loaded asynchronously (to prevent slowdowns before the viewer sees something useful from the web page) but must not run until all of the delimiter conversions are complete, because otherwise it won’t see the converted delimiters. So I ended up with the following chunk of JavaScript code, in the Jekyll file <code class="language-plaintext highlighter-rouge">_includes/head.html</code> that gets copied into the headers of my html pages. It waits until the entire document is loaded, converts the delimiters, and then loads the MathJax library.</p>
<figure class="highlight"><pre><code class="language-html" data-lang="html"><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span>
<span class="nb">document</span><span class="p">.</span><span class="nx">addEventListener</span><span class="p">(</span><span class="dl">'</span><span class="s1">DOMContentLoaded</span><span class="dl">'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(){</span>
<span class="nb">document</span><span class="p">.</span><span class="nx">querySelectorAll</span><span class="p">(</span><span class="dl">"</span><span class="s2">script[type='math/tex']</span><span class="dl">"</span><span class="p">).</span><span class="nx">forEach</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">el</span><span class="p">){</span>
<span class="nx">el</span><span class="p">.</span><span class="nx">outerHTML</span> <span class="o">=</span> <span class="dl">"</span><span class="se">\\</span><span class="s2">(</span><span class="dl">"</span> <span class="o">+</span> <span class="nx">el</span><span class="p">.</span><span class="nx">textContent</span> <span class="o">+</span> <span class="dl">"</span><span class="se">\\</span><span class="s2">)</span><span class="dl">"</span><span class="p">;</span>
<span class="p">});</span>
<span class="nb">document</span><span class="p">.</span><span class="nx">querySelectorAll</span><span class="p">(</span><span class="dl">"</span><span class="s2">script[type='math/tex; mode=display']</span><span class="dl">"</span><span class="p">).</span><span class="nx">forEach</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">el</span><span class="p">){</span>
<span class="nx">el</span><span class="p">.</span><span class="nx">outerHTML</span> <span class="o">=</span> <span class="dl">"</span><span class="se">\\</span><span class="s2">[</span><span class="dl">"</span> <span class="o">+</span> <span class="nx">el</span><span class="p">.</span><span class="nx">textContent</span> <span class="o">+</span> <span class="dl">"</span><span class="se">\\</span><span class="s2">]</span><span class="dl">"</span><span class="p">;</span>
<span class="p">});</span>
<span class="kd">var</span> <span class="nx">script</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="dl">'</span><span class="s1">script</span><span class="dl">'</span><span class="p">);</span>
<span class="nx">script</span><span class="p">.</span><span class="nx">src</span> <span class="o">=</span> <span class="dl">"</span><span class="s2">https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js</span><span class="dl">"</span><span class="p">;</span>
<span class="nb">document</span><span class="p">.</span><span class="nx">head</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">script</span><span class="p">);</span>
<span class="p">},</span> <span class="kc">false</span><span class="p">);</span>
<span class="nt"></script></span></code></pre></figure>
<p>This could be simplified somewhat with JQuery, but I didn’t do that because this is the only JavaScript in my files and the overhead of loading JQuery seemed too much for that small use. It’s my first JavaScript code ever, so it could probably be done better by someone with more experience. And it’s a bit of a hack, but it seems to work. One other change that I made implies that you won’t see this code in the html for this post, though. The reason is that I don’t want MathJax incorrectly interpreting the example delimiters in my post and in the code block above as actual mathematics formula delimiters. So I also added some Jekyll conditionals that, with the right keyword in the header of a post, disable including the MathJax Javascript, and I’m using that keyword on this post.</p>
<p>…and I thought I was done, until I started looking at some mathematics-intensive older posts, and found some more problems. In a few cases, kramdown has been putting more than just the script delimiters around its math formulas. Within the script tags, the math has been surrounded by a second level of delimiters, <code class="language-plaintext highlighter-rouge">% <![CDATA[ ... %]]></code>. This coding tells the html parser not to worry about weird special characters in the formula, and it was ignored by the old MathJax because the percent signs cause the rest of their lines to be treated as a comment. But the new MathJax parser doesn’t like the comments (or maybe treats the whole formula as a comment despite the newline characters within it) and displays a blank. This behavior is triggered in kramdown when a formula uses <code class="language-plaintext highlighter-rouge"><</code> instead of <code class="language-plaintext highlighter-rouge">\lt</code> (easy enough to avoid), or when it uses <code class="language-plaintext highlighter-rouge">&</code> (e.g. in an aligned set of equations, not easy to avoid). So the actual code I ended up with is a little more complicated:</p>
<figure class="highlight"><pre><code class="language-html" data-lang="html"><span class="nt"><script </span><span class="na">type=</span><span class="s">"text/javascript"</span><span class="nt">></span>
<span class="nb">document</span><span class="p">.</span><span class="nx">addEventListener</span><span class="p">(</span><span class="dl">'</span><span class="s1">DOMContentLoaded</span><span class="dl">'</span><span class="p">,</span> <span class="kd">function</span><span class="p">(){</span>
<span class="kd">function</span> <span class="nx">stripcdata</span><span class="p">(</span><span class="nx">x</span><span class="p">)</span> <span class="p">{</span>
<span class="k">if</span> <span class="p">(</span><span class="nx">x</span><span class="p">.</span><span class="nx">startsWith</span><span class="p">(</span><span class="dl">'</span><span class="s1">% <![CDATA[</span><span class="dl">'</span><span class="p">)</span> <span class="o">&&</span> <span class="nx">x</span><span class="p">.</span><span class="nx">endsWith</span><span class="p">(</span><span class="dl">'</span><span class="s1">%]]></span><span class="dl">'</span><span class="p">))</span>
<span class="k">return</span> <span class="nx">x</span><span class="p">.</span><span class="nx">substring</span><span class="p">(</span><span class="mi">11</span><span class="p">,</span><span class="nx">x</span><span class="p">.</span><span class="nx">length</span><span class="o">-</span><span class="mi">4</span><span class="p">);</span>
<span class="k">return</span> <span class="nx">x</span><span class="p">;</span>
<span class="p">}</span>
<span class="nb">document</span><span class="p">.</span><span class="nx">querySelectorAll</span><span class="p">(</span><span class="dl">"</span><span class="s2">script[type='math/tex']</span><span class="dl">"</span><span class="p">).</span><span class="nx">forEach</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">el</span><span class="p">){</span>
<span class="nx">el</span><span class="p">.</span><span class="nx">outerHTML</span> <span class="o">=</span> <span class="dl">"</span><span class="se">\\</span><span class="s2">(</span><span class="dl">"</span> <span class="o">+</span> <span class="nx">stripcdata</span><span class="p">(</span><span class="nx">el</span><span class="p">.</span><span class="nx">textContent</span><span class="p">)</span> <span class="o">+</span> <span class="dl">"</span><span class="se">\\</span><span class="s2">)</span><span class="dl">"</span><span class="p">;</span>
<span class="p">});</span>
<span class="nb">document</span><span class="p">.</span><span class="nx">querySelectorAll</span><span class="p">(</span><span class="dl">"</span><span class="s2">script[type='math/tex; mode=display']</span><span class="dl">"</span><span class="p">).</span><span class="nx">forEach</span><span class="p">(</span><span class="kd">function</span><span class="p">(</span><span class="nx">el</span><span class="p">){</span>
<span class="nx">el</span><span class="p">.</span><span class="nx">outerHTML</span> <span class="o">=</span> <span class="dl">"</span><span class="se">\\</span><span class="s2">[</span><span class="dl">"</span> <span class="o">+</span> <span class="nx">stripcdata</span><span class="p">(</span><span class="nx">el</span><span class="p">.</span><span class="nx">textContent</span><span class="p">)</span> <span class="o">+</span> <span class="dl">"</span><span class="se">\\</span><span class="s2">]</span><span class="dl">"</span><span class="p">;</span>
<span class="p">});</span>
<span class="kd">var</span> <span class="nx">script</span> <span class="o">=</span> <span class="nb">document</span><span class="p">.</span><span class="nx">createElement</span><span class="p">(</span><span class="dl">'</span><span class="s1">script</span><span class="dl">'</span><span class="p">);</span>
<span class="nx">script</span><span class="p">.</span><span class="nx">src</span> <span class="o">=</span> <span class="dl">"</span><span class="s2">https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js</span><span class="dl">"</span><span class="p">;</span>
<span class="nb">document</span><span class="p">.</span><span class="nx">head</span><span class="p">.</span><span class="nx">appendChild</span><span class="p">(</span><span class="nx">script</span><span class="p">);</span>
<span class="p">},</span> <span class="kc">false</span><span class="p">);</span>
<span class="nt"></script></span></code></pre></figure>
<p>If you see any mathematics glitches in any of my old or new posts, please tell me; they could be more interactions like this that I haven’t spotted yet.</p>
<p>(<a href="https://mathstodon.xyz/@11011110/102982168716719916">Discuss on Mathstodon</a>, which <a href="https://mathstodon.xyz/@christianp/102955345066926415">also recently switched to MathJax 3</a>)</p>
<p>Edited (2019-10-31) to add: Thanks to
Alexander Kalinin for pointing me to <a href="http://docs.mathjax.org/en/latest/upgrading/v2.html#changes-in-the-mathjax-api">the official solution</a> (see final bullet point under “Changes in the MathJax API”; <a href="https://github.com/mathjax/MathJax/issues/2220">via</a>). It does much the same replacement by text, but at MathJax processing time rather than at DOMContentLoaded time, and (I’m told) works for CDATA without special handling.</p>David EppsteinThe mathematical equations in my blog posts, and the ones you see on many other web sites, are formatted with MathJax, a JavaScript library that lets web developers write LaTeX formulas and turns them within your browser into nicely formatted math. The web pages of my blog are generated by Jekyll, a static web site generation system (meaning that it doesn’t go querying a database for its content, they are just web pages stored in files somewhere). I can write my posts in more than one format, but since the April 2017 LiveJournal apocalypse I’ve been writing them using kramdown, a system built into Jekyll for transforming marked-up text files into html ready for browsers to read and display. And so far mostly those different systems have been getting along really well together. Kramdown knows about MathJax and can handle equations in its input without trying to interpret their syntax as kramdown codes, Jekyll only needs me to modify a template somewhere so that my blog pages include an invocation of the MathJax library, and MathJax in your browser happily formats the equations in my posts. But recently, the MathJax people released MathJax version 3.0.0, and that doesn’t work so well with Jekyll and Kramdown. Despite some difficulty, I seem to have gotten them working again. So I thought it might be helpful to post here what went wrong and how I fixed it, in case others run into the same issues.From one fold to another2019-10-16T21:52:00+00:002019-10-16T21:52:00+00:00https://11011110.github.io/blog/2019/10/16/from-one-fold<p>If an origami crease pattern tells you where to put the folds, but not which way to fold them, you may have many choices left to make. A familiar example is the square grid. You can pleat (accordion-fold) the horizontal lines of the grid, and then pleat the resulting folded strip of paper along the vertical lines; the result will be that each horizontal line is consistently a mountain fold or a valley fold, but each vertical line has folds that alternate between mountain and valley. Or you could pleat the vertical lines first, and then the horizontal lines, getting a different folded state. There are many other choices beyond these two.</p>
<p>The famous <a href="https://en.wikipedia.org/wiki/Miura_fold">Miura-ori</a> is another grid-like fold made out of parallelograms instead of squares, and known for its ability to continuously unfold from its folded state to an expanded and completely open state. Like the square grid, a pattern of crease lines in the same positions has many alternative foldings. In fact, this multiplicity of folded states can be helpful in making the miura-ori out of paper. To make it, you can start with pleating a set of parallel lines (like the square grid) to form a folded strip of paper, and then pleat in a different direction that forms a non-right angle to the first pleating direction. The result will be a fold that is not the Miura-ori, but that has its folds in the same places as the Miura-ori. By reversing the orientation of some of these folds, you get the Miura-ori itself.</p>
<p>When working with the space of all foldings of a crease pattern, it’s unfortunately a bit complicated to understand which patterns fold flat (globally, as an entire structure) and which don’t. In a celebrated result from SODA 1996, Bern and Hayes showed that, for arbitrary crease patterns, even determining whether there exists a globally flat-foldable state is NP-complete. So it’s easier to work with “local flat foldings”, meaning a labeling of all of the creases as mountain or valley folds with the property that the creases surrounding each vertex of the folding pattern could be folded flat, if only all of that other stuff farther away from the vertex didn’t get in the way. It’s easy to check whether a single vertex can be folded flat using <a href="https://en.wikipedia.org/wiki/Maekawa%27s_theorem">Maekawa’s theorem</a>, <a href="https://en.wikipedia.org/wiki/Kawasaki%27s_theorem">Kawasaki’s theorem</a> and related results.</p>
<p><a href="/blog/2014/10/08/forced-creases-in.html">In an earlier paper</a>, my co-authors and I studied the space of all local flat foldings of the Miura-ori crease pattern, from the point of view of seeking <em>forcing sets</em>, mountain-valley assignments to small subsets of the creases with the property that there is only one way to extend them to a locally flat-foldable mountain-valley assignment on the whole crease pattern. My new preprint, “Face flips in origami tessellations” (with Akitaya, Dujmović, Hull, Jain, and Lubiw, <a href="https://arxiv.org/abs/1910.05667">arXiv:1910.05667</a>) instead looks at the connectivity of the system of all local flat foldings. If you’re in one locally flat-folded state (say, the state that you get from pleating the paper once and then pleating the folded strip a second time in a non-orthogonal direction) and you want to get to a different flat-folded state (say, the Miura-ori itself), how many moves does it take? Here, we’re not just allowing any change of a single crease from mountain to valley or vice versa to count as a move. Instead, a move is what happens when you change all of the folds surrounding a single face of the crease pattern, in such a way that the new mountain-valley assignment remains flat-foldable.</p>
<p>The results vary dramatically according to the folding pattern. For the square grid, every square can be flipped, and given any two mountain-valley assignments you can color the squares black or white according to whether they are surrounded an even or odd number of times by cycles of creases that need to be changed. Then the shortest way to get from one assignment to the other is either to flip all the black squares or to flip all the white squares. For a grid of equilateral triangles, it is possible to flip from any mountain-valley assignment to any other one within a polynomial number of steps, but finding the shortest sequence is NP-complete. And for the Miura-ori, it’s again always possible, and there’s a nontrivial polynomial time algorithm for finding the shortest flip sequence. We also have examples of crease patterns forming periodic tilings of the plane where nothing is flippable (so the state space becomes totally disconnected) or where the flippable faces form an independent set (so you merely have to flip the faces whose surrounding mountain-valley assignments differ, in any order). The image below shows two crease patterns of the latter type (called square twist tessellations) with the flippable faces colored blue.</p>
<p style="text-align:center"><img src="/blog/assets/2019/sqtwist.svg" alt="Square twist tessellations" /></p>
<p>I think the results for the Miura-ori are particularly neat, so I want to outline them in a little more detail. There’s a natural bijection between local flat-foldings of the Miura crease pattern and 3-colorings of the squares of a square grid, which we used <a href="/blog/2014/10/08/forced-creases-in.html">in the earlier paper</a>, and flips of Miura faces correspond in the same way to recoloring steps in which we change the color of a single square. There’s also a natural correspondence (but not a bijection!) between 3-colorings of a grid and “height functions”, giving an integer height to each square, with each two adjacent squares having heights that are one step apart. In one direction, you can get a coloring from a height function by taking the heights mod 3. In the other direction, starting from a colored grid and a choice of the height of one of the squares (with the correct value modulo 3) you can go from there to adjacent squares step by step and figure out what their height has to be. It all works out so that, no matter how you do it, you always get a consistent height function from each 3-coloring. But the function depends on the starting height of the first square. If you add a multiple of 3 to this height, you translate the whole function up or down by that amount, and the translation turns out to be important.</p>
<p style="text-align:center"><img src="/blog/assets/2019/heightfn.svg" alt="Height function of a 3-coloring of a square grid" /></p>
<p>So if you have two different local flat foldings of the Miura crease pattern, you can translate them in this way into two different 3-colorings, and two different height functions. Then you can convert one of the height functions into the other one, move by move, by repeatedly finding the square whose height is farthest away from its final value and shifting it two steps closer. The total number of steps equals half the volume of the three-dimensional space between the two height functions, and that’s the best you can do to get one height function to the other. But it might not be the best you can do to get one 3-coloring to the other, because of the choice of starting heights. To find the minimum number of moves to get from one local flat folding to another there’s one more computation that you have to do first: find two starting heights for the two height functions that makes the volume between them as small as possible.</p>
<p>For a bit more on height functions, 3-colorings, and the “arctic circle” that one gets by choosing 3-colorings of the square grid randomly, you can read the web page “<a href="http://www.joakimlinde.se/projects/3coloring/">random 3-coloring of the square and cubic lattice</a>”, by Joakim Linde, describing his joint work with Cris Moore in this area.</p>
<p>(<a href="https://mathstodon.xyz/@11011110/102975981383652764">Discuss on Mastodon</a>)</p>David EppsteinIf an origami crease pattern tells you where to put the folds, but not which way to fold them, you may have many choices left to make. A familiar example is the square grid. You can pleat (accordion-fold) the horizontal lines of the grid, and then pleat the resulting folded strip of paper along the vertical lines; the result will be that each horizontal line is consistently a mountain fold or a valley fold, but each vertical line has folds that alternate between mountain and valley. Or you could pleat the vertical lines first, and then the horizontal lines, getting a different folded state. There are many other choices beyond these two.Linkage2019-10-15T22:00:00+00:002019-10-15T22:00:00+00:00https://11011110.github.io/blog/2019/10/15/linkage<ul>
<li>
<p><a href="http://www.mi.fu-berlin.de/inf/groups/ag-ti/theses/master_finished/obenaus_johannes/index.html">Spanning Trees with Low (Shallow) Stabbing Number</a> (<a href="https://mathstodon.xyz/@11011110/102889509192917880"><script type="math/tex">\mathbb{M}</script></a>) is the master’s thesis of Johannes Obenaus at the Free University of Berlin and ETH Zürich. The stabbing number of a tree is how many edges a line can cross. Any <script type="math/tex">n</script> points in <script type="math/tex">\mathbb{R}^d</script> have a tree with stabbing number <script type="math/tex">O(n^{1-1/d})</script>, useful in some data structures. The thesis includes a solution to Open Problem 17.5 of my book <em><a href="https://www.ics.uci.edu/~eppstein/forbidden/">Forbidden Configurations in Discrete Geometry</a></em>: removing points from a point set might cause the minimum stabbing number of a spanning tree to increase.</p>
</li>
<li>
<p><a href="https://mathstodon.xyz/@unknown/102886703193339814">A pretty result in inversive geometry</a> from the <a href="https://en.wikipedia.org/wiki/Japanese_mathematics">Japanese “Wasan” period</a>, relating the diameters of circles in <a href="https://en.wikipedia.org/wiki/Steiner_chain">Steiner chains</a> between two parallel lines to regular polygons.</p>
</li>
<li>
<p><a href="https://www.thisiscolossal.com/2019/10/counting-memories-chiharu-shiota/"><em>Counting Memories</em> by Chiharu Shiota</a> (<a href="https://mathstodon.xyz/@11011110/102902367049416667"><script type="math/tex">\mathbb{M}</script></a>), an installation art piece in Katowice, Poland that prompts visitors to reflect on how numbers “connect us universally, comfort us, and help us understand ourselves” by writing down their feelings and memories about numbers that are meaningful to them.</p>
</li>
<li>
<p><a href="https://www.flyingcoloursmaths.co.uk/revisiting-minesweeper/">Revisiting Minesweeper</a> (<a href="https://mathstodon.xyz/@11011110/102908475220191484"><script type="math/tex">\mathbb{M}</script></a>). As Uncle Colin shows, calculating the probabilities of different scenarios for the boundary of the cleared region needs to consider as well the number of mines in non-boundary cells. Based on that, one can find the safest move, at least when there are few enough scenarios to list them all. But it looks much harder to find the move most likely to lead to clearing the whole board, even for simple initial situations like the one he shows.</p>
</li>
<li>
<p><a href="https://agtb.wordpress.com/2019/10/05/blind-folks-and-the-evolving-elephant-by-vijay-vazirani/">Blind folks and the evolving elephant</a> (<a href="https://mathstodon.xyz/@11011110/102911898094940725"><script type="math/tex">\mathbb{M}</script></a>). Guest post by my colleague Vijay Vazirani on the “Turing’s Invisible Hand” blog, on the different perspectives brought by economics and computer science to problems of matching resource providers with resource consumers.</p>
</li>
<li>
<p>My new dining room ceiling lamp is a trefoil knot (<a href="https://mathstodon.xyz/@11011110/102918306472064994"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://www.ics.uci.edu/~eppstein/pix/trefoil/">gallery</a>)! It’s the “Vornado” LED lamp from <a href="http://www.waclighting.com">WAC lighting</a>. We chose it to replace a halogen lamp that shorted out, burned through its power cable, fell onto the table below it, and shattered hot glass all over the room, fortunately without causing a fire or seriously damaging the table and while the room was unoccupied.</p>
<p style="text-align:center"><a href="http://www.ics.uci.edu/~eppstein/pix/trefoil/4.html"><img src="http://www.ics.uci.edu/~eppstein/pix/trefoil/4-m.jpg" alt="Vornado lamp from WAC lighting" style="border-style:solid;border-color:black;" /></a></p>
</li>
<li>
<p><a href="https://www.schneier.com/blog/archives/2019/10/speakers_censor.html">Two speakers censored at AISA, an Australian information security conference</a> (<a href="https://mathstodon.xyz/@11011110/102929889723236018"><script type="math/tex">\mathbb{M}</script></a>). One of them is Australian, the other not. They were both scheduled to talk long before and cancelled after a last minute demand from the Australian Cyber Security Centre. As Bruce Schneier writes, this kind of action merely calls attention to their work and makes the Australian government look stupid and repressive while doing nothing to actually increase security.</p>
</li>
<li>
<p><a href="https://www.laphamsquarterly.org/roundtable/beware-cranks">A history of mathematical crankery</a> (<a href="https://mathstodon.xyz/@11011110/102935540787245230"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://news.ycombinator.com/item?id=21206633">via</a>), excerpted from David S. Richeson’s book <em>Tales of Impossibility: The 2000-Year Quest to Solve the Mathematical Problems of Antiquity</em></p>
</li>
<li>
<p><a href="https://blog.plover.com/math/cake.html">Incenters of chocolate-iced cakes</a> and <a href="https://blog.plover.com/math/cake-2.html">more fair cake-cutting</a> (<a href="https://mathstodon.xyz/@mjd/102940560151410572"><script type="math/tex">\mathbb{M}</script></a>). If you want to divide both cake and frosting (area and perimeter) into equal pieces, it helps to start with a shape that has an inscribed circle.</p>
<p>Relatedly, Erel Segal has written up for Wikipedia a <a href="https://en.wikipedia.org/wiki/List_of_unsolved_problems_in_fair_division">collection of open problems in fair division</a>.</p>
</li>
<li>
<p><a href="https://www.eff.org/deeplinks/2019/10/tell-hud-algorithms-are-no-excuse-discrimination">The Trump administration wants to roll back fair housing laws by allowing racist algorithms to discriminate on behalf of racist landlords</a> (<a href="https://mathstodon.xyz/@JordiGH/102945130948597301"><script type="math/tex">\mathbb{M}</script></a>). The deadline for telling them this is a stupid idea is this Friday, October 18.</p>
</li>
<li>
<p><a href="https://mymodernmet.com/kitkat-origami-packaging-nestle-japan/">Japanese KitKats are replacing plastic packaging with origami paper</a> (<a href="https://mathstodon.xyz/@11011110/102958848550617732"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://news.ycombinator.com/item?id=21212664">via</a>), in a bid to be both more fun and more environmentally conscious.</p>
</li>
<li>
<p><em><a href="https://www.ams.org/about-us/LivingProof.pdf">Living Proof</a></em> (<a href="https://cybre.space/@takaeri/102959864574470843"><script type="math/tex">\mathbb{M}</script></a>), a free e-book collecting stories of mathematicians about the roadblocks on their paths to where they are now.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Kotzig%27s_theorem">Kotzig’s theorem</a> (<a href="https://mathstodon.xyz/@11011110/102970322274233229"><script type="math/tex">\mathbb{M}</script></a>). Every convex polyhedron has an edge whose endpoints have total degree at most 13. You might think that (because the average vertex degree in a convex polyhedron is < 6) there will always be an edge whose endpoints have total degree at most 11, but it’s not true. As Anton Kotzig proved in 1955, the answer is 13. A worst-case example is the triakis icosahedron, whose minimum-degree edges connect vertices of degrees 3 and 10.</p>
</li>
</ul>David EppsteinSpanning Trees with Low (Shallow) Stabbing Number () is the master’s thesis of Johannes Obenaus at the Free University of Berlin and ETH Zürich. The stabbing number of a tree is how many edges a line can cross. Any points in have a tree with stabbing number , useful in some data structures. The thesis includes a solution to Open Problem 17.5 of my book Forbidden Configurations in Discrete Geometry: removing points from a point set might cause the minimum stabbing number of a spanning tree to increase.Hardness of planar Hamiltonian decomposition and linear arboricity2019-10-12T16:13:00+00:002019-10-12T16:13:00+00:00https://11011110.github.io/blog/2019/10/12/hardness-planar-hamiltonian<p>I was getting ready to start writing a paper proving that <a href="https://en.wikipedia.org/wiki/Hamiltonian_decomposition">Hamiltonian decomposition</a> and <a href="https://en.wikipedia.org/wiki/Linear_arboricity">linear arboricity</a> are both <span style="white-space:nowrap"><script type="math/tex">\mathsf{NP}</script>-complete</span> for planar graphs of maximum degree four. But then I realized that there’s a trivial proof, based on known results:</p>
<ol>
<li>
<p>Finding a Hamiltonian cycle is <span style="white-space:nowrap"><script type="math/tex">\mathsf{NP}</script>-complete</span> in 3-regular planar graphs.<sup id="fnref:gjs"><a href="#fn:gjs" class="footnote">1</a></sup></p>
</li>
<li>
<p>A 3-regular graph has a Hamiltonian cycle if and only if its <a href="https://en.wikipedia.org/wiki/Line_graph">line graph</a> has a Hamiltonian decomposition.<sup id="fnref:k"><a href="#fn:k" class="footnote">2</a></sup><sup id="fnref:m"><a href="#fn:m" class="footnote">3</a></sup></p>
</li>
<li>
<p>The line graph of a 3-regular planar graph (its <a href="https://en.wikipedia.org/wiki/Medial_graph">medial graph</a>) is a 4-regular planar graph.</p>
</li>
<li>
<p>A 4-regular graph has a Hamiltonian decomposition if and only if the subgraph formed by removing an arbitrarily chosen single vertex has linear arboricity two.</p>
</li>
</ol>
<p>That’s not enough for a paper, even though the linear arboricity result resolves a conjecture of Cygan, Hou, Kowalik, Lužar, and Wu (2012).<sup id="fnref:c"><a href="#fn:c" class="footnote">4</a></sup> So instead I’ll just leave this here, together with two illustrations I already drew of the gadgets for my proof. It’s a reduction from monotone planar 3-sat, in which the variables are connected in a cycle in the plane, the 3-sat clauses with all variables positive are on one side of the cycle, and the 3-sat clauses with all variables negative are on the other side. Here “planar” means that if you represent each variable and clause as a vertex, draw edges from each variable to each clause that uses it, and also draw edges connecting consecutive variables in the cycle, the result is a planar graph.</p>
<p>My reduction adds a special “truth-setting gadget” to the cycle of variables. It represents the variables by regions of the plane, bounded by edges that are forced to belong to the same cycle in any Hamiltonian decomposition. The truth-setting gadget also forms regions of the plane, again bounded by edges that belong to the same cycle. The truth-setting regions extend through the clause gadgets so that they can reach the other clause gadgets on the other sides of them. A variable or negated variable is true if its region’s bounding edges are in the other cycle than the truth-setting gadget.</p>
<p>Here is the truth-setting gadget (the colored parts of the figure), and the (very simple) variable gadgets (gray shaded regions). Each variable gadget will have one loop of one color above the midline, and another loop of the opposite color below the midline.</p>
<p style="text-align:center"><img src="/blog/assets/2019/truth.svg" alt="Truth-setting and variable gadgets for a reduction from monotone planar 3-sat to Hamiltonian decomposition" /></p>
<p>And here is the clause gadget:</p>
<p style="text-align:center"><img src="/blog/assets/2019/clause.svg" alt="Clause gadget for a reduction from monotone planar 3-sat to Hamiltonian decomposition" /></p>
<p>The 4- and 8-vertex subunits in the light yellow disks force the partition into two parts of Hamiltonian cycles to be uniquely determined within each gadget, and the 5-vertex subunits between the variable and clause gadget allow the variable to either connect to the parts of the cycles within the clause gadget or to remain separate from them. To construct a Hamiltonian decomposition, you have to have at least one true variable per clause, so that the clause gadget can be connected to the other cycle than the one from the truth-setting gadget. The reduction produces a multigraph rather than a graph, but that’s easy to fix by replacing some of the vertices by wheels.</p>
<p>Maybe the same idea of having a truth-setting gadget that passes through the clause gadgets can be useful in some other reductions?</p>
<div class="footnotes">
<ol>
<li id="fn:gjs">
<p>Garey, M. R., Johnson, D. S., and Stockmeyer, L. (1974), “Some simplified <span style="white-space:nowrap"><script type="math/tex">\mathsf{NP}</script>-complete</span> problems”, <em>Proc. 6th ACM Symposium on Theory of Computing (STOC ‘74)</em>, pp. 47–63, <a href="https://doi.org/10.1145/800119.803884">doi:10.1145/800119.803884</a>. <a href="#fnref:gjs" class="reversefootnote">↩</a></p>
</li>
<li id="fn:k">
<p>Kotzig, Anton (1957), “Aus der Theorie der endlichen regulären Graphen dritten und vierten Grades”, <em>Časopis Pěst. Mat.</em> 82: 76–92. As cited by Bondy and Häggkvist.<sup id="fnref:bh"><a href="#fn:bh" class="footnote">5</a></sup> <a href="#fnref:k" class="reversefootnote">↩</a></p>
</li>
<li id="fn:m">
<p>Martin, Pierre (1976), “Cycles hamiltoniens dans les graphes 4-réguliers 4-connexes”, <em>Aequationes Mathematicae</em> 14 (1/2): 37–40, <a href="https://doi.org/10.1007/BF01836203">doi:10.1007/BF01836203</a>. <a href="#fnref:m" class="reversefootnote">↩</a></p>
</li>
<li id="fn:c">
<p>Cygan, Marek, Hou, Jian-Feng, Kowalik, Łukasz, Lužar, Borut, and Wu, Jian-Liang (2012), “A planar linear arboricity conjecture”, <em>Journal of Graph Theory</em> 69 (4): 403–425, <a href="https://doi.org/10.1002/jgt.20592">doi:10.1002/jgt.20592</a>. <a href="#fnref:c" class="reversefootnote">↩</a></p>
</li>
<li id="fn:bh">
<p>Bondy, J. A. and Häggkvist, R. (1981), “Edge-disjoint Hamilton cycles in 4-regular planar graphs”, <em>Aequationes Mathematicae</em>, 22 (1): 42–45, <a href="https://doi.org/10.1007/BF02190157">doi:10.1007/BF02190157</a>. <a href="#fnref:bh" class="reversefootnote">↩</a></p>
</li>
</ol>
</div>
<p>(<a href="https://mathstodon.xyz/@11011110/102952166572844694">Discuss on Mastodon</a>)</p>David EppsteinI was getting ready to start writing a paper proving that Hamiltonian decomposition and linear arboricity are both -complete for planar graphs of maximum degree four. But then I realized that there’s a trivial proof, based on known results:Drawing clustered graphs of bounded width2019-10-07T22:33:00+00:002019-10-07T22:33:00+00:00https://11011110.github.io/blog/2019/10/07/drawing-clustered-graphs<p>In <a href="/blog/2018/03/16/drawing-clustered-graphs.html">a paper from last year</a> on <a href="https://en.wikipedia.org/wiki/Clustered_planarity">clustered planarity</a>, with Giordano Da Lozzo, Mike Goodrich, and Sid Gupta, we provided subexponential-time algorithms for arbitrary instances, and fixed-parameter tractable algorithms for instances whose embedded width and number of clusters are both bounded.</p>
<p>Now, in my newest preprint, “C-planarity testing of embedded clustered graphs with bounded dual carving-width” (with the same authors, <a href="https://arxiv.org/abs/1910.02057">arXiv:1910.02057</a>), we’ve eliminated the dependence on the number of clusters (using a different width parameter) and found a fixed-parameter tractable algorithm with just a single parameter.</p>
<p>It was just in time: while our paper was in submission, last July, Rado Fulek and Csaba Tóth put up their own preprint, “Atomic embeddability, clustered planarity, and thickenability” (<a href="https://arxiv.org/abs/1907.13086">arXiv:1907.13086</a>) announcing a solution to the clustered planarity problem in polynomial time without dependence on parameters. I <a href="https://mathstodon.xyz/@11011110/102537368093048271">posted about it briefly at the time</a>, and can’t find much else more recent about it, but I assume it’s in submission to somewhere good. So our results may be only of historic value…</p>
<p>Our paper was presented at IPEC 2019 (part of the <a href="http://algo2019.ak.in.tum.de/">ALGO 2019 conference in Munich</a>) last month, and won IPEC best paper award. The late timing of the preprint is because (somewhat unusually for a CS conference) IPEC makes their proceedings versions due after the conference rather than before, so they can take into account feedback from the conference.
The arXiv version is more complete than the proceedings version will be, because of page limits in the proceedings, but we prepared it at the same time.</p>
<p>(<a href="https://mathstodon.xyz/@11011110/102925193159020982">Discuss on Mastodon</a>)</p>David EppsteinIn a paper from last year on clustered planarity, with Giordano Da Lozzo, Mike Goodrich, and Sid Gupta, we provided subexponential-time algorithms for arbitrary instances, and fixed-parameter tractable algorithms for instances whose embedded width and number of clusters are both bounded.Linkage2019-09-30T18:36:00+00:002019-09-30T18:36:00+00:00https://11011110.github.io/blog/2019/09/30/linkage<ul>
<li>
<p><a href="https://arxiv.org/html/1909.07013">Proceedings of the 27th International Symposium on Graph Drawing and Network Visualization (GD 2019)</a> (<a href="https://mathstodon.xyz/@11011110/102805229578506057"><script type="math/tex">\mathbb{M}</script></a>). As in recent years, Graph Drawing is making an open-access version of their complete proceedings through arXiv, mirroring (except for minor typographic details) the official proceedings to be published through Springer LNCS. One advantage of the arXiv version is that in many cases appendices or longer versions of the papers are also available.</p>
</li>
<li>
<p><a href="https://commons.wikimedia.org/wiki/File:National_Library_of_Kosovo_photo_Arben_Llapashtica.jpg">Look at all the triangulated (hemi)spheres!</a> (<a href="https://mathstodon.xyz/@11011110/102811772067495838"><script type="math/tex">\mathbb{M}</script></a>). Sadly this aerial view of the <a href="https://en.wikipedia.org/wiki/National_Library_of_Kosovo">National Library of Kosovo</a> did not pass <a href="https://en.wikipedia.org/wiki/Wikipedia:Featured_picture_candidates/National_Library_of_Kosovo">its nomination as an English Wikipedia featured picture</a>.</p>
</li>
<li>
<p><a href="https://mathstodon.xyz/@christianp/102809304875599612">Christian Lawson-Perfect tries to visualize the concept of non-Hamiltonicity</a> by sending flocks of arrowheads tracing around paths in the <a href="https://en.wikipedia.org/wiki/Herschel_graph">Herschel graph</a> but without ever closing up to form a cycle.</p>
</li>
<li>
<p>Millions of books published from 1923 to 1964 didn’t have their copyright renewed, putting them in the public domain in the US. <a href="https://www.vice.com/en_us/article/a3534j/libraries-and-archivists-are-scanning-and-uploading-books-that-are-secretly-in-the-public-domain">Libraries and the Internet Archive are collaborating to scan them and put them online</a> (<a href="https://mathstodon.xyz/@11011110/102825724023396126"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://news.ycombinator.com/item?id=20992397">via</a>). See also <a href="https://www.nypl.org/blog/2019/09/01/historical-copyright-records-transparency">the NYPL blog</a> for more technical details about the efforts to determine the non-renewal status of these books.</p>
</li>
<li>
<p><a href="https://phys.org/news/2019-08-mathematical-framework-sheet-material-kirigami.html">Programmable kirigami</a> (<a href="https://mathstodon.xyz/@11011110/102828568682129281"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://news.ycombinator.com/item?id=20792995">via</a>, <a href="https://www.nature.com/articles/s41563-019-0452-y">original research paper</a>). Harvard researchers use numerical optimization to design slit cutting patterns and hinged unfoldings that allow sheets of material to expand from one given shape to another.</p>
</li>
<li>
<p>White nationalists use the abbreviation SPQR (<a href="https://archive.org/stream/handbuchdertheo00hefngoog#page/n122/mode/2up">Sono Pazzi Questi Romani!</a>) thinking it refers to the Roman military. <a href="http://pages.vassar.edu/pharos/2018/07/27/scholars-respond-to-spqr-and-white-nationalism/">Classics scholars set them straight</a> (<a href="https://mathstodon.xyz/@11011110/102834635536818832"><script type="math/tex">\mathbb{M}</script></a>). As the same abbreviation is widely used in graph drawing for <a href="https://en.wikipedia.org/wiki/SPQR_tree">a data structure to describe 3-connected components and planar embeddings</a> I think it’s important to pay attention to these darker shifts in popular usage.</p>
</li>
<li>
<p><a href="https://www.scottaaronson.com/blog/?p=4317">Scott Aaronson’s Quantum Supremacy FAQ</a> (<a href="https://mathstodon.xyz/@11011110/102845648603908743"><script type="math/tex">\mathbb{M}</script></a>). The story Scott’s responding to is not yet properly published in peer-reviewed sources, but the scoop-hungry journalists say that Google has demonstrated their 50-something-qbit machines to be truly quantum. This seems like pretty big news from the quantum computing world even though it’s still a long way from there to breaking RSA.</p>
</li>
<li>
<p>Embedding a Sierpiński tetrahedron onto a king’s graph (<a href="https://mathstodon.xyz/@11011110/102849777026944754"><script type="math/tex">\mathbb{M}</script></a>):</p>
<p style="text-align:center"><img src="/blog/assets/2019/sierpinski-kings-graph.svg" alt="Embedding a Sierpiński tetrahedron onto a king's graph" /></p>
</li>
<li>
<p><a href="https://nerdcore.de/2019/09/23/eine-fotostudie-der-tafeln-von-mathematikern/">Jessica Wynne’s forthcoming book “Do Not Erase”, her collection of photographs of mathematical blackboards, looks fascinating</a> (<a href="https://mathstodon.xyz/@11011110/102856920767696508"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://www.metafilter.com/183291/This-is-what-thought-looks-like">discussion</a>, <a href="https://boingboing.net/2019/09/27/do-not-erase.html">see also</a>). There’s also an NYT article but I’m not linking it because they were too sniffy about reading their site in incognito mode.</p>
</li>
<li>
<p><a href="http://bit-player.org/2019/my-god-its-full-of-dots">My God, It’s Full of Dots!</a> (<a href="https://mathstodon.xyz/@11011110/102868939006126852"><script type="math/tex">\mathbb{M}</script></a>). Brian Hayes plays with the fractal circle packings of the plane (or of a region of the plane) that you get from a greedy process of picking random points and using either the maximum radius possible or the next radius on a given sequence of radii (but then only adding a circle if that radius fits).</p>
</li>
<li>
<p><a href="https://blogs.plos.org/absolutely-maybe/2019/09/27/google-scholar-risks-and-alternatives/">Is the increasing use of Google Scholar causing citations to be concentrated more heavily on a smaller number of highly-cited papers?</a> (<a href="https://mathstodon.xyz/@11011110/102871113125694380"><script type="math/tex">\mathbb{M}</script></a>, <a href="https://retractionwatch.com/2019/09/28/weekend-reads-jailed-for-publishing-a-paper-pushing-back-on-vaping-research-sugar-daddy-science/">via</a>).</p>
</li>
<li>
<p><a href="https://www.latimes.com/california/story/2019-09-28/leading-chinese-american-scholars-decry-fallout-on-them-of-trumps-hardline-policies-against-china">Leading Chinese American scholars decry racial profiling from Trump’s hard-line policies against China</a> (<a href="https://mathstodon.xyz/@11011110/102877049872954133"><script type="math/tex">\mathbb{M}</script></a>). You know how the US took over as a leader in mathematics and science from Germany in the 1930s-1940s because the Nazis were already driving away their best Jewish scientists, long before they became completely genocidal? This feels kind of similar.</p>
</li>
<li>
<p><a href="https://royalsociety.org.nz/150th-anniversary/150-women-in-150-words/">150 women in 150 words</a> (<a href="https://mathstodon.xyz/@11011110/102884552172728020"><script type="math/tex">\mathbb{M}</script></a>). The Royal Society of New Zealand celebrates its 150th anniversary by highlighting the contributions of women in New Zealand to scientific knowledge.</p>
</li>
</ul>David EppsteinProceedings of the 27th International Symposium on Graph Drawing and Network Visualization (GD 2019) (). As in recent years, Graph Drawing is making an open-access version of their complete proceedings through arXiv, mirroring (except for minor typographic details) the official proceedings to be published through Springer LNCS. One advantage of the arXiv version is that in many cases appendices or longer versions of the papers are also available.Congratulations, Dr. Mamano!2019-09-26T21:05:00+00:002019-09-26T21:05:00+00:00https://11011110.github.io/blog/2019/09/26/congratulations-dr-mamano<p>Today <a href="https://www.ics.uci.edu/~nmamano/">Nil Mamano</a> successfully passed his dissertation defense. Nil has been a doctoral student at UCI, jointly supervised by Mike Goodrich and myself.</p>
<p>His dissertation, <em>New Applications of the Nearest-Neighbor Chain Algorithm</em>, includes material from several papers I’ve discussed here before:
<a href="/blog/2017/04/11/stable-grid-matching.html">stable matching for points in grids</a>,
<a href="/blog/2017/06/29/stable-redistricting-in.html">geographic clustering using stable matching with road network distances</a>,
<a href="/blog/2018/03/14/finding-nearest-open.html">data structures for nearest neighbors in planar networks</a>,
<a href="/blog/2018/04/26/stable-marriage-voronoi.html">stable-marriage Voronoi diagrams</a>, and
<a href="/blog/2019/02/21/mutual-nearest-neighbors.html">the equivalence of local and global optimization for a wide range of combinatorial optimization problems</a>.</p>
<p>A common theme running through much of this work is the use of the <a href="https://en.wikipedia.org/wiki/Nearest-neighbor_chain_algorithm">nearest-neighbor chain algorithm</a> to find pairs of objects that are mutual nearest neighbors (a local definition of optimality) more quickly per pair than one could find the closest pair of objects (global optimality). A greedy algorithm based on this principle will find pairs in a different order than one that uses global closest pairs, but for many problems this ordering makes no difference in the eventual result. For these problems, once a pair become mutual nearest neighbors, they remain so until chosen, so the family of allowable sequences of choices made by the algorithm forms an <a href="https://en.wikipedia.org/wiki/Antimatroid">antimatroid</a>.</p>
<p>As you might imagine, this makes for a long dissertation; unlike some other places, UCI has no upper limit on dissertation length. In fact, we briefly thought that Nil had unnecessarily included everything he’d done here in his dissertation, but it’s not even close to true. He also has publications on
<a href="/blog/2016/06/01/robust-graph-isomorphism.html">graph watermarking</a> and <a href="/blog/2019/01/31/linkage.html">knight’s tours</a> that didn’t fit with the main theme and were not included, as well as some even earlier publications on <a href="http://sana.ics.uci.edu/">simulated annealing for biological network alignment</a> with UCI professor Wayne Hayes, started while he was an exchange student here, before he joined the doctoral program and the theory group.</p>
<p>I think Nil already has a strong record of research and would do well continuing in that direction, but he has decided that he doesn’t want to, and I wouldn’t want to pressure him to change that decision even if I thought it would be successful. He tells me that he has a love-hate relation with research: he loves doing it, but he hates that (for him) to do it well, he has to make it the most important thing in his life. Instead, now that he has completed his doctorate, he will be looking for a job in industry.</p>
<p>Anyway, congratulations, Nil!</p>
<p>(<a href="https://mathstodon.xyz/@11011110/102862578075877620">Discuss on Mastodon</a>)</p>David EppsteinToday Nil Mamano successfully passed his dissertation defense. Nil has been a doctoral student at UCI, jointly supervised by Mike Goodrich and myself.One thousand women of STEM!2019-09-22T16:43:00+00:002019-09-22T16:43:00+00:00https://11011110.github.io/blog/2019/09/22/1000-women-stem<p>Today, by my (likely inaccurate) count, I created my 1000th Wikipedia article on women in mathematics, statistics, computer science, and other areas of science and technology. This is something I’ve been doing since 2008, with several goals in mind. Of course, I want to improve Wikipedia’s coverage in an area that has historically not been covered well. But I also want to counter the perception that there have only been a few heroic figures in this area (say, Hypatia, Lady Lovelace, and Emmy Noether) and show that, instead, it is becoming commonplace (although not yet frequent enough) for men and women to work as equals in science and technology. I want it to be the case that, when readers go to Wikipedia to see who did what in these areas, the names that they see include a representative sample of women, and that those readers can go to articles on those women to find out more about what they went through to do what they did.</p>
<p>The 1000th article (by my count) is <a href="https://en.wikipedia.org/wiki/Catherine_Meadows">Catherine Meadows</a>, a cryptographer at the Naval Research Laboratory. As highlights from the earlier articles, the women listed below (in roughly chronological order of birth) all made the front page of Wikipedia in its “Did you know?” section.</p>
<ul>
<li>
<p><a href="https://en.wikipedia.org/wiki/Pandrosion">Pandrosion of Alexandria</a> (circa 4th century AD) contributed to mathematics before Hypatia.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Kate_Claghorn">Kate Claghorn</a> (1864–1938) got her job in the New York Tenement House Department by passing a test that was intended to keep women out but actually eliminated all her male competitors.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Pia_Nalli">Pia Nalli</a> (1886–1964), an Italian mathematician, is the namesake of a street in Rome.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Aryness_Joy_Wickens">Aryness Joy Wickens</a> (1901–1991) became the highest-paid women in the Federal Civil Service.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Marie-Louise_Dubreil-Jacotin">Marie-Louise Dubreil-Jacotin</a> (1905–1972) was the first female full professor of mathematics in France.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Irene_Barnes_Taeuber">Irene Barnes Taeuber</a> (1906–1974) helped to establish the science of demography.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Margaret_Jarman_Hagood">Margaret Jarman Hagood</a> (1907–1963) wrote about the <em>Mothers of the South</em> and “helped steer sociology away from the armchair and toward the calculator”.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/M%C3%A1rta_Sv%C3%A9d">Márta Svéd</a> (1909/10–2005), a Hungarian mathematician, earned her Ph.D. at age 75.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/C._Doris_Hellman">C. Doris Hellman</a> (1910–1973), through her work on the history of astronomy, demonstrated the central importance of the Great Comet of 1577 to the success of the Copernican Revolution.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Marie_Nyswander">Marie Nyswander</a> (1919–1986) popularized the use of methadone to treat heroin addiction but was killed by her own addiction to cigarettes.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Barbara_Everitt_Bryant">Barbara Everitt Bryant</a> (born 1926) was the first woman to direct the US Census Bureau.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Magdalena_Mouj%C3%A1n">Magdalena Mouján</a> (1926–2005), a Basque mathematician, also wrote science fiction. One of her stories, about a time-traveling family, was censored by the Franco regime.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Marian_Pour-El">Marian Pour-El</a> (1928–2009) proved a result on the undecidability of the wave equation that Freeman Dyson used as evidence for the superiority of analog to digital forms of life.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Anne_Penfold_Street">Anne Penfold Street</a> (1932–2016), one of Australia’s leading mathematicians, earned bachelor’s and master’s degrees in chemistry before switching to mathematics.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Dani%C3%A8le_Guinot">Danièle Guinot</a> (born 1933), a biologist who studies crabs, is the namesake of more than 30 genera and species, including a species of soldier crabs that have been used to perform biological simulations of billiard-ball computers.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Barbara_A._Bailar">Barbara A. Bailar</a> (born 1935) resigned from the United States Census Bureau in 1988 to protest a decision not to adjust the 1990 results for systematic undercounting of minorities</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Jeanne_LaDuke">Jeanne LaDuke</a> (born 1938) worked alongside Natalie Wood as a child actor before becoming a professional mathematician.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Marjorie_Senechal">Marjorie Senechal</a> (born 1939) has written books on quasicrystals, Albania, and silk.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Martha_E._Sloan">Martha E. Sloan</a> (born 1939) became the first female president of the IEEE in 1993.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Martha_Farnsworth_Riche">Martha Farnsworth Riche</a> (born 1939) earned a doctorate in French literature before becoming director of the US Census Bureau</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Linda_Preiss_Rothschild">Linda Preiss Rothschild</a> (born 1945) was kept out of both the best local high school in Philadelphia and graduate study at Princeton because neither accepted women. Instead she had to settle for MIT, and went on to a distinguished career in mathematics.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Graciela_Chichilnisky">Graciela Chichilnisky</a> (born 1946) proposed the carbon credit trading system in the Kyoto Protocol.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Joan_L._Mitchell">Joan L. Mitchell</a> (1947–2015) co-invented the JPEG format for digital images.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Marjorie_Hahn">Marjorie Hahn</a> (born 1948) is a retired mathematics professor and international senior-level tennis player who approaches tennis games with the same plan that she uses for mathematical proofs.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Katherine_Heinrich">Katherine Heinrich</a> (born 1954), a mathematician from Australia, became the first female president of the Canadian Mathematical Society.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Ami_Radunskaya">Ami Radunskaya</a> spent ten years as a cellist and music composer between high school and college, before becoming a professional mathematician and president of the AWM.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Lixia_Zhang">Lixia Zhang</a> helped found the Internet Engineering Task Force, designed the Resource Reservation Protocol, coined the term “middlebox”, and pioneered the development of named data networking.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Chieko_Asakawa">Chieko Asakawa</a> (born 1958) lost her sight as a teenager in a swimming accident, but later won the Women of Vision Award for her contributions to accessible computing.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Xifeng_Wu">Xifeng Wu</a>, a Chinese cancer researcher recently hounded out of the US for collaborating with other Chinese researchers, showed that fifteen minutes of moderate exercise per day can increase lifespan by an average of three years.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Gigliola_Staffilani">Gigliola Staffilani</a> (born 1966) is part of a superhero team of researchers in harmonic analysis and partial differential equations, the I-team, that also includes Fields Medalist Terry Tao.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Victoria_Kaspi">Victoria Kaspi</a> (born 1967) was one of the first to observe the cosmic recycling of pulsars.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Annalisa_Crannell">Annalisa Crannell</a>, an expert in the mathematics of water waves, chaos theory, and geometric perspective, brings chopsticks to art galleries as a tool for finding vanishing points.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Hinke_Osinga">Hinke Osinga</a> (born 1969) has constructed visualizations of the Lorenz manifold using both crochet and stainless steel, and was the first female mathematician elected to the Royal Society of New Zealand.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Zvezdelina_Stankova">Zvezdelina Stankova</a> (born 1969) brought ideas from her Bulgarian mathematical education to California by founding the Berkeley Math Circle</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Chawne_Kimber">Chawne Kimber</a> (born 1971) is known both for incorporating concepts of social justice into her mathematics classes, and for her politically activist quilting, inspired by racist graffiti and George Carlin’s seven dirty words.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Hilary_Swarts">Hilary Swarts</a> is a wildlife biologist who works with ocelots and once survived having a gorilla sit on her head.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Amy_H._Herring">Amy H. Herring</a> led a study whose data showed that many American women were reportedly virgins at the birth of their first child.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Anette_Hosoi">Anette Hosoi</a> designed a robot snail that moved by rippling over artificial snail slime.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Ioana_Dumitriu">Ioana Dumitriu</a> (born 1976) was the first female Putnam Fellow.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Moon_Duchin">Moon Duchin</a> was inspired to break gender barriers in mathematics by a book on baseball player Jackie Robinson’s struggles against racism.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Evelyn_Wang">Evelyn Wang</a> (born 1978) can extract water from desert air using a device like a <em>Star Wars</em> moisture vaporator.</p>
</li>
<li>
<p><a href="https://en.wikipedia.org/wiki/Emily_Riehl">Emily Riehl</a>, bassist for the band Unstraight, wrote about “unstraightening” in her research as a professional mathematician.</p>
</li>
</ul>
<p>(<a href="https://mathstodon.xyz/@11011110/102839256727943236">Discuss on Mastodon</a>)</p>David EppsteinToday, by my (likely inaccurate) count, I created my 1000th Wikipedia article on women in mathematics, statistics, computer science, and other areas of science and technology. This is something I’ve been doing since 2008, with several goals in mind. Of course, I want to improve Wikipedia’s coverage in an area that has historically not been covered well. But I also want to counter the perception that there have only been a few heroic figures in this area (say, Hypatia, Lady Lovelace, and Emmy Noether) and show that, instead, it is becoming commonplace (although not yet frequent enough) for men and women to work as equals in science and technology. I want it to be the case that, when readers go to Wikipedia to see who did what in these areas, the names that they see include a representative sample of women, and that those readers can go to articles on those women to find out more about what they went through to do what they did.