Derived functors measure how a functor between abelian categories fails to be exact. Given a left exact functor F (such as Hom(M, −)), its right derived functors R^nF are computed by taking an injective resolution of the input, applying F, and taking cohomology: R^nF(A) = H^n(F(I^*)). Dually, left derived functors L_nF of a right exact functor (such as − ⊗ M) use projective resolutions. The key examples are Ext^n(M, N) = R^n Hom(M, −)(N), which classifies n-fold extensions, and Tor_n(M, N) = L_n(− ⊗ N)(M), which detects torsion phenomena. Derived functors convert exactness failures into computable invariants and are the foundation of homological algebra.
Compute Ext^1_Z(Z/2, Z) by hand: take a projective resolution of Z/2 (namely 0 → Z →(×2) Z → Z/2 → 0), apply Hom(−, Z), and compute the cohomology. Then compute Tor_1^Z(Z/2, Z/3) using a projective resolution of Z/2 and tensoring with Z/3. Connect these computations to the abstract definition and verify independence of the choice of resolution.
From homology and cohomology, you know that chain complexes and their homology groups detect structural information that is invisible at the level of individual objects. Derived functors are built on the same intuition, but the question they answer is different: instead of asking what is true about a topological space, they ask how much a functor distorts exact sequences. This is a question about the functor itself — specifically, about the algebraic information it fails to preserve.
Recall that a functor F between abelian categories is exact if it sends short exact sequences to short exact sequences. Many natural functors are only partially exact. The functor Hom(M, −) is left exact: given 0 → A → B → C → 0, it produces 0 → Hom(M,A) → Hom(M,B) → Hom(M,C), but the last map need not be surjective. The functor − ⊗ M is right exact: it preserves the right end of the sequence but the first map may lose injectivity. The derived functors measure exactly what is lost at the missing end. Right derived functors R^nF (built from injective resolutions) extend the exact sequence to the right; left derived functors L_nF (built from projective resolutions) extend it to the left.
The construction works as follows for right derived functors of a left exact F. Given an object A, choose an injective resolution: an exact sequence 0 → A → I⁰ → I¹ → I² → ⋯ where each Iⁿ is an injective object. Apply F to get a (possibly inexact) complex 0 → F(I⁰) → F(I¹) → F(I²) → ⋯. The nth cohomology of this complex is R^nF(A). The zeroth term R⁰F(A) = F(A) recovers the original functor, because F is left exact. The higher terms R^nF(A) for n ≥ 1 are new groups that capture how far F deviates from exactness. That these groups are independent of which injective resolution you chose is the key theorem — any two resolutions are connected by a chain map unique up to homotopy, and homotopic chain maps induce the same maps on cohomology.
The two canonical examples are Ext and Tor. Ext^n(M, N) = R^n Hom(M, −)(N) is computed by resolving N injectively (or M projectively — both give the same answer, a non-trivial fact). Ext¹(M, N) classifies extensions of M by N, meaning short exact sequences 0 → N → E → M → 0 up to isomorphism of E. Ext²(M, N) classifies obstructions to certain constructions in algebra. Tor_n(M, N) = L_n(− ⊗ N)(M) is computed by resolving M projectively and tensoring. Tor₁(M, N) detects torsion: if M = ℤ/kℤ and N = ℤ/lℤ, then Tor₁(M, N) = ℤ/gcd(k,l)ℤ — it measures how much the tensor product "wraps around." When Tor₁(M, N) = 0 for all N, M is flat; when Ext¹(M, N) = 0 for all N, M is projective. Derived functors thus give algebraic invariants that classify module properties and organize homological algebra into a coherent, computable framework.