 So this lecture is part of an online course on commutative algebra or possibly homological algebra and will be about the X groups where A and B are modules over a ring R and we're going to define these groups. So they're sort of analogues of the tents of the tall groups. So you know we can take a tent of products of two modules over a ring and from this tent of products we defined various tall groups of A and B by taking a resolution of B and tensioning with A and then taking homology of it. And instead of looking at the tents of product of A and B we can also look at the group of homomorphisms from A to B which will be an R module as far as commutative and these will give rise to groups, the X groups in a similar way. So how do we do this? Well we're going to be very lazy. I'm just going to go through how we defined tall groups and then wave my hands and say we do a similar thing to get X groups. So let's have a slightly closer look at how we define tall groups. In fact you notice the definition of tall group works for any right exact functor. So let's take a right exact functor f of A. So what does this mean? Well it means that if we've got an exact sequence nought goes to A, goes to B, goes to C, goes to nought then f of A goes to f of B, goes to f of C, goes to nought as exact. However this map here need not be onto so it's not left exact. And a typical example of this is f of A equals m tensor A for some fixed module m. So tensor products are right exact. And we can define the so-called derived functors or left derived functors li of f as follows. So these are going to be a generalization of tall. So first of all let's take derived functors of A. We take a resolution of A by three modules. So we have A and r to the n nought and r to the n1 and so on. And then instead of taking a tensor product with B, which is what we did to define tall, we just apply the functor f. So we get f r to the n1, goes to f r to the n0, goes to zero. So we sort of delete A, f r to the n2 and so on. And we notice that this is not an exact sequence in general. There's no reason why it should be because f doesn't preserve exactness, it only preserves right exactness. And thirdly we take homology. And the homology of these would be called the left derived functors of f. So the homology of here will be l nought of A and the homology, sorry, l nought f of A. And this will be l1f of A. I mean the homology of this will be l1f of A and so on. And you can see in the special case when f is m tensor A, this is just the definition of the tall groups we had. And there are some basic properties of these derived functors. First of all, l nought f is the same as f, that follows because f is right exact. Secondly, li is well-defined. So for that we just copy the proof that tau is well-defined. You remember there was something about a homotopy between maps of chain complexes and so on, and that all works for any functor. Thirdly, it's functorial. Again, this is very easy to check. And fourthly, we get a long exact sequence, essentially by copying the proof of the long exact sequence that we had for tau. Now we notice that for this we do not need free modules r to the n i. We can use projective modules. In other words, we can take a resolution of A by projective modules p nought p1 and p2 and so on. And the reason for this is the only property of free modules we ever used was the fact they're projective. So we repeatedly used the fact that if we've got a map from b to c that's onto and if we've got a free module that maps to c, we can lift it to b. And that was the only property of free modules we used. Well, that's just the definition of projective modules. So we may as well use projective modules. Well, that doesn't really gain us anything because we may as well just use free modules. What's the point of switching to projectives? Well, there's a dual notion of projective module called injective module which says that if we've got a submodule c of a module b and we've got a map from c to i, then we can always lift this to a map from b to i. So this is the definition of an injective module. And you see an injective module is just like a projective module except we reverse every single arrow you can think of. So what's this good for? Well, suppose you've got a left exact functor. So this means that if nought goes to a, goes to b, goes to c, goes to 0, is exact. Then nought goes to f a, goes to f b, goes to f c, is exact. And there's an obvious example of this. Let's fix a module x. And let's put f of a to be hom over r from x to a. Then f is left exact. And you can see this, if nought goes to a, goes to b, goes to c, goes to 0, is exact. And so as nought goes to hom, x to a, goes to hom, x to b, goes to hom, x to c. And you can ask, is this always onto? Well, not necessarily. For example, we can take our standard countere example, nought goes to z, goes to z, goes to z, over 2z. And we take x to be z over 2z. And then if we look at nought, goes to hom, z over 2z to z. This maps to hom, z over 2z to z. This maps to hom, z over 2 to z over 2z. And this group is 0. And this group is 0. And this group is not 0. So this map here is not onto. So hom from x to x to something is left exact, but it's not generally right exact. And now we can define derived functors of this. So we're going to define the right derived functors of f as follows. So if we want to define this on a, we take an injective resolution of a. So we take nought goes to a, goes to i nought, goes to i1, goes to i2, and so on. Then we apply f and forget about a. So we get nought goes to f i0, goes to f i1. And thirdly, we take the homology of this. And the homology groups of this complex are going to be the right derived functors f of a. And everything works just like the left derived functors we defined earlier. So we just want to reverse every single arrow. So instead of looking at right exact functors, we look at left exact functors, which are the same except you've reversed all the arrows and so on. And this is the usual properties. It's well defined. And our nought f is just the same as f. And it's functorial. And we get a long exact sequence, which I'll show some examples of in a moment. So we can do this for, if f a is hom x to a, then these right derived functors are i of f of a is just the functor x of i over r of x and a by definition. So it should be hom over r. So let's work out some examples of this to get familiar with it. So we'll do the simplest example, which is we just take r to be z. And we need to know what are the injective modules for r? Well, we'll study injective modules in a little more detail in a later lecture. So let's just comment for the moment that injective modules are the divisible ones. This is true over any principle ideal domain, but not true in general. But it's fine for the integers. So let's calculate x of z over nz with an nz. So this is going to be x i over the integers. So we need an injective resolution of z. So we need to map z into a divisible group. So we get nought goes to z, goes to, let's, we can just take the rationals. Rationals are divisible. And so the rational is modulo z. So we get a very short resolution. So these are the injective ones. And now in order to work out x, we apply hom of z over nz to whatever this is. And we delete the z. We forget about the z. So we get nought goes to hom z over nz to q, goes to hom z over nz to q over z, goes to zero. And now we need to take the homology of this sequence. I should call it the cohomology. So there are no homomorphisms from z over nz to q. So we get nought here. And the homomorphism from z over nz to q over z is just isomorphism from z over nz. So the homology of this bit is zero. So this is x0 of z over nz to z, which is the same as hom of z over nz to z. And this is now x1 of z over nz and z. Well, we should really work out this group for all. I think I should have said here that I'm taking n to be greater than zero, because if n is equal to zero, you get something a bit different. Then this isn't right. You see, this is only zero if n is not equal to zero. So now let's work out x of z and z. So this would be the case when n was equal to zero in the previous one. Well, again, we take the resolution nought goes to z, goes to q, goes to q over z, goes to nought. And this time, if we apply hom z to something, we get q goes to q over z, goes to nought. And now if we take the homology of this, well, we just take the kernel of q, goes to q over z, which is just z. And this map is on toast of the homology of zero. So this is x1 of z with z. And this is x0 of z and z. And we should finish off just by calculating x to z over nz, z over mz. So now we need to take an injective resolution of z over mz. And we can do this by taking nought goes to z over mz, goes to q over z, which is divisible so injective, goes to q over z, goes to zero. And this is just multiplication by m. So here's our injective resolution. And now we apply hom z over nz to everything except for this, which we forget about as usual. So we get nought goes to, well, hom z over nz to q over z is just z over nz. So we get z over nz goes to z over nz. And this is multiplication by m. Now we take the homology of this. And the homology of this is easy to work out. Here we get z over the highest common factor of m and n. And we get the same here. So this is x0 of z over nz, z over mz. And this is x1 of z over nz, z over mz. And the x2 and x3 and some always vanish. In fact, they do for any modules over the integers, as we will see in a moment. The next question is, why is x called x? Well, this is short for extensions. And the reason is that x1 classifies extensions. More precisely, x1 of c and a classifies extensions nought goes to a, goes to b, goes to c, goes to zero. These are extensions of c by a or possibly extensions of a by c. I can never remember which round they go. And two extensions are called, you can divide extensions into equivalence classes. So two extensions are considered to be the same if there's an isomorphism from this b to this b. And it turns out that the isomorphism classes of extensions of a and c correspond to this group here. Let's see why this is so. Well, first of all, suppose we've got an extension, nought goes to a, goes to b, goes to c, goes to zero. Well, then we can look at the long exact sequence of x groups. So we get nought goes to home c to a, goes to home c to b, goes to home c to c, goes to x1 c to a, goes to something where we don't care what happens after that. And now home c to c has an obvious element. It has the identity map as a sort of canonical element in it. And we can just take the image in here. So we get an element of x1 c and a. So x is just d. I'm not sure we really call this boundary map d. But it's the image of the identity map under this map from home c to c to x1 c to a. So that gives us a way to get from extensions to elements of the x group. Conversely, suppose we've got an element x in x1 c a. Well, we can get an extension out of it as follows. What we do is we take a resolution of a by injective modules. And now the x groups are the homology of home c to i0 goes to home c to i1 goes to home c to i2. So x is in this group here. That means x gives us a map from c to i1 whose image in i2 is zero. Now what we can do is we construct an extension of a by c just by taking the product of i0 and c over i1. In other words, we take the elements of the product i0 and c for the same image in i0. And now you can check that here we have an extension of c by a. So this shows how to get from extensions to elements of the x group and how to get from elements of the x group to extensions. And you can check that these two correspondences are inverses of each other. So this really does classify extensions. We can just see a very quick example of this. Suppose we take a equals c equals z over 2z. Then we calculated x1 of c and a was isomorphic to z over 2z. So it has two elements. It has an element zero and an element one. And these correspond to the following two extensions. We can take nought goes to z over 2z goes to z over 2z times z over 2z goes to z over 2z goes to zero. So this is the split extension. It's just a product of these two. And the split extension is the one that corresponds to the zero element. This is easy to check. And there's a second extension. We can take z over 4z and this is non-split. So non-split extensions correspond to non-zero elements of the x group. Well, for Tor, we had this balanced property that Tor A B is isomorphic to Tor B A. This obvious analog of this is certainly not true for x. We can see that x of A B is not equal to x of B A in general. That's not even true for x zero. However, there is a sort of analog of the balanced property. This corresponds to the fact that we can compute Tor by taking a resolution either of A or of B. And similarly for x, we did it by computing a resolution of using a resolution of B. But we can also do it by using a resolution of A. However, you have to be a little bit careful. The problem is, first of all, that HOM of C to A is contravariant in C. So that means it sort of reverses arrows. So if we've got an exact sequence, north goes to A, goes to B, goes to C, goes to zero. Then we get a sequence HOM C to M, HOM B to M, HOM A to M. And the arrows go the wrong way. And this map here is not onto. And this gets a bit confusing because does this mean is this right exact or is it left exact? Because if it was right exact, we should take a projective resolution of C. And if it's left exact, we should take an injective resolution. Well, it turns out that we can calculate x of i C to A by using a projective resolution of C. And the result is the same as using an injective resolution of A. So this is the balanced property of x. It means you can either use a resolution of C or a resolution of A. And the proof that you get the same both time is sort of vaguely similar to the proof that I gave for Tor. So I'm not going to go through it. So we should have one example of x to the i not equal zero for i greater than one. So over the integers, x to the i always vanishes if i is greater than one. And it's not difficult to find examples. We could more or less copy the example we gave for Tor. So we just take r is the ring of polynomials in one variable modulo x squared. And we're going to take the modules A and C to be just k, which is r over x. And we want to calculate x to the i of C and A. So let's take a projective resolution of C where we can do this by taking r goes to k goes to naught and then gets a resolution of this as we had for Tor. And now we apply hom of this to A. And the only thing you've got to be careful about is that arrow is now going the opposite direction. So we get hom r to C goes to hom r to k and so on. And these are all just k. And the maps between them are all just zero. So if we take the homology of this, we just get the groups k everywhere. So we find the x of i of k and k is just isomorphic to k for all i greater than or equal to zero. Okay, so that's the end of the summary of x groups. There's one problem with the x groups that we sort of didn't go into too much detail. We said we used an injective resolution of a module. The problem is we haven't actually shown that a module has an injective resolution. So the problem is, are there enough injective modules over a ring? In other words, for every module, can we find an injective module that it embeds into? And the answer is you can. In fact, there's even an almost canonical injective module that's invented to cause an injective envelope. So we will discuss these next lecture.