Adjoint functors
Template:Short description Script error: No such module "about". Script error: No such module "Unsubst".
In mathematics, specifically category theory, adjunction is a relationship that two functors may exhibit, intuitively corresponding to a weak form of equivalence between two related categories. Two functors that stand in this relationship are known as adjoint functors, one being the left adjoint and the other the right adjoint.[1] Pairs of adjoint functors are ubiquitous in mathematics and often arise from constructions of "optimal solutions" to certain problems (i.e., constructions of objects having a certain universal property), such as the construction of a free group on a set in algebra, or the construction of the Stone–Čech compactification of a topological space in topology.
By definition, an adjunction between categories and is a pair of functors (assumed to be covariant)
and, for all objects in and in , a bijection between the respective morphism sets
such that this family of bijections is natural in and .[1] For locally small categories, naturality here means that there are natural isomorphisms between the pair of functors and for a fixed in , and also the pair of functors and for a fixed in . For other categories, naturality is defined as a generalisation of this.[1]
The functor is called a left adjoint functor or left adjoint to , while is called a right adjoint functor or right adjoint to . We write .[1]
An adjunction between categories and is somewhat akin to a "weak form" of an equivalence between and , and indeed every equivalence gives an adjunction, though the equivalence itself is not necessarily an adjunction.[2] In many situations, an adjunction can be "upgraded" to an equivalence, by a suitable natural modification of the involved categories and functors.
Terminology and notation
The terms adjoint and adjunct are both used, and are cognates: one is taken directly from Latin, the other from Latin via French. In the classic text Categories for the Working Mathematician, Mac Lane makes a distinction between the two.[3] Given a family
of hom-set bijections, we call an adjunction or an adjunction between and .[1][3] If is an arrow in , Mac Lane calls the right adjunct of .[3] The functor is left adjoint to , and is right adjoint to .[1][3] (Note that may have itself a right adjoint that is quite different from ; see below for an example.)
In general, the phrases " is a left adjoint" and " has a right adjoint" are equivalent. We call a left adjoint because it is applied to the left argument of , and a right adjoint because it is applied to the right argument of .
If F is left adjoint to G, we also write[1]
The terminology comes from the Hilbert space idea of adjoint operators , with , which is formally similar to the above relation between hom-sets. The analogy to adjoint maps of Hilbert spaces can be made precise in certain contexts.[4]
Introduction and motivation
Common mathematical constructions are very often adjoint functors. Consequently, general theorems about left/right adjoint functors encode the details of many useful and otherwise non-trivial results. Such general theorems include the equivalence of the various definitions of adjoint functors, the uniqueness of a right adjoint for a given left adjoint, the fact that left/right adjoint functors respectively preserve colimits/limits (which are also found in every area of mathematics), and the general adjoint functor theorems giving conditions under which a given functor is a left/right adjoint.
Solutions to optimization problems
In a sense, an adjoint functor is a way of giving the most efficient solution to some problem via a method that is formulaic. For example, an elementary problem in ring theory is how to turn a rng (which is like a ring that might not have a multiplicative identity) into a ring. The most efficient way is to adjoin an element '1' to the rng, adjoin all (and only) the elements that are necessary for satisfying the ring axioms (e.g. r+1 for each r in the ring), and impose no relations in the newly formed ring that are not forced by axioms. Moreover, this construction is formulaic in the sense that it works in essentially the same way for any rng.
This is rather vague, though suggestive, and can be made precise in the language of category theory: a construction is most efficient if it satisfies a universal property, and is formulaic if it defines a functor. Universal properties come in two types: initial properties and terminal properties. Since these are dual notions, it is only necessary to discuss one of them.
The idea of using an initial property is to set up the problem in terms of some auxiliary category E, so that the problem at hand corresponds to finding an initial object of E. This has an advantage that the optimization—the sense that the process finds the most efficient solution—means something rigorous and recognisable, rather like the attainment of a supremum. The category E is also formulaic in this construction, since it is always the category of elements of the functor to which one is constructing an adjoint.
Back to our example: take the given rng R, and make a category E whose objects are rng homomorphisms R → SScript error: No such module "Check for unknown parameters"., with S a ring having a multiplicative identity. The morphisms in E between R → S1Script error: No such module "Check for unknown parameters". and R → S2Script error: No such module "Check for unknown parameters". are commutative triangles of the form (R → S1, R → S2, S1 → S2Script error: No such module "Check for unknown parameters".) where S1 → S2Script error: No such module "Check for unknown parameters". is a ring map (which preserves the identity). (Note that this is precisely the definition of the comma category of R over the inclusion of unitary rings into rng.) The existence of a morphism between R → S1Script error: No such module "Check for unknown parameters". and R → S2Script error: No such module "Check for unknown parameters". implies that S1 is at least as efficient a solution as S2 to our problem: S2 can have more adjoined elements and/or more relations not imposed by axioms than S1. Therefore, the assertion that an object R → R∗Script error: No such module "Check for unknown parameters". is initial in E, that is, that there is a morphism from it to any other element of E, means that the ring R* is a most efficient solution to our problem.
The two facts that this method of turning rngs into rings is most efficient and formulaic can be expressed simultaneously by saying that it defines an adjoint functor. More explicitly: Let F denote the above process of adjoining an identity to a rng, so F(R)=R∗. Let G denote the process of "forgetting" whether a ring S has an identity and considering it simply as a rng, so essentially G(S)=S. Then F is the left adjoint functor of G.
Note however that we haven't actually constructed R∗ yet; it is an important and not altogether trivial algebraic fact that such a left adjoint functor R → R∗Script error: No such module "Check for unknown parameters". actually exists.
Symmetry of optimization problems
It is also possible to start with the functor F, and pose the following (vague) question: is there a problem to which F is the most efficient solution?
The notion that F is the most efficient solution to the problem posed by G is, in a certain rigorous sense, equivalent to the notion that G poses the most difficult problem that F solves.
This gives the intuition behind the fact that adjoint functors occur in pairs: if F is left adjoint to G, then G is right adjoint to F.
Formal definitions
There are various equivalent definitions for adjoint functors:
- The definitions via universal morphisms are easy to state, and require minimal verifications when constructing an adjoint functor or proving two functors are adjoint. They are also the most analogous to our intuition involving optimizations.
- The definition via hom-sets makes symmetry the most apparent, and is the reason for using the word adjoint.
- The definition via counit–unit adjunction is convenient for proofs about functors that are known to be adjoint, because they provide formulas that can be directly manipulated.
The equivalency of these definitions is quite useful. Adjoint functors arise everywhere, in all areas of mathematics. Since the structure in any of these definitions gives rise to the structures in the others, switching between them makes implicit use of many details that would otherwise have to be repeated separately in every subject area.
Conventions
The theory of adjoints has the terms left and right at its foundation, and there are many components that live in one of two categories C and D that are under consideration. Therefore it can be helpful to choose letters in alphabetical order according to whether they live in the "lefthand" category C or the "righthand" category D, and also to write them down in this order whenever possible.
In this article for example, the letters X, F, f, ε will consistently denote things that live in the category C, the letters Y, G, g, η will consistently denote things that live in the category D, and whenever possible such things will be referred to in order from left to right (a functor F : D → C can be thought of as "living" where its outputs are, in C). If the arrows for the left adjoint functor F were drawn they would be pointing to the left; if the arrows for the right adjoint functor G were drawn they would be pointing to the right.
Definition via universal morphisms
By definition, a functor is a left adjoint functor if for each object in there exists a universal morphism from to . Spelled out, this means that for each object in there exists an object in and a morphism such that for every object in and every morphism there exists a unique morphism with .
The latter equation is expressed by the following commutative diagram:
In this situation, one can show that can be turned into a functor in a unique way such that for all morphisms in ; is then called a left adjoint to .
Similarly, we may define right-adjoint functors. A functor is a right adjoint functor if for each object in , there exists a universal morphism from to . Spelled out, this means that for each object in , there exists an object in and a morphism such that for every object in and every morphism there exists a unique morphism with .
Again, this can be uniquely turned into a functor such that for a morphism in ; is then called a right adjoint to .
It is true, as the terminology implies, that is left adjoint to if and only if is right adjoint to .
These definitions via universal morphisms are often useful for establishing that a given functor is left or right adjoint, because they are minimalistic in their requirements. They are also intuitively meaningful in that finding a universal morphism is like solving an optimization problem.
Definition via hom-sets
Using hom-sets, an adjunction between two categories and can be defined as consisting of two functors and and a natural isomorphism This specifies a family of bijections for all objects and
In this situation, is left adjoint to and is right adjoint to .
This definition is a logical compromise in that it is more difficult to establish its satisfaction than the universal morphism definitions, and has fewer immediate implications than the counit–unit definition. It is useful because of its obvious symmetry, and as a stepping-stone between the other definitions.
In order to interpret as a natural isomorphism, one must recognize and as functors. In fact, they are both bifunctors from to (the category of sets). For details, see the article on hom-functors. Spelled out, the naturality of means that for all morphisms in and all morphisms in the following diagram commutes:
The vertical arrows in this diagram ( and ) are those induced by composition. Formally, is given by for each is similar.
Definition via counit–unit
A third way of defining an adjunction between two categories and consists of two functors and and two natural transformations respectively called the counit and the unit of the adjunction (terminology from universal algebra), such that the compositions are the identity morphisms and on Template:Mvar and Template:Mvar respectively.
In this situation we say that Template:Mvar is left adjoint to Template:Mvar and Template:Mvar is right adjoint to Template:Mvar, and may indicate this relationship by writing , or, simply .
In equational form, the above conditions on are the counit–unit equations which imply that for each and each
Note that denotes the identify functor on the category , denotes the identity natural transformation from the functor Template:Mvar to itself, and denotes the identity morphism of the object .
These equations are useful in reducing proofs about adjoint functors to algebraic manipulations. They are sometimes called the triangle identities, or sometimes the zig-zag equations because of the appearance of the corresponding string diagrams. A way to remember them is to first write down the nonsensical equation and then fill in either Template:Mvar or Template:Mvar in one of the two simple ways that make the compositions defined.
Note: The use of the prefix "co" in counit here is not consistent with the terminology of limits and colimits, because a colimit satisfies an initial property whereas the counit morphisms satisfy terminal properties, and dually for limit versus unit. The term unit here is borrowed from the theory of monads, where it looks like the insertion of the identity 1Script error: No such module "Check for unknown parameters". into a monoid.
History
The idea of adjoint functors was introduced by Daniel Kan in 1958.[5] Like many of the concepts in category theory, it was suggested by the needs of homological algebra, which was at the time devoted to computations. Those faced with giving tidy, systematic presentations of the subject would have noticed relations such as
in the category of abelian groups, where Template:Mvar was the functor (i.e. take the tensor product with Template:Mvar), and Template:Mvar was the functor Hom(A,–)Script error: No such module "Check for unknown parameters". (this is now known as the tensor-hom adjunction). The use of the equals sign is an abuse of notation; those two groups are not really identical but there is a way of identifying them that is natural. It can be seen to be natural on the basis, firstly, that these are two alternative descriptions of the bilinear mappings from X × AScript error: No such module "Check for unknown parameters". to Template:Mvar. That is, however, something particular to the case of tensor product. In category theory the 'naturality' of the bijection is subsumed in the concept of a natural isomorphism.
Examples
Free groups
The construction of free groups is a common and illuminating example.
Let F : Set → GrpScript error: No such module "Check for unknown parameters". be the functor assigning to each set Template:Mvar the free group generated by the elements of Template:Mvar, and let G : Grp → SetScript error: No such module "Check for unknown parameters". be the forgetful functor, which assigns to each group Template:Mvar its underlying set. Then Template:Mvar is left adjoint to Template:Mvar:
<templatestyles src="Glossary/styles.css" />
-
<dt id="Script error: No such module "delink"." >Initial morphisms.
Template:Defn
<dt id="Script error: No such module "delink"." >Terminal morphisms.
Template:Defn
<dt id="Script error: No such module "delink"." >Hom-set adjunction.
Template:Defn
<dt id="Script error: No such module "delink"." >Counit–unit adjunction.
Template:Defn
Free constructions and forgetful functors
Free objects are all examples of a left adjoint to a forgetful functor, which assigns to an algebraic object its underlying set. These algebraic free functors have generally the same description as in the detailed description of the free group situation above.
Diagonal functors and limits
Products, pullbacks, equalizers, and kernels are all examples of the categorical notion of a limit. Any limit functor is right adjoint to a corresponding diagonal functor (provided the category has the type of limits in question), and the counit of the adjunction provides the defining maps from the limit object (i.e. from the diagonal functor on the limit, in the functor category). Below are some specific examples.
Colimits and diagonal functors
Coproducts, pushouts, coequalizers, and cokernels are all examples of the categorical notion of a colimit. Any colimit functor is left adjoint to a corresponding diagonal functor (provided the category has the type of colimits in question), and the unit of the adjunction provides the defining maps into the colimit object. Below are some specific examples.
- Coproducts. If F : Ab2 → AbScript error: No such module "Check for unknown parameters". assigns to every pair (X1, X2)Script error: No such module "Check for unknown parameters". of abelian groups their direct sum, and if G : Ab → Ab2Script error: No such module "Check for unknown parameters". is the functor which assigns to every abelian group Template:Mvar the pair (Y, Y)Script error: No such module "Check for unknown parameters"., then Template:Mvar is left adjoint to Template:Mvar, again a consequence of the universal property of direct sums. The unit of this adjoint pair is the defining pair of inclusion maps from X1Script error: No such module "Check for unknown parameters". and X2Script error: No such module "Check for unknown parameters". into the direct sum, and the counit is the additive map from the direct sum of (X,X)Script error: No such module "Check for unknown parameters". to back to XScript error: No such module "Check for unknown parameters". (sending an element (a,b)Script error: No such module "Check for unknown parameters". of the direct sum to the element a+bScript error: No such module "Check for unknown parameters". of Template:Mvar).Template:PbAnalogous examples are given by the direct sum of vector spaces and modules, by the free product of groups and by the disjoint union of sets.
Further examples
Algebra
- Adjoining an identity to a rng. This example was discussed in the motivation section above. Given a rng Template:Mvar, a multiplicative identity element can be added by taking RxZScript error: No such module "Check for unknown parameters". and defining a ZScript error: No such module "Check for unknown parameters".-bilinear product with (r,0)(0,1) = (0,1)(r,0) = (r,0), (r,0)(s,0) = (rs,0), (0,1)(0,1) = (0,1)Script error: No such module "Check for unknown parameters".. This constructs a left adjoint to the functor taking a ring to the underlying rng.
- Adjoining an identity to a semigroup. Similarly, given a semigroup Template:Mvar, we can add an identity element and obtain a monoid by taking the disjoint union and defining a binary operation on it such that it extends the operation on Template:Mvar and 1Script error: No such module "Check for unknown parameters". is an identity element. This construction gives a functor that is a left adjoint to the functor taking a monoid to the underlying semigroup.
- Ring extensions. Suppose Template:Mvar and Template:Mvar are rings, and ρ : R → SScript error: No such module "Check for unknown parameters". is a ring homomorphism. Then Template:Mvar can be seen as a (left) Template:Mvar-module, and the tensor product with Template:Mvar yields a functor F : R-Mod → S-ModScript error: No such module "Check for unknown parameters".. Then Template:Mvar is left adjoint to the forgetful functor G : S-Mod → R-ModScript error: No such module "Check for unknown parameters"..
- Tensor products. If Template:Mvar is a ring and Template:Mvar is a right Template:Mvar-module, then the tensor product with Template:Mvar yields a functor F : R-Mod → AbScript error: No such module "Check for unknown parameters".. The functor G : Ab → R-ModScript error: No such module "Check for unknown parameters"., defined by G(A) = homZ(M,A)Script error: No such module "Check for unknown parameters". for every abelian group Template:Mvar, is a right adjoint to Template:Mvar.
- From monoids and groups to rings. The integral monoid ring construction gives a functor from monoids to rings. This functor is left adjoint to the functor that associates to a given ring its underlying multiplicative monoid. Similarly, the integral group ring construction yields a functor from groups to rings, left adjoint to the functor that assigns to a given ring its group of units. One can also start with a field Template:Mvar and consider the category of Template:Mvar-algebras instead of the category of rings, to get the monoid and group rings over Template:Mvar.
- Field of fractions. Consider the category DommScript error: No such module "Check for unknown parameters". of integral domains with injective morphisms. The forgetful functor Field → DommScript error: No such module "Check for unknown parameters". from fields has a left adjoint—it assigns to every integral domain its field of fractions.
- Polynomial rings. Let Ring*Script error: No such module "Check for unknown parameters". be the category of pointed commutative rings with unity (pairs (A,a)Script error: No such module "Check for unknown parameters". where Template:Mvar is a ring, a ∈ AScript error: No such module "Check for unknown parameters". and morphisms preserve the distinguished elements). The forgetful functor G : Ring* → RingScript error: No such module "Check for unknown parameters". has a left adjoint – it assigns to every ring Template:Mvar the pair (R[x],x)Script error: No such module "Check for unknown parameters". where R[x]Script error: No such module "Check for unknown parameters". is the polynomial ring with coefficients from Template:Mvar.
- Abelianization. Consider the inclusion functor G : Ab → GrpScript error: No such module "Check for unknown parameters". from the category of abelian groups to category of groups. It has a left adjoint called abelianization which assigns to every group Template:Mvar the quotient group Gab=G/[G,G]Script error: No such module "Check for unknown parameters"..
- The Grothendieck group. In K-theory, the point of departure is to observe that the category of vector bundles on a topological space has a commutative monoid structure under direct sum. One may make an abelian group out of this monoid, the Grothendieck group, by formally adding an additive inverse for each bundle (or equivalence class). Alternatively one can observe that the functor that for each group takes the underlying monoid (ignoring inverses) has a left adjoint. This is a once-for-all construction, in line with the third section discussion above. That is, one can imitate the construction of negative numbers; but there is the other option of an existence theorem. For the case of finitary algebraic structures, the existence by itself can be referred to universal algebra, or model theory; naturally there is also a proof adapted to category theory, too.
- Frobenius reciprocity in the representation theory of groups: see induced representation. This example foreshadowed the general theory by about half a century.
Topology
- A functor with a left and a right adjoint. Let Template:Mvar be the functor from topological spaces to sets that associates to every topological space its underlying set (forgetting the topology, that is). Template:Mvar has a left adjoint Template:Mvar, creating the discrete space on a set Template:Mvar, and a right adjoint Template:Mvar creating the trivial topology on Template:Mvar.
- Suspensions and loop spaces. Given topological spaces Template:Mvar and Template:Mvar, the space [SX, Y]Script error: No such module "Check for unknown parameters". of homotopy classes of maps from the suspension Template:Mvar of Template:Mvar to Template:Mvar is naturally isomorphic to the space [X, ΩY]Script error: No such module "Check for unknown parameters". of homotopy classes of maps from Template:Mvar to the loop space ΩYScript error: No such module "Check for unknown parameters". of Template:Mvar. The suspension functor is therefore left adjoint to the loop space functor in the homotopy category, an important fact in homotopy theory.
- Stone–Čech compactification. Let KHausScript error: No such module "Check for unknown parameters". be the category of compact Hausdorff spaces and G : KHaus → TopScript error: No such module "Check for unknown parameters". be the inclusion functor to the category of topological spaces. Then Template:Mvar has a left adjoint F : Top → KHausScript error: No such module "Check for unknown parameters"., the Stone–Čech compactification. The unit of this adjoint pair yields a continuous map from every topological space Template:Mvar into its Stone–Čech compactification.
- Direct and inverse images of sheaves. Every continuous map f : X → YScript error: No such module "Check for unknown parameters". between topological spaces induces a functor f ∗Script error: No such module "Check for unknown parameters". from the category of sheaves (of sets, or abelian groups, or rings, etc.) on Template:Mvar to the corresponding category of sheaves on Template:Mvar, the direct image functor. It also induces a functor f−1Script error: No such module "Check for unknown parameters". from the category of sheaves of abelian groups on Template:Mvar to the category of sheaves of abelian groups on Template:Mvar, the inverse image functor. f−1Script error: No such module "Check for unknown parameters". is left adjoint to f ∗Script error: No such module "Check for unknown parameters".. Here a more subtle point is that the left adjoint for coherent sheaves will differ from that for sheaves (of sets).
- Soberification. The article on Stone duality describes an adjunction between the category of topological spaces and the category of sober spaces that is known as soberification. Notably, the article also contains a detailed description of another adjunction that prepares the way for the famous duality of sober spaces and spatial locales, exploited in pointless topology.
Posets
Every partially ordered set can be viewed as a category (where the elements of the poset become the category's objects and we have a single morphism from Template:Mvar to Template:Mvar if and only if x ≤ yScript error: No such module "Check for unknown parameters".). A pair of adjoint functors between two partially ordered sets is called a Galois connection (or, if it is contravariant, an antitone Galois connection). See that article for a number of examples: the case of Galois theory of course is a leading one. Any Galois connection gives rise to closure operators and to inverse order-preserving bijections between the corresponding closed elements.
As is the case for Galois groups, the real interest lies often in refining a correspondence to a duality (i.e. antitone order isomorphism). A treatment of Galois theory along these lines by Kaplansky was influential in the recognition of the general structure here.
The partial order case collapses the adjunction definitions quite noticeably, but can provide several themes:
- adjunctions may not be dualities or isomorphisms, but are candidates for upgrading to that status
- closure operators may indicate the presence of adjunctions, as corresponding monads (cf. the Kuratowski closure axioms)
- a very general comment of William Lawvere[6] is that syntax and semantics are adjoint: take Template:Mvar to be the set of all logical theories (axiomatizations), and Template:Mvar the power set of the set of all mathematical structures. For a theory Template:Mvar in Template:Mvar, let G(T)Script error: No such module "Check for unknown parameters". be the set of all structures that satisfy the axioms Template:Mvar; for a set of mathematical structures Template:Mvar, let F(S)Script error: No such module "Check for unknown parameters". be the minimal axiomatization of Template:Mvar. We can then say that Template:Mvar is a subset of G(T)Script error: No such module "Check for unknown parameters". if and only if F(S)Script error: No such module "Check for unknown parameters". logically implies Template:Mvar: the "semantics functor" Template:Mvar is right adjoint to the "syntax functor" Template:Mvar.
- division is (in general) the attempt to invert multiplication, but in situations where this is not possible, we often attempt to construct an adjoint instead: the ideal quotient is adjoint to the multiplication by ring ideals, and the implication in propositional logic is adjoint to logical conjunction.
Category theory
<templatestyles src="Glossary/styles.css" />
-
<dt id="Script error: No such module "delink"." >Equivalences. Template:Defn
<dt id="Script error: No such module "delink"." >A series of adjunctions. Template:Defn
<dt id="Script error: No such module "delink"." >Exponential object. Template:Defn
Categorical logic
Script error: No such module "Labelled list hatnote". <templatestyles src="Glossary/styles.css" />
-
<dt id="Script error: No such module "delink"." >Quantification. Template:Defn
Probability
The twin fact in probability can be understood as an adjunction: that expectation commutes with affine transform, and that the expectation is in some sense the best solution to the problem of finding a real-valued approximation to a distribution on the real numbers.
Define a category based on , with objects being the real numbers, and the morphisms being "affine functions evaluated at a point". That is, for any affine function and any real number , define a morphism .
Define a category based on , the set of probability distribution on with finite expectation. Define morphisms on as "affine functions evaluated at a distribution". That is, for any affine function and any , define a morphism .
Then, the Dirac delta measure defines a functor: , and the expectation defines another functor , and they are adjoint: . (Somewhat disconcertingly, is the left adjoint, even though is "forgetful" and is "free".)
Adjunctions in full
There are hence numerous functors and natural transformations associated with every adjunction, and only a small portion is sufficient to determine the rest.
An adjunction between categories Template:Mvar and Template:Mvar consists of
- A functor F : D → CScript error: No such module "Check for unknown parameters". called the left adjoint
- A functor G : C → DScript error: No such module "Check for unknown parameters". called the right adjoint
- A natural isomorphism Φ : homC(F–,–) → homD(–,G–)Script error: No such module "Check for unknown parameters".
- A natural transformation ε : FG → 1CScript error: No such module "Check for unknown parameters". called the counit
- A natural transformation η : 1D → GFScript error: No such module "Check for unknown parameters". called the unit
An equivalent formulation, where Template:Mvar denotes any object of Template:Mvar and Template:Mvar denotes any object of Template:Mvar, is as follows:
From this assertion, one can recover that: Template:Unordered list
In particular, the equations above allow one to define Template:Mvar, Template:Mvar, and Template:Mvar in terms of any one of the three. However, the adjoint functors Template:Mvar and Template:Mvar alone are in general not sufficient to determine the adjunction. The equivalence of these situations is demonstrated below.
Universal morphisms induce hom-set adjunction
Given a right adjoint functor G : C → DScript error: No such module "Check for unknown parameters"., in the sense of initial morphisms, one may construct the induced hom-set adjunction by doing the following steps.
- Construct a functor Template:Itco : D → CScript error: No such module "Check for unknown parameters". and a natural transformation Template:Mvar.
- For each object Template:Mvar in Template:Mvar, choose an initial morphism (Template:Itco(Y), ηYScript error: No such module "Check for unknown parameters".) from Template:Mvar to Template:Mvar, so that ηY : Y → G(Template:Itco(Y))Script error: No such module "Check for unknown parameters".. We have the map of Template:Itco on objects and the family of morphisms Template:Mvar.
- For each Template:Itco : Y0 → Y1Script error: No such module "Check for unknown parameters"., as (Template:Itco(Y0), ηY0)Script error: No such module "Check for unknown parameters". is an initial morphism, then factorize ηY1 ∘ Template:ItcoScript error: No such module "Check for unknown parameters". with ηY0Script error: No such module "Check for unknown parameters". and get Template:Itco(Template:Itco) : Template:Itco(Y0) → Template:Itco(Y1)Script error: No such module "Check for unknown parameters".. This is the map of Template:Itco on morphisms.
- The commuting diagram of that factorization implies the commuting diagram of natural transformations, so η : 1D → G ∘ Template:ItcoScript error: No such module "Check for unknown parameters". is a natural transformation.
- Uniqueness of that factorization and that Template:Mvar is a functor implies that the map of Template:Itco on morphisms preserves compositions and identities.
- Construct a natural isomorphism Φ : homC(Template:Itco−,−) → homD(−,G−)Script error: No such module "Check for unknown parameters"..
- For each object Template:Mvar in Template:Mvar, each object Template:Mvar in Template:Mvar, as (Template:Itco(Y), ηY)Script error: No such module "Check for unknown parameters". is an initial morphism, then ΦY, XScript error: No such module "Check for unknown parameters". is a bijection, where ΦY, X(Template:Itco : Template:Itco(Y) → X) = G(Template:Itco) ∘ ηYScript error: No such module "Check for unknown parameters"..
- Template:Mvar is a natural transformation, Template:Mvar is a functor, then for any objects X0, X1Script error: No such module "Check for unknown parameters". in Template:Mvar, any objects Y0, Y1Script error: No such module "Check for unknown parameters". in D}}, any Template:Mvar, any y : Y1 → Y0Script error: No such module "Check for unknown parameters"., we have ΦY1, X1(x ∘ Template:Itco ∘ Template:Itco(y)) = G(x) ∘ G(Template:Itco) ∘ G(Template:Itco(y)) ∘ ηY1 = G(x) ∘ G(Template:Itco) ∘ ηY0 ∘ y = G(x) ∘ ΦY0, X0(∘) ∘ yScript error: No such module "Check for unknown parameters"., and then Template:Mvar is natural in both arguments.
A similar argument allows one to construct a hom-set adjunction from the terminal morphisms to a left adjoint functor. (The construction that starts with a right adjoint is slightly more common, since the right adjoint in many adjoint pairs is a trivially defined inclusion or forgetful functor.)
counit–unit adjunction induces hom-set adjunction
Given functors F : D → C, G : C → DScript error: No such module "Check for unknown parameters"., and a counit–unit adjunction (ε, η) : F ⊣ GScript error: No such module "Check for unknown parameters"., we can construct a hom-set adjunction by finding the natural transformation Φ : homC(F−,−) → homD(−,G−)Script error: No such module "Check for unknown parameters". in the following steps:
- For each f : FY → XScript error: No such module "Check for unknown parameters". and each g : Y → GXScript error: No such module "Check for unknown parameters"., defineThe transformations Φ and Ψ are natural because η and ε are natural.
- Using, in order, that Template:Mvar is a functor, that Template:Mvar is natural, and the counit–unit equation 1FY = εFY ∘ F(ηY)Script error: No such module "Check for unknown parameters"., we obtainhence ΨΦ is the identity transformation.
- Dually, using that Template:Mvar is a functor, that Template:Mvar is natural, and the counit–unit equation 1GX = G(εX) ∘ ηGXScript error: No such module "Check for unknown parameters"., we obtainhence Template:Mvar is the identity transformation. Thus Template:Mvar is a natural isomorphism with inverse Φ−1 = ΨScript error: No such module "Check for unknown parameters"..
Hom-set adjunction induces all of the above
Given functors F : D → C, G : C → DScript error: No such module "Check for unknown parameters"., and a hom-set adjunction Φ : homC(F−,−) → homD(−,G−)Script error: No such module "Check for unknown parameters"., one can construct a counit–unit adjunction
which defines families of initial and terminal morphisms, in the following steps:
- Let for each Template:Mvar in Template:Mvar, where is the identity morphism.
- Let for each Template:Mvar in Template:Mvar, where is the identity morphism.
- The bijectivity and naturality of Template:Mvar imply that each (GX, εX)Script error: No such module "Check for unknown parameters". is a terminal morphism from Template:Mvar to Template:Mvar in Template:Mvar, and each Template:Mvar is an initial morphism from Template:Mvar to Template:Mvar in Template:Mvar.
- The naturality of Template:Mvar implies the naturality of Template:Mvar and Template:Mvar, and the two formulasfor each Template:Itco: FY → XScript error: No such module "Check for unknown parameters". and Template:Itco: Y → GXScript error: No such module "Check for unknown parameters". (which completely determine Template:Mvar).
- Substituting Template:Mvar for Template:Mvar and ηY = ΦY, FY(1FY)Script error: No such module "Check for unknown parameters". for Template:Mvar in the second formula gives the first counit–unit equationand substituting Template:Mvar for Template:Mvar and εX = Φ−1GX, X(1GX)}} for Template:Mvar in the first formula gives the second counit–unit equation
Properties
Existence
Script error: No such module "Labelled list hatnote". Not every functor G : C → DScript error: No such module "Check for unknown parameters". admits a left adjoint. If Template:Mvar is a complete category, then the functors with left adjoints can be characterized by the adjoint functor theorem of Peter J. Freyd: Template:Mvar has a left adjoint if and only if it is continuous and a certain smallness condition is satisfied: for every object Template:Mvar of Template:Mvar there exists a family of morphisms
where the indices Template:Mvar come from a set Template:Mvar, not a proper class, such that every morphism
can be written as
for some Template:Mvar in Template:Mvar and some morphism
An analogous statement characterizes those functors with a right adjoint.
An important special case is that of locally presentable categories. If is a functor between locally presentable categories, then
- Template:Mvar has a right adjoint if and only if Template:Mvar preserves small colimits
- Template:Mvar has a left adjoint if and only if Template:Mvar preserves small limits and is an accessible functor
Uniqueness
If the functor F : D → CScript error: No such module "Check for unknown parameters". has two right adjoints GScript error: No such module "Check for unknown parameters". and Template:Mvar, then Template:Mvar and Template:Mvar are naturally isomorphic. The same is true for left adjoints.
Conversely, if Template:Mvar is left adjoint to Template:Mvar, and Template:Mvar is naturally isomorphic to Template:Mvar then Template:Mvar is also left adjoint to Template:Mvar. More generally, if ⟨F, G, ε, η⟩Script error: No such module "Check for unknown parameters". is an adjunction (with counit–unit (ε,η)Script error: No such module "Check for unknown parameters".) and {{block indent|σ : F → Template:PrimeScript error: No such module "Check for unknown parameters". {{block indent|τ : G → Template:PrimeScript error: No such module "Check for unknown parameters". are natural isomorphisms then ⟨Template:Prime, Template:Prime, Template:Prime, Template:Prime⟩Script error: No such module "Check for unknown parameters". is an adjunction where Here denotes vertical composition of natural transformations, and denotes horizontal composition.
Composition
Adjunctions can be composed in a natural fashion. Specifically, if ⟨F, G, ε, η⟩Script error: No such module "Check for unknown parameters". is an adjunction between C and D and ⟨Template:Prime, Template:Prime, Template:Prime, Template:Prime⟩Script error: No such module "Check for unknown parameters". is an adjunction between Template:Mvar and Template:Mvar then the functor is left adjoint to More precisely, there is an adjunction between Template:Mvar and Template:Mvar with unit and counit given respectively by the compositions: This new adjunction is called the composition of the two given adjunctions.
Since there is also a natural way to define an identity adjunction between a category Template:Mvar and itself, one can then form a category whose objects are all small categories and whose morphisms are adjunctions.
Limit preservation
The most important property of adjoints is their continuity: every functor that has a left adjoint (and therefore is a right adjoint) is continuous (i.e. commutes with limits in the category theoretical sense); every functor that has a right adjoint (and therefore is a left adjoint) is cocontinuous (i.e. commutes with colimits).
Since many common constructions in mathematics are limits or colimits, this provides a wealth of information. For example:
- applying a right adjoint functor to a product of objects yields the product of the images;
- applying a left adjoint functor to a coproduct of objects yields the coproduct of the images;
- every right adjoint functor between two abelian categories is left exact;
- every left adjoint functor between two abelian categories is right exact.
Additivity
If Template:Mvar and Template:Mvar are preadditive categories and F : D → CScript error: No such module "Check for unknown parameters". is an additive functor with a right adjoint G : C → DScript error: No such module "Check for unknown parameters"., then Template:Mvar is also an additive functor and the hom-set bijections
are, in fact, isomorphisms of abelian groups. Dually, if G is additive with a left adjoint F, then F is also additive.
Moreover, if both Template:Mvar and Template:Mvar are additive categories (i.e. preadditive categories with all finite biproducts), then any pair of adjoint functors between them are automatically additive.
Relationships
Universal constructions
As stated earlier, an adjunction between categories Template:Mvar and Template:Mvar gives rise to a family of universal morphisms, one for each object in Template:Mvar and one for each object in Template:Mvar. Conversely, if there exists a universal morphism to a functor G : C → DScript error: No such module "Check for unknown parameters". from every object of Template:Mvar, then Template:Mvar has a left adjoint.
However, universal constructions are more general than adjoint functors: a universal construction is like an optimization problem; it gives rise to an adjoint pair if and only if this problem has a solution for every object of Template:Mvar (equivalently, every object of Template:Mvar).
Equivalences of categories
If a functor F : D → CScript error: No such module "Check for unknown parameters". is one half of an equivalence of categories then it is the left adjoint in an adjoint equivalence of categories, i.e. an adjunction whose unit and counit are isomorphisms.
Every adjunction ⟨F, G, ε, η⟩Script error: No such module "Check for unknown parameters". extends an equivalence of certain subcategories. Define C1Script error: No such module "Check for unknown parameters". as the full subcategory of Template:Mvar consisting of those objects Template:Mvar of Template:Mvar for which εXScript error: No such module "Check for unknown parameters". is an isomorphism, and define D1Script error: No such module "Check for unknown parameters". as the full subcategory of Template:Mvar consisting of those objects Template:Mvar of Template:Mvar for which ηYScript error: No such module "Check for unknown parameters". is an isomorphism. Then Template:Mvar and Template:Mvar can be restricted to D1Script error: No such module "Check for unknown parameters". and C1Script error: No such module "Check for unknown parameters". and yield inverse equivalences of these subcategories.
In a sense, then, adjoints are "generalized" inverses. Note however that a right inverse of Template:Mvar (i.e. a functor Template:Mvar such that Template:Mvar is naturally isomorphic to 1D)Script error: No such module "Check for unknown parameters". need not be a right (or left) adjoint of Template:Mvar. Adjoints generalize two-sided inverses.
Monads
Every adjunction ⟨F, G, ε, η⟩Script error: No such module "Check for unknown parameters". gives rise to an associated monad ⟨T, η, μ⟩Script error: No such module "Check for unknown parameters". in the category Template:Mvar. The functor is given by T = GFScript error: No such module "Check for unknown parameters".. The unit of the monad is just the unit Template:Mvar of the adjunction and the multiplication transformation is given by μ = GεFScript error: No such module "Check for unknown parameters".. Dually, the triple ⟨FG, ε, FηG⟩Script error: No such module "Check for unknown parameters". defines a comonad in Template:Mvar.
Every monad arises from some adjunction—in fact, typically from many adjunctions—in the above fashion. Two constructions, called the category of Eilenberg–Moore algebras and the Kleisli category are two extremal solutions to the problem of constructing an adjunction that gives rise to a given monad.
Notes
<templatestyles src="Reflist/styles.css" />
- ↑ a b c d e f g Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ a b c d Script error: No such module "citation/CS1".
- ↑ Script error: No such module "citation/CS1".
- ↑ Script error: No such module "Citation/CS1".
- ↑ Lawvere, F. William, "Adjointness in foundations", Dialectica, 1969. The notation is different nowadays; an easier introduction by Peter Smith in these lecture notes, which also attribute the concept to the article cited.
Script error: No such module "Check for unknown parameters".
References
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
- Script error: No such module "citation/CS1".
External links
- Template:Delink playlist on YouTubeScript error: No such module "Check for unknown parameters". – seven short lectures on adjunctions by Eugenia Cheng of The Catsters
- WildCats is a category theory package for Mathematica. Manipulation and visualization of objects, morphisms, categories, functors, natural transformations, universal properties.
Template:Category theory Script error: No such module "Authority control".