Hochschild homology

I finally got around to writing a bit about my paper with Geordie, and realized that this was considerably more than a one post story. I figured I would start by saying a bit about Hochschild homology. This is a pretty standard bit of homological algebra, but has suddenly bursted out of the deformation theory ghetto into link homology.

So, what is Hochschild homology? Unfortunately, in most books, you seem to get a horrifying and useless definition (a bit like what happens with group cohomology). So let me attempt to explain what it really is. It’s a homology theory (for some interpretation of “homology theory”) of S-S-bimodules for a ring S.

Hochschild cohomology (a theory in some sense dual to Hochschild homology) appears very naturally in deformation theory of algebras, but since that’s not particularly relevant to what we’re doing here, I’ll leave that to the reader to investigate.

Whenever one has a S-S-bimodule, one can think of this just as well as S\otimes S-module (here I’m using that S is commutative, but for non-commutative rings not so much changes). And for any commutative ring S, there is an obvious map S\otimes S\to S called “multiplication.”

The extension of scalars by this ring homomorphism (which is just the annoying commutative algebra way of saying the tensor product M\otimes_{S\otimes S}S) is what people seem to insist on calling “coinvariants” (making that word a very overloaded operator in this field). This no help in picking a name to say for it, but the best written notation for me is the somewhat suggestive H\! H_0.

Another way to think of this functor H\! H_0(M) is as the largest quotient of $M$ on which the left and right actions coincide.

Hochschild homology is what happens when we take this extension of scalars in the only proper way to do anything in homological algebra: in the derived sense.

Of course, derived functors are a big topic, and not one to properly be explained in the course of a blog post. To a certain degree, you just have to take some time to get used to them. But the main point is that you should take the tensor product above and replace one (or both) of its factors with a free (or more generally, flat) resolution. You’ll get a complex in the place of your tensor product, and the right exactness The Hochschild homology H\! H_i(M) is the homology of this complex. As you can easily check, you get H\! H_0 back as the 0th homology of this complex.

The definition you see in books is one particular resolution of S as an S\otimes S bimodule, which is ugly and hard to use for many purposes, but is completely general. It works for every ring. But polynomial rings are much nicer than just any old ring. In particular, they have a much smaller resolution as bimodules over themselves, called the Koszul resolution. This has the distinct advantage of being finite rank over S\otimes S, and of finite length (in fact, its length is the number of variables of S), neither of which are true of the more general resolution (in fact, for many rings, there is no upper bound on the i for which H\!H_i might be non-zero. In polynomial rings, we know that the number of variables gives an upper bound).

So, we can calculate H\! H_*(M) by simply tensoring with this complex, but this is not as nice as we might hope, since taking the homology of a complex whose terms are complicated modules is hard, even if the differentials are very explicit. This may be good enough for a computer, for people, it’s a bit dissatisfying.

But as I mentioned before, you can resolve either side, and is useful for some purposes to do one, and for the purposes the other. For example, if one is lucky and can find a nice resolution of the module one is Hochschild homologizing, then tensoring with S, one has a complex whose terms are free modules over S and whose differentials are easy to calculate from those of the original complex (just hit the matrices of the map with the multiplication map).

If one is really lucky, then this complex will have trivial differentials after extension of scalars. This sounds like too much ask, I suppose, but in fact this is true for any modules whose Hochschild homology is free (for example, for Soergel bimodules in type A, by results of Jake Rasmussen).

So, why do we care? Well, if we have a category of bimodules over S which is closed under tensor product, then H\! H_* functions as a categorical trace: We have an isomorphism H\!H_*(A\otimes B)\cong H\! H_*(B\otimes A) (as vector spaces, not necessarily as S modules). It turns out that if you apply this to the category of Soergel bimodules (a categorification of the Hecke algebra), then you get back a categorification of the Jones-Ocneanu trace on the Hecke algebra.

All of which suggests (correctly) that you can build a knot invariant using Hochschild homology, just as Khovanov does in Triply-graded link homology and Hochschild homology of Soergel bimodules.”

Hooray! Triply graded link homology!

As I mention above, this is installment one of at least two posts on my recent paper with Geordie (though funnily enough, it contains essentially no original information from that paper. Go figure). Next time, we’ll have a little geometry.

19 thoughts on “Hochschild homology

  1. HH_* functions as a categorical trace

    Possibly this is “the right way” to think of Hochschild homology.

    Bimodules deserve to be regarded as morphisms of a bicategory, and for any bicategory, there is a good notion of trace of any of its 1-endmorphisms F, namely
    \mathrm{Tr} F := \mathrm{Hom}(\mathrm{Id},F).

    This is due to Kapranov and Ganter, as you probably know.

    In their example 3.5 on p. 7 they mention how the trace of a bimodule in this sense is its Hochschild cohomology.

    My impression that this is “the right way” to think of Hochschild is that it seems to nicely harmonize with the occurences of Hochschild cohomology in 2D-QFT applications, where it is related to passing from open to closed string states, somehow (as in Costello’s work, for instance (theorem A, page 8).)

    Kontsevich in his talks always simply draws circles when talking about Hochschild cohomology. I think this is usefully “explained” by thinking of HH as a trace of a 1-morphism.

  2. For those of you who like n-categories and TQFTs there is a nice new paper on the arXiv by Andrei Caldararu and Simon Willerton.

    They use a 2-categorical perspective where they define a 2-category whose objects are smooth projective varieties, 1-morphisms from X to Y are objects in D(X \times Y) , (the derived category of X \times Y), and 2-morphisms are the morphisms in the derived category. 1-morphisms are viewed as the integral kernels of Fourier-Mukai transforms between the derived categories of X and Y.

    This is somewhere between just working purely geometrically with X and Y as schemes on the one hand and on the other hand forgetting all about X and Y and just remembering their derived categories.

    Anyway, in this contest Hochschild cohomology of an object X is just the (homology of the complex of) 2-morphisms between the identity 1-morphism. It’s kinda like the second homotopy group of this wacky 2-category at the “point” X.

    Apparently Hochschild homology can be defined similarly, using the Serre functor of X. It’s not totally clear to me how this matches up with Ben’s definition. Maybe someone can explain that better?

    The paper also discuss how this all ties in to open-closed TQFTs when X is Calabi-Yau. It seems like a nice way to think about things, though certainly not as clear or elemenary as Ben’s description.

  3. If you’re going to go all algebro-geometrical, then you can just say that H\!H_i is \Delta^*, the left derived functor of pullback by the diagonal map \Delta:X\to X\times X.

    Similarly, I believe Hochschild cohomology should be $\Delta^!$ (though I’m just going on general principal here, not real checking).

  4. Hmmm….

    Are you sure Hochschild homolgy is just the left derived functor of the diagonal map? (presumably applied to the sheaf concentrated on the diagonal). From what I’ve been able to dig up, it doesn’t quite seem to match. Maybe the formulas can simplified in the affine case so it works out ok.

  5. I’m pretty sure that’s right. I mean, the naive (i.e. not derived) pull back along a map of affine schemes is exactly extension of scalars. Doing this for the diagonal is HH_0. By the equivalence between coherent sheaves and modules over the coordinate ring, the derived functors will also coincide.

    It’s VERY important that I’m using pullback of coherent sheaves here. The pullback of usual sheaves (sometimes denoted by \Delta^{-1} to prevent confusion with the pullback of coherent sheaves) is exact, but to stay within coherent sheaves, this pullback must be followed by tensoring with the structure sheaf of the source, which destroys exactness if the map isn’t flat.

  6. Chris Schommer-Pries said:

    Apparently Hochschild homology can be defined similarly, using the
    Serre functor of X. It’s not totally clear to me how this matches up
    with Ben’s definition. Maybe someone can explain that better?

    Let me have a go.

    You want to go from Ben’s description of Hochschild homology of an SS bimodule M as M\otimes_{S\otimes S^{op}S} to our description of the Hochschild homology a sheaf E over X\times X as Hom^*_{D(X\times X)}(\Sigma^{-1}_X,E). [Actually I guess we didn’t write down HH for an arbitrary sheaf (or element of the derived category) but that is what it would be!]

    I would do this in two steps. Firstly I would argue that the analogue of Ben’s description is H^*(X\times X; E\otimes O_\Delta) and then go from there to our definition, with the latter just using various adjunctions.

    Okay, let’s try to do the first bit — if anyone has a better argument, then do chip in. The confusing thing here is that there are two different tensor products (and we’ll see another one in a minute) in the two different descriptions. There is
    -\otimes_{S\otimes S^{op}}-
    which eats two bimodules and spits out a vector space, and there is
    -\otimes -
    (the derived tensor product) which eats two sheaves (or elements of the derived category) and spits out another sheaf (or element of the derived category). What I want to do is justify defining
    {-}\otimes_{X\times X}{-}:= H^*(X\times X; - \otimes -)
    This eats two sheaves (or objects in the derived category) and spits out a vector space.

    To justify this I’ll wander into a middle ground between varieties and algebras which is the land of group algebras of finite groups. [I guess I’m thinking stacky thoughts here.] Fix a finite group G. Modules over the group algebra are the same thing as modules over the group, so I’ll just talk about them. Suppose we have left G-modules {}_GV and {}_GW then we can form the tensor product ({}_GV)\otimes({}_GW) which is also a left G-module [we can’t do that in general for an arbitrary algebra]. We can also use the inverse in the group to define a right G-module V_G and we can define the vector space (V_G)\otimes_G(W_G). These two different tensor products are related in the following way:
    Here \pi_I is induction along the map \pi\colon G\to \{e\}, so \pi_I({-})=\mathbb{C}\otimes_G{-}. Now as I’m working in characteristic zero, induction and coinduction are the isomorphic thus
    (V_G)\otimes_G(W_G)=Hom_G[\mathbb C,({}_GV)\otimes({}_GW)].
    So now if A and B are objects in the derived category of some space Y then I’ve justified defining
    A\otimes_Y B:=Hom^*_{D(Y)}(O_Y, A\otimes B)
    but the thing on the right is nothing other than the cohomology group H^*(Y,A\otimes B).

    Now Ben’s description used S as an SS-bimodule. This has the characterizing property that it does nothing when you tensor over S with it [that’s the third tensor product]. The analogue of this in the geometric world is O_\Delta as this does nothing when you convolve with it.

    Putting this all together we get the analogue of
    M\otimes_{S\otimes S^{op}}S
    H^*(X\times X, E\otimes O_\Delta).

    Okay I think that’s enough for now. I’ll do the second step another time. I hope this is vaguely readable. I do a lot more on the analogy between varieties and finite groups in a paper that I’ve half written…

  7. (dollar sign)latex (code)(dollar sign)

    I’ll fix your comment now though, because I want to read it.

  8. Thanks A.J.

    Oooh, now I can see some typos. W_G should be {}_GW throughout as I’m supposed to be tensoring the right G-module V_G with the left G-module {}_G W. Sorry for the confusion.

  9. Now above I tried to justify the fact that the Hochschild homology of sheaf E on X x X is
    defined by $H^*(X\times X;E\otimes O_\Delta),$ which is nothing other
    than $\rm{Hom}^*_{D(X\times X)}(O_{X \times X}, E\otimes O_\Delta).$
    We can use lots of adjunctions and the like to get this into
    various other forms. For instance the dual of O_\Delta, i.e. the
    object Hom_{D(X\times X)}(O_\Delta, O_{X\times X}), is precisely the
    anti-Serre kernel \Sigma_X^{-1} — you can take this to be its
    definition if you like. Thus by moving the $O_\Delta$ to the other
    side you recover our definition of Hochschild homology as
    $\rm{Hom}^*_{D(X\times X)}(\Sigma^{-1}_{X}, E).$
    This has various nice features, one of which is that it doesn’t
    involve the tensor product which means that we just had to think of
    the 2-category of kernels as just a 2-category and not a monoidal

    Another thing you might want to do is to rewrite E\otimes O_\Delta
    as \Delta_*\Delta^*E, where \Delta\colon X\to X\times X is the
    diagonal embedding [remember: everything I do is derived] — this rewriting involves a standard use of the
    projection formula. This
    gives that the Hochschild homology is
    \rm{Hom}^*_{D(X\times X)}(O_{X \times X},\Delta_*\Delta^*E) . You then
    use the fact that \Delta^* is left adjoint to \Delta_* and the
    fact that \Delta^*O_{X\times X}=O_X to obtain another description of
    Hochschild homology as
    \rm{Hom}^*_{D(X)}(O_{X},\Delta^* E), in other words as
    This is the description that I think Ben was referring to above. I
    vaguely remember reading that the analogous thing for finite groups
    was called Mac Lane’s Theorem, namely that for M a G-G-bimodule the
    Hochschild homology of M is the group cohomology with coefficients in
    the restriction to the diagonal of M:

    The Hochschild homology of X — rather than of a sheaf on X x X —
    is defined to be the Hochschild homology of O_\Delta, and you get
    various forms of the definition. I could go on, but I’ll stop there.

  10. :<

    I forgot to ask how to do displayed equations…

    Clearly “(double dollars) latex” doesn’t work.

  11. I’ve mostly just gone with putting a normal equation on its own line. It’s not as esthetically pleasing as a proper displayed equation, of course, but it works well enough.

    This stuff tends to look like a mess in comments anyways. Perhaps we should get you a blog of your own. We’d be happy to claim credit as your blogfathers :)

    On the mathematical side of things, perhaps it’s worth noting that the anti-Serre kernel a vector space is pretty simple: just a shifted copy of the identity (just use the Koszul resolution of the diagonal. This is means there is a duality between Hochschild homology and cohomology for polynomial rings.

  12. No, no. I’m not a blogger at heart – I much prefer scribbling my thoughts out on paper.

    I just thought I’d try to answer Chris’ question, but it became more of a mess than I was expecting.

    I’ll go back to the n-category cafe now…

Comments are closed.