An Overly Explicit Computation with Character Stacks
20 Feb 2026
In the main post I go over a talk I gave today yesterday explaining how
factorization homology relates to (quantum) character stacks. In this
post I want to do a sample computation which gives some justification that
the main theorem from that talk (which is not mine) actually does work!
Recall from that blog post that we can compute the category of sheaves on
the character stack by integrating
over in the sense of factorization homology:
Let’s take a simple surface (like the annulus) and a simple group (like
) and just… check!
There’s a lot of problems with what I’m doing here… For one, I’m not
actually sure if I’m working -categorically or -categorically!
It’s possible that when I say and and what not
I really mean the derived category of quasicoherent sheaves and
chain complexes, etc… that seems likely to me since I’m using a lot of
formal gluing and duality statements, which tend to work better in the
derived world… I really need to sit down and learn enough algebraic
geometry to appreciate the differences between the derived and underived
stories, but unfortunately that will have to wait for another day.
Another problem is that I’m only going to naively check that the objects
of these categories seem to agree. It’s almost certainly possible to work
with the arrows by hand as well and check that they agree, but I don’t have
time to do that right now.
Plus, in case we are working in a derived setting, I definitely don’t have
time to check the infinitely many higher cells!
So with these caveats,
I’ll follow in the footsteps of Jim Dolan and just press on doing computations
to see if something meaningful pops out.
Let’s start with the left hand side.
When is the annulus and is we see that
The last step is because here is acting on itself by
conjugation – which is the trivial action since is
abelian. We know a point with the trivial action gives rise to a
and how we have many
such points, so that we get a
in total.
So now we want to compute quasicoherent sheaves on this space, but
products on the geometric side are coproducts (read: tensor products)
on the algebraic side so we get
In the last step we’ve used the fact that
so that its
category of sheaves is just modules over , which we
recognize as the group algebra of . So such a module is
exactly a vector space with an action of . In fact this is
some kind of Fourier duality, where sheaves on
(some kind of circle) are interchanged with representations of
(the dual group).
We’ve also used the fact that
is , where for us
. Moreover, by Fourier duality again,
is the same as ,
but a sheaf on a discrete set like is just a choice of vector
space above each point, so that we get the category of
-graded vector spaces.
Now of course we would expect tensor products to distribute over sums,
and we know that is the monoidal unit, so that at the end of
the day we’ve computed
the category of quasicoherent sheaves on the character stack is
the category of -graded -modules! Which
almost sounds like the kind of thing one can understand and compute with!
Next, the right hand side.
We compute factorization homology by excision – by cutting a surface into
disks glued along collared embeddings and using the fact that the factorization
homology of a disk with coefficients in is just
again.
So we decompose the annulus into disks glued along their collared boundary
and then we can inductively compute the factorization homology by a
Mayer-Vietoris style argument. Concretely, say you have an -algebra
and you’re interested in computing factorization homology over
the annulus. We want to do this in an oriented sense, and out of laziness
I’m going to draw the annulus as though it’s a circle. Then we get
where as usual I’m writing to mean with the
reversed algebra structure: is defined to be .
This makes the computation look more like the Hochschild homology computation
it is, but could possibly be confusing since we’re about to work in the case
where is a monoidal category!
So just remember that in what follows
doesn’t mean the opposite category! It means the same category with the
definition of flipped – is .
Then for us, we find ourselves wanting to compute
Here I’m switching over to for the tensor product of categories
in order to keep it straight with the monoidal product
inside a particular category later.
Now again Fourier duality makes this look less scary, since we know that
!
We need to know the monoidal structure now, and it will come as no surprise
that we swap the “pointwise” monoidal structure on
with the “convolution” monoidal structure
on !
To see why, consider the one dimensional representation
where acts by scalar multiplication by .
This is the generator for the grade copy of of . Now
what is supposed to be? Well acts diagonally so that
and is .
So cashing out the for
everywhere we get
Where the action (on objects) of
on
is by
just like the bimodule action for the ordinary Hochschild homology! So,
using the presentation for the relative tensor product of categories,
we see that our factorization homology is generated by objects of the form
where we add in isomorphisms
From this description it’s clear that, up to isomorphism,
we can always make the into so that a normal form for objects
of our category is
We can do this by choosing , which uses up one of our two
degrees of freedom. Of course, we can still freely choose , which gives us
more isomorphisms! When for simplicity (or, given the above discussion,
without loss of generality), we get isomorphisms
So we have integer many generating objects ,
each of which carries integer many automorphisms given by conjugating
by for … Moreover, these automorphisms are compatible
since so that conjugating by and then
is the same as conjugating by .
Thus we have -many generating objects, each of which carries a
-action!
So, at least at the level of objects, it’s believable that when
is the annulus that
is -graded
-modules!
Of course, this is exactly what we were expecting,
since if you recall from the previous section we computed the same thing for
!
Lastly, let’s say what the “correct” way to do this is. Tom Gannon
showed me how to do this when I talked to him about this yesterday. Obviously,
any mistakes come from my incorrectly remembering some details, or incorrectly
filling in others.
We compute the factorization homology side again… But this
computation will work for any group , and we’ll write it in
that level of generality.
As before, we define to be
, which is – the quotient of
by the conjugation action on itself. We want to compare the category of
quasicoherent sheaves on this stack to the factorization homology
.
As before, excision tells us that we can compute
by the relative tensor product
but recall that , so we can
rewrite this as
In step we use the fact that the (relative) tensor product of sheaves
corresponds to sheaves on the pullback. In step we compute the pullback
of classifying spaces. Indeed, if we wanted the (homotopy) pullback
(remember that
preserves products) this would just be the loopspace of ,
which is . But we don’t have , we actually have
. So we have one left action
(from the ) and one right action
(from the ) and we end up with the double quotient space
… Apparently if you work
through the details both of these actions are diagonal, by left/right
multiplication respectively, but I haven’t tried to understand why that is.
I also don’t entirely know that I’m keeping track of the “op”s correctly,
and while we’re at it I’m fuzzy on the details of this “act like we’re
pulling back to a pair of points and then quotient by the actions after”
stuff too… I’m sure it’s formal, and I just haven’t gotten familiar with
the rules for symbol pushing yet, so let’t not worry about it.
Regardless, we find ourselves with
where the action is by
. Then we can use
one degree of symmetry by taking . This tells us that
in the quotient we should identify with .
Note that the multiplication order is kind of funny because of all the “op”s
floating around. Of course we have another degree of freedom to use by
choosing , and as before this gives us an action of on itself by
conjugation! So altogether we see that
is equivalent to
, the quotient of by the conjugation action! But this is
exactly what we expect to be!
This is encouraging since this calculation looked superficially like the
kind of thing we were doing by hand back in the objectwise calculation
in the last section!
Ok, thanks for reading all! This was a very quick-and-dirty post, and
I’m not sure I got the details right with the objectwise argument in the
first half, or with the “op”s in the second half. I would normally spend
a few days (or weeks) reading up on stacks, properties of ,
this Fourier/Cartier/Pontryagin/Whatever duality that I was using, and
check that everything really does work the way I think it does… But I
want to get this out at the same time as the main post. Plus
I’ve already had to put two posts on the backburner which
are probably mostly right but need some details checked (one is about the
stack semantics for the internal logic of (1-)topoi, and one is an explicit
computation of the Goldman bracket for character varieties), and I really don’t
want a third post in that limbo space. This could easily become one of many
technical computations stuck in my drafts, but maybe it’s nice to share some
quick-and-dirty computations too, since I do a lot of those in the privacy
of my own home, haha. A lot of math looks polished once it gets presented, but
at least for me the early days of learning a subject often look like this.
Stay safe everyone, and stay warm!