Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]
40

Free Things Are Complicated (Especially the Sphere Spectrum!)

from Chris Grossack's Blog [alt+shift+b] in science

I’ve spent the last week at CT2025, which has just come to a close. It was great getting to see so many old friends and meet so many new ones, and every time I go to a CT I’m reminded of just how much category theory there is in the world, as well as just how much I enjoy all of it! Right before this I was in Antwerp for some Noncommutative Geometry, where I learned a ton and met even more new friends! Then next week I go to Bonn for my third conference in a row. I’m trying to stay energetic, and thankfully I have a few days off between CT and QTMART to help me rest up! I want to write up a lot of things I learned over the last month, since I have a lot of new thoughts on noncommutative geometry, mirror symmetry, and deformation theory, all coming from just my time in Antwerp! I’ve also learned a lot at CT and talked to a lot of interesting people about interesting things, and I’m sure I’ll have even more to say after my time in Bonn. I think organizing all of those thoughts are going to take a while, though (if I end up writing them down at all), but today I have a quick observation inspired by a few lovely conversations I had with Clark Barwick at CT. One of the many questions I asked him was if there’s a conceptual reason the Sphere Spectrum (read: the homotopy groups of spheres) is so darn complicated. He gave me an answer that’s obvious in hindsight, but which totally rearranged the way I think about things: I think I internalized a while ago that “free” constructions are fairly concrete. After all, you look at the syntax of whatever object you’re interested in, quotient out by the relations you want to be true and you’re done! Plus, mapping out of a free thing is as simple as possible, since it’s a left adjoint! All you have to do is find a (usually simpler) map from your generating set to a structure of interest and let the magic of category theory build your (usually more complicated) map for you… Of course, this view is heavily...
20th Jul 2025

Stay updated

Get a weekly newsletter with the top 5 articles worth reading every week.

More from Chris Grossack's Blog

Is a Random Perfect Group Nontrivial?

So it’s finals season, and earlier today some of the younger grad students were asking me for help studying for their topology finals. One of their practice problems was to build a cell complex with one 0-cell, two 1-cells, and two 2-cells which has nontrivial $\pi_1$ but trivial $H_1$. In principle, this isn’t very hard to do – I encourage you to think about it for a while to see what kind of group you’re looking for… Then see if you can look in the literature for a source of such a group. Last chance to think about it yourself… Ok, the fact that we have two 1-cells means our fundamental group will have two generators, say $a$ and $b$. Then the two 2-cells will give us two relations, say $R$ and $S$. Since we know that $H_1$ is the abelianization of $\pi_1$, this means we’re looking for a perfect group with a presentation by two generators and two relations. If you try to build one by hand for a while (and I encourage you to try!), it’s actually somewhat difficult to do! I ended up looking up “small presentations of perfect groups” (or something like this) and quickly found Campbell, Kawamata, Miyamoto, Robertson, and Williams’s Deficiency Zero Presentations for Certain Perfect Groups which is full of examples1. I also posted about this on mastodon, and Omar Antolín had a characteristically helpful response! He mentioned that the binary icosahedral group gets the job done2, and these relations are the kind of thing you have a chance of finding by hand! This brings up an interesting question, though – In some sense you would expect that two “random” relations should get the job done… Obviously things can’t be completely random, since we need the abelianized relations to be a matrix with determinant $\pm 1$ – otherwise our $H_1$ will have torsion… But what if we condition on this property. Does a “random” pair of relations work? It’s been a minute since I’ve written a genuinely short blog post, and I was curious enough to write up some sage code anyways3, so I thought it could be fun to do it together! As a quick exercise: What do I mean when I say that “we need the abelianized relations to be a matrix with determinant $\pm 1$ – otherwise our $H_1$ will have torsion”? Ok, so here’s the plan: We’ll take as input a number $N$. Then we’ll iterate through all pairs of relations $R,S$ which are words in the alphabet \(\{a, a^{-1}, b, b^{-1} \}\) of length $N$ then we’ll see what fraction of those with vanishing $H_1$ also have nonvanishing $\pi_1$. If our conjecture is right then this fraction should get closer to $1$ as $N$ gets bigger. Let’s do it! = FreeGroup() W = FiniteWords('abAB') def letterToGroup(c): if c == 'a': return a if c == 'b': return b if c == 'A': return a^(-1) if c == 'B': return b^(-1) def wordToReln(w): return prod([letterToGroup(c) for c in w]) # Bail on the computation if it takes longer than 30 seconds @fork(timeout=30, verbose=1) def isTrivial(G): return G.cardinality() == 1 @parallel(reseed_rng=True, ncpus=8) def testOneWord(wordLength): """ Keep building random words of length @wordLength until we get one that kills H_1. Return 0 if the word kills pi_1, and 1 if the word does not kill pi_1. Eventually we'll add these together over all our trials to get a total nontrivial count. """ while(True): R = W.random_element(length=wordLength) S = W.random_element(length=wordLength) # Check if the abelianization is trivial by checking # if the determinant of (R^ab | S^ab) is +/- 1 det = (R.count('a') - R.count('A')) * (S.count('b') - S.count('B')) - \ (R.count('b') - R.count('B')) * (S.count('a') - S.count('A')) if abs(det) != 1: continue else: G = F / [wordToReln(R), wordToReln(S)] isTriv = isTrivial(G) if isTriv == 'NO DATA (timed out)': continue elif isTriv: if random() This basically does exactly what you expect, haha. The main things to take note of are the @fork decorator when checking if a group is trivial. Since this is undecidable in general we bail on the computation if it lasts longer than thirty seconds… This creates some serious overhead on each loop, which is basically the same overhead involved in parallelising… So we might as well parallelise! This is what the @parallel decorator does. My laptop only has a measly 8 cores, so that’s how many I tell it to use. The reseed_rng flag is to make sure each process gets its own RNG, otherwise our 10,000 “random” runs will all be the same! So what does the final scatter plot look like? The trend is definitely upwards, which makes sense. Interestingly the code only starts seeing examples once the relations have length $7$. The smallest example I’m aware of is the binary icosahedral group that Omar told me about, which happens to have two relations of length $7$! Even with relations of length $17$, though, only a tiny $0.4\%$ of the samples with trivial $H_1$ had an interesting $\pi_1$… I still think that this ratio should approach $1$ as the size of the relations gets large? But I was really hoping this data would be more suggestive, haha. That said, there’s a lot of problems with the data! My laptop starts to struggle after $N=8$, which corresponds to relations of length $17$. I’ve uploaded the raw output if you’re interested in looking at it, but the main thing to note is how often we bail on computations. This is almost certainly throwing off our statistics, but I don’t really know how. After all, we’re now conditioning on both “trivial $H_1$” and “can be checked to be (non)trivial in at most 30 seconds on my ten year old laptop”. Here’s a table: Relation Length Nontrivial $\pi_1$ Total Runs Killed Computations 1 0 10000 0 3 0 10000 0 5 0 10000 0 7 8 10000 0 9 10 10000 2 11 18 10000 19 13 27 10000 183 15 34 9998 664 17 47 9995 1726 So at this point the possible error we’re incurring by killing computations that take longer than $30$ seconds is dwarfing the number of groups we’re able to quickly prove are (non)trivial. Plus when we kill computations there seems to be a small chance that GAP throws some kind of exception that I’m not sure how to handle… This is the reason some later runs have slightly fewer than $10,000$ trials. I thought about increasing the timeout to a minute, or even five minutes, and running it again overnight to see if we can push things a bit further? But I decided I don’t really care, haha. I’m supposed to be writing a thesis, after all. Further optimizing this would make a great project for somebody else to try, though! I think that it should be quite easy to get better data, and a lot of it! If you decide to look into this, definitely reach out and let me know what you find ^_^. In that vein, here’s a few take-home problems that you might want to play around with. They all look fun (at least to me) and if I had the time to spend I would probably think about them for a few weeks. Can you further optimize this code to get more data? There’s a few obvious things to try: writing in pure GAP, rather than a python package somehow checking triviality without computing the cardinality of a nontrivial group have a better computer than me, with lots of cores for parallel computation You might have noticed that all our trials were on odd relation lengths… Experimentally it looks like even relation lengths never give perfect groups! It’s pretty easy to prove that this really is the case. I’ll include a quick proof in a spoiler tag, but you might want to play around with it yourself for a minute. solution We know there's $2n$ many letters in each of the relations $R$ and $S$, coming from the alphabet $\{a,A,b,B\}$. We'll write $R_a$ for the number of times $a$ shows up in $R$, and similarly for $S_B$, etc. Then working mod $2$ we have $$R_a + R_A + R_b + R_B = 2n \equiv_2 0$$ so that (remembering that $+$ and $-$ are the same mod $2$) $$R_a - R_A \equiv_2 R_b - R_B$$ Recall that the abelianization of $G = \langle a,b \mid R, S \rangle$ vanishes if and only if the following matrix has determinant $\pm 1$: $$ \begin{pmatrix} R_a - R_A & S_a - S_A \\ R_b - R_B & S_b - S_B \end{pmatrix} $$ but working mod $2$ again and using the above observation say that $R_a - R_A \equiv_2 x \equiv_2 R_b - R_B$ and $S_a - S_A \equiv_2 y \equiv_2 S_b - S_B$. Then the mod-2 determinant of the above matrix is $xy - xy = 0$ so that this matrix can never have determinant $\pm 1$! For a harder problem, which I don’t know how to solve, you might ask if the fraction of presentations with nontrivial $\pi_1$ approaches $1$ at all! Or even better, you might ask what the asymptotic behavior is as the number of relations gets large! I asked about this on mathoverflow today, and I’m very excited to see what people have to say! I really don’t know much combinatorial group theory, so no matter what the conversation turns into I’m quite likely to learn something. Alright! This is my first really short blog post in… quite a while, haha. I wrote the code pretty quickly, and once I figured out how to get the long computation to time out properly (and let it run all evening yesterday) the rest of the post came together in like two hours. I love problems like this, so it was easy to get nerdsniped by it. Now it’s back to checking some details for my thesis. Next week is spring break, so I’m hoping to really sit down and get a lot done before teaching starts back up. OH! And that reminds me! I mentioned this in a draft for a blog post on representation theory in analysis, but I haven’t mentioned it anywhere that’s live yet, so I should say it here! I got a postdoc!! 🎉🎉 This Fall I’ll be going to Montana State University to work with Sam Gunningham, David Ayala, and probably Ryan Grady too. I’ll be thinking about all sorts of fun things like factorization homology, “quantum” geometric langlands, topological field theories, and more! Everyone at the MSU campus has been so nice to me, and even though I’m an island girlie through and through I’m oddly excited to experience real winter for the first time in my life, haha. I’m tearing up a little bit writing this because I’m so happy to get to go there and work with them. Alright, thanks for reading everyone! It’s back to the dissertation grind now, but this was really fun to think about for a day or two. Stay safe, and we’ll talk soon 💖 As an aside, this search also pulled up Bray, Conder, Leedham-Green, and O’Brien’s Short presentations for alternating and symmetric groups which shows how to get presentations for alternating and symmetric groups with 2 generators and $\mathsf{PolyLog(n)}$ many relations (at least that’s my understanding – I haven’t read this paper closely at all). This really scratches some kind of asymptotic computer science itch in my brain! ↩ He also mentioned he knows about this group because it’s the fundamental group of the Poincaré homology sphere! This makes it especially reasonable that he might have thought of it, since the original context for this problem is about a cell complex with $\pi_1$ but no $H_1$, and that’s exactly (one of) the defining properties of the homology sphere! ↩ Checking if a presentation gives the trivial group is famously impossible, but since we’re restricting ourselves to two generators and two relations I’m hopeful that sage can handle these cases for us! ↩

20th Mar 2026 • 1 votes
Talk -- Factorization Homology and Quantum Character Stacks

Today Yesterday in the Representation Theory Seminar at UCR I gave a talk about Factorization Homology and how it lets us compute a “Quantum Character Stack”. This is all based on a great paper, Integrating Quantum Groups Over Surfaces by Ben-Zvi, Brochier, and Jordan, which I’ve been reading and rereading for the last few years. It’s been a while since I’ve written up my thoughts after a talk, so I figured I’d do that here to take a break from thesis writing. I have an old post going through a talk I gave on factorization homology almost exactly 2 years ago back in March 2024, which might give a longer perspective on these ideas. I’m going to be fairly terse here because I want to get to the fun computation (which I’ll put in a sister post), and I also want to write this in just a few hours. The talk was kind of a whirlwild, haha. Especially for my audience, I needed to explain some basics about stacks and the rough idea of factorization homology before I could even hope to get to the actual definition of the quantum character stack! That’s a big ask for an hour long talk, but I think I did alright. I asked my friend Shane how he thought it went, and he very graciously said that I did a good job telling a story and showing that some could, in the abstract, compute things like this… but I didn’t actually show the audience how they can compute with it. I think that’s a fair review, and is pretty consistent with my experience writing and giving the talk. Every professor that I talked to said that it was really good, though, which made me happy. Thankfully that’s also pretty consistent with my experience giving the talk, haha. I’ve given other really dense talks before, and I remember coming off a bit… energetic, lol. I was pleased that I think I managed to fit a lot of material into this talk while still appearing somewhat collected at the white board. If nothing else, I didn’t end the talk out of breath, haha. Anyways, enough about my thoughts, let’s get to the talk itself! The beginning of the talk was meant to motivate stacks to the audience – particularly some younger grad students who have asked me about them before. I actually have a looooong post about stacks in the works, where I talk about how to think of them, how to compute with them, and why you might care. I’ve had to put it on the back burner while I work on my thesis, but hopefully some day I’ll finish it up, since I have a lot of Thoughts™. Given a surface $\Sigma$ and a reductive group $G$, we would like to have a space whose points are representations of $\pi_1 \Sigma$ valued in $G$. To do this we can look at $\text{Hom}(\pi_1 \Sigma, G)$ and then quotient out by “change of basis” given by conjugation in $G$. This has the extra benefit of removing the reliance of $\pi_1 \Sigma$ on a choice of base point, since a change of base point leads to a conjugate representation. There are a few things you could mean by the quotient $\text{Hom}(\pi_1 \Sigma, G) \big / G$. The first and most naive is to literally take the space and quotient out by the orbit equivalence relation. This gives a space that isn’t even Hausdorff (and it makes a nice exercise to see why!) so this isn’t great. The more subtle approaches are both based on the observation that a function on $X \big / G$ should be the same thing as a $G$-equivariant function on $X$. If you haven’t seen this before it’s worth taking a second to think about why this should be true! If you’re a 20th century algebraic geometer you would define the Character Variety $\text{Ch}(\Sigma,G)$ as \(\text{Spec} \big (\mathcal{O}(\text{Hom}(\pi_1 \Sigma, G))^G \big )\). This literally means “the space whose ring of functions is $G$-equivariant functions on $\text{Hom}(\pi_1 \Sigma,G)$”. If you’re a 21st century geometer, you’re likely to de-emphasize $\mathbb{C}$-valued functions on $X$ (like $\mathcal{O}(X)$) for $\mathsf{Vect}_\mathbb{C}$-valued functions. These assign a vector space to every point in a way that “varies smoothly”, and the way to make this precise is via sheaves! So you find yourself interested in something like $\text{QCoh}(X)$. In this case, you might want to define the Character Stack $\underline{\text{Ch}}(\Sigma,G)$ to be “the space whose category of quasicoherent sheaves is $G$-equivariant sheaves on $\text{Hom}(\pi_1 \Sigma, G)$”. It turns out that these two spaces are generally not the same! Let’s look at the simplest case where $\Sigma$ is just a disk. Then $\pi_1 \Sigma$ is the trivial group, so $\text{Hom}(\pi_1 \Sigma, G)$ is a point, with ring of functions given by $\mathbb{C}$. Then the $G$-action on this space (and this on the ring of functions) is trivial, so that the $G$-equivariant functions are still $\mathbb{C}$ and $\text{Ch}(\text{Disk},G) = \star$ is a point. In particular, its category of quasicoherent sheaves is just $\mathsf{Vect}$. But what about the character stack $\underline{\text{Ch}}(\text{Disk},G)$? Well now we define its category of quasicoherent sheaves to be $G$-equivariant sheaves on $\text{Hom}(\pi_1 \Sigma, G) = \star$. So this is $\mathsf{Vect}^G$, which is not $\mathsf{Vect}$! Indeed, when we say that a vector space is $G$-equivariant, what do we mean? We mean that $g \cdot V$ should be “the same as $V$” for every $g \in G$, but the notion of sameness for vector spaces is isomorphism! So saying that $g \cdot V$ is “the same as $V$” is saying we have isomorphisms $\varphi_g : g \cdot V \cong V$. Of course, $G$ is still acting trivially on $\text{Hom}(\pi_1 \Sigma, G) = \star$, so $g \cdot V = V$ and so $\varphi_g$ is an isomorphism of $V$ with itself! These isomorphisms are supposed to be compatible, so we find that $\mathsf{Vect}^G$, the category of $G$-equivariant vector spaces, is actually the category $\text{Rep}(G)$ of vector spaces equipped with a $G$-action! The space whose category of sheaves in $\text{Rep}(G)$ is usually called $\mathsf{B}G$, and we’ll do this too1. The character stack is better behaved in certain ways. It’s smooth (in a stacky sense) while the character variety usually isn’t2 (this is why it’s common to restrict to a “smooth locus” containing most representations). Moreover, the character stack for $\Sigma$ can be computed by gluing together the character stacks on an open cover for $\Sigma$, while the character variety has no such nice local-to-global property. The character variety also relies crucially on $G$ being reductive, while the character stack works for all groups $G$. It’s a famous result of Goldman that the smooth locus of the character variety admits a symplectic structure, which quantizes to the ($G$-)skein algebra for $\Sigma$! It turns out the character stack also admits a symplectic structure (in a stacky sense) and it’s natural to want to quantize this too. It should have something to do with skein theory… But what? Let’s change topic for a moment and talk about Factorization Homology. Again, we’ll be much more terse here than we probably should be. The notion of an $E_n$-algebra in a monoidal $k$-category $\mathcal{C}$ interpolates between noncommutative algebras ($E_1$) and commutative algebras ($E_\infty$). When $n \gt k$ these stabilize so that $E_{k+1}$ algebras are already “fully commutative”. Since we spend a lot of time working in $1$-categories (like $\mathsf{Set}$ and $\mathsf{Vect}$) we only really see the distinction between $E_1$ (noncommutative algebras) and $E_2 = E_\infty$ (commutative algebras). However, if we work in a familiar $2$-category like $\mathsf{Cat}$ then we can see a bit further! Now an $E_1$-algebra is a monoidal category, an $E_2$-algebra is a braided monoidal category, and an $E_3 = E_\infty$-algebra is a symmetric monoidal category. At this point in the talk I said some words introducing braided monoidal categories and why they might be called that, but it’s starting to get late so I think I won’t say those words now. You can read all about this somewhere like here. Precisely, let $\mathsf{Disk}^n$ be the ($\infty$-)category whose objects are disjoint unions of $n$-disks and whose morphisms are (spaces of) smooth embeddings. Then a functor from $\mathsf{Disk}^n \to \mathcal{C}$ which sends disjoint union to the tensor product in $\mathcal{C}$ is exactly an $E_n$-algebra in $\mathcal{C}$! Since $\text{Disk}^n$ is a full subcategory of the category of all $n$-manifolds with smooth embeddings, we can try to extend a functor $\text{Disk}^n \to \mathcal{C}$ (read: an $E_n$-algebra $A$) to a functor $\text{Man}^n \to \mathcal{C}$. The free way to do this is via left Kan extension, and this is how we define factorization homology! The “factorization homology of $M$ with coefficients in $A$”, denoted by $\int_M A$, is defined to be the value of the left Kan extension $\text{Lan}(A)$ on $M$. This admits a “pointwise” formula to compute it, but it’s much much better to use excision! Like any good homology theory, factorization homology has a notion of Mayer-Vietoris for computation. At this point I included a computation of $\int_{S^1} A$ for an algebra $A$ in $\mathsf{Vect}$ and showed that it recovers the Hochschild homology $HH_0(A)$. Even though I was starting to run out of time, I couldn’t help but mention one of my favorite facts about this too! If you view $A$ as an algebra in chain complexes which happens to be concentrated in degree $0$ then $\int_{S^1} A$ instead computes a derived enhancement, which happens to be $CHH_\bullet(A)$ – the entire complex of Hochschild chains! Since factorization homology is functorial and $S^1$ acts on itself, we get an induced $S^1$-action on $CHH_\bullet(A)$. An $S^1$-action on a chain complex is the data of a new differential on that complex, and it’s natural to ask what differential we get on Hochschild homology from this game! Well the HKR theorem says that $HH_\bullet(A)$ is the algebraic de Rham complex on $\text{Spec}(A)$ (when $A$ is commutative), and the differential coming from this $S^1$-action is exactly the de Rham differential! Again, I think I want to finish this post up quickly, so I won’t include a copy of this computation here… I feel bad about it, though, so I’ll say that this is done in Hiro Tanaka’s fantastic series of talks starting here. At this point we’re finally ready to bring the threads together! One of the main ideas in the Integrating Quantum Groups Over Surfaces paper is that The computation I’m including in the sister post is a very explicit very special case of this computation where you can really get your hands on everything. Well… I at least sketch it, haha. You can see if you read that post. I originally planned to include this computation in the talk, but at this point I only had about 5 minutes left and I wanted to make sure I said something about the quantum character stacks in the title of the talk! The point is that $\text{Rep}(G)$ is symmetric monoidal, so is an $E_\infty$ algebra, but we’re only integrating it over the measly $2$-manifold $\Sigma$! So we could get by with an $E_2$-algebra, which is less commutative! Working in $\mathsf{Cat}$ this means we want a braided monoidal category, and my favorite example is the category $\text{Rep}_q(G)$ of representations of a quantum group! So now we see what to do: Generalizing the above formula, we want to say that But what does this really mean? Remember earlier when I said that the 21st century approach to geometry is to focus on the (derived) category of sheaves? Well just like Grothendieck said that every (commutative) ring should count as functions on a space, we might bravely hope that every dg-category should be sheaves on a space! It turns out that one can push this idea very far, and this is one of the modern approaches to Noncommutative Geometry. See, for example, Kontsevich’s fantastic article Geometry in dg-Categories from the equally fantastic book New Spaces in Mathematics – every chapter is a banger. This “noncommutative” perspective on geometry is what will let us make sense of the quantum character stack as a geometric object, even though we really only have access to what its category of sheaves should be. At this point I basically had to stop the talk, but I rushed to say a few last minute things that I hoped would convince the audience that this is something that you can get your hands on. Obviously I mentioned Juliet Cooke’s thesis, where she shows that there’s a concrete skein category defined in terms of tangles in the thickened $\Sigma \times I$ modulo local relations coming from the quantum group $G_q$. This should be compared to the classical skein algebra which is defined in terms of links in $\Sigma \times I$ modulo those same local relations. It turns out that this skein category presents the quantum character stack in the sense that the factorization homology $\int_\Sigma \text{Rep}_q(G)$ is the cocompletion of the skein category. Also, the Barr-Beck yoga says that any category which looks like a category of algebras should be one, and indeed there’s an algebra object3 \(A_\Sigma\) in \(\text{Rep}_q(G)\) so that \(\int_\Sigma \text{Rep}_q(G)\) is “just” a category of modules over \(A_\Sigma\) (internal to \(\text{Rep}_q(G)\), of course) and from a combinatorial presentation of $\Sigma$ Ben-Zvi, Brochier, and Jordan are able to compute explicit presentations of this internal algebra! Alright, it’s a quick epilogue today. I would normally put the title, abstract, and slides here, but because it was an internal seminar and I gave a chalk talk I actually have none of those things, haha4. Thanks for hanging out, everyone! It feels good to write about something that’s not my thesis, and I’m excited to go and write the sister post with this computation! That will have to wait a bit, though, since now it’s dinner time (I succeeded in writing this post in about three hours) and then I’m going climbing with some friends. Stay safe, and we’ll chat soon ^_^. You might be familiar with a different notion of $\mathsf{B}G$ from homotopy theory. In that world you take a contractible space with a free $G$-action and then quotient by it to get a “classifying space” where maps from $X$ to $\mathsf{B}G$ are principal $G$-bundles on $X$. Up to homotopy a contractible space is a point, so this homotopy-theoretic $\mathsf{B}G$ is also “a point quotiented by $G$” just like our algebro-geometric example. Much of the same intuition goes into thinking about these two notions of $\mathsf{B}G$, but you have to remember that their implementations are different! Since a lot of my readers are familiar with topos theory, I’ll say here that the category $G\text{-}\mathsf{Set}$ is a topos, and we often denote it by $\mathsf{B}G$ for this same reason. Indeed, the topos $\mathsf{B}G$ thinks its category of vector spaces is $\text{Rep}(G)$ so this is secretly the algebro-geometric example again. ↩ It’s a fun (but possibly tricky) exercise to compute the dimension of the tangent space at a generic point, then at the trivial representation. Remember that the tangent space to $\text{Ch}(\Sigma,G)$ at a representation $\rho : \pi_1 \Sigma \to G$ is given by the group cohomology where $\mathfrak{g}$ is a $\pi_1 \Sigma$-module by composing $\rho$ with the adjoint action of $G$ on $\mathfrak{g}$. For example let’s take $\Sigma$ to be a punctured torus, whose fundamental group is free on two generators $a$ and $b$, and let’s take $G$ to be $SL_2(\mathbb{C})$. Then a point in $\text{Ch}(\Sigma,G)$ is a representation $\rho$ up to conjugation, is a pair of matrices $A,B \in SL_2$ up to simultaneous conjugation (these are the images of $a$ and $b$ under $\rho$). Now $\mathfrak{g} = \mathfrak{sl}_2(\mathbb{C})$ is the space of $2 \times 2$ trace $0$ matrices, and the adjoint action of $G$ on $\mathfrak{g}$ is conjugation! So $\mathfrak{sl}_2$ becomes a $F_2$-module (read: a $\pi_1 \Sigma$-module) by $a \cdot M = A^{-1} M A$ and $b \cdot M = B^{-1} M B$. From here you can compute the group cohomology $H^1(F_2, \mathfrak{sl}_2)$ explicitly, and you’ll see that the generic dimension is not the dimension when $A = B = \text{Id}$. ↩ In fact this algebra comes as a kind of $\text{Rep}q(G)$-valued endomorphism object of the quantum structure sheaf… But I didn’t have time to say any of that at the end of the talk. See the _Integrating Quantum Groups Over Surfaces paper for more. ↩ Actually, writing this has reminded me that I never wrote a talk debrief for my JMM talk about Fukaya categories and my thesis work… Maybe I’ll write a very belated post about that, especially since it does have a title, an abstract, and slides! We’ll see, though. I’ve been ridiculously busy lately. ↩

20th Feb 2026 • 2 votes
$F_2 \times F_2$ is Incoherent -- A Polite Spectral Sequence Computation

Yesterday I watched my friend Jialin Wang defend her thesis, and as part of her background section she mentioned that the group $F_2 \times F_2$ is incoherent in the sense that it has a subgroup that’s finitely generated and not finitely presented. I was curious how one might prove something like this, and in the original paper (Stallings’s Coherence of 3-Manifolds Fundamental Groups) this fact is boiled down to an “exercise which can be performed with the help of [a] spectral sequence”. I’ve been slowly trying to make spectral sequences feel like friends, so this seemed like the perfect thing to work out quickly and turn into a blog post! I’ve been doing a lot of writing lately, with two papers that I want out by the end of the summer and a new result (which will be my thesis) that I want out by the end of the year and an NSF proposal1, and even more stuff that I’m not talking about yet… So everyone in my life has heard me do nothing but complain about writing for the last month, haha. Weirdly, though, I’ve been itching to write a blog post! Maybe because it’s so informal, or maybe because it’s something I know I can finish, or maybe it’s because I’m mainly sick of writing about the same thing all day. No matter what it is, I’m happy to be here, and happy to have the excuse to share something cool ^_^. There’s no way I can give an introduction to spectral sequences that’s better than Vakil’s notes, so I won’t even try. I highly recommend everyone give those a read at least once in your mathematical life, especially if you’re planning to do anything that might require you to actually use spectral sequences “in the wild”. Going forwards in this post, I’ll assume that you know the basics of what spectral sequences are, and how (roughly) to compute with them, but if you’re feeling brave and know a bit about homology you can probably already understand a fair amount of the post. First, though, a few words about our goal. We’re trying to show that a product of free groups, $G = F_2 \times F_2$, is not coherent. To do this, we need to find a subgroup of $G$ which is finitely generated but not finitely presented. Stalling’s original paper tells us that we should look at which is the kernel of the homomorphism This subgroup is obviously finitely generated (since we defined it in terms of $3$ generators!) so we need to show that it isn’t finitely presented! The key insight will be that Every finitely presented group has finitely generated $H_2$. $\ulcorner$ Recall that the group homology $H_\bullet(G;M)$ is isomorphic to the “usual” homology2 of its Eilenberg-MacLane Space $K(G,1)$ with coefficients in the local system associated to the $G$-module $M$. Now if $G = \langle x_1, \ldots, x_n \mid R_1, \ldots, R_m \rangle$ is finitely presented, we can explicitly build a $K(G,1)$ as follows: First add a loop for every generator $x_i$. Then each relation $R_i$ is a word in the generators, thus is a loop in our space, and we glue in a disk with boundary given by $R_i$. Note that this makes the loop vanish in $\pi_1$ so that we’ve forced the fundamental group of this space to be $G$. Finally we inductively add in higher cells to kill the higher homotopy groups, since we want our $K(G,1)$ to be aspherical. Now we compute $H_2(G;\mathbb{Z}) = H_2(K(G,1); \mathbb{Z})$ using this description of the cell structure of $K(G,1)$. Since $G = \langle x_1, \ldots, x_n \mid R_1, \ldots, R_m \rangle$ was finitely presented, we see that there’s $n$ many $1$-cells and $m$-many $2$-cells in $K(G,1)$. So the group of $2$-cycles is a subgroup of $\mathbb{Z}^m$, the free abelian group on our (finite) set of $2$-cells, and is itself finitely generated. Quotienting out the boundaries gives $H_2$, so we win since the quotient of a finitely generated group is still finitely generated.3 $\lrcorner$ So, to show that our \(N = \langle a, c, bd \rangle \trianglelefteq F\{a,b\} \times F\{c,d\}\) isn’t finitely presented, we just have to show its $H_2$ isn’t finitely generated. We can simplify the discussion by computing $H_2(N; \mathbb{Q})$ instead, since fields make homological algebra much easier and the dimension of $H_2(N; \mathbb{Q})$ (as a $\mathbb{Q}$-vector space) is a lower bound on the number of generators for $H_2(N;\mathbb{Z})$ (do you see why?4). So with this in mind It suffices to show that $H_2(N; \mathbb{Q})$ is not finite dimensional as a $\mathbb{Q}$-vector space! Unless otherwise stated, all homology groups have coefficients in $\mathbb{Q}$ (with the trivial action) for the rest of this post. If we could find some nice description of the isomorphism type of $N$ then we could maybe compute its $H_2$ directly… But why spend the effort looking? We already have a short exact sequence and the homologies of $F_2 \times F_2$ and $\mathbb{Z}$ should be easier to compute by hand. Experience shows there should be some way to relate the homologies of $N$, $F_2 \times F_2$, and $\mathbb{Z}$, and indeed we’re saved by the Hochschild-Serre Spectral Sequence! This says that whenever we have a short exact sequence we get a spectral sequence relating the homology of $G$ to the homologies of $Q$ and $N$. See Ch. VII.6 in Brown’s classic textbook for more details. Concretely this means that we can compute the homology of $G$ in terms of “nested” homology groups: $Q$ acts on $N$ by conjugation, and this induces an action of $Q$ on $H_q(N)$ – thus it makes sense to look at the homology of $Q$ with coefficients in $H_q(N)$! The spectral sequence gives a close relationship between $H_n(G)$ and the collection of “nested” homologies $H_p(Q; H_q(N))$ with $p+q = n$. Precisely, the $E^2$-page of the spectral sequence is In our case, we know that $Q = \mathbb{Z}$ has particularly simple homology. Recall that a $\mathbb{Q}\mathbb{Z}$-module is just a $\mathbb{Q}$-vector space $V$ with a $\mathbb{Z}$ action. That is, it’s just a vector space $V$ with a choice of automorphism $\varphi \in GL(V)$. For any $\mathbb{Q}\mathbb{Z}$-module $(V, \varphi)$, we compute \(H_\bullet(\mathbb{Z}; V) = \begin{cases} V_\mathbb{Z} = V \big / (1-\varphi) V & \bullet = 0 \\ V^\mathbb{Z} = \text{Ker}(1-\varphi) & \bullet = 1 \\ 0 & \text{otherwise} \end{cases}\) $\ulcorner$ Writing $\mathbb{Q}[t^\pm]$ for $\mathbb{Q}\mathbb{Z}$, we build a free resolution of $\mathbb{Q}$ This tells us that $H_\bullet(\mathbb{Z}; V)$ is the homology of where $t$ acts by the automorphism $\varphi$, giving the claim. $\lrcorner$ In case $V$ is finite dimensional (as a $\mathbb{Q}$ vector space), then it’s easy to see that $\dim V^\mathbb{Z} = \dim \text{Ker} (1 - \varphi)$ and $\dim V_\mathbb{Z} = \dim \left ( V \big / \text{Im}(1 - \varphi) \right ) = \dim V - \dim \text{Im}(1 - \varphi)$ are equal, so that these two vector spaces are isomorphic. In case $V$ is infinite dimensional, though, this can fail! Let $V = \mathbb{Q}[t^\pm]$, of countable dimension, and let $\varphi$ be the (invertible) “multiply by $t$” operator. The fixed points $V^\mathbb{Z}$ of this operator are the laurent polynomials $p$ so that $p = t \cdot p$ (read: so that $(1-t) \cdot p = 0$), and the only option is $p=0$. The co-fixed points $V_\mathbb{Z}$ are given by $V \big / (1-t)$ which is isomorphic to $\mathbb{Q}$. So $V^\mathbb{Z}$ is $0$-dimensional and $V_\mathbb{Z}$ is $1$-dimensional. When $V$ is finite dimensional as a $\mathbb{Q}$-vector space we compute as vector spaces. So if these are not isomorphic, then $V$ must be infinite dimensional! This lets us start evaluating the terms of our spectral sequence: becomes Moreover, we know that our $H_0(N; \mathbb{Q}) = \mathbb{Q}$ and $H_1(N; \mathbb{Q}) = N_\text{ab} \otimes \mathbb{Q} = \mathbb{Q}^3$, since the abelianization of $N = \langle a, c, bd \rangle$ is isomorphic to $\mathbb{Z}^3$. While we’re here we can compute that the conjugation action of $Q = \mathbb{Z}$ on $N$ induces the trivial action on $H_0(N)$ and $H_1(N)$. Since $Q = \mathbb{Z}$ is generated by the image of $b$, the conjugation action on $N$ is literally conjugation by $b$. On the generators we compute $a \mapsto b^{-1} a b = (bd)^{-1} a (bd)$ $c \mapsto b^{-1} c b = c$ $bd \mapsto b^{-1} (bd) b = bd$ In $H_0(N) = \mathbb{Q}$ the group $N$ doesn’t even make an appearance, so the induced action is trivial. On $H_1(N) = N_\text{ab} \otimes \mathbb{Q}$ we need to see what the conjugation action induces on the abelianization, but that becomes trivial since in $N_\text{ab}$ we have $(bd)^{-1} a (bd) = a$. Since the $\mathbb{Z}$-action is trivial on $H_0(N) = \mathbb{Q}$ and $H_1(N) = \mathbb{Q}^3$ we learn that $H_0(N)_\mathbb{Z} = H_0(N)^\mathbb{Z} = \mathbb{Q}$ $H_1(N)_\mathbb{Z} = H_1(N)^\mathbb{Z} = \mathbb{Q}^3$ So the $E^2$ page of our spectral sequence further reduces to The differential on the $E^2$ page points “up two, left one”, so we see that every differential is $0$. In fact it’s easy to see that all futher differentials vanish so that this is actually the $E^\infty$ page of our spectral sequence! General theory tells us that $H_n(G) = \bigoplus_{p+q = n} E^\infty_{pq}$, so we can compute $H_n(F_2 \times F_2)$ by summing over the $n$th diagonal in the above table. Of course, $H_n(F_2 \times F_2)$ is easy enough to compute by hand using the Künneth formula and the fact that $K(F_2, 1) = S^1 \vee S^1$ is a bouquet with two petals5. So we can compute it in two ways (directly via Künneth and “indirectly” via the spectral sequence) and compare to see what it tells us about $H_\bullet(N)$! In particular, we learn (the left isomorphism comes from Künneth and the right isomorphism comes from the spectral sequence): From the $H_2(F_2 \times F_2)$ computation, we learn that \(H_2(N)_\mathbb{Z}\) must be $1$ dimensional. But from the $H_3(F_2 \times F_2)$ computation we learn that $H_2(N)^\mathbb{Z}$ must be $0$ dimensional! Since the invariants and coinvariants have different diemnsions, our earlier discussion shows that $H_2(N)$ must be infinite dimensional! This means $N$ cannot have been finitely presented, as desired ^_^. Let’s take a second to reflect on what just happened, since there were a decent number of moving parts. We wanted to show that \(N = \langle a, c, bd \rangle \leq F\{a,b\} \times F\{c,d\}\) is not finitely presented. First, we showed that every finitely presented group $G$ has finitely generated $H_2(G;\mathbb{Z})$ (using a concrete model of $K(G,1)$) so that it suffices to show $H_2(N; \mathbb{Z})$ is infinitely generated. Since the dimension of $H_2(N;\mathbb{Q})$ is a lower bound for the number of $\mathbb{Z}$-generators, we can work over a field and show that $H_2(N; \mathbb{Q})$ is infinite dimensional. Next, we showed that $H_2(N)$ comes with a natural $\mathbb{Z}$ action, and argued that $H_2(N)$ must be infinite dimensional if the invariants and coinvariants $H_2(N)^\mathbb{Z}$ and \(H_2(N)_\mathbb{Z}\) have different dimensions. Finally, using the Hochschild-Serre spectral sequence, we were able to compute that $H_2(N)_\mathbb{Z}$ is one dimensional while $H_2(N)^\mathbb{Z}$ is zero dimensional. This shows that $H_2(N)$ must be infinite dimensional, and we win! This is a clever trick, and a fairly subtle one! It’s something I’ll have to try to remember, since the obvious approach is to try and compute the (co)invariants explicitly, but I’m not even sure6 how to compute the $\mathbb{Z}$-action on $H_2(N)$! This lets you get your hands on the infinite-dimensionality indirectly, which feels very useful. Thanks for hanging out, everyone! It’s wild to think that just a short week ago I was in Bozeman, Montana meeting a bunch of cool people and giving a talk about my thesis. Then all in a row over labor day weekend I had two little dinner parties and went to the beach to swim with leopard sharks! It wasn’t very productive, but it was extremely good for the soul, haha. Now I have a few short days to try and get more done before I fly to Chicago for the Fall School on Quantizations and Lagrangians. Take care all, and stay safe. We’ll talk soon 💖 On the off chance the NSF still exists next year ↩ Depending on which book you read, this is either a definition or a theorem. See, for instance, the Introduction or Chapter II.4 in Brown’s book on Group Cohomology. ↩ In fact, there’s a whole hierarchy of finiteness conditions on a group $G$. We say that a group $G$ is “of type $F_n$” if its $K(G,1)$ has a finite $n$-skeleton. That is, if there’s only finitely many $0$-cells, finitely many $1$-cells, …, and finitely many $n$-cells. In the body we really showed that being finitely presented means being type $F_2$… Well, we showed half of this. Showing the converse (that $F_2$-groups are finitely presented) isn’t so hard either, and uses essentially the same idea. Note that being type $F_2$ implies that $H_2$ is finitely generated, since (as we said in the main body) then $H_2$ is a quotient of a subgroup of a finitely generated abelian group. But even if $G$ isn’t of type $F_2$, then $H_2$ might “accidentally” be finitely generated, if we have a big generating set but then quotient out by a similarly big set of boundaries. In fact, this really does happen! Bestvina and Brady constructed a group whose $H_2$ is finitely generated (indeed, whose $H_n$ is finitely generated for all $n$) yet which is not finitely presented! See Morse Theory and Finiteness Properties of Groups ↩ The universal coefficient theorem promises $H_2(N;\mathbb{Q}) = H_2(N;\mathbb{Z}) \otimes \mathbb{Q}$, which kills any torsion subgroups (so we don’t see those generators) but keeps the free abelian part. ↩ If this isn’t obvious, it’s a fantastic exercise in algebraic topology! Can you compute the homology groups $H_\bullet \Big ( (S^1 \vee S^1) \times (S^1 \vee S^1) ; \mathbb{Q} \Big )$? Again, you’ll want the Künneth formula to handle the product, and then you’ll want something like Mayer-Vietoris to handle the wedge sums. To relate this to group homology, note that $K(G \times H, 1) \cong K(G, 1) \times K(H, 1)$, so that the Künneth formula also applies to group homology! ↩ Though I gave up almost immediately, since I want this post finished so I can go back to writing more important things ↩

3rd Sep 2025 • 39 votes
An Empty Product of Nonempty Sets

A few days ago I saw a cute question on mse asking about a particularly non-intuitive failing of the axiom of choice. I remember when I was an undergrad talking to a friend of mine about various statements equivalent to choice, and being particularly hung up on the same statement that OP asks about – The product of nonempty sets is nonempty. I understood that there were models where the axiom of choice fails, and so in those models we must have some family of nonempty sets whose product is, somehow, empty! Now that I’m older and I’ve spent much more time thinking about these things, this is less surprising to me, but reading that question reminded me how badly I once wanted a concrete example, and so I’ll share one here! This should be a pretty quick post, since I’ll basically just be fleshing out my answer to that mse question. But I think it’ll also be nice to have here, since these things can be hard to find when you’re first getting into logic and topos theory! Let’s get to it! First, let’s remember that for any group $G$ the category $G\text{-}\mathsf{Set}$ of sets equipped with a $G$-action is a topos. Indeed you can see it as a presheaf topos, since $G\text{-}\mathsf{Set}$ is equivalent to the category of functors from $G \to \mathsf{Set}$ (viewing $G$ as a one-object category). We’ve talked about this topos before, and it’s wild to think how far I’ve come since writing that post! The basic idea of $G\text{-}\mathsf{Set}$ as a topos is that any set theoretic construction we do to some $G$-sets again gives us $G$-sets! For instance, any (co)limits of $G$-sets will have a natural $G$-action. If $X$ is a $G$-set then its powerset $\mathcal{P}(X)$ has a $G$-action where if $A \in \mathcal{P}(X)$ we define \(g \cdot A = \{g \cdot a \mid a \in A \}\), which is another element of $\mathcal{P}(X)$. If $X$ and $Y$ are $G$-sets then the set of functions $X \to Y$ is again a $G$-set where we say $(g \cdot_{X \to Y} f)(x) = g \cdot_Y f(g^{-1} \cdot_X x)$. In particular, we can recover the “$G$-equivariant” constructions as the global elements! So even though $\mathcal{P}(X)$ contains all subsets of $X$ (not just the $G$-invariant subsets), if we look at the global elements (that is the maps $1 \to \mathcal{P}(X)$) we do get exactly the $G$-invariant subsets. Similarly while the set of functions $X \to Y$ sees all functions, the global elements of this set will pick out exactly the $G$-equivariant functions. But $G\text{-}\mathsf{Set}$ has a coreflective subcategory given by those $G$-sets all of whose orbits are finite. The coreflector takes a $G$-set and just deletes all the infinite orbits, so we have an adjunction which gives us a comonad $\iota R$ on $G\text{-}\mathsf{Set}$. This comonad is idempotent, and its category of coalgebras is equivalent to \(G\text{-}\mathsf{Set}_\text{finite orbits}\). Then since $\iota$ is left exact (and so is $R$, since it’s a right adjoint), we see that \(G\text{-}\mathsf{Set}_\text{finite orbits}\) is the category of coalgebras for a lex comonad on a topos, thus is itself a topos! As a cute exercise, check that $\iota$ really is left exact! Now doing computations in this topos is pretty easy! Finite limits and arbitrary colimits are computed as in $G\text{-}\mathsf{Set}$ since $\iota$ preserves these. Arbitrary limits and exponentials $Y^X$ come from coreflecting – that is $Y^X$ as computed in \(G\text{-}\mathsf{Set}_\text{finite orbits}\) is just what we get by removing the infinite orbits from $Y^X$ as computed in $G\text{-}\mathsf{Set}$, and similarly for limits. The subobject classifier is just the usual set of truth values \(\{ \top, \bot \}\) with the trivial $G$-action1. In particular this topos is boolean, so set theory inside it is particularly close to the usual ZF set theory. Now with this in mind, we can prove the main claim of this post: In $\mathbb{Z}\text{-}\mathsf{Set}_\text{finite orbits}$, let $C_n$ be $\mathbb{Z}/n$ with its obvious $\mathbb{Z}$-action. Then each $C_n$ is inhabited2 in the sense that $\exists x . x \in C_n$, and yet \(\prod_n C_n = \emptyset\)! So this topos shows explicitly how, in the absence of choice, you can have a family of nonempty sets3 whose product is somehow empty! The computation is actually quite friendly! To compute $\prod_n C_n$ in this topos, we first compute the product in the category of all $\mathbb{Z}$-sets, then throw away any infinite orbits. But it’s easy to see that every orbit is infinite! Any element of the product will contain an element from every $C_n$, so that in any finite number of steps some large entry in this tuple won’t be back where it started. Ok, this one was actually quite quick, which I’m happy about! My parents are visiting soon, and I’m excited to take a few days to see them ^_^. I have another shorter post planned which another grad student asked me to write, and I’ve finally actually started the process of turning my posts on the topological topos into a paper. I’m starting to understand TQFTs better, and it’s been exciting to learn a bit more physics. Hopefully I’ll find time to talk about all that soon too, once I take some time to really organize my thoughts about it. Thanks for hanging out, all! Stay safe, and we’ll talk soon. In case $G = \mathbb{Z}$ then it’s a kind of cute fact that this topos is equivalent to the topos of continuous (discrete) $\widehat{\mathbb{Z}}$-sets, where $\widehat{\mathbb{Z}}$ is the profinite completion of $\mathbb{Z}$. See, for instance, Example A2.1.7 on page 72 of the elephant. This gives another computationally effective way to work with this topos! I’m pretty sure I convinced myself that more generally the category of $G$-sets all of whose orbits are finite should be equivalent to the category of continuous discrete $\widehat{G}$-sets, but I haven’t thought hard enough about it to say for sure in a blog post. ↩ Of course, there’s no global points for $n \neq 1$, since maps $1 \to C_n$ correspond to fixed points. But existential quantification is local, so that the topos models $\exists x \in C_n . \top$ if there’s some surjection $V \twoheadrightarrow 1$ and a map $V \to C_n$. We can take $V = \mathbb{Z}$ with its left multiplication action on itself, and there is a map from $\mathbb{Z} \to C_n$. If you’re more used to type theory, we don’t have $\Sigma_{x : C_n} \top$, since that would imply a global element. But despite this, we do have the propositional truncation $\lVert \Sigma_{x : C_n} \top \rVert$, so that an element of $C_n$ merely exists. ↩ Since this topos is boolean, nonempty and inhabited are actually synonyms here. Moreover, this “nonempty” is closer to how a lot of working mathematicians speak, so it felt right to use this wording here. ↩

4th Jun 2025 • 43 votes

More in science

Anne Heggli, Jonathon Keats, & Adam Csank: Art & Science at the Nevada Bristlecone Preserve

In a remote corner of the driest state in the country, Anne Heggli's team has been keeping watch over some of Earth’s oldest beings. Since 02012, Heggli’s NevCAN network has recorded conditions at the Nevada Bristlecone Preserve every eight minutes. The result is more than 120 million data points and a high-resolution portrait of how a bristlecone pine thrives. Paleoclimatologist Adam Csank showed how bristlecone microcores reveal the droughts and floods these trees survived long before us, a history that fine-tunes models of what's ahead. Artist and philosopher Jonathon Keats went further. “The most accurate clock,” he said, “is a tree.” His monumental artwork Centuries of the Bristlecone keeps bristlecone time, a clock calibrated to the trees' own growth over millennia. Together, Heggli, Keats and Csank made the case for long science: patient, continuous observation that will help us answer future urgent questions. “Data at this resolution,” Csank said, “is like a Rosetta Stone” for understanding nature’s resilience. At fourteen years young, the bristlecone record is just beginning, Heggli said, but it already holds the key to questions like these: How will bristlecones adapt? What happens when the droughts and floods they've weathered for millennia arrive faster and more frequently? “We can't answer the questions if we're not watching,” said Csank. “We are the stewards of this data,” Heggli concluded. “This is why we need long science.”

58 minutes ago • 1 votes
In praise of questions

Prende y se apaga sola, sale después de hora. CHARLY GARCÍA La máquina de ser feliz I’ve learned to tolerate them, and sometimes even like them, but Zoom meetings are weird. Even in familiar contexts: I have weekly check-ins with … Continue reading →

3 hours ago • 1 votes
A weird corner of healthcare: indemnity insurance | Out-Of-Pocket

the economics are especially interesting

yesterday • 1 votes
The Hidden Engineering of Pressure Regulators

[Note that this article is a transcript of the video embedded above.] If you have a fluid-filled system of pipes in your life, whether liquid or gas, (and who among us doesn’t?) there’s a very good chance that it passes through a simple device at some point on its journey to you. This device is almost unbelievably reliable for a purely mechanical system, and it has changed very little since the mid 1800s. So reliable that there’s a good chance you’ve probably never serviced or replaced one and maybe never even noticed one, despite them controlling so many aspects of our everyday lives. Of course, I’m talking about pressure regulators. But don’t let the jargon bore you, because these things are fascinating. They’re basically Victorian-era mechanical computers, and I cut one in half so we can see how it works. I’m Grady and this is Practical Engineering. “Control theory” is the branch of engineering that we use to describe managing dynamic systems, including the flow of fluids in pipes. I have a bunch of videos and demonstrations of just how dynamic those systems can get. A fundamental idea in this field is that, to garner any amount of control, you need some kind of feedback. And this is not a complicated idea. Say I want to control the pressure in my garden hose. I can put a pressure gauge on it, look at that gauge, and adjust the valve until I hit my setpoint. If something changes, like someone flushing all the toilets in the house simultaneously, I’m the feedback loop. I look at the gauge and make the change to get the pressure back to where it’s supposed to be. In fact, this exact situation (more or less) contributed to the pressure regulation equipment that we know and love today. The legend goes that in 1876, a massive fire broke out in Marshalltown, Iowa. William Fisher, a city engineer, spent all day and all night adjusting the throttle on steam-driven pumps by hand to manage the water pressure in the system to help the firefighters. Exhausted by the effort, he went on to develop the constant pressure pump governor, a precursor to the modern pressure regulators that are absolutely ubiquitous today. And I really mean that. Let’s take a little tour. One of the easiest regulators to find is on an air compressor. You generally want the reservoir as full as possible, which means pressurizing it to a level higher than what you would actually want out of the hose. Every air tool has its own maximum pressure, so you have a knob like this so that, no matter how much higher the pressure in the tank is, you get a consistent and controllable pressure out. If you use pressurized tanks of gas like oxygen, argon, or propane - exact same thing. You’re almost always going to see a regulator on top to control the pressure leaving the tank. Maybe you have a natural gas connection to your house. In most cases, residential plumbing and appliances are designed for very low pressures, like a half a psi or about 30 millibar. That’s great for getting gas from your basement up to your kitchen, but it’s hard to get gas to flow long distances at those pressures, so the lines feeding houses are usually at pressures quite a bit higher. You don’t want high pressure explosive gas in the walls of your house, so it has to be regulated down at the meter. That’s the pancake shaped device you often see outside. Even a standard pressure cooker has a regulator on top. A weight on top of a small pipe balances the steam pressure inside, providing only enough release to maintain a constant pressure inside. It’s not just gases either. The pressure in your water main can be too high for residential plumbing, so you might have a pressure reducing valve on your water service line. Most internal combustion vehicles have regulators that manage fuel pressure between the pump and injectors. And, of course, there are countless industrial applications of pressure regulators used in factories, power plants, and more. If you can find a pipe anywhere in the world, there’s a good chance that, no matter what’s in it, somewhere along it is a pressure regulating device. By the way, the stakes associated with pressure regulation are extremely high, particularly when it comes to natural gas. In 2018, the Merrimack Valley in Massachusetts saw over a hundred structures damaged by fire and explosions, 22 people injured, and 1 dead all as part of a single incident. It all came down to a mistake made during a pipe replacement project that kept the regulators from working correctly. This was a system where pressure was regulated down at a district level instead of each individual meter. The mistake sent natural gas into homes and businesses at pressures way above what the plumbing was designed to handle, ultimately resulting in one of the worst natural gas disasters in American history. I covered the whole story in a video a while back if you want to learn more after this. Here’s the thing: it’s not that complicated to reduce the pressure in a stream of fluid. Basically any kind of obstruction to the flow will do it. A simple way to do it is to put a flat plate with a hole inside the pipe. But a graph will show you why it’s not quite that easy. Let’s assume you have a constant pressure on the inlet side. If you graph the outlet pressure as a function of flow rate through the pipe, you don’t get a flat line, but a curve. And, critically, when there’s no flow, the pressure on the outlet side is the same as the inlet. There’s no reduction at all. If you let the pressure on the inlet vary, things get even more complicated. It’s easy to see why a static device, like an orifice plate, is not a very good regulator. There’s no feedback and no control. You definitely get a lower pressure in some situations, but if you need a consistent pressure that doesn’t exceed some maximum level, this is not going to work. Early gas regulators were bulky contraptions, but actually pretty simple. You could suspend an iron bell in a tank of water. A cast iron cone was attached to the top of the bell, sliding inside the inlet pipe. If the pressure inside the bell rose, it would float upward, pulling the cone too. The higher the cone is, the more restriction you get on the inlet pipe, decreasing the flow to maintain a consistent pressure leaving the device. It’s a pretty clever invention, but not entirely practical. The water level had to be maintained; it could freeze or get gross; the metal corrodes. And importantly, when it failed, it didn’t fail safely. If the bell sprung a leak or the counterweight cable broke, the cone would fall downward, fully opening the inlet. Modern regulators have a few features that improve on the original idea, and I happen to have a natural gas regulator so we can take a look inside. This is a used regulator that probably came from a large commercial building or a light industrial setting. And it’s actually built by Fisher Controls, the company William Fisher started after his firefighting pump throttling experience. Not a sponsor, but I like to think he would appreciate us cutting it up to learn more about it. I tried to be strategic about this to allow a look inside without it completely falling apart. From the outside, it kind of looks like gas would make a straight shot through, but when you cut it open, you can see that there's a separation here where the regulator connects to the line. I have it set where the discharge is pointed down. Gas has to pass through this valve to make it to the discharge side, and you can see that, past the valve, the discharge side is connected to this chamber in the main body of the regulator. Inside the chamber is this flexible membrane called the diaphragm sandwiched between the two sides of the housing. It’s a little floppier than usual, since I cut the whole thing in half, but hopefully you can still see how this works. This regulator has a stiffening plate attached to the diaphragm that acts against a spring at the top. The spring is a little too stiff for me to show you the full range of motion, so I’m going to take the seat off just to demonstrate. Let’s say there’s no demand for gas downstream. In that case, the pressure in the discharge line will build up, pushing the diaphragm upward. The diaphragm is connected to this lever, which is connected to a poppet, which pushes up against an orifice to close the valve, preventing gas from flowing. Let’s say someone opens a valve downstream, like a stove or a heater. As the gas flows out of the system, the pressure in the discharge line will fall, reducing the pressure on the diaphragm. The spring at the top will push the diaphragm down, lowering the lever, and opening the poppet so that gas can start flowing. If the demand increases, the pressure will drop further, lowering the diaphragm and opening the valve even more. And this system will constantly adjust to the downstream pressure, throttling the valve to keep it consistent - a completely mechanical control loop maintaining equilibrium. Any difference in the setpoint and actual downstream pressure creates a proportional movement of the diaphragm and poppet valve. And it’s adjustable too: The compression of the spring at the top can be increased or decreased, which allows you to dial in the exact pressure the regulator will supply. This is just so impressive to me. It’s a dead simple idea, but it does such an important job. But one of the difficulties, especially with natural gas, is that, like all mechanical devices, there’s some friction in the system. I mentioned that the downstream pressure of natural gas is pretty low. This regulator has an outlet range of about 1.5 to 3 psi above ambient air pressure, or about 100 to 200 millibar. Force is pressure times area. If the area of the diaphragm was small, the total force from the gas pressure acting against the spring would be practically indistinguishable within that range, especially when you consider the friction of the lever and valve. That’s why the diaphragm in natural gas regulators is so big. Even small changes in pressure create large difference in force, so you get more sensitivity, and the valve positions are more closely tied to the actual changes in pressure. You might see an issue with this design though: For the valve to open wider to allow more flow, the diaphragm must move down. For the diaphragm to move down, the pressure holding it up (the downstream pressure) must drop. Engineers call this droop, which I love. But there is still some variability in the downstream pressure. Pressure is tied to the valve position, so it’s necessary that it be allowed to fluctuate some. It will never be rock solid in this model. If you need that, the solution is usually a pilot-operated regulator. In this design, the downstream pressure is connected to a tiny, ultra-sensitive pilot regulator, and that regulator basically uses the higher-pressure inlet gas to move the main valve. In this way, you can go from 0 percent to 100 percent flow with almost no change in downstream pressure. Regulators can also be sensitive to inlet pressure. You can see on my model that the inlet pressure acts against the spring to open the valve. Of course the valve is a lot smaller than the diaphragm, so the effect isn’t as big, but there’s still a relationship between inlet pressure and outlet pressure, which isn’t always ideal. A lot of regulators work the opposite way, where the inlet pressure acts to close the valve. If you use a regulator on a tank, this can cause the counterintuitive issue of discharge pressure spiking as the tank empties, since the inlet to the regulator isn’t pushing as hard to close the valve. If you want to reduce this sensitivity, you can use a two stage regulator where you drop the pressure in steps. Let the first stage handle the coarse reduction, providing a more consistent inlet pressure to the second stage which can then keep the discharge pressure rock steady. One thing this regulator doesn’t do is fail closed. If this diaphragm rips, the outlet pressure won’t be able to push it upward to close the valve. So we have to account for that potential in other ways. Lots of gas systems will use a secondary, redundant regulator set to a slightly higher pressure that will take over if the primary fails. There is also a circuit breaker equivalent for gas systems called an overpressure shut-off or slam-shut. This model uses another option: an internal relief valve. Say the pressure on the discharge end somehow got too high. Maybe something got stuck in the valve, keeping it from fully closing. Or maybe the discharge line was exposed to sunlight, expanding the gas inside. In this case, the diaphragm can bottom out and act against this secondary spring, lifting off this plate. Gas is allowed to escape through a hole in the center of the diaphragm into the top half of the casing and out of this vent hole. And here we have another valve called a flapper. It can open inward to balance the pressure inside the regulator. And it can open outward if the relief valve activates, letting the excess pressure escape. The regulator would normally be mounted like this so the vent points downward, keeping rain out. And it has a screen so bugs don’t make a home inside. Obviously, this has some tradeoffs. This regulator has to be mounted outside or be attached to a ventilation pipe running outdoors to make sure it’s not releasing gas into a closed space. Even so, you don’t necessarily want to vent a bunch of natural gas outside. But because of the odorant that’s added to it, the idea is that someone would notice pretty quickly that some part of the system is malfunctioning and shut the line down for repairs. Like every part of engineering, it’s a game of tradeoffs: pressure versus flow, capacity versus cost, accuracy versus redundancy, and safety here versus safety there. I just love that there’s stuff like this out there, pretty much anywhere you’re willing to look, doing an essential job that few people even consider, and that their basic function really hasn’t changed in centuries. Samuel Clegg, one of the early engineers in natural gas systems had this to say about the pressure regulator: “Its use is nowhere sufficiently appreciated. Had it been a complicated piece of machinery, or expensive in its first cost and after application, objections to its adoption would not have been surprising; but it is perfectly simple: its action is certain and unvarying, and its first cost inconsiderable.” Nearly 200 years later, I couldn’t have put it any better myself.

2 days ago • 1 votes
How funny are the frontier AI models?

TLDR: yes, models are getting funnier over time I love laughing. Well, who doesn’t? Good jokes have a certain notion of cleverness to them and I do believe that great comedians display high intelligence. Cracking a good joke requires astute observations about odd situations, and linking them to something we find familiar. Jokes are hard!… Read More The post How funny are the frontier AI models? appeared first on Inverted Passion.

2 days ago • 1 votes
📚 BoredReading

You seem to be enjoying this.

Join free to unlock everything.

Create free account

Already have an account? Sign in