<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://11011110.github.io/blog/feed.xml" rel="self" type="application/atom+xml" /><link href="https://11011110.github.io/blog/" rel="alternate" type="text/html" /><updated>2026-03-02T01:15:44+00:00</updated><id>https://11011110.github.io/blog/feed.xml</id><title type="html">11011110</title><subtitle>Geometry, graphs, algorithms, and more</subtitle><author><name>David Eppstein</name></author><entry><title type="html">Making accessible LaTeX talk slides with ltx-talk</title><link href="https://11011110.github.io/blog/2026/03/01/making-accessible-latex.html" rel="alternate" type="text/html" title="Making accessible LaTeX talk slides with ltx-talk" /><published>2026-03-01T14:52:00+00:00</published><updated>2026-03-01T14:52:00+00:00</updated><id>https://11011110.github.io/blog/2026/03/01/making-accessible-latex</id><content type="html" xml:base="https://11011110.github.io/blog/2026/03/01/making-accessible-latex.html"><![CDATA[<p>US-based academics are being required <a href="https://www.ada.gov/resources/2024-03-08-web-rule/">by the government</a> and by their universities to make all online content accessible by April 24, and I think many of us have been running around trying to figure out what that means and how to do it. My university has been especially unhelpful, demanding compliance in vague terms but not telling us what standard they’re using and pointing only to Microsoft and Google’s web sites for guidance on how to improve accessibility for Microsoft and Google products. The relevant standard appears from the government links to be WCAG 2.1 AA. For those of us who have been using the LaTeX beamer package to create mathematical course lecture notes as pdf files, beamer cannot do this. The accessibility standards require tagged pdf and beamer does not have code to generate the tags correctly. But there is a solution: a replacement package, <a href="https://ctan.org/pkg/ltx-talk">ltx-talk</a>, that is mostly compatible with beamer. After some effort, I have succeeded in using ltx-talk to create slide decks that closely resemble my old beamer decks both in appearance and coding and that pass all automated accessibility checks in Acrobat. That makes now a good time to record what I have learned about going from beamer to accessible ltx-talk, before I forget it all again.</p>

<h1 id="online-guides">Online guides</h1>

<p>I have found three helpful guides to accessible LaTeX (not specifically about ltx-talk): “<a href="https://latex3.github.io/tagging-project/documentation/usage-instructions">Using LaTeX to produce accessible PDF</a>” from the LaTeX tagging project, “<a href="https://richardwong.rice.edu/LaTeX-Accessibility-Primer/">A quick primer on modifying existing LaTeX for digital accessibility</a>” by Richard Wong at Rice University, and “<a href="https://docs.overleaf.com/writing-and-editing/creating-accessible-pdfs">Creating accessible PDFs in LaTeX</a>” from Overleaf. If you are using some unusual LaTeX packages or document classes, the LaTeX tagging project also maintains a useful <a href="https://latex3.github.io/tagging-project/tagging-status/">list of the tagging status of LaTeX packages and classes</a>. This includes the information that beamer cannot generate accessible tagged pdf but ltx-talk can. These links got me from a state of having no idea how to generate accessible pdf files from my slides to a state where I thought it might be possible, and helped me start setting up my files. Most of the rest was from carefully reading log files and accessibility reports and then experimenting to figure out what to change in order to make the errors and warnings go away.</p>

<p>This posting is not intended as a substitute for these guides, but rather as a collection of tips and tricks for converting beamer slide decks into accessible ltx-talk slide decks.</p>

<h1 id="compilation">Compilation</h1>

<p>To compile ltx-talk files and produce accessible tagged pdf files, you need to run lualatex instead of pdflatex. Sometimes you need as many as four runs: one run of lualatex to get an aux file with bibliography items, a run of bibtex, and then three more runs of lualatex before it stabilizes and stops telling you to run again because the labels have changed or because it miscalculated page numbers and added a dummy page. Check the log files for these things.</p>

<p>You also need to be running a very recent version of LaTeX, dated November 2025 or more recent. TeX Live 2025, released in March 2025, will not work. The new <a href="https://www.tug.org/texlive/pretest.html">TeX Live 2026 pretest</a> will. I use MacOS and have not figured out whether there is any way to access the TeX Live pretest on a Mac. Instead I have been using either Overleaf (through its <a href="https://www.overleaf.com/about/overleaf-labs">Overleaf Labs</a> feature) or a linux install on some departmental machines accessible to me via ssh. This already includes the ltx-talk package; you do not need to install it separately.</p>

<p>There are apparently <a href="/blog/2026/02/15/linkage.html">incompatibilities between recent releases of LaTeX and the cleveref package</a>. Fortunately, my slide decks do not use cleveref.</p>

<h1 id="preamble">Preamble</h1>
<p>The magic incantation at the start of your file is different, of course, because it’s a different package but also because tagged pdf needs a metadata command before the document class to set it up. The old incantation (for, say, a \(16\times 9\) target aspect ratio) was:</p>

<figure class="highlight"><pre><code class="language-latex" data-lang="latex"><span class="k">\documentclass</span><span class="na">[aspectratio=169]</span><span class="p">{</span>beamer<span class="p">}</span></code></pre></figure>

<p>Instead, now it is:</p>

<figure class="highlight"><pre><code class="language-latex" data-lang="latex"><span class="k">\DocumentMetadata</span><span class="p">{</span>
  lang          = en,
  pdfstandard   = <span class="p">{</span>ua-2,a-4f<span class="p">}</span>,
  tagging       = on,
  tagging-setup = <span class="p">{</span>math/setup=mathml-SE<span class="p">}</span> 
<span class="p">}</span>
<span class="k">\documentclass</span><span class="na">[aspect-ratio=16:9]</span><span class="p">{</span>ltx-talk<span class="p">}</span></code></pre></figure>

<p>Change the <code class="language-plaintext highlighter-rouge">lang = en</code> line if you are writing in a different language than English. Wong suggests instead <code class="language-plaintext highlighter-rouge">tagging-setup={math/setup=mathml-SE,math/alt/use}</code>; I have no idea whether that would be an improvement.</p>

<p>The other important change in the LaTeX preamble works around what I think is a bug in ltx-talk. By default, it tags frame titles with an h4-level header tag. But there are no h1, h2, or h3-level header tags that it produces. This causes Acrobat’s accessibility checker to complain about header nesting. Maybe the right thing to do is to add some h1, h2, and h3-level tags, for instance on the title page, but I haven’t figured out how to do that. Instead, I changed the frame titles to h1, with</p>

<figure class="highlight"><pre><code class="language-latex" data-lang="latex"><span class="k">\tagpdfsetup</span><span class="p">{</span>
  role / new-tag = frametitle / H1
<span class="p">}</span></code></pre></figure>

<p>The default appearance produced by ltx-talk is close to beamer with the structure skin, but not quite the same. You can change it in your LaTeX preamble but the documentation for how to change it is somewhat lacking. What worked for me is to look for code like <code class="language-plaintext highlighter-rouge">DeclareTemplateInterface</code> in ltx-talk.cls and to use <code class="language-plaintext highlighter-rouge">\EditInstance</code> to change it. For instance I use the code</p>

<figure class="highlight"><pre><code class="language-latex" data-lang="latex"><span class="k">\definecolor</span><span class="p">{</span>ksblue<span class="p">}{</span>RGB<span class="p">}{</span>0,129,205<span class="p">}</span>
<span class="k">\EditInstance</span><span class="p">{</span>header<span class="p">}{</span>std<span class="p">}{</span>
  color            = ksblue,
  left-hspace      = 0cm plus 1fil,
  right-hspace     = 0cm plus 1fil
<span class="p">}</span></code></pre></figure>

<p>to change the color of frame titles and center them. I also use</p>

<figure class="highlight"><pre><code class="language-latex" data-lang="latex"><span class="k">\renewcommand</span><span class="p">{</span><span class="k">\labelitemi</span><span class="p">}{</span> <span class="p">{</span><span class="k">\footnotesize\color</span><span class="p">{</span>ksblue<span class="p">}$</span><span class="nv">\blacktriangleright</span><span class="p">$}}</span>
<span class="k">\renewcommand</span><span class="p">{</span><span class="k">\labelitemii</span><span class="p">}{</span> <span class="p">{</span><span class="k">\scriptsize\color</span><span class="p">{</span>ksblue<span class="p">}$</span><span class="nv">\blacktriangleright</span><span class="p">$}}</span></code></pre></figure>

<p>to make big triangular itemize bullets like beamer, instead of the default little circular ones. (So far I have only converted slides with two levels of itemize nesting.)</p>

<h1 id="figures">Figures</h1>

<p>In the article content, the easiest change to explain but the most time-consuming one, for me, is adding alt-text to all images. The syntax is straightforward: <code class="language-plaintext highlighter-rouge">\includegraphics[alt={Alt text goes here}]{filename}</code>. I have seen big online debates on what alt-text should describe and how detailed it should be. The important thing to remember is that you’re not trying to describe the image in vivid-enough detail that an AI image generator could make a copy of it. The purpose of these things is to substitute for the image when people use a screenreader to convert your slides into spoken text. So it should be concise enough that it doesn’t interrupt the flow of the text when spoken but informative enough that people using a screenreader don’t miss out on the meaning. For complicated mathematical examples that can be a big ask.</p>

<p>I had one figure, created as a pdf file by Adobe Illustrator, that triggered a flate decode error in lualatex. The same image had worked correctly in pdflatex and beamer. The compilation continued with a warning but the figure did not render correctly in the compiled file. I could not figure out why. The only workaround I could find was to save it as a different pdf version in Illustrator.</p>

<h1 id="environments">Environments</h1>

<p>Getting ltx-talk to run required a few changes elsewhere in my LaTeX files. I was using <code class="language-plaintext highlighter-rouge">\begin{frame}{Title of frame}</code>, and ltx-talk has an option to make that work, but by default it doesn’t. Instead you need to use <code class="language-plaintext highlighter-rouge">\begin{frame}\frametitle{Title of frame}</code>. Using unicode characters such as an en-dash in a frametitle leads to a “unreferenced destination” error; code them in ASCII (in this case a double hyphen) instead.</p>

<p>Columns need to be delimited by <code class="language-plaintext highlighter-rouge">\begin{column}{size}</code>…<code class="language-plaintext highlighter-rouge">\end{column}</code> instead of starting them by <code class="language-plaintext highlighter-rouge">\column</code>. (Also the spacing between columns is different between beamer and ltx-talk so you may need some reformatting to get them to look good.) And the same thing about using an environment rather than a command applies to some formatting things like <code class="language-plaintext highlighter-rouge">\flushright</code>: it won’t cause a LaTeX error but it will cause the tagging to get mismatched with a warning message at the end of the log. Then you have to work through your file trying to figure out which slide caused the mismatch.</p>

<p>If you use verbatim environments, beamer needed to mark this by <code class="language-plaintext highlighter-rouge">\begin{frame}[fragile]</code>. This still works in ltx-talk but with a different syntax, <code class="language-plaintext highlighter-rouge">\begin{frame*}</code>. If you use tabular environments, you need to tell LaTeX which rows of your table are header rows. See the accessibility guides linked above.</p>

<h1 id="formulas">Formulas</h1>

<p>There is lua code somewhere that generates mathml tags for the mathematical formulas (I think this is the main reason that you need to use lualatex). It is not as robust as LaTeX itself. Using code like <code class="language-plaintext highlighter-rouge">\bigl</code> and <code class="language-plaintext highlighter-rouge">\bigr</code> will cause a tagging mismatch; use <code class="language-plaintext highlighter-rouge">\left</code> and <code class="language-plaintext highlighter-rouge">\right</code> instead and let LaTeX choose for itself how big to make the parentheses. Using <code class="language-plaintext highlighter-rouge">\dots</code> inside math often does not work at all, and in one case using <code class="language-plaintext highlighter-rouge">$\dots$</code> inside a tabular environment caused lualatex to crash hard. Use <code class="language-plaintext highlighter-rouge">\ldots</code> or <code class="language-plaintext highlighter-rouge">\cdots</code> instead. Also, I think using mathematics inside <code class="language-plaintext highlighter-rouge">\text</code> inside more mathematics caused a tagging mismatch; don’t nest them like that. This code will also generate files with names of the form *-luamml-mathml.html; add that pattern to your .gitignore file.</p>

<p>I had one deck (discussing the Ackermann function) containing the expression \(\approx 2\times 10^{19728}\). This caused lualatex to freeze. The only hypothesis I can find is that it looks like a formula whose numerical value can be calculated and that the mathml conversion code was trying to calculate it, using a slow exponentiation algorithm.</p>

<h1 id="sections">Sections</h1>

<p>If your deck has 21 or more slides, Acrobat will complain if it doesn’t also have bookmarks for navigation within sections of the deck. I did this using <code class="language-plaintext highlighter-rouge">\pdfbookmark[1]{Bookmark name}{Bookmark name}</code> at the start of each section. Maybe there is a better way. This would be a good place to put more higher-level header tags than the H4 frame titles, if I knew how.</p>

<p>Many of my slide decks have bibtex bibliography sections. I don’t generally show these when speaking but I want them to be part of the pdf files of my slide decks that I distribute. I like to use natbib for this (plus the doi package to make the external links and dois work properly).  But natbib never worked correctly in beamer; I needed to add the code <code class="language-plaintext highlighter-rouge">\newcommand{\newblock}{}</code> to the preamble to make it work. In ltx-talk, I also needed to add <code class="language-plaintext highlighter-rouge">\newcommand{\thebibliography}{\relax}</code> before loading natbib. Then you can just put your bibliography within one of the frames. A problem I have not found a good workaround for is that beamer allows multi-frame bibliographies with <code class="language-plaintext highlighter-rouge">\begin{frame}[allowframebreaks]</code>. However, ltx-talk does not and reading its documentation reveals that its developer is very hostile to long bibliographies (such as would arise in a talk incorporating a literature review). The only workaround I have found is to use a small-enough font size (in some cases <code class="language-plaintext highlighter-rouge">\tiny</code>) to allow the whole bibliography to fit on one slide. This is mildly problematic with respect to accessibility but better than truncating the bibliography because it overflows the slide.</p>

<p>(<a href="https://mathstodon.xyz/@11011110/116156444095814055">Discuss on Mastodon</a>)</p>]]></content><author><name>David Eppstein</name></author><summary type="html"><![CDATA[US-based academics are being required by the government and by their universities to make all online content accessible by April 24, and I think many of us have been running around trying to figure out what that means and how to do it. My university has been especially unhelpful, demanding compliance in vague terms but not telling us what standard they’re using and pointing only to Microsoft and Google’s web sites for guidance on how to improve accessibility for Microsoft and Google products. The relevant standard appears from the government links to be WCAG 2.1 AA. For those of us who have been using the LaTeX beamer package to create mathematical course lecture notes as pdf files, beamer cannot do this. The accessibility standards require tagged pdf and beamer does not have code to generate the tags correctly. But there is a solution: a replacement package, ltx-talk, that is mostly compatible with beamer. After some effort, I have succeeded in using ltx-talk to create slide decks that closely resemble my old beamer decks both in appearance and coding and that pass all automated accessibility checks in Acrobat. That makes now a good time to record what I have learned about going from beamer to accessible ltx-talk, before I forget it all again.]]></summary></entry><entry><title type="html">Linkage</title><link href="https://11011110.github.io/blog/2026/02/28/linkage.html" rel="alternate" type="text/html" title="Linkage" /><published>2026-02-28T18:07:00+00:00</published><updated>2026-02-28T18:07:00+00:00</updated><id>https://11011110.github.io/blog/2026/02/28/linkage</id><content type="html" xml:base="https://11011110.github.io/blog/2026/02/28/linkage.html"><![CDATA[<ul>
  <li>
    <p><a href="https://blog.computationalcomplexity.org/2026/02/joe-halpern-1953-2025.html">Joe Halpern (1953–2026)</a> <span style="white-space:nowrap">(<a href="https://fediscience.org/@fortnow/116079149514594859">\(\mathbb{M}\)</a>).</span> A leader in the mathematical reasoning about knowledge, founder of the Computing Research Repository (later the CS branch of arXiv), and recipient of the Gödel Prize and Dijkstra Prize.</p>
  </li>
  <li>
    <p><a href="https://mathstodon.xyz/@baabbaash/115970067140893547">A single-line drawing that is simultaneously an open knight’s tour of a 99x99 chessboard and a 3x3 Latin square</a>.</p>
  </li>
  <li>
    <p><a href="https://
en.wikipedia.org/wiki/Circle_packing_theorem">The circle packing theorem</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/116089008320752670">\(\mathbb{M}\)</a>):</span> every planar graph can be represented by the tangencies of a system of non-overlapping circles. This theorem was proved by Koebe in 1936, and popularized in the 1980s by Fields medalist William Thurston as a discrete analogue to conformal mapping and uniformization. Its Wikipedia article was created by Oded Schramm in 2008, not long before his untimely mountaineering death. In his own research, Schramm found deep analogies between random walks on circle packings and Brownian motion. My interests in circle packing relate to its use in drawing graphs, constructing polyhedra for given graphs, modeling soap bubble foams, and finding planar separators. And others have found even more varied applications from the study of discrete symmetry groups of hyperbolic space to methods for visualizing the functional areas of the human brain, spread out into a flattened map. Now a Good Article on Wikipedia.</p>
  </li>
  <li>
    <p><a href="https://leanprover.zulipchat.com/#narrow/channel/423402-PrimeNumberTheorem.2B/topic/LeanCert.20for.20numerical.20log.20bounds.20.28re.3A.20PNT.23892.2C.20PNT.23914.29/near/572854830">Discussion involving Terry Tao on security vulnerabilities in the Lean theorem prover</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@highergeometer/116043612956882097">\(\mathbb{M}\)</a>).</span> Importing an untrusted module can result in running arbitrary code.</p>
  </li>
  <li>
    <p>Two new papers on near-linear shortest path search in dense graphs with negative edge weights <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/116096264936888829">\(\mathbb{M}\)</a>).</span> I don’t know the story here, but when parallel papers claiming the same strong result come out simultaneously on arXiv, it’s usually not a coincidence. The papers are:</p>

    <ul>
      <li>
        <p>“An \(n^{2+o(1)}\) time algorithm for single-source negative weight shortest paths”, Sanjeev Khanna &amp; Junkai Song, <a href="https://arxiv.org/abs/2602.16638">arXiv:2602.16638</a></p>
      </li>
      <li>
        <p>“Bellman-Ford in almost-linear time for dense graphs”, George Z. Li, Jason Li, &amp; Junkai Zhang, <a href="https://arxiv.org/abs/2602.16153">arXiv:2602.16153</a></p>
      </li>
    </ul>
  </li>
  <li>
    <p>I recently posted about <a href="/blog/2026/02/15/linkage.html">archive.today (also archive.is, archive.ph, archive.fo, archive.li, archive.md, and archive.vn) using its archive links to launch a ddos attack</a> against a blogger they accused of doxing them <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/116104534242592536">\(\mathbb{M}\)</a>).</span> That attack triggered Wikipedia (at least, the English part) to discuss banning archive.today links, and the ensuing discussion turned up evidence that (as part of the same dispute with the same blogger) <a href="https://
en.wikipedia.org/wiki/Wikipedia:Requests_for_comment/Archive.is_RFC_5#Evidence_of_altering_snapshots">archive.today had also tampered with its archived content</a> to falsify certain names in old archived links. This led to a quick close of the discussion and a <a href="https://
en.wikipedia.org/wiki/Wikipedia:Archive.today_guidance">consensus to remove all archive.today links from Wikipedia</a>. For the same reasons I have removed all archive.today links from my blog, where I had been occasionally using them as a convenient way to access paywalled content. I suggest that others remove their links as well, lest you unwittingly become part of additional ddos attacks and falsification.</p>
  </li>
  <li>
    <p><a href="https://
arstechnica.com/science/2026/02/major-government-research-lab-appears-to-be-squeezing-out-foreign-scientists/">National Institute of Standards and Technology appears to be squeezing out “foreign-born researchers”</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/116116672064156483">\(\mathbb{M}\)</a>).</span> The language used here is especially concerning: we should not be hobbling our research institutions by limiting their researchers to being US citizens, but requiring US birth goes far beyond even that.</p>
  </li>
  <li>
    <p><a href="https://
blog.wolfram.com/2019/03/07/shattering-the-plane-with-twelve-new-substitution-tilings-using-2-phi-psi-chi-rho/">Subdivisions of a triangle into smaller similar triangles lead to new substitution tilings of the plane based on the plastic and superplastic constants</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/116121197963446123">\(\mathbb{M}\)</a>).</span> Ed Pegg, Wolfram Insights.</p>
  </li>
  <li>
    <p><a href="https://www.printables.com/model/1570674-schonhardt-polyhedron">One-line 3d-printable Schönhardt polyhedron</a> <span style="white-space:nowrap">(<a href="https://genart.social/@tca/115956503439711161">\(\mathbb{M}\)</a>).</span></p>
  </li>
  <li>
    <p><a href="https://mathstodon.xyz/@oantolin/116132973840586259">“Google just keeps getting dumber”</a>. The link goes to a screenshot of a Google Books page for the book <em>Topics in Topology</em> by Stevo Todorčević, displaying the plot summary “a thirteen-year-old with a talent for throwing loops and who lives on a ranch with his father and grandfather yearns for a roping horse”.</p>
  </li>
  <li>
    <p><a href="https://
en.wikipedia.org/wiki/Bonnet_theorem">According to the Bonnet theorem</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/116140012643288555">\(\mathbb{M}\)</a>),</span> describing the surface distances and principal curvatures of a smooth 2d surface is enough to determine a local embedding of the surface (an immersion) into 3d. A related result by H. Blaine Lawson and Renato de Azevedo Tribuzy shows that using mean curvature instead of the principle curvatures is almost enough: for a smooth compact surface and non-constant mean curvature, there can be at most two immersions. The recent paper “<a href="https://
doi.org/10.1007/s10240-025-00159-z">Compact Bonnet pairs: isometric tori with the same curvatures</a>” (Bobenko, Hoffmann &amp; Sageman-Furnas, <em>Pub. Math. de l’HÉS</em> 2025) shows that the case of two immersions can actually happen: there are pairs of immersed tori in 3d with different shapes in 3d but the same surface distances and mean curvatures. Recently described in <em>Quanta</em>: “<a href="https://www.
quantamagazine.org/two-twisty-shapes-resolve-a-centuries-old-topology-puzzle-20260120/">two twisty shapes resolve a centuries-old topology puzzle</a>”.</p>
  </li>
  <li>
    <p><a href="https://
arxiv.org/abs/2602.22874">Flip distance of triangulations of convex polygons / rotation distance of binary trees is NP-complete</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/116141680057754880">\(\mathbb{M}\)</a>).</span> A new arXiv preprint by Joseph Dorfer answers a well-known problem that was implicit in the <a href="https://
doi.org/10.1145/12130.12143"><em>STOC</em> 1986 work of Sleator, Tarjan, and Thurston on the extreme values of flip distance / rotation distance</a> and already explicit by 1988 in the (incorrect) <a href="https://
doi.org/10.1007/bfb0015934">claim of a polynomial time algorithm by Křivánek</a> (see Theorem 7).</p>
  </li>
  <li>
    <p><a href="https://mastodon.social/@joshmillard/115939932339573523">Josh Millard investigates the number of tilings of a square by 1x2 rectangles of varying sizes</a>.</p>
  </li>
</ul>]]></content><author><name>David Eppstein</name></author><summary type="html"><![CDATA[Joe Halpern (1953–2026) (\(\mathbb{M}\)). A leader in the mathematical reasoning about knowledge, founder of the Computing Research Repository (later the CS branch of arXiv), and recipient of the Gödel Prize and Dijkstra Prize.]]></summary></entry><entry><title type="html">Linkage</title><link href="https://11011110.github.io/blog/2026/02/15/linkage.html" rel="alternate" type="text/html" title="Linkage" /><published>2026-02-15T11:52:00+00:00</published><updated>2026-02-15T11:52:00+00:00</updated><id>https://11011110.github.io/blog/2026/02/15/linkage</id><content type="html" xml:base="https://11011110.github.io/blog/2026/02/15/linkage.html"><![CDATA[<ul>
  <li>
    <p><a href="https://doi.org/10.1016/j.mechmachtheory.2025.106187">Morphing between a polyhedron and its dual using 3d-printed scissor-link edges</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@henryseg/115952247331406045">\(\mathbb{M}\)</a>)</span> raises the question of which polyhedra can be realized in this way. The linked paper by Liao, Kiper, and Krishnan suggests that they need to be midscribed and have equal-length edges to avoid binding during the morph. A much weaker but obvious necessary condition is that for each pair of dual edges the lengths are equal. But it is unclear which polyhedra have realizations with this property.</p>
  </li>
  <li>
    <p><a href="https://www.origamiheaven.com/historyanoteonknots.htm">Frank Vigor Morley’s realizations of regular polygons using knotted paper strips</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@foldworks/115978022573977297">\(\mathbb{M}\)</a>).</span> Morley was the son of Frank Morley, a geometer known for <a href="https://en.wikipedia.org/wiki/Morley%27s_trisector_theorem">Morley’s theorem on triangle trisectors</a>.</p>
  </li>
  <li>
    <p><a href="https://ieji.de/@oraculix/116006245659254834">Type 8 pentagonal cobblestone tiling in Kleve, Germany</a>.</p>
  </li>
  <li>
    <p>The <a href="https://en.wikipedia.org/wiki/Brouwer_fixed-point_theorem">Brouwer fixed-point theorem</a> in action, as <a href="https://firsching.ch/github_labels">exhibited by Github labels</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/116010800893434460">\(\mathbb{M}\)</a>,</span> <a href="https://mathstodon.xyz/@MoritzFirsching/110015890478886651">via</a>): If you try to define a continuous function from text colors to contrasting background colors, there will be some text colors whose background is the same as the text rather than contrasting with it. Discontinuity is necessary to avoid this. This is from 2023 so I suspect the specific buggy behavior is long fixed but the phenomenon will recur for any attempt like this one to define a formula using only continuous building blocks.</p>
  </li>
  <li>
    <p><em><a href="https://complexityincs.com/">Complexity in Computer Science</a></em> <span style="white-space:nowrap">(<a href="https://fediscience.org/@fortnow/116007565767594086">\(\mathbb{M}\)</a>),</span> free online textbook, about to be published through Cambridge University Press.</p>
  </li>
  <li>
    <p><a href="https://gyrovague.com/2026/02/01/archive-today-is-directing-a-ddos-attack-against-my-blog/">Archive.today / archive.is / archive.ph etc initiates a DDOS attack against a blogger they accused of doxing them</a>, sparking <a href="https://en.wikipedia.org/wiki/Wikipedia:Requests_for_comment/Archive.is_RFC_5">calls to blacklist them from reference link archiving on Wikipedia</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/116028203974257264">\(\mathbb{M}\)</a>).</span></p>
  </li>
  <li>
    <p><a href="https://en.wikipedia.org/wiki/Lambek%E2%80%93Moser_theorem">The Lambek–Moser theorem</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/116031559075770268">\(\mathbb{M}\)</a>)</span> is a bijective equivalence between two different-looking mathematical objects: partitions of the positive integers into two disjoint subsets, and pairs of almost-inverse monotone functions from positive integers to non-negative integers.</p>

    <p>Real monotone functions are inverse when their graphs are mirror reflections across the diagonal <span style="white-space:nowrap">line \(y=x\).</span> We can define something like a graph for an integer function, a staircase curve whose lowest point above any integer on the <span style="white-space:nowrap">\(x\)-axis</span> gives the function value; then two integer functions are almost-inverse when these curves are mirror reflections. The image below shows these two reflected staircase curves for the prime-counting function and its almost-inverse. This pair of functions corresponds to the partition of positive integers into prime and non-prime (composite or one).</p>

    <p>By using this equivalence to go from functions to partitions and back, you can sometimes get amazing formulas for sequences of integers that you might not expect to have a formula at all. For instance, the <span style="white-space:nowrap">\(n\)th number</span> that is not a <span style="white-space:nowrap">\(k\)th power</span> (for <span style="white-space:nowrap">integer \(k&gt;1\))</span> has the formula:</p>

\[n+\left\lfloor\sqrt[k]{n + \lfloor\sqrt[k]{n}\rfloor}\right\rfloor.\]

    <p>Now a Good Article on Wikipedia.</p>

    <p style="text-align:center"><img src="/blog/assets/2026/Prime-counting_histogram_reflection.svg" alt="A staircase curve that describes the prime-counting function (dark red) and its mirror reflection (light red). The prime-counting function at the integer i counts the prime numbers that are ≤ i; its values are given at the bottom of the image. The prime-counting function at each value i is given by the lowest point of the curve directly above the point (i,0)." style="width:100%;max-width:480px" /></p>
  </li>
  <li>
    <p><a href="https://www.flickr.com/photos/milele/2853933375/">Lisa Dusseault crafts a cellular automaton lace scarf</a> <span style="white-space:nowrap">(<a href="https://mastodon.geekery.org/@lisarue/116030810638437063">\(\mathbb{M}\)</a>).</span></p>
  </li>
  <li>
    <p><a href="https://theconversation.com/when-science-discourages-correction-how-publishers-profit-from-mistakes-272657">When science discourages correction: How publishers profit from mistakes</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@petersuber@fediscience.org/115951836732838104">\(\mathbb{M}\)</a>).</span> Douglas Sheil and Erik Meijaard argue that the profit motive disincentivizes publishers from maintaining the integrity of the scientific record.</p>
  </li>
  <li>
    <p>As part of the <a href="https://www.ipam.ucla.edu/news-research/special-projects/integrated-explicit-analytic-number-theory-network/">Integrated Explicit Analytic Number Theory network</a>, Terry Tao finds a need to revive tables of logarithms, with machine-verified proofs of their accuracy <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@tao/116037574125913104">\(\mathbb{M}\)</a>).</span></p>
  </li>
  <li>
    <p><a href="https://cbaberle.com/Blog/The+Music+of+the+Primes">The Music of the Primes</a>, Corinthia Beatrix Aberlé <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@johncarlosbaez/116041915039490427">\(\mathbb{M}\)</a>).</span> On connections between musical tuning systems and the Riemann zeta function.</p>
  </li>
  <li>
    <p><a href="https://harshanu.space/en/tech/ccc-vs-gcc/">CCC vs GCC</a> <span style="white-space:nowrap">(<a href="https://infosec.exchange/@0xabad1dea/116057598546651067">\(\mathbb{M}\)</a>).</span> An LLM-generated compiler passes all unit tests but somehow manages to generate code that runs complex SQLite queries 158,000 times slower than GCC.</p>
  </li>
  <li>
    <p>I have been experimenting with <a href="https://ctan.org/pkg/ltx-talk?lang=en">ltx-talk</a> as a replacement for beamer as a way to use LaTeX to make lecture slides <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/116060876141129606">\(\mathbb{M}\)</a>),</span> in preparation for the <a href="https://link.ucop.edu/2025/03/04/new-regulations-for-the-americans-with-disabilities-act-that-will-impact-uc/">April 24 doomsday</a> in which all online content of all US universities is required to meet WCAG 2.1 A/AA accessibility standards (including properly tagged pdf).  <a href="https://www.overleaf.com/read/nyfdjxbqmbqc#309a25">My test slide deck</a> is based on <a href="https://ics.uci.edu/~eppstein/261/lecture10b.pdf">beamer slides on union-find and its analysis</a> from my graduate data structures course.  It sort of works but is still obviously a work in progress.</p>

    <p>Minor issues:</p>

    <ul>
      <li>
        <p>This requires lualatex 2025-11-01 or more recent. I can run this in Overleaf Labs but cannot find a recent-enough MacTeX.</p>
      </li>
      <li>
        <p>The LaTeX preamble is different and the formatting changes it makes were largely undocumented.</p>
      </li>
      <li>
        <p>I needed a hack to make natbib work. Actually two hacks but one was already there for beamer.</p>
      </li>
      <li>
        <p>I had to change <code class="language-plaintext highlighter-rouge">\begin{frame}{Title}</code> to <code class="language-plaintext highlighter-rouge">\begin{frame}\frametitle{Title}</code> everywhere.</p>
      </li>
      <li>
        <p>I had to change <code class="language-plaintext highlighter-rouge">\column{size}</code> to <code class="language-plaintext highlighter-rouge">\begin{column}{size} ... \end{column}</code> everywhere.</p>
      </li>
      <li>
        <p>The tabular environment needs to be tagged for whether it is really a table (and which of its rows are headers) or just for formatting; see <a href="https://latex3.github.io/tagging-project/documentation/usage-instructions">the LaTeX tagging project’s accessible formatting tips</a>.</p>
      </li>
    </ul>

    <p>Major issues:</p>

    <ul>
      <li>
        <p>Compiling <code class="language-plaintext highlighter-rouge">$\approx 2\times 10^{19728}$</code> (\(\approx 2\times 10^{19728}\)) caused lualatex to get into an apparent infinite loop and time out. Is it trying to calculate \(10^{19728}\)??</p>
      </li>
      <li>
        <p>Some expressions with <code class="language-plaintext highlighter-rouge">$\dots$</code> produce empty output. This would be a minor issue but having this empty output in the cells of a tabular environment caused lualatex to crash with the code “<code class="language-plaintext highlighter-rouge">error: (nodes): fuzzy token cleanup in whatsit node with type whatsit and subtype 29</code>”. Using <code class="language-plaintext highlighter-rouge">$\ldots$</code> or <code class="language-plaintext highlighter-rouge">$\cdots$</code> as appropriate worked.</p>
      </li>
      <li>
        <p>beamer has an option <code class="language-plaintext highlighter-rouge">\begin{frame}[allowframebreaks]</code> that paginates overlong frames, necessary for bibtex bibliographies. It does not work in ltx-talk and I cannot find a replacement for this functionality. The test deck uses a tiny font for the bibliography but this is not very satisfactory and will not scale to larger bibliographies.</p>
      </li>
    </ul>
  </li>
  <li>
    <p>It’s good to see there are still people online crazy enough to think that <a href="https://github.com/0x0mer/CasNum">emulating a GameBoy using arbitrary precision arithmetic implemented purely through compass and straightedge constructions</a> is a good idea <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/116072185630948114">\(\mathbb{M}\)</a>).</span></p>
  </li>
  <li>
    <p>The cleveref apocalypse is on us <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/116075870316814327">\(\mathbb{M}\)</a>).</span> The cleveref LaTeX package is <a href="/blog/2025/09/15/linkage.html">long-unmaintained and breaks on recent LaTeX versions</a>, and <a href="https://info.arxiv.org/help/faq/texlive.html#changes-2025-cleveref">an arXiv update to TeXlive means that we can no longer keep limping along using old-enough versions of TeX to avoid the problem</a>. I haven’t yet tried it but <a href="https://tex.stackexchange.com/questions/733714/migration-from-cleveref-to-zref-clever">my bookmarked solution is to switch to zref-clever</a>.</p>
  </li>
</ul>]]></content><author><name>David Eppstein</name></author><summary type="html"><![CDATA[Morphing between a polyhedron and its dual using 3d-printed scissor-link edges (\(\mathbb{M}\)) raises the question of which polyhedra can be realized in this way. The linked paper by Liao, Kiper, and Krishnan suggests that they need to be midscribed and have equal-length edges to avoid binding during the morph. A much weaker but obvious necessary condition is that for each pair of dual edges the lengths are equal. But it is unclear which polyhedra have realizations with this property.]]></summary></entry><entry><title type="html">Linkage with bulging mussels</title><link href="https://11011110.github.io/blog/2026/01/31/linkage-bulging-mussels.html" rel="alternate" type="text/html" title="Linkage with bulging mussels" /><published>2026-01-31T18:15:00+00:00</published><updated>2026-01-31T18:15:00+00:00</updated><id>https://11011110.github.io/blog/2026/01/31/linkage-bulging-mussels</id><content type="html" xml:base="https://11011110.github.io/blog/2026/01/31/linkage-bulging-mussels.html"><![CDATA[<p>When I upgraded to MathJax 4.0 last October, I failed to notice that its mathematics expression explorer prevented the \(\mathbb{M}\)-links to my Mastodon posts from working. Mouseover would show the url for the link (which is why I didn’t notice) but if you clicked on it you couldn’t get anywhere unless you knew to disable the speech and Braille options in the explorer first. I’ve updated the site to disable those options by default so that the links work. You can still re-enable speech and Braille, in the context menu on any mathematical expression, under Accessibility → Speech → Generate and Accessibility → Braille → Generate (the same options you previously needed to disable to get links to work).</p>

<p>Anyway, on to the links:</p>

<ul>
  <li>
    <p><a href="https://sfba.social/@williampietri/115906504382302368">175 years of 3d viewing failure</a>, starting with the 1851 Brewer Stereoscope, in honor of the big mid-January layoffs and cuts at Meta’s Reality Labs and Metaverse divisions.</p>
  </li>
  <li>
    <p>The joys of data archaeology <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115912699192878834">\(\mathbb{M}\)</a>):</span> I happened to be looking up one of my old papers, “On triangulating three-dimensional polygons” (with Gill Barequet and Matt Dickerson, SoCG 1996 and CGTA 1998) when I realized that, although both published versions are open-access, the journal version has figures that have somehow been made completely illegible (all the grayscale is blacked out) and the conference version’s figures weren’t well reproduced either. My ftp links for alternative copies were long dead (nobody uses nor provides ftp any more). I do still have LaTeX source for the final version, but I couldn’t find all the figure files (probably buried as attachments in an associated unix-mail archive). And when I tried to compile it, even without having found all of the figures, the idiosyncratic LaTeX formatting from however long ago caused the text to keep switching mid-paragraph between two very different font sizes. Fortunately I was able to recover a preprint of the full journal version from one of those academic-web paper scrapers. The text is a little spindly because of the old formatting, but the figures are better. I <a href="https://ics.uci.edu/~eppstein/pubs/BarDicEpp.pdf">put it back online</a> and linked it from my publications page.</p>

    <p>The main result of the paper, by the way, is that it is NP-complete to test whether a 3d polygon has a non-self-intersecting triangulation. Knotted polygons obviously don’t, but the polygons from the NP-completeness reduction are unknotted. Unknotted curves always form the boundary of a disk, but triangulating this disk might require many internal vertices, and the triangulations studied in this paper are allowed to use only the given vertices.</p>
  </li>
  <li>
    <p><a href="https://www.science.org/content/article/purdue-blocks-admission-many-chinese-grad-students-unwritten-policy">Purdue rescinds departmental graduate acceptance letters to over 100 students</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115917671856703853">\(\mathbb{M}\)</a>,</span> <a href="https://news.ycombinator.com/item?id=46668801">via</a>), mostly from China, under an unwritten university policy formulated in response to Trump administration pressure. A faculty quote: “when we’ve asked to get it in writing, [administrators] say they haven’t done it because then somebody could sue us.” As usual don’t read comments on the Y.</p>
  </li>
  <li>
    <p><a href="https://spinoff.nasa.gov/Folding_NASA_Experience_into_an_Origamist%E2%80%99s_Toolkit">Nice profile of Robert Lang from 2024 by NASA</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115923079486042625">\(\mathbb{M}\)</a>),</span> explaining how his methods for designing the folding patterns for his artistic origami came out of methods he had been applying to pack components into integrated optical circuitry, and then later how he brought the same expertise back to NASA in work for them on packing components into space missions.</p>
  </li>
  <li>
    <p>Warm winter weather and a holiday weekend made for a busy day at our local beach <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115924694344691990">\(\mathbb{M}\)</a>).</span> <a href="https://ics.uci.edu/~eppstein/pix/cc10/">A few more photos</a>.</p>

    <p style="text-align:center"><img src="https://ics.uci.edu/~eppstein/pix/cc10/1-m.jpg" alt="Mussels exposed by the low tide dwarf the silhouetted beachgoers behind them at Crystal Cove State Park" style="border-style:solid;border-color:black;" /></p>
  </li>
  <li>
    <p><a href="https://doi.org/10.1016/0012-365X(89)90144-1">A surprising fact about polyhedral self-duality</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@robinhouston/115929002813972398">\(\mathbb{M}\)</a>):</span> There exist self-dual polyhedra for which the duality is not a self-inverse permutation of the set of vertices and faces. Robin Houston makes <a href="https://sketchfab.com/3d-models/jendrol-non-involutary-selfduality-complex-0f153bfb8b844768951a9d1043d556af">a 3d printable model</a>.</p>
  </li>
  <li>
    <p><a href="https://mathstodon.xyz/@johncarlosbaez/111937742267465166">An old Mastodon thread about triangular billiards</a> and a <a href="https://en.wikipedia.org/wiki/Triangular_billiards">new Wikipedia article about triangular billiards</a>. The question is: if you made a billiards table in an arbitrary triangular shape, would it always be possible to find a starting position and direction for a billiards ball to travel so that (with ideal reflection and no friction) it would return to the same position and direction after finitely many bounces? It’s solved for triangles whose angles are acute or rational multiples of \(\pi\), but open in general.</p>
  </li>
  <li>
    <p>Why do so many authors of enjoyable books end up being so problematic <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115952568531252154">\(\mathbb{M}\)</a>)?</span> J. K. Rowling, transphobe. Neil Gaiman, sexual predator. And now I’m saddened to learn that <a href="https://www.arriveateasterwine.com/about-4-1">R. A. Lafferty was a Holocaust denier</a>. (Via a Wikipedia discussion where another editor, who does believe the accusations against Lafferty, was falsely accused of white nationalism for enforcing Wikipedia’s strict sourcing standards in this case. The source above does not meet those standards, but it is good enough for me personally.)</p>
  </li>
  <li>
    <p><a href="https://www.nasonline.org/award/michael-and-sheila-held-prize/">The 2026 Michael and Sheila Held Prize goes to Irit Dinur, Subhash Khot, Guy Kindler, Dor Minzer and Muli Safra for their work on the 2-to-2 games theorem</a> <span style="white-space:nowrap">(<a href="https://fediscience.org/@fortnow/115945008244588646">\(\mathbb{M}\)</a>).</span></p>
  </li>
  <li>
    <p><a href="https://old.reddit.com/r/google/comments/1qn1hk1/google_has_seemingly_entirely_removed_search/">Temporary outage of full-text search in Google Books</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115962986069797362">\(\mathbb{M}\)</a>,</span> <a href="https://news.ycombinator.com/item?id=46769201">via</a>), only for books with preview rather than full view or snippet view. A few days later it started working again, as mysteriously as it stopped.</p>
  </li>
  <li>
    <p><a href="https://mathstodon.xyz/@highergeometer/115960436507116208">Calls for the IMU to publicly address the situation of the US hosting the International Congress of Mathematicians this year</a>. Meanwhile the <a href="https://smf.emath.fr/actualites-smf/icm-2026-motion-du-ca">French Mathematical Society has announced that they will not be participating</a>.</p>

    <p>As <a href="https://mathstodon.xyz/@11011110/115960462122277376">I wrote in response</a>: This is a big issue for academic conference planning in general, and not just for the ICM. My European friends are telling me that nobody they know there is currently willing to travel to the US and that for some of them there are institutional barriers in place (including issues of the security of institution-owned electronics) that prevent them from doing so. I have also talked to Canadians who have stopped attending conferences they would otherwise travel to in the US. Meanwhile there are also many people within the US who are unable to travel elsewhere for fear of not being allowed to return (which is not a strong argument for hosting international conferences in the US, but does raise problems for conference organizers elsewhere who might normally expect strong US attendance).</p>
  </li>
  <li>
    <p><a href="https://mathstodon.xyz/@MartinEscardo/115968695628504583">LICS breaks with ACM and IEEE, becoming an independently-run conference</a>.</p>
  </li>
  <li>
    <p>Domes made from rings of trapezoids topped by a pyramid of isosceles triangles have been seen in architecture since the construction of the Pantheon, and studied in geometry since della Francesca’s 15th-century <em><a href="https://en.wikipedia.org/wiki/De_quinque_corporibus_regularibus">De quinque corporibus regularibus</a></em>. But <a href="https://mathstodon.xyz/@robinhouston/115978991033970662">what are they called</a>? One possible answer: <a href="https://geo-dome.co.uk/article.asp?uname=trap_dome">trapezium domes</a>.</p>
  </li>
  <li>
    <p><a href="https://wikiedu.org/blog/2026/01/29/generative-ai-and-wikipedia-editing-what-we-learned-in-2025/">Generative AI and Wikipedia editing: What we learned in 2025</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115982680517442792">\(\mathbb{M}\)</a>,</span> <a href="https://en.wikipedia.org/w/index.php?title=Wikipedia_talk:WikiProject_AI_Cleanup&amp;curid=75478538&amp;diff=1335593937&amp;oldid=1335593653">via</a>), from the Wiki Education project, which mainly interfaces Wikipedia with academic course projects involving editing Wikipedia. Their takeaway message: “Wikipedia editors should never copy and paste the output from generative AI chatbots like ChatGPT into Wikipedia articles.”</p>

    <p>In more detail, they used Pangram to detect AI-written content, then checked it by hand (finding very few false positives!). They found only a low rate of hallucinated sources. However, more concerningly, in more than 2/3 of the flagged articles, they found sourced sentences whose sources did not contain the information in the sentence. More strongly, “For most of the articles Pangram flagged as written by GenAI, nearly every cited sentence in the article failed verification.” This also led to a high rate of wasted WikiEdu staff time cleaning up after the student-made AI additions (“far more time attempting to verify facts in AI-generated articles than if we’d simply done the research and writing ourselves”).</p>
  </li>
  <li>
    <p><a href="https://en.wikipedia.org/wiki/Staircase_paradox">The staircase paradox</a> gets <a href="https://en.wikipedia.org/wiki/Staircase_paradox">linked from BoingBoing</a>
 <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115992754088209701">\(\mathbb{M}\)</a>).</span></p>
  </li>
</ul>]]></content><author><name>David Eppstein</name></author><summary type="html"><![CDATA[When I upgraded to MathJax 4.0 last October, I failed to notice that its mathematics expression explorer prevented the \(\mathbb{M}\)-links to my Mastodon posts from working. Mouseover would show the url for the link (which is why I didn’t notice) but if you clicked on it you couldn’t get anywhere unless you knew to disable the speech and Braille options in the explorer first. I’ve updated the site to disable those options by default so that the links work. You can still re-enable speech and Braille, in the context menu on any mathematical expression, under Accessibility → Speech → Generate and Accessibility → Braille → Generate (the same options you previously needed to disable to get links to work).]]></summary></entry><entry><title type="html">Congratulations, Dr. Gangam!</title><link href="https://11011110.github.io/blog/2026/01/22/congratulations-dr-gangam.html" rel="alternate" type="text/html" title="Congratulations, Dr. Gangam!" /><published>2026-01-22T22:28:00+00:00</published><updated>2026-01-22T22:28:00+00:00</updated><id>https://11011110.github.io/blog/2026/01/22/congratulations-dr-gangam</id><content type="html" xml:base="https://11011110.github.io/blog/2026/01/22/congratulations-dr-gangam.html"><![CDATA[<p>I recently participated in the successful doctoral defense of <a href="https://ics.uci.edu/~rgangam/">Rohith Reddy Gangam</a>, a student of Vijay Vazirani at UC Irvine. His dissertation combined research from multiple papers on three topics: robust stable matching, robust popular matching, and fair core imputations.</p>

<p>In papers with Vijay, Tung Mai, and Nitya Raju (<a href="https://ics.uci.edu/~rgangam/Stable-FSTTCS22.pdf">FSTTCS 2022</a>, <a href="https://arxiv.org/pdf/2304.02590">GAIW 2024</a>, and <a href="https://arxiv.org/abs/2601.07959">arXiv 2026</a>), Rohith defines a matching as “robust” if it is a <a href="https://en.wikipedia.org/wiki/Stable_matching_problem">stable matching</a> for two different systems of preferences, and he studies what kinds of changes from one system of preferences to another make it possible to find these matchings. In a matching between workers and firms, if only the workers (or only the firms) change preferences, or if only one agent on the other side changes preferences, then the solutions remain well behaved, forming a <a href="https://en.wikipedia.org/wiki/Lattice_of_stable_matchings">distributive lattice</a> and an <a href="https://en.wikipedia.org/wiki/Stable_matching_polytope">integral polytope</a>. If two on each side change preferences, the solutions don’t have these nice properties, but he can still find a stable matching in a time bound whose exponent depends on the number of agents with changed preferences (complexity <span style="white-space:nowrap">class <a href="https://en.wikipedia.org/wiki/Parameterized_complexity#XP">\(\mathsf{XP}\)</a>).</span></p>

<p>Popular matching is a relaxation of stable matching, where agents can vote on whether they like one matching over another and a matching is popular if it is a <a href="https://en.wikipedia.org/wiki/Condorcet_method">Condorcet winner</a>: in each head-to-head vote against any other matching, a majority of the agents like it better or are indifferent to the change. In situations where the allowed matched pairs do not form a complete bipartite graph, different popular matchings can have different numbers of matched pairs, and the stable matchings have the fewest; instead one often wants to find a popular matching with the most pairs. Here, Rohith has a paper with Martin Bullinger and Parnian Shahkar (<a href="https://www.ifaamas.org/Proceedings/aamas2024/pdfs/p225.pdf">AAMAS 2024</a>, adding Gergely Csáji in an <a href="https://arxiv.org/abs/2401.12653">updated arXiv preprint</a>) showing that a robust solution can be found in polynomial time when one agent changes preferences, but that the problem is already <span style="white-space:nowrap">\(\mathsf{NP}\)-complete</span> with changes from two agents, whether on the same side or opposite.</p>

<p>The third part was about the <a href="https://en.wikipedia.org/wiki/Core_(game_theory)">cores</a> of <a href="https://en.wikipedia.org/wiki/Cooperative_game_theory">cooperative games</a>: some “valuation” assigns value to subsets of agents (“coalitions”), and the goal is to split the value of the whole set of players among all players in such a way that no smaller coalition could get more value by playing separately. In one of the two games that Rohith studied, the agents are edges in a maximum flow instance, and the value of a coalition is the amount of flow that can be carried using only its edges. In another, an unweighted graph with a marked root vertex has an agent for each non-root vertex, and the agents must share the costs of a minimum-weight tree connecting them to the root. As an earlier paper of Vijay showed, merely finding a value assignment (“imputation”) in the core can be unfair to some players, but Vijay defined a notion of an equitable imputation that avoids this problem. Here Rohith has 2024 and 2025 arXiv preprints <a href="https://arxiv.org/abs/2403.06037">with Naveen Garg, Parnian Shahkar, and Vijay</a> and <a href="https://arxiv.org/abs/2502.01914">with Shayan Taherijam and Vijay</a>. He didn’t have time to provide much detail about these in his thesis defense, but the main idea is that for these games it is infeasible to find an equitable imputation in the core, but one can find one efficiently in a restricted subset of the core, the “Owen set” defined as the optimal solution set of a dual linear program.</p>

<p>With his doctorate completed, Rohith is going into industry, working for a Bay Area startup in on-call debugging.</p>

<p>Congratulations, Rohith!</p>

<p>(<a href="https://mathstodon.xyz/@11011110/115943049527383634">Discuss on Mastodon</a>)</p>]]></content><author><name>David Eppstein</name></author><summary type="html"><![CDATA[I recently participated in the successful doctoral defense of Rohith Reddy Gangam, a student of Vijay Vazirani at UC Irvine. His dissertation combined research from multiple papers on three topics: robust stable matching, robust popular matching, and fair core imputations.]]></summary></entry><entry><title type="html">Linkage</title><link href="https://11011110.github.io/blog/2026/01/15/linkage.html" rel="alternate" type="text/html" title="Linkage" /><published>2026-01-15T18:06:00+00:00</published><updated>2026-01-15T18:06:00+00:00</updated><id>https://11011110.github.io/blog/2026/01/15/linkage</id><content type="html" xml:base="https://11011110.github.io/blog/2026/01/15/linkage.html"><![CDATA[<ul>
  <li>
    <p><a href="https://www.quantamagazine.org/a-new-bridge-links-the-strange-math-of-infinity-to-computer-science-20251121/">Bridges between descriptive set theory and the theory of distributed computing through coloring geometric graphs</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115823398822857012">\(\mathbb{M}\)</a>),</span> <em>Quanta</em>, based on Anton Bernshteyn’s “Distributed algorithms, the Lovász Local Lemma, and descriptive combinatorics”, <a href="https://doi.org/10.1007/s00222-023-01188-3"><em>Inventiones Math.</em> 2023</a>.</p>
  </li>
  <li>
    <p><a href="https://mathstodon.xyz/@dpiponi/115770670004578550">Icosahedral dice from Ptolemaic Egypt in the Met</a>. These may be among the ones Knuth discussed in his 2016 Christmas lecture <a href="https://www.youtube.com/watch?v=DjZB9HvddQk">Hamiltonian paths in antiquity</a> noting that in many such dice the alphabetical order of faces describes a Hamiltonian path.</p>
  </li>
  <li>
    <p><a href="https://mathstodon.xyz/@johncarlosbaez/115825894455127049">Dante’s cosmology as a 3-sphere</a>, the three-dimensional topological space analogous to the two-dimensional surfaces of spheres. For Dante, the universe was arranged as a series of concentric spheres, with the spheres shrinking inwards from the earth’s surface to Satan at the bottom level of Hell, but then shrinking outwards again to God at the center point of the heavens. That’s a 3-sphere!</p>
  </li>
  <li>
    <p><a href="https://en.wikipedia.org/wiki/Conway%27s_99-graph_problem">Conway’s 99-graph problem</a> and the Paley 9-graph <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@mjd/115825947745430874">\(\mathbb{M}\)</a>).</span> The Paley 9-graph has the property that each two vertices belong to either a unique triangle or a unique 4-cycle (but not both). There are only six possibilities for the numbers of vertices in such a graph, for which only three are known to work: 3, 9, and 243. The 99-graph problem is the first unsolved case.</p>
  </li>
  <li>
    <p><a href="https://martin.kleppmann.com/2011/03/07/accounting-for-computer-scientists.html">Basic accounting is just graph theory</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115851363757442696">\(\mathbb{M}\)</a>,</span> <a href="https://news.ycombinator.com/item?id=46467651">via</a>).</p>
  </li>
  <li>
    <p><a href="https://dailynous.com/2026/01/06/texas-am-bans-plato/">Texas A&amp;M University bans philosophy professor from covering Plato</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115855119453609703">\(\mathbb{M}\)</a>,</span> <a href="https://boingboing.net/2026/01/07/texas-am-deems-plato-unnecessary-for-approved-thought.html">via</a>), deeming his Symposium as containing forbidden “race ideology and gender ideology”.</p>
  </li>
  <li>
    <p><a href="https://mathstodon.xyz/@dpiponi/115861425480307884">Translating machine learning into smoothed particle hydrodynamics</a>. Denoising autoencoders, that convolve point samples with a Gaussian in order to be able to define and calculate gradients of density, use the same trick as <a href="https://en.wikipedia.org/wiki/Smoothed-particle_hydrodynamics">particle-based simulation of physical systems</a> for which the particles used in the simulation are far coarser than the ones being simulated.</p>
  </li>
  <li>
    <p><a href="https://venezuela-news.com/ministra-jimenez-denuncia-destruccion-ivic-ataque-militar-eeuu-venezuela/">Venezuelan news reports that the Mathematical Center of the Venezuelan Institute for Scientific Research was destroyed by the recent US invasion</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@matematiflo/115855041303545828">\(\mathbb{M}\)</a>).</span> In Spanish.</p>
  </li>
  <li>
    <p><a href="https://mathstodon.xyz/@robinhouston/115768968449833623">A relation symbol not in Unicode</a>: the kite, from a part of <a href="https://arxiv.org/abs/math/0411400">Ziegler’s lecture notes on convex polytopes</a> involving circle packing.</p>
  </li>
  <li>
    <p><a href="https://pdimagearchive.org/images/228566a8-15af-41bd-b006-f1c55b0a6e59">Illustration by Augustin Hirschvogel, from <em>Geometria</em> (1543)</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115878522152225027">\(\mathbb{M}\)</a>).</span> The illustration shows a tetrahedron and octahedron, their inscription within spheres, and their unfolded nets. This is the publication that gave us the word “<a href="https://en.wikipedia.org/wiki/Net_(polyhedron)">net</a>” for an unfolded polyhedron.</p>
  </li>
  <li>
    <p><a href="https://archive.org/details/paperfolding0000unse"><em>Paper Folding for the Mathematics Class</em></a>, Donovan A. Johnson, NCTM 1957, and <a href="https://archive.org/details/paper-folding-a.-t.-olsen"><em>Mathematics through Paper Folding</em></a>, Alton T. Olson, NCTM 1976 <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@foldworks/115884123932945999">\(\mathbb{M}\)</a>).</span> Taken from a discussion of a school homework problem asking students to visualize how a net for a cube folds up, about which my feeling is that as a way of encouraging students to play with paper and folding, it’s a fine problem, but if they’re expected to do it only through mental visualization it’s very unfair.</p>
  </li>
  <li>
    <p><a href="https://mathstodon.xyz/@DaniLaura/115888403092190067">Packings of circles with relative radii 1, 2, and 3</a>. As well as fitting inside a bigger circle in various ways, these also form infinite packings of the plane that can be periodic or that can have a limited amount of non-periodicity.</p>
  </li>
  <li>
    <p><a href="https://www.ams.org/publicoutreach/math-imagery/2026-exhibition">JMM 2026 Mathematical Art Exhibition</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115895571000317585">\(\mathbb{M}\)</a>).</span> from the Joint Mathematics Meetings last week in Washington DC. They <a href="https://www.ams.org/publicoutreach/math-imagery/math-imagery">selected three works for awards</a>: “Square Root of Two” by David Reimann, an image of a branching structure playing with the ideas of a tree root, the diagonal of a square, and the decimal representation of \(\sqrt2\); “A Knitted, Braided Table of Knots” by Katherine Vance, representing braid diagrams of knots by actual braided textiles; and “Hexastix Knot 4,24”, a glass structure by Anduriel Widmark.</p>
  </li>
  <li>
    <p><a href="https://mathstodon.xyz/@gro-tsen.bsky.social@bsky.brid.gy/115889243525376215">On convex 4-polytopes that cannot be realized with rational coordinates</a> (<a href="https://bsky.app/profile/did:plc:tnde52rcbqxotp7a2cl7bmxu/post/3mcd7ahxbbk2h">see also</a>; I’ve posted both Mastodon and Bluesky links because the conversations there continued disjointly). In his 1996 book <em>Realization Spaces of Polytopes</em>, Jürgen Richter-Gebert constructed an example with 33 vertices. <a href="https://arxiv.org/abs/1803.05205">Moritz Firsching has enumerated 274148 combinatorial types of 9-vertex 4-polytopes</a> and found rational coordinates for all of them, so any irrational 4-polytope needs at least 10 vertices. There is still a big gap between 10 and 33, though.</p>
  </li>
</ul>]]></content><author><name>David Eppstein</name></author><summary type="html"><![CDATA[Bridges between descriptive set theory and the theory of distributed computing through coloring geometric graphs (\(\mathbb{M}\)), Quanta, based on Anton Bernshteyn’s “Distributed algorithms, the Lovász Local Lemma, and descriptive combinatorics”, Inventiones Math. 2023.]]></summary></entry><entry><title type="html">Invertible Bloom antimatroids</title><link href="https://11011110.github.io/blog/2026/01/05/invertible-bloom-antimatroids.html" rel="alternate" type="text/html" title="Invertible Bloom antimatroids" /><published>2026-01-05T18:49:00+00:00</published><updated>2026-01-05T18:49:00+00:00</updated><id>https://11011110.github.io/blog/2026/01/05/invertible-bloom-antimatroids</id><content type="html" xml:base="https://11011110.github.io/blog/2026/01/05/invertible-bloom-antimatroids.html"><![CDATA[<p>I’ve written here many times about <a href="/blog/2025/07/07/ready-lists.html">ready lists</a>, the familiar programming pattern in which you collect actions to be performed and pull them off the list one at a time to perform them, and about antimatroids, the algebraic structure generated by the orderings of events that you can get in this way. Here’s another example that I didn’t notice until recently, despite it being prominent in my own publications: the peeling sequences of invertible Bloom filters and invertible Bloom lookup tables.</p>

<p>An invertible Bloom filter maintains a set or multiset of keys, subject to dynamic insertions and removals, in a fixed amount of memory proportional to its capacity, the number of keys it can store. You can insert more keys than its capacity, and then delete them again; as long as the deletions bring it back below the capacity, you can recover all the remaining keys in the set (with high probability). An invertible Bloom lookup table differs from the filter version of the data structure only in that each key is associated with a value (which must be known both when it is inserted and when it is deleted) and these values can be recovered with the keys. These data structures come from the following publications:</p>

<ul>
  <li>
    <p>D. Eppstein, and M. T. Goodrich (2011), “Space-efficient straggler identification in round-trip data streams via Newton’s identities and invertible Bloom filters”, <a href="https://doi.org/10.1109/TKDE.2010.132"><em>IEEE Trans. Knowledge and Data Engineering</em> 23 (2): 297–306</a>, <a href="https://arxiv.org/abs/0704.3313">arXiv:0704.3313</a>. (A preliminary version of this was presented at WADS 2007.)</p>
  </li>
  <li>
    <p>D. Eppstein, M. T. Goodrich, F. Uyeda, and G. Varghese (2011), “<a href="https://ics.uci.edu/~eppstein/pubs/EppGooUye-SIGCOMM-11.pdf">What’s the difference? Efficient set reconciliation without prior context</a>”, <a href="https://doi.org/10.1145/2018436.2018462"><em>Proc. ACM SIGCOMM</em>, pp. 218–229</a>.</p>
  </li>
  <li>
    <p>M. T. Goodrich and M. Mitzenmacher (2011), “Invertible Bloom lookup tables”, <a href="https://doi.org/10.1109/Allerton.2011.6120248"><em>Proc. 49th Allerton Conf.</em>, pp. 792–799</a>, <a href="https://arxiv.org/abs/1101.2245">arXiv:1101.2245</a>.</p>
  </li>
</ul>

<p>The data structure consists of a collection of cells (a constant factor more of them than its capacity). Each key or key–value pair is stored in a constant number of cells; a hash function maps each key to its cells. Each cell stores between two and four pieces of information: in the most basic version, these are the number of keys stored in that cell and the sum of the keys stored in it. Other versions add a sum of checksums of the keys stored in it, and a sum of values stored in it, all maintained using modular arithmetic so that they will remain accurate and not overflow even for a cell storing many keys. To insert a key we simply add it to each of the cells the hash function maps it to. Deleting a key is the same, but subtracting rather than adding.</p>

<p>A cell is called “pure” if it holds only one key (possibly multiple times). For sets this can be detected by checking that the count value of the cell equals one. Variants that allow multisets and use checksums can instead divide the cell’s sum of keys by its count (using arithmetic modulo a large prime) to give the key that would be stored there if it were indeed pure, and then check whether this matches the cell’s sum of checksums. To recover all keys, repeatedly find a pure cell and delete its key, until all cells are empty. When the number of keys is below the capacity, this peeling process works with high probability.</p>

<p>Here’s where the ready list / antimatroid idea comes in. A pure cell stays pure until its key is peeled. So we can implement the peeling process by maintaining a ready list of keys in pure cells, and then repeatedly peeling one of those keys. When we peel a key, we check whether this creates any new pure cells, and if so add their keys to the ready list (if they were not already there). Because a key is added to the ready list based only on which other keys have already been peeled (and not on the order in which they were peeled), and stays there until it is peeled itself, the orders in which keys can be peeled define an antimatroid.</p>

<p>An immediate consequence, easy to prove directly for this process but true for all antimatroids, is that it doesn’t matter what order you peel the keys in. If there is a peeling order that works to peel all keys, then every peeling order works. If you get stuck with some subset of keys peeled, then every peeling order will get stuck after exactly the same subset.</p>

<p>Not every antimatroid can be generated in this way. The invertible Bloom antimatroids have the following special property: the condition for a key to become ready for peeling is a disjunction (a boolean and) of a constant number of conjunctions (boolean ors). In terms of the data structure, a key is ready to peel when one of the constant number of cells that it is mapped to becomes pure, and this happens when all of the other keys in the same cell have already been peeled. For the same reason, each key can free up at most a constant number of other keys when it is peeled. Another special property of an invertible Bloom antimatroid is that, when it is completely decodable, you can choose the last two keys in either order. They both map to the same number of cells, so they both have the same number of pure cells and the same number of cells that they share with the other key. If no other keys are left, and one of the two has a pure cell, so does the other one.</p>

<p>(<a href="https://mathstodon.xyz/@11011110/115845986597442380">Discuss on Mastodon</a>)</p>]]></content><author><name>David Eppstein</name></author><summary type="html"><![CDATA[I’ve written here many times about ready lists, the familiar programming pattern in which you collect actions to be performed and pull them off the list one at a time to perform them, and about antimatroids, the algebraic structure generated by the orderings of events that you can get in this way. Here’s another example that I didn’t notice until recently, despite it being prominent in my own publications: the peeling sequences of invertible Bloom filters and invertible Bloom lookup tables.]]></summary></entry><entry><title type="html">Linkage</title><link href="https://11011110.github.io/blog/2025/12/31/linkage.html" rel="alternate" type="text/html" title="Linkage" /><published>2025-12-31T16:51:00+00:00</published><updated>2025-12-31T16:51:00+00:00</updated><id>https://11011110.github.io/blog/2025/12/31/linkage</id><content type="html" xml:base="https://11011110.github.io/blog/2025/12/31/linkage.html"><![CDATA[<ul>
  <li>
    <p><a href="https://www.youtube.com/watch?v=nCg3aXn5F3M">The code that revolutionized orbital simulation</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@timhutton/115702785445026314">\(\mathbb{M}\)</a>),</span> video by braintruffle on how updating velocity and position sequentially rather than in parallel causes orbital simulations to preserve symplectic invariants and thereby become much more stable.</p>
  </li>
  <li>
    <p><a href="https://www.bbc.com/future/article/20251212-how-maths-can-help-you-wrap-your-presents-better">The mathematics of optimal gift-wrapping</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115739314206564199">\(\mathbb{M}\)</a>,</span> <a href="https://www.metafilter.com/211424/Mathematical-Wrap-Artists">via</a>). First, imagine a cubical gift…</p>
  </li>
  <li>
    <p><a href="https://eudml.org/doc/143977">How to cage an egg</a>, a well-known paper by Oded Schramm on polyhedra with edges tangent to a given smooth convex body, leaves <a href="https://mathstodon.xyz/@robinhouston/115740428242806335">Robin Houston asking: should you cage your eggs?</a></p>
  </li>
  <li>
    <p><a href="https://mathstodon.xyz/@hovav@infosec.exchange/115731038877369784">ACM starts showing unwanted and unlicensed AI summaries on its digital library publications</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115741643263255901">\(\mathbb{M}\)</a>,</span> <a href="https://anil.recoil.org/notes/acm-ai-recs">see also</a>, <a href="https://lobste.rs/s/hlqzhx/dear_acm_you_re_doing_ai_wrong_you_can_still">via</a>).</p>
  </li>
  <li>
    <p><a href="https://www.cgt-journal.org/index.php/cgt"><em>Computing in Geometry and Topology</em></a>, a diamond open access journal in computational geometry and computational topology that I co-founded a few years ago, is <a href="https://dblp.dagstuhl.de/db/journals/cgt/index.html">now listed in DBLP</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115747971382857730">\(\mathbb{M}\)</a>).</span></p>
  </li>
  <li>
    <p>This season’s green starts to come back to the UCI Ecological Preserve, after the usual dry brown summer and fall <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115750866517635909">\(\mathbb{M}\)</a>).</span></p>

    <p style="text-align:center"><img src="https://www.ics.uci.edu/~eppstein/pix/DecemberGreen/DecemberGreen-m.jpg" alt="A view looking south at sunset from the northwest corner of the UC Irvine Ecological preserve. A footpath extands from the lower left towards the San Joaquin Hills in the upper right, through bright green new growth of low plants, with a rebar-and-wire fence to the right of the path separating the preserve from an industrial park. Another hill rises above the path to the left, with dry brown mustard stalks on its lower slopes and live oaks rising dark green above them. The sky shades from dark blue at the top left to yellow towards the horizon on the right, with scattered pink sunset clouds." style="border-style:solid;border-color:black;width:100%;max-width:720px" /></p>
  </li>
  <li>
    <p>As a follow-up to <a href="/blog/2025/12/13/regular-link-irregular.html">my recent post constructing regular link-irregular graphs</a>, Jannis Harder proves that <a href="https://jix.one/uniformly-random-high-degree-regular-graphs-are-asymptotically-almost-surely-link-irregular/">almost all dense random regular graphs are link-irregular</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@jix/115758885475286381">\(\mathbb{M}\)</a>).</span></p>
  </li>
  <li>
    <p><a href="https://github.com/google-deepmind/formal-conjectures/pull/1310">Lean formalization</a> of <a href="https://users.encs.concordia.ca/~chvatal/conjecture.html">Chvátal’s conjecture on stars vs intersecting subfamilies in independence systems</a> <span style="white-space:nowrap">(<a href="https://social.wub.site/@david/115650006449012815">\(\mathbb{M}\)</a>).</span></p>
  </li>
  <li>
    <p><a href="https://mathstodon.xyz/@ddrake/115758932734708420">Bottom-up power pylon looks like an origami crease pattern</a>.</p>
  </li>
  <li>
    <p><a href="https://arxiv.org/abs/2512.19659">A genus-zero surface with bounded curvature enclosing less volume than the unit sphere</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@highergeometer/115771558947681413">\(\mathbb{M}\)</a>),</span> called the “amogus surface” in the Mastodon post but sadly not in Matthew Bolan’s arXiv preprint.</p>
  </li>
  <li>
    <p><a href="https://en.wikipedia.org/wiki/Quadratrix_of_Hippias">Quadratrix of Hippias, now a Good Article on Wikipedia</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115787743170966140">\(\mathbb{M}\)</a>).</span> This is a curve swept out by the crossing point of two moving lines, one rotating and one translating. The ancient Greeks discovered that if you have a copy of this curve already, you can use it to trisect angles and construct a square with the area of a given circle, two classical geometry problems that are impossible with compass and straightedge alone. <a href="/blog/2025/03/22/ancient-greek-mathematics.html">As I wrote on an earlier blog post</a>, you can also see curves like this when you take a photo of a spinning airplane propellor using a camera with a rolling shutter:</p>

    <p style="text-align:center"><a href="https://commons.wikimedia.org/wiki/File:Rolling_shutter_n%C3%A4idis.png"><img src="/blog/assets/2025/distorted-propeller.png" alt="Rolling shutter phenomenon on a grounded Yak TD, CC-BY 2.0 image by Soren Ragsdale, 9 January 2009, https://commons.wikimedia.org/wiki/File:Rolling_shutter_n%C3%A4idis.png" style="border-style:solid;border-color:black;" /></a></p>
  </li>
  <li>
    <p><a href="https://ctx.graphics/terminal/ametameric/">Ametameric</a> <span style="white-space:nowrap">(<a href="https://mastodon.xyz/@pippin/115701056109367528">\(\mathbb{M}\)</a>),</span> a 16-color accessible color palette intended for syntax-colored text, with nice visualization of all pairwise color contrasts under different color vision deficiencies.</p>
  </li>
  <li>
    <p><a href="https://www.cnrs.fr/en/update/cnrs-breaking-free-web-science">CNRS dumps Clarivate’s bibliographic databases including Web of Science and Journal Citation Reports</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@johncarlosbaez/115650620587902171">\(\mathbb{M}\)</a>),</span> explaining “We have worked for free to lock ourselves collectively into a paid system, but no more!”</p>
  </li>
  <li>
    <p>Young redwoods near Big River Beach <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115806057884991744">\(\mathbb{M}\)</a>).</span></p>

    <p style="text-align:center"><img src="https://www.ics.uci.edu/~eppstein/pix/brb25/4-m.jpg" alt="The late afternoon sun backlights a stand of young coast redwood trees on the north bank of the Big River near Mendocino, California. Ferns grow on the forest floor below them. Through the trees can be seen glimpses of the river and the tree-covered ridge rising behind its south bank." style="border-style:solid;border-color:black;width:100%;max-width:720px" /></p>
  </li>
  <li>
    <p><a href="https://dotat.at/@/2025-12-25-shuffle.html">Doubly dual shuffles</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@svat/115794889200270140">\(\mathbb{M}\)</a>),</span> four different ways of implementing the Fischer–Yates random permutation algorithm. The discussion goes into why you might choose one over another depending on whether you want to leave items in place after they’re permuted once, or whether the stream of items to be permuted has unknown length.</p>
  </li>
  <li>
    <p><a href="https://arxiv.org/abs/2512.20392">Disproof of the odd Hadwiger conjecture</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@DavidWood/115783214907901459">\(\mathbb{M}\)</a>),</span> new preprint by Marcus Kühn, Lisa Sauermann, Raphael Steiner, and Yuval Wigderson. This is the one on the relation between clique minors (with paths of odd length between designated seed vertices) and coloring. They construct graphs for which the chromatic number is higher than the odd clique minor size by a factor of roughly \(\tfrac32\).</p>
  </li>
</ul>]]></content><author><name>David Eppstein</name></author><summary type="html"><![CDATA[The code that revolutionized orbital simulation (\(\mathbb{M}\)), video by braintruffle on how updating velocity and position sequentially rather than in parallel causes orbital simulations to preserve symplectic invariants and thereby become much more stable.]]></summary></entry><entry><title type="html">Winter break linkage</title><link href="https://11011110.github.io/blog/2025/12/15/winter-break-linkage.html" rel="alternate" type="text/html" title="Winter break linkage" /><published>2025-12-15T17:11:00+00:00</published><updated>2025-12-15T17:11:00+00:00</updated><id>https://11011110.github.io/blog/2025/12/15/winter-break-linkage</id><content type="html" xml:base="https://11011110.github.io/blog/2025/12/15/winter-break-linkage.html"><![CDATA[<ul>
  <li>
    <p><a href="https://www.timeshighereducation.com/news/elsevier-boycott-looms-down-under">Elsevier is resisting a push by Australian and NZ academics to include its journals in a uniform open-access agreement</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115645733296879272">\(\mathbb{M}\)</a>,</span> <a href="https://en.wikipedia.org/wiki/Wikipedia_talk:WikiProject_Academic_Journals">via</a>), and especially resisting providing “pricing transparency”. The situation may result in a boycott. As the article notes, the situation resembles past breakdowns in negotiations with Elsevier and ensuing boycotts including one from 2018 to 2023 in Germany and another from 2019 to 2021 in California.</p>
  </li>
  <li>
    <p><a href="https://conwaylife.com/forums/viewtopic.php?&amp;p=222136#p222136">Vladan Majerech has found a one-dimensional spaceship in the Game of Life</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@robinhouston/115653611515458376">\(\mathbb{M}\)</a>).</span> It’s \(3707300605\) cells wide and moves at <span style="white-space:nowrap">speed \(2c/133076755768\).</span></p>
  </li>
  <li>
    <p><a href="https://blog.computationalcomplexity.org/2025/12/finding-papers-before-web.html">Finding papers before the web</a> <span style="white-space:nowrap">(<a href="https://fediscience.org/@fortnow/115664195156527591">\(\mathbb{M}\)</a>).</span></p>
  </li>
  <li>
    <p><a href="https://thomasahle.com/ries/">RIES Inverse Symbolic Calculator</a> <span style="white-space:nowrap">(<a href="https://xoxo.zone/@scruss/115645627390023973">\(\mathbb{M}\)</a>).</span> Give it decimals like \(1.386\) and it will generate equations for which these might be approximate solutions, like (in this case) <span style="white-space:nowrap">\(e^x=4\).</span></p>
  </li>
  <li>
    <p><a href="https://boingboing.net/2025/12/02/8th-grader-designs-origami-that-can-hold-over-9000-times-its-own-weight.html">14-year-old wins prize for origami that can hold 10,000 times its own weight</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115674048232261935">\(\mathbb{M}\)</a>,</span> <a href="https://www.sciencealert.com/14-year-old-wins-prize-for-origami-that-can-hold-10000-times-its-own-weight?utm_source=globalmuseum">see also</a>). It’s a Miura-ori, but with its shape parameters optimized for load bearing.</p>
  </li>
  <li>
    <p><em>Examples and Counterexamples in Graph Theory</em> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@johncarlosbaez/115677612210126371">\(\mathbb{M}\)</a>),</span> 1978 book by Michael Capobianco and John C. Molluzzo. I’m avoiding reposting the book link because it has all the appearance of being a pirate haven, and the linked discussion thread includes reports of malware on the site (not in the book). But with care it might lead to a free pdf copy.</p>
  </li>
  <li>
    <p><a href="https://www.cnrs.fr/en/node/12218">Diamond open-access publishing initiative from CNRS and the French Academy of Sciences</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@kangmeister/115662883527481560">\(\mathbb{M}\)</a>).</span></p>
  </li>
  <li>
    <p><a href="https://tldr.nettime.org/@aramba/115632618990933902">I hope this email finds you well</a>. Crank-driven mechanical autotyper by Stoccafisso Design.</p>
  </li>
  <li>
    <p>Congratulations to mathstodoner <a href="https://mathstodon.xyz/@csk">@csk</a> (Craig S. Kaplan) for <a href="https://www.acm.org/media-center/2025/december/distinguished-members-2025">being named an ACM Distinguished Member</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115696544020252782">\(\mathbb{M}\)</a>)!</span></p>
  </li>
  <li>
    <p><a href="https://github.com/zenorogue/hyperrogue/blob/master/tessellations/sample/aperiodic_pentagons.tes">An aperiodic tiling of the hyperbolic plane by convex pentagons, found by Toimine</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@zenorogue/115700497585089211">\(\mathbb{M}\)</a>),</span> breaking the previous record for smallest edge length of an equilateral convex hyperbolic tile held by 120° heptagons.</p>
  </li>
  <li>
    <p>This week’s espresso-making epiphany <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115708892360767254">\(\mathbb{M}\)</a>):</span> I had been using double-walled glass espresso cups, but a few days ago they happened to all be dirty and I switched to a set of thick-walled low round ceramic demitasses that I also had. The result was much more flavorful espresso, repeatably. I’m guessing that the issue is temperature. The espresso comes out of its machine too hot to drink, and cools down quite slowly in the glasses, but more quickly in the demitasses (I assume because of the heat capacity and conductance of the materials; they are of roughly equal sizes). But most online sources say that our sense of taste works best for foods that are cool to lukewarm (near body temperature). Obviously I don’t want cool espresso but there’s plenty of room between its starting and optimal temperatures. So with the glasses I wasn’t waiting long enough to start drinking and the espresso was still too hot; with the demitasses it cools enough for me to drink and enjoy it immediately.</p>
  </li>
  <li>
    <p><a href="https://doi.org/10.1093/reseval/rvv041">The Impact Factor as a measuring tool of the prestige of the journals in research assessment in mathematics</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@highergeometer/115720219188467720">\(\mathbb{M}\)</a>),</span> 2016 paper by Ferrer-Sapena et al. Conclusion: trying to rank mathematics journals by their impact factors is meaningless and unstable.</p>
  </li>
  <li>
    <p><a href="https://research.google/blog/gemini-provides-automated-feedback-for-theoretical-computer-scientists-at-stoc-2026/">Google’s blog post about their experiment in providing STOC submitters with pre-deadline AI-generated feedback on their submissions</a> <span style="white-space:nowrap">(<a href="https://mathstodon.xyz/@11011110/115724977830043581">\(\mathbb{M}\)</a>).</span> It’s obviously quite promotionally written, so take with however big a grain of salt you prefer, but it does have quotes from submitters claiming that it was helpful for them. This sort of thing (critiquing rather than generating content) seems to me a much less problematic use of AI in research because the decision on what to do with the critique is left to the expert.</p>
  </li>
</ul>]]></content><author><name>David Eppstein</name></author><summary type="html"><![CDATA[Elsevier is resisting a push by Australian and NZ academics to include its journals in a uniform open-access agreement (\(\mathbb{M}\), via), and especially resisting providing “pricing transparency”. The situation may result in a boycott. As the article notes, the situation resembles past breakdowns in negotiations with Elsevier and ensuing boycotts including one from 2018 to 2023 in Germany and another from 2019 to 2021 in California.]]></summary></entry><entry><title type="html">Regular link-irregular graphs</title><link href="https://11011110.github.io/blog/2025/12/13/regular-link-irregular.html" rel="alternate" type="text/html" title="Regular link-irregular graphs" /><published>2025-12-13T23:31:00+00:00</published><updated>2025-12-13T23:31:00+00:00</updated><id>https://11011110.github.io/blog/2025/12/13/regular-link-irregular</id><content type="html" xml:base="https://11011110.github.io/blog/2025/12/13/regular-link-irregular.html"><![CDATA[<p>In two recent works, Akbar Ali, Gary Chartrand, and Ping Zhang conjecture that there is no regular link-irregular graph. Here “regular” means all vertices have equal degrees and “link-irregular” means all vertices induce non-isomorphic neighborhoods. In support of this conjecture, they show that it is true for degrees three and four. However, the probabilistic method shows this to be false for sufficiently high degrees.</p>

<p>The two works are:</p>

<ul>
  <li>
    <p><em>Irregularity in Graphs</em>, Springer Briefs in Mathematics, 2021, <a href="https://doi.org/10.1007/978-3-030-67993-4">doi:10.1007/978-3-030-67993-4</a>, Conjecture 2.1, page 25</p>
  </li>
  <li>
    <p>“On link-irregular graphs”, <em>Discussiones Mathematicae Graph Theory</em> 45 (2025) 95–110, <a href="https://doi.org/10.7151/dmgt.2521">doi:10.7151/dmgt.2521</a>, Conjecture 2.9, p. 106.</p>
  </li>
</ul>

<p>I’m pretty sure sufficiently large and high-degree uniformly random regular graphs provide counterexamples but those are difficult to prove things about. Instead I have the following more complicated construction which allows us to preserve enough of the independence of a uniform (non-regular) random graph to make the analysis go through. The short version is that we take two random graphs, and add just enough edges connecting the two to combine them into a single regular graph. The neighborhoods of the vertices in the resulting bicameral graph are so big and sufficiently non-overlapping that any two isomorphic neighborhoods would lead to pairs of disjoint isomorphic induced subgraphs much larger than the ones that can be found in random graphs.</p>

<p>In more detail, choose two uniformly-random <span style="white-space:nowrap">\(n\)-vertex</span> graphs \(G_1\) <span style="white-space:nowrap">and \(G_2\).</span> Let \(R\) be the event that:</p>

<ul>
  <li>
    <p>Both \(G_1\) <span style="white-space:nowrap">and \(G_2\)</span> have equal numbers of edges,</p>
  </li>
  <li>
    <p>All vertices of both graphs have degree within \(O(\sqrt{n\log n})\) <span style="white-space:nowrap">of \(n/2\),</span> and</p>
  </li>
  <li>
    <p>All pairs of vertices in the same graph have at most \(n/4+O(\sqrt {n\log n})\) shared neighbors.</p>
  </li>
</ul>

<p>The first of these conditions happens with probability <span style="white-space:nowrap">\(\Omega(\tfrac1n)\),</span> which we are going to consider to be a somewhat large probability. The other two conditions fail with a probability that (by Chernoff bounds) can be made smaller than any chosen polynomial by adjusting the constant in the <span style="white-space:nowrap">\(O\)-notation.</span> This is a small enough failure probability that <span style="white-space:nowrap">condition \(R\)</span> happens with overall probability <span style="white-space:nowrap">\(\Omega(\tfrac1n)\).</span></p>

<p>If event \(R\) happens, then \(G_1\) <span style="white-space:nowrap">and \(G_2\)</span> have equal numbers of vertices and edges, and would need to be augmented by the same number of incidences to bring all vertex degrees up to equal the maximum degree. Choose a target <span style="white-space:nowrap">degree \(\Delta\)</span> larger than this maximum degree <span style="white-space:nowrap">by \(O(\sqrt {n\log n})\),</span> so that all vertices have roughly the same number of missing incidences (the difference between \(\Delta\) and the vertex degree in \(G_1\) <span style="white-space:nowrap">or \(G_2\)).</span> Think of each of these missing incidences as a “terminal”, attached to its vertex. Order the terminals in \(G_1\) so that each vertex has its terminals consecutive in the ordering, and order the terminals in \(G_2\) so that each two terminals from the same vertex are \(\Omega(n)\) positions apart. Pairing up the terminals from \(G_1\) <span style="white-space:nowrap">and \(G_2\),</span> in these two orders, gives a (nonrandom) set of edges connecting \(G_1\) <span style="white-space:nowrap">to \(G_2\)</span> that do not connect the same pair of vertices more than once. <span style="white-space:nowrap">Let \(G_R\)</span> be the <span style="white-space:nowrap">\(\Delta\)-regular</span> supergraph of \(G_1\cup G_2\) constructed in this way; it has \(O(\sqrt{n\log n})\) added edges per vertex.</p>

<p>If \(G_R\) exists and is to have two isomorphic neighborhoods of vertices \(u\) <span style="white-space:nowrap">and \(v\),</span> let \(U\) be any set of \(n/4-O(\sqrt{n\log n})\) members of \(N(u)\setminus N(v)\) belonging to the same <span style="white-space:nowrap">subgraph \(G_i\)</span> <span style="white-space:nowrap">as \(u\),</span> whose images under the isomorphism belong to the same <span style="white-space:nowrap">subgraph \(G_j\)</span> <span style="white-space:nowrap">as \(v\).</span> Then \(U\) induces a subgraph isomorphic to some other disjoint induced <span style="white-space:nowrap">subgraph \(G_j[V]\).</span> We can describe this situation as an instance of the following <span style="white-space:nowrap">event \(I\):</span></p>

<ul>
  <li>There exist two disjoint sets \(U\) <span style="white-space:nowrap">and \(V\)</span>, each a subset <span style="white-space:nowrap">of \(G_1\)</span> <span style="white-space:nowrap">or \(G_2\),</span> that have size  \(n/4-O(\sqrt{n\log n})\) and that induce isomorphic subgraphs <span style="white-space:nowrap">in \(G_1\cup G_2\).</span></li>
</ul>

<p>Now let’s analyze the probability of <span style="white-space:nowrap">event \(I\).</span> We can do this independently of whether event \(R\) also holds, because the definition of event \(I\) does not depend on the conditions of <span style="white-space:nowrap">event \(R\).</span> First, let’s count the expected number of isomorphisms between pairs of sets of this size. We can calculate this by multiplying the number of pairs of disjoint sets \(U,V\) of this size (exponential <span style="white-space:nowrap">in \(n\)),</span> the number of bijections between these sets (exponential <span style="white-space:nowrap">in \(n\log n\)),</span> and the probability that any particular bijection produces an isomorphism (inverse-exponential <span style="white-space:nowrap">in \(n^2\)).</span> By Markov’s inequality the probability that there exists even a single large-enough isomorphic pair is at most the same product. For large <span style="white-space:nowrap">enough \(n\)</span> the inverse-exponential-in-quadratic term wins and the probability of <span style="white-space:nowrap">event \(I\)</span> is tiny, also inverse exponential in a quadratic.</p>

<p>By the union bound (applied to the probabilities of <span style="white-space:nowrap">not-\(R\)</span> <span style="white-space:nowrap">and \(I\)),</span> the probability that \(R\) happens and \(I\) does not happen is <span style="white-space:nowrap">\(\Omega(\tfrac{1}{n})\).</span> This gives a lower bound on the more constrained event that \(G_R\) exists but does not have a pair of vertices with isomorphic neighborhoods (it is link-irregular). Because this probability is positive (for sufficiently <span style="white-space:nowrap">large \(n\)),</span> there exists a possible random choice for which \(G_R\) exists and is link-irregular. Its existence contradicts the conjecture of Ali, Chartrand, and Zhang. More generally, it shows that the conjecture is false for sufficiently large even numbers of vertices. By adjusting the target <span style="white-space:nowrap">degree \(\Delta\)</span> for an appropriate choice <span style="white-space:nowrap">of \(n\),</span> the same construction shows that the conjecture is false for all sufficiently large degrees.</p>

<p>(<a href="https://mathstodon.xyz/@11011110/115716795916671285">Discuss on Mastodon</a>)</p>]]></content><author><name>David Eppstein</name></author><summary type="html"><![CDATA[In two recent works, Akbar Ali, Gary Chartrand, and Ping Zhang conjecture that there is no regular link-irregular graph. Here “regular” means all vertices have equal degrees and “link-irregular” means all vertices induce non-isomorphic neighborhoods. In support of this conjecture, they show that it is true for degrees three and four. However, the probabilistic method shows this to be false for sufficiently high degrees.]]></summary></entry></feed>