In mathematics, the Ext functors are the derived functors of the Hom functor. Along with the Tor functor, Ext is one of the core concepts of homological algebra, in which ideas from algebraic topology are used to define invariants of algebraic structures. The cohomology of groups, Lie algebras, and associative algebras can all be defined in terms of Ext. The name comes from the fact that the first Ext group Ext1 classifies extensions of one module by another.
In the special case of abelian groups, Ext was introduced by Reinhold Baer (1934). It was named by Samuel Eilenberg and Saunders MacLane (1942), and applied to topology (the universal coefficient theorem for cohomology). For modules over any ring, Ext was defined by Henri Cartan and Eilenberg in their 1956 book Homological Algebra.[1]
Let R be a ring and let R-Mod be the category of modules over R. (One can take this to mean either left R-modules or right R-modules.) For a fixed R-module A, let T(B) = HomR(A, B) for B in R-Mod. (Here HomR(A, B) is the abelian group of R-linear maps from A to B; this is an R-module if R is commutative.) This is a left exact functor from R-Mod to the category of abelian groups Ab, and so it has right derived functors RiT. The Ext groups are the abelian groups defined by
i(A,B)=(R | |
\operatorname{Ext} | |
R |
iT)(B),
for an integer i. By definition, this means: take any injective resolution
0\toB\toI0\toI1\to … ,
remove the term B, and form the cochain complex:
0\to
0) | |
\operatorname{Hom} | |
R(A,I |
\to
1) | |
\operatorname{Hom} | |
R(A,I |
\to … .
For each integer i, Ext(A, B) is the cohomology of this complex at position i. It is zero for i negative. For example, Ext(A, B) is the kernel of the map HomR(A, I0) → HomR(A, I1), which is isomorphic to HomR(A, B).
An alternative definition uses the functor G(A)=HomR(A, B), for a fixed R-module B. This is a contravariant functor, which can be viewed as a left exact functor from the opposite category (R-Mod)op to Ab. The Ext groups are defined as the right derived functors RiG:
i(A,B)=(R | |
\operatorname{Ext} | |
R |
iG)(A).
That is, choose any projective resolution
… \toP1\toP0\toA\to0,
remove the term A, and form the cochain complex:
0\to\operatorname{Hom}R(P0,B)\to\operatorname{Hom}R(P1,B)\to … .
Then Ext(A, B) is the cohomology of this complex at position i.
One may wonder why the choice of resolution has been left vague so far. In fact, Cartan and Eilenberg showed that these constructions are independent of the choice of projective or injective resolution, and that both constructions yield the same Ext groups.[2] Moreover, for a fixed ring R, Ext is a functor in each variable (contravariant in A, covariant in B).
For a commutative ring R and R-modules A and B, Ext(A, B) is an R-module (using that HomR(A, B) is an R-module in this case). For a non-commutative ring R, Ext(A, B) is only an abelian group, in general. If R is an algebra over a ring S (which means in particular that S is commutative), then Ext(A, B) is at least an S-module.
Here are some of the basic properties and computations of Ext groups.[3]
i | |
\operatorname{Ext} | |
\Z |
(A,B)=0
i(R/(u),B)\cong\begin{cases} | |
\operatorname{Ext} | |
R |
B[u]&i=0\ B/uB&i=1\ 0&otherwise,\end{cases}
for any R-module B. Here B[''u''] denotes the u-torsion subgroup of B, . Taking R to be the ring
\Z
1 | |
\operatorname{Ext} | |
\Z |
(A,B)
0\toHomR(A,K)\toHomR(A,L)\toHomR(A,M)\to
1 | |
Ext | |
R(A,K) |
\to
1 | |
Ext | |
R(A,L) |
\to … ,
for any R-module A. Also, a short exact sequence 0 → K → L → M → 0 induces a long exact sequence of the form
0\toHomR(M,B)\toHomR(L,B)\toHomR(K,B)\to
1 | |
Ext | |
R(M,B) |
\to
1 | |
Ext | |
R(L,B) |
\to … ,
for any R-module B.
i | |
\begin{align} \operatorname{Ext} | |
R |
\left(oplus\alphaM\alpha,N\right)&\cong\prod\alpha
i | |
\operatorname{Ext} | |
R |
(M\alpha,N)
i | |
\\ \operatorname{Ext} | |
R |
\left(M,\prod\alphaN\alpha\right)&\cong\prod\alpha
i | |
\operatorname{Ext} | |
R |
(M,N\alpha) \end{align}
S-1
i(A, | |
\operatorname{Ext} | |
R |
B)\cong
i | |
\operatorname{Ext} | |
S-1R |
\left(S-1A,S-1B\right).
The Ext groups derive their name from their relation to extensions of modules. Given R-modules A and B, an extension of A by B is a short exact sequence of R-modules
0\toB\toE\toA\to0.
Two extensions
0\toB\toE\toA\to0
0\toB\toE'\toA\to0
are said to be equivalent (as extensions of A by B) if there is a commutative diagram:
Note that the Five lemma implies that the middle arrow is an isomorphism. An extension of A by B is called split if it is equivalent to the trivial extension
0\toB\toA ⊕ B\toA\to0.
There is a one-to-one correspondence between equivalence classes of extensions of A by B and elements of Ext(A, B).[9] The trivial extension corresponds to the zero element of Ext(A, B).
The Baer sum is an explicit description of the abelian group structure on Ext(A, B), viewed as the set of equivalence classes of extensions of A by B.[10] Namely, given two extensions
0\toB\xrightarrow[f]{}E\xrightarrow[g]{}A\to0
and
0\toB\xrightarrow[f']{}E'\xrightarrow[g']{}A\to0,
first form the pullback over
A
\Gamma=\left\{(e,e')\inE ⊕ E' | g(e)=g'(e')\right\}.
Then form the quotient module
Y=\Gamma/\{(f(b),-f'(b)) | b\inB\}.
The Baer sum of E and E′ is the extension
0\toB\toY\toA\to0,
where the first map is
b\mapsto[(f(b),0)]=[(0,f'(b))]
(e,e')\mapstog(e)=g'(e')
Up to equivalence of extensions, the Baer sum is commutative and has the trivial extension as identity element. The negative of an extension 0 → B → E → A → 0 is the extension involving the same module E, but with the homomorphism B → E replaced by its negative.
Nobuo Yoneda defined the abelian groups Ext(A, B) for objects A and B in any abelian category C; this agrees with the definition in terms of resolutions if C has enough projectives or enough injectives. First, Ext(A,B) = HomC(A, B). Next, Ext(A, B) is the set of equivalence classes of extensions of A by B, forming an abelian group under the Baer sum. Finally, the higher Ext groups Ext(A, B) are defined as equivalence classes of n-extensions, which are exact sequences
0\toB\toXn\to … \toX1\toA\to0,
under the equivalence relation generated by the relation that identifies two extensions
\begin{align} \xi:0&\toB\toXn\to … \toX1\toA\to0\\ \xi':0&\toB\toX'n\to … \toX'1\toA\to0 \end{align}
if there are maps
Xm\toX'm
\iota\colon\xi\to\xi'
The Baer sum of two n-extensions as above is formed by letting
X''1
X1
X'1
X''n
Xn
X'n
0\toB\toX''n\toXn-1 ⊕ X'n-1\to … \toX2 ⊕ X'2\toX''1\toA\to0.
An important point is that Ext groups in an abelian category C can be viewed as sets of morphisms in a category associated to C, the derived category D(C).[12] The objects of the derived category are complexes of objects in C. Specifically, one has
i | |
\operatorname{Ext} | |
C |
(A,B)=\operatorname{Hom}D({C)}(A,B[i]),
where an object of C is viewed as a complex concentrated in degree zero, and [''i''] means shifting a complex i steps to the left. From this interpretation, there is a bilinear map, sometimes called the Yoneda product:
i | |
\operatorname{Ext} | |
C |
(A,B) x
j | |
\operatorname{Ext} | |
C |
(B,C)\to
i+j | |
\operatorname{Ext} | |
C |
(A,C),
which is simply the composition of morphisms in the derived category.
The Yoneda product can also be described in more elementary terms. For i = j = 0, the product is the composition of maps in the category C. In general, the product can be defined by splicing together two Yoneda extensions.
Alternatively, the Yoneda product can be defined in terms of resolutions. (This is close to the definition of the derived category.) For example, let R be a ring, with R-modules A, B, C, and let P, Q, and T be projective resolutions of A, B, C. Then Ext(A,B) can be identified with the group of chain homotopy classes of chain maps P → Q[''i'']. The Yoneda product is given by composing chain maps:
P\toQ[i]\toT[i+j].
By any of these interpretations, the Yoneda product is associative. As a result,
* | |
\operatorname{Ext} | |
R(A,A) |
H*(G,\Z),
* | |
\operatorname{Ext} | |
\Z[G] |
(\Z,\Z)
* | |
\operatorname{Ext} | |
R(A,B) |
* | |
\operatorname{Ext} | |
R(A,A) |
*(\Z, | |
H | |
\Z[G] |
M)
\Z[G]
HH*(A,M)=\operatorname{Ext}
* | |
A ⊗ kAop |
(A,M).
H*(akg,M)=\operatorname{Ext}
* | |
Uakg |
(k,M)
akg
akg
Uakg
H*(X,A)=
*(\Z | |
\operatorname{Ext} | |
X, |
A).
\ZX
\Z
* | |
\operatorname{Ext} | |
R(k,k) |