First recall that functors do not have to preserve exactness. In fact, some of our favorite ones in really nice situations fail to be exact. For instance, tensoring (i.e. ) is a covariant functor that does not preserve exactness on the left.

This is going to be our motivating example. Before working with the functor, we need some definitions. Let M be an A-module. Then we define a projective resolution for M as a collection of projective A-modules with maps such that is exact. Things to note. We definitely do not necessarily have M projective. If we did, then the resolution would be easy: . Also, we don’t need to terminate at 0, we could end on M and just say that is surjective. Lastly, such a resolution always exists. I won’t write it out, but try it yourself (hint: you can form the free module with generators the elements of M…it is probably absurdly large, but there is nothing wrong with doing it).

Alright, so now we can form an exact sequence of “nice” modules from a given module. We want to pull in the tensor now. So if we hit the projective resolution (note it does not include M itself) by the functor where N is an A-module, then we get another sequence: . But we’ve lost exactness. We have not however lost . i.e. This is a chain complex and we can measure how far off it is from being exact by taking the homology . This is the derived functor .

So a quick check will show you that and that the torsion subgroup, so it is a good name.

There was nothing special about this construction. This is called a left derived functor. You can do exactly the same thing for any right exact functor. is the left derived functor of . I won’t go through the left case in generality since the process is the same as the specific case, but you will get the idea from below.

We can also form a right derived functor of a left exact functor. Let be a left exact functor (out of the category of A-modules for now). Then take the injective resolution (an exact sequence with each injective). Apply the functor to the resolution (don’t forget M is not a part of it). We get a cochain complex This is no longer exact, so to check how far off it is we take the cohomology . This is the ith right derived functor of .

In a specific case, we get that is the ith derived functor of .

The astute reader may have noticed that in forming derived functors, there is an arbitrary choice, namely which resolution do you take (they are not unique!). It turns out that the choice is irrelevant. Any will yield the same construction.

Maybe I’ll talk a little more about this, how these are actually useful, and some more structure we actually have on them next time.

You’re keeping all functors covariant in this post right?

Yes. I guess that was an important thing to mention.