Dick Gross died last month. Much has already been written, and during his lifetime too, about his immense contributions to modern number theory. So I won’t try to cover that here — don’t need to. I want to say something about him as a teacher. When I was an undergraduate, I took Math 126, Representation Theory of Finite Groups, from Dick. It was the kind of course a lot of the most ambitious math majors didn’t take, because if you’d already taken the two algebra courses, 122 and 123, you were eligible to jump to the graduate course, and why wouldn’t you do that as fast as possible? Dick Gross was why. I had enjoyed the math courses I’d taken, and did fine in them, but learning about character tables from Dick, experiencing his visible joy as we built everything up from scratch, was a mathematical experience that was completely new to me. I had understood math to be something you did because you were really good at it, and had already learned a lot about it, and thus had some possibility of achieving something. From Dick I learned that mathematics was something you did because it’s the most fun thing in the entire world, and all achievement you might attain is downstream from the fun.
“One must be fond of people and trust them if one is not to make a mess of life, and it is therefore essential that they should not let one down.” From E.M. Forster, “What I Believe.” Amen, amen, again and again. My mother-in-law just sent me this essay, saying it was inspiring, and it really is.
I just read Unacceptable, a really well-reported book about the college admissions fraud scandal of the late 2010s, perpetrated by Rick Singer. It’s a sad book. Sad because it shows just how vulnerable every social system is to people who do not mind lying straight to your face. And yet: a society that was proof against lying isn’t one you’d want to live in. As Forster says, you have to have some trust, even if that trust is sometimes mistaken. Otherwise what are you? Not a person among people, but an animal curled in a corner with its fists up to protect its face. (This image I realize I have just plucked from the end of William Sleator’s House of Stairs. How has every single other piece of young adult fiction that’s even vaguely dystopian been spun into muscly multi-platform IP and not House of Stairs, the greatest and most upsetting of them all?)
There are people who take the other side of the argument with Forster. People who truly enjoy lying, and who don’t mind being lied to, who indeed welcome being lied to because being lied to means you have something worth stealing. Who think trust is for chumps. Who think truth is just whatever the most skillful liars, the game’s rightful winners, can get people to repeat and eventually to believe.
I am not blind to the attraction. It is a clean, simple model and it excuses one of a lot. But It is a depraved mode of existence. This is something I am not going to be a relativist about. Please trust people to the extent that you can.
72,000 different notions of the center of a triangle. I knew the incenter, the circumcenter, and the centroid. Those are indeed the first three. The fourth is the orthocenter. I guess, when I think about it, I knew the three altitudes were concurrent so I knew this existed. The fifth is the nine-point center, which I’m pretty sure I’ve never heard of. It’s the midpoint between the circumcenter and the orthocenter, though. There are 70,000 more or so. I am happy this exists.
New paper up on the arXiv! With Nicolas Libedinsky, David Plaza, José Simental, Geordie Williamson, and (unofficially) Adam Zsolt Wagner. A bunch of algebraic combinatorists! And this is a combinatorics paper. It came about this way: I went to visit the ICERM semester on categorification and computation in algebraic combinatorics, with the idea of talking to people about problems where machine-aided example-making might produce some interesting results. I had a lot of conversations and we tried a lot of things and a lot of things didn’t work, but one thing did work, and this is it!
What the problem is about, briefly. The d-invariant of a pair of permutations in S_n is a coefficient of a Kazhdan-Lusztig polynomial, and you don’t need to know anything about what that is in order to read the rest of this post; just that it’s an integer which can be computed by a reasonably simple recursion, but this recursion doesn’t tell you much about how big it can be. In particular, people were wondering: what is the maximum value of d(x,y) for x,y in S_n? It’s very easy to get n-1; a clever construction by some of my co-authors got that up to 2n + a constant. Could one do better? This did seem a promising problem for machine learning: a problem where the search space (n! squared) is much too large to search exhaustively, the “score” you’re trying to maximize can be computed swiftly and reliably, and perhaps most important, we really had no well-grounded ideas about where to search for good examples. Beating human performance is way easier when humans haven’t done much performing!
We give a pretty thorough narrative account of our experimental iteration in section 4 of the paper, so let me cut to the denouement and say: we had very good luck with AlphaEvolve, an evolutionary coding agent made by Google DeepMind. AlphaEvolve is the successor to Funsearch, which I have used once or twice. (Hey! I forgot to blog about that last paper! Well, I guess at least I did blog about a talk I gave that drew a lot from it.) Anyway: AlphaEvolve, like Funsearch, uses genetic algorithms with LLMs (now some flavor of Gemini) as the mutation/reproduction mechanism. But it has gotten a lot easier to use and more flexible, and I’m optimistic that as with FunSearch it will be avaiable for general use soon. And open-source imitations are already available.
What it produced, in an overnight run, is a program that, given n, outputs a pair of permutations in S_n. For each n from 10 to 50 (which are the values we tested on) these looked to have d-invariant substantially bigger than the biggest we already knew about. But it was much better than that. Close examination of the permutations showed that they had a natural 2-adic structure, especially for n a power of 2. Namely: if n = 2^m and you think of S_n as the permutations of the length m strings of bits instead of the integers 1 through n, then the two permutations x_m and y_m that the program produced were “reverse the digits” and “reverse the digits and then apply NOT to each digit, swapping 0 and 1.” In particular, both x_m and y_m are involutions. (Note that the program didn’t SAY it was reversing the digits. The program was pretty long and you have to ignore large chunks of code that don’t do anything and figure out how to express what the point of the program is in meaningful terms. Geordie calls this process “decompiling,” which I like a lot.)
It gets better still! The permutations in S_n come with a partial ordering called the Bruhat order, and the d-invariant of x and y is a property of the Bruhat interval [x,y], which is just the set of all those permutations z such that x <= z <= y. If I give you two random permutations, the Bruhat interval between them can be pretty hard to describe. But in the case of these two special involutions x_m and y_m in S_{2^m}, no! The permutations in the interval are exactly cut out by a nice combinatorial criterion. Namely: there are m+1 ways to break the 2^m x 2^m box into 2^m equal rectangles of area 2^m, and we say a permutation is dyadically well-distributed if its permutation matrix has exactly one 1 in each of these (m+1)2^m boxes. Look, here’s a picture of two dwd permutations in S_16, one in red and one in blue:
(And now you see the origin of the Dyadiku game from last week: a Dyadiku is just a list of 2^m dwd permutations, no two of whose permutation matrices have a 1 in common!) (I also see that there’s a typo in the paper, we have two “bocks” and a “blocks!” Despite the traditional error-correcting code of best-2-out-of-3, “blocks” is what we actually meant.)
These permutations are actually not completely novel objects; the permutation matrices, as subsets of the plane, are what people in the field of low-discrepancy sequences call (0,m,2)-nets. But I don’t think any connection with algebraic combinatorics was anticipated! (And no, I don’t think AlphaEvolve was drawing information about (0,m,2)-nets from published literature; at least, nothing in the logs indicates this. But even if it were, that would be a slick move!)
Here’s another way I like to think of the dwd condition. Suppose I put a bunch of points (x,y) in Z_2^2 which obey the law that, for any two distinct points (x_1, x_2), (y_1, y_2) we have
|x_1 – x_2| |y_1 – y_2| > 1/2^m.
I think of this as a kind of “sphere-packing problem” even though this particular function on pairs of points isn’t a distance. Anyway, you can get at most 2^m points packed in this way and the maximal configurations, projected to(Z/2^mZ)^2, are exactly the dwd permutation matrices.
It’s not too hard to compute that there are exactly 2^(m 2^(m-1)) dwd permutations of 2^m letters. That’s kind of a lot, considering that log_2 |S_{2^m}| is already only around m 2^m. We also note that the special permutations x_m and y_m are both dwd (that’s them in the picture)!
Theorem: The Bruhat interval [x_m, y_m] consists exactly of the dwd permutations.
I don’t know any other non-trivial Bruhat interval that has a nice combinatorial description like this! And what’s more, the Bruhat order within this interval is easy to describe:
Theorem: [x_m, y_m] is isomorphic as a poset to a hypercube of dimension m 2^{m-1}.
(The hypercube poset of dimension N is just length-N bit strings where a < b if a_i < b_i for all i. In the paper you can find a nice, explicit, pretty canonical identification of [x_m, y_m] with bit strings.)
My sense is that a hypercube this big in S_n is a wholly unexpected structure, and it is relevant to lots of popular questions about cluster varieties, etc.
This is certainly my favorite outcome from the machine learning experiments I’ve been involved with. It’s one thing to incrementally improve a lower bound for a combinatorial problem, quite another to encounter a mathematical object that I authentically consider worth thinking about. In Shape, back in 2020, I wrote: “Some people imagine a world where computers give us all the answers. I dream bigger. I want them to ask good questions.” There’s is a medium-sized dream I didn’t mention there; that machines will bring to our attention objects worth asking questions about!
I said it at the top of the post, and I’ll say it again, to be clear: Machine learning experiments don’t usually work this well. What you hear about from me and others are the outlyingly successful trials, which makes sense — my goal is not to perform a dispassionate audit of an evolutionary coding agent, it’s to make interesting math and tell you about it. But I do want to avoid giving the impression that it’s magic. On the contrary, it feels less like magic the more you work with it.
I made a game. It’s like Sudoku but dyadic. It’s called Dyadiku. Try it!
I’m very interested to see whether people find it playable and fun — in particular, does it admit a boringly mechanical solving mechanism or does it hold its interest the way Sudoku does? (*I* haven’t found a boringly mechanical way to solve these, but I’m not particularly skilled at Sudoku.)
Quick description: the goal is to fill in an 8×8 grid with the numbers 1 through 8 (if you’re brave, you can try 16×16, but it’s pretty hard) such that each number appears once in each row and once in each column — so far this sounds just like Sudoku, I know, but there are more constraints. You can break the 8×8 grid into 8 pieces in two more ways: 2×4 rectangles and 4×2 rectangles. Call these the vertical blocks and the horizontal blocks. Then a valid Dyadiku has each number appearing once in each row, once in each column, once in each horizontal block, and once in each vertical block. A lot to keep track of!
When I say “I made a game” what I mean is that I had the mathematical idea for this game. The actual coding (and the information that Netlify would be a convenient free place to host it) was done by Claude Opus 4.5 — or rather was the endpoint of an iterative process of me going back and forth with Claude until I had things the way I liked them. This was my first attempt to vibecode something that other people might actually use. It was reasonably painless and took just a couple of afternoons.
Since I don’t play Sudoku, why did I make a Sudoku variant? Because the funny dyadic conditions in this game arose in a paper a bunch of us just posted. I’m pretty excited about this result, which came out of the recently concluded ICERM semester on computation in combinatorics. It’s my favorite example yet of evolutionary programming (in this case, Google DeepMind’s new system, AlphaEvolve) generating examples of real mathematical interest. I’ll blog more about the actual paper soon, probably tomorrow. For now, try the game!
Six popular math authors, including me, did a round-table interview for the Notices of the American Mathematical Society about talking about math to the non-academic public, or, as the Notices calls them for some reason, “the masses.” What fun to be in this conversation with the people who have been at this a lot longer than I have! I like what Steve Strogatz says about precision:
“I would want to bring up the great probability theorist, Mark Kac, who said “Tell the truth, and nothing but the truth, but not the whole truth.” I think that works pretty well. Don’t lie. But you can leave some things out, and they can be in the notes at the end. I just worry that our training predisposes us to be really tight when it comes to writing for the public, because you do have to make little mistakes. Some people call it dumbing down. I wouldn’t, though, but it takes skill. If you really try to put in all the carping and the caveats that we’re used to, that’s going to be bad writing.”
As I said at the top, this is not a Marxist post — best I can do is to resurface an old interview I did for The Atlantic where I appreciate my Marxist art history professor from college, Howard Lay. (I wonder if he ever knew we called him “Frito.”) It looks like the Atlantic piece is behind a paywall, so if you can’t read it there, here’s what I said:
“I had an art history professor in college, Howard Lay, who was a Marxist critic, and who always reminded us that a painting was labor transformed into a physical object with the purpose of being bought and sold.
What was great about him was that he never talked about paintings as just marketable objects. His Marxism didn’t reduce our understanding of the paintings, it enriched it. An object for sale is only one of many things a painting is, but if you ignore the material circumstances of the painting’s production, you’re missing something about the painting that actually matters.
This stuck with me, and it affects how I think of the role in mathematics in the so-called real world. A legislative session is not just a series of numbers; a novel is not just a probability distribution of words; the Internet is not just a network with nodes and edges; but, still, they are mathematical entities, among all of the other things they are, and missing out on this means missing out on a valuable channel of understanding.”
with music that rips off Black Box, “Everybody Everybody” so blatantly they ought to give the band free coats for life.
On the one hand, this is shameless plagiarism — on the other hand, if it even obliquely introduces the mass coat-buying audience to the classics, I guess that’s good.
“Chowder was the national soup, and in those times chowder was to be more eaten than drunk, for it was not the anaemic liquid which now sloshes so despairingly in restaurant bowls, but a thick and substantial mixture, compounded of eels, fish, clams, lobster, chicken, duck, and all kinds of tempting ingredients. No social function was complete without a great dish of chowder.” – Herbert Asbury, Ye Olde Fire Laddies (1930), quoted in John Thorn’s Baseball in the Garden of Eden. Which you should read if you care about baseball at all.
The traditional celebration is Chinese food and a movie, so in that spirit: AB and I tried a new kind of dumpling on our recent trip to New York, sheng jian bao. These are soup dumplings, but with a thicker, crispier wrapper than the xiao long bao I’m more familiar with. Excellent!
As for a movie, we all re-watched Trading Places last night. Except it turns out Dr. Mrs. Q has never actually seen Trading Places! Arguably the very greatest Christmas movie.