for each X,Y∈C a function FX,Y:HomC(X,Y)→HomD(FX,FY)
which we will often also just write as F using the context to disambiguiate.
These are required to satisfy F(f∘g)=F(f)∘F(g) for any pair of morphisms f,g and F(1X)=1FX
Examples
For any category C, there is the identity function Id:C→C which is the identity functor on objects and morphisms.
Given a homomorphism f:R→S of rings, there is a pushforward (or restriction of scalars) functor f∗:ModS→ModR which on the underlying abelian group is f∗N:=N with the R-action given by r⋅n:=f(r)n. For a morphism of ϕ:N→N′ in ModS, we set f∗ϕ:=ϕ Let’s quickly see that we have a module homomorphism f∗ϕ(r⋅n)=ϕ(f(r)n)=f(r)ϕ(n)=r⋅f∗ϕ(n) where we can extract f(r) since ϕ is assumed to be a S-module homomorphism.
Thus f∗ is well-defined and it is immediate that it preserves composition and identity maps.
Another important functor starts from a R-S bimodule P. I claim that HomR(P,−):ModR→ModS is a well-defined functor.
First we need to give the set HomR(P,−) the structure a S-module. As an abelian group, we set (f+g)(p):=f(p)+f(p) and for the S-module structure we let s⋅f(p):=f(ps).
For morphisms, we take HomR(P,f)(ϕ):=f∘ϕ.
As the Hom-functor HomR(P,−) will be quite central to our investigation, let’s work through a couple sub-examples.
Take R=S=P. This bimodule is usually called the diagonal of R and denoted by ΔR. We already saw that evaluation at 1 is a bijection HomR(Δ,M)→ev1Mϕ↦ϕ(1) for any R-module M. This is in fact an isomorphism of R-modules since (r⋅ϕ)(1)=ϕ(r)=rϕ(1). Thus, for each M, application of HomR(Δ,M) is “naturally” isomorphic to M. We will make this precise in a moment.
Take R=S=k[x] and P=k[y,z] with the bimodule structure given by x↦y and x↦z. To compute Homk[x](k[y,z],−) we will write a presentation for k[y,z] as a k[x]-module.
As k[x]-module, k[y,z] has a infinite basis given by zi for 0≤i<∞. Since it is a free module, Homk[x](k[y,z],−)≅Homk(k[z],−). We can specify the k[x]-module homomorphism by providing a k-linear map from k[z]. Let’s specialize to M=k[x]/(x)=k. Then any linear map k[z]→k can be written as an infinite sum i=0∑∞ajδj where δj(zi)={10j=i else The k[x] module structure is given by xδi=δi−1 for i>0 and xδ0=0.
Natural transformations
Given two functors F,G:C→D, a natural transformationν:F→G is a collection of morphisms νX:FX→GX for each object X∈C. For any f:X→Y in C, we require the diagram
commutes.
Examples
If F=G, then we can take νX=1FX. This is the identity natural transformation.
If F=G=Id, then saying that ν:F→G is a natural transformation is requiring that
is requiring that νX∘f=f∘νY for any morphism f:X→Y. In particular, if f:X→X, then νX must be in the center of End(X).
We have the free abelian group functor Z∙:Set→Ab and the forgetful functor forget:Ab→SetA↦A. There is a natural transformation Id→forget(Z∙) given by νU:U→ZUu↦eu Indeed, since Zf(∑aueu):=∑auef(u) we see that for f:U→VZf∘νU=ef(u)=νV∘f.
Given an R-S bimodule morphism ψ:P→Q, we have a natural transformation HomR(Q,−)→HomR(P,−)ϕ↦ϕ∘ψ
Functor categories
Using natural transformations, we can put functors into a category. (Remember the Caution). The objects of Func(C,D) are functors F:C→D while HomFunc(C,D)(F,G):={ν:F→G∣ν a natural transformation } Composition of natural transformation is given object-wise (ν∘μ)X=νX∘μX and the identity is the identity natural transformation.
Each object of C gives two functors. hX:C→SetY↦HomC(X,Y) and hX:Cop→SetY↦HomC(Y,X)
A map f:X→X′ gives a natural transformation fY:HomC(X′,Y)→HomC(X,Y)ϕ↦ϕ∘f. and similarly fY:hX→hX′.
Taking everything together, we have two functors h∙:Cop→Func(C,Set) and h∙:C→Func(Cop,Set).
A functor F is faithful if it is injective on morphism sets F(f)=F(g)⇒f=g
F is full if it surjective on morphism sets g=F(f) for some f.
One can of course make the analogous definition on the level of objects but it turns out that having a natural flexibility is useful in practice.
Two objects X,Y∈C are isomorphic if there exists morphisms f:X→Y and g:Y→X such that gf=1X and fg=1Y.
Since being isomorphic is an equivalence relation, we form the quotient ObC/∼iso by it.
A functor F is essentially surjective if the induced map F:ObC→ObD/∼iso is surjective. In other words, every object of D is isomorphic to an object in the image of F.
A functor F:C→D is an equivalence there is a functor G:D→C and natural isomorphisms F∘G≅IdDG∘F≅IdC We will often call G the inverse functor and denote it by F−1. Note this is misleading. In general, F−1 is only determined up to natural isomorphism.
All these definitions are tied closely together by the following fundamental result.
Theorem. F is an equivalence if and only if it is full, faithful, and essentially surjective.
Proof. Let’s first assume that F is an equivalence. Let ν:F−1F→Id denote the natural isomorphism. We have the following diagram
and we want to check that φ is actually the identity function. Note that, since νX and νY are isomorphisms themselves, the conjugation νY∘−∘νX−1 is a bijection. Since ν is natural transformation, we know that
commutes. Thus, φ(f)=νY∘F−1F(f)∘νX−1=f So F is injective and F−1 is surjective. Reversing the roles of F and F−1, we see that both are bijective.
Since X≅FF−1X, X is isomorphic to F applied to F−1X. Hence, F is essentially surjective.
Now assume that F is full, faithful, and essentially surjective. For each Y∈D, pick some X∈C and isomorphism ϕY:FX→Y.
Define G:D→C by GY:=X and HomD(Y,Y′)→HomC(X,X′)ψ↦FX,X′−1(ϕY′∘ψ∘ϕY−1) We leave it as an exercise to check that G is