# Hom functor

The **Hom functor** is the construction in category theory that assigns to a pair of objects of a category the set of morphisms between them, and to morphisms the operation of composition on one side or the other. Fixing one argument produces a one-variable functor into the category of sets; keeping both arguments free produces a functor of two variables, contravariant in the first and covariant in the second. The name abbreviates "homomorphism set", with homomorphism acting as a synonym for morphism.<sup>[1](https://cattheory.org/sections/1_computation/03_homfunctors.html)</sup>

| Key fact | Detail |
|---|---|
| Covariant form | For fixed \( X \) in a category \( \mathcal{C} \), \( h_X(A) = \mathrm{Hom}_{\mathcal{C}}(X,A) \) with \( h_X(f)(g) = f \circ g \) (postcomposition)<sup>[2](https://www.asc.ohio-state.edu/terekcouto.1/texts/MATH6112_SP19_notes.pdf)</sup> |
| Contravariant form | \( h^{X}(A) = \mathrm{Hom}_{\mathcal{C}}(A,X) \) with \( h^{X}(f)(g) = g \circ f \) (precomposition)<sup>[2](https://www.asc.ohio-state.edu/terekcouto.1/texts/MATH6112_SP19_notes.pdf)</sup> |
| Two-variable form | \( \mathrm{Hom}_{\mathcal{C}} : \mathcal{C}^{\mathrm{op}} \times \mathcal{C} \to \mathbf{Set} \), acting on \( (f,g) \) by \( h \mapsto g \circ h \circ f \)<sup>[3](https://www.cl.cam.ac.uk/teaching/1819/L108/lectures/L108-lecture-12.pdf)</sup> |
| Size condition | The construction assumes each \( \mathcal{C}(A,B) \) is a set; such categories are called locally small, and typical categories of structures are locally small but not small<sup>[4](https://ncatlab.org/nlab/files/Streicher-CategoryTheory.pdf)</sup> |
| Yoneda lemma | Natural transformations \( h_X \Rightarrow F \) correspond bijectively to elements of \( F(X) \), via \( \alpha \mapsto \alpha_X(\mathrm{id}_X) \)<sup>[2](https://www.asc.ohio-state.edu/terekcouto.1/texts/MATH6112_SP19_notes.pdf)</sup> |
| Adjunction | \( F \dashv G \) exactly when \( \mathrm{Hom}_{\mathcal{D}}(F(C),D) \cong \mathrm{Hom}_{\mathcal{C}}(C,G(D)) \) naturally in both variables<sup>[5](https://www.math.ucla.edu/~sharifi/notes/algebra-ch09.html)</sup> |
| Module version | \( \mathrm{Hom}_R(M,N) \) is an abelian group and an \( R \)-module, and \( \mathrm{Hom}_R \) is an additive functor \( \mathrm{Mod}_R^{\mathrm{opp}} \times \mathrm{Mod}_R \to \mathrm{Mod}_R \)<sup>[6](https://stacks.math.columbia.edu/tag/0581)</sup> |

## Definition

Let \( \mathcal{C} \) be a locally small category, meaning each collection \( \mathcal{C}(A,B) \) of morphisms from \( A \) to \( B \) is actually a set. This assumption is valid for most categories met in practice; categories of structures such as monoids, groups, spaces, and sets are locally small but not small, since their objects form proper classes.<sup>[4](https://ncatlab.org/nlab/files/Streicher-CategoryTheory.pdf)</sup>

**Fixing the source.** For a fixed object \( X \), the assignment \( A \mapsto \mathrm{Hom}_{\mathcal{C}}(X,A) \) extends to a covariant functor \( h_X : \mathcal{C} \to \mathbf{Set} \): a morphism \( f : A \to B \) induces \( h_X(f) : \mathrm{Hom}_{\mathcal{C}}(X,A) \to \mathrm{Hom}_{\mathcal{C}}(X,B) \) by \( g \mapsto f \circ g \), postcomposition with \( f \).<sup>[2](https://www.asc.ohio-state.edu/terekcouto.1/texts/MATH6112_SP19_notes.pdf)</sup> This is called the covariant Hom functor.

**Fixing the target.** The contravariant version \( h^{X} : \mathcal{C} \to \mathbf{Set} \) sends \( A \) to \( \mathrm{Hom}_{\mathcal{C}}(A,X) \) and a morphism \( f : A \to B \) to the map \( \mathrm{Hom}_{\mathcal{C}}(B,X) \to \mathrm{Hom}_{\mathcal{C}}(A,X) \) given by \( g \mapsto g \circ f \), precomposition.<sup>[2](https://www.asc.ohio-state.edu/terekcouto.1/texts/MATH6112_SP19_notes.pdf)</sup> The reversal of direction is what makes this functor contravariant: a map \( A' \to A \) pre-composes to send an element of \( \mathcal{C}(A,B) \) to one of \( \mathcal{C}(A',B) \).<sup>[7](https://notes.amittai.studio/category-theory/representables-yoneda/representable-functors)</sup> The contravariant functor \( \mathcal{C}(-,C) : \mathcal{C} \to \mathbf{Set} \) is also called a contravariant representable functor or contravariant hom-functor.<sup>[8](https://www.algebra.uni-linz.ac.at/Students/Categories/Linzcat.pdf)</sup>

**Both variables.** The two constructions combine into a single bifunctor \( \mathrm{Hom}_{\mathcal{C}} : \mathcal{C}^{\mathrm{op}} \times \mathcal{C} \to \mathbf{Set} \). On objects it gives \( \mathcal{C}(X,Y) \); on a pair \( (f,g) \) with \( f : X' \to X \) and \( g : Y \to Y' \) it sends \( h : X \to Y \) to \( g \circ h \circ f \).<sup>[3](https://www.cl.cam.ac.uk/teaching/1819/L108/lectures/L108-lecture-12.pdf)</sup> It is contravariant in the source variable and covariant in the target variable, and it carries the same data as the two one-variable functors presented at once.<sup>[7](https://notes.amittai.studio/category-theory/representables-yoneda/representable-functors)</sup>

## Representable functors

A contravariant functor \( F : \mathcal{C} \to \mathbf{Set} \) is **representable** if there is a natural isomorphism \( h^{B} \Rightarrow F \) for some object \( B \), that is, natural bijections \( \mathrm{Hom}_{\mathcal{C}}(A,B) \cong F(A) \) for all objects \( A \); one then says \( B \) represents \( F \). Dually, a covariant \( F \) is representable if \( F(B) \cong \mathrm{Hom}_{\mathcal{C}}(A,B) \) naturally in \( B \) for some \( A \).<sup>[5](https://www.math.ucla.edu/~sharifi/notes/algebra-ch09.html)</sup> A covariant functor \( F \) is representable if and only if the contravariant functor \( F \circ \mathrm{op} : \mathcal{C}^{\mathrm{op}} \to \mathbf{Set} \) is, and the same object represents both.<sup>[5](https://www.math.ucla.edu/~sharifi/notes/algebra-ch09.html)</sup>

A representable functor is represented by a unique object up to isomorphism: if \( B \) and \( C \) both represent \( F \), the composite of the two natural isomorphisms equals \( h^{\mathcal{C}}(f) \) for a unique isomorphism \( f : B \to C \), by the weak form of Yoneda's lemma.<sup>[5](https://www.math.ucla.edu/~sharifi/notes/algebra-ch09.html)</sup> The practical value is that a representable functor can often be understood by understanding one object, the representing object.<sup>[9](https://sites.math.washington.edu/~mitchell/Algf/cat.pdf)</sup>

**Examples.** The contravariant power set functor \( P : \mathbf{Set} \to \mathbf{Set} \), sending a set \( S \) to its set of subsets and \( f : S \to T \) to preimage \( U \mapsto f^{-1}(U) \), is represented by the two-element set \( \{0,1\} \) via \( \varphi \mapsto \varphi^{-1}(\{1\}) \).<sup>[5](https://www.math.ucla.edu/~sharifi/notes/algebra-ch09.html)</sup> The forgetful functor \( \mathbf{Grp} \to \mathbf{Set} \) is represented by \( \mathbb{Z} \), the map \( G \to \mathrm{Hom}_{\mathbf{Grp}}(\mathbb{Z},G) \) sending \( a \) to the homomorphism \( 1 \mapsto a \).<sup>[5](https://www.math.ucla.edu/~sharifi/notes/algebra-ch09.html)</sup> In abelian groups, the functor \( A \mapsto A[n] = \{ a \in A : na = 0 \} \) is represented by \( \mathbb{Z}/n \), and in \( G \)-sets the fixed-point functor \( S \mapsto S^{G} \) is represented by the one-point \( G \)-set.<sup>[9](https://sites.math.washington.edu/~mitchell/Algf/cat.pdf)</sup> Universal properties are ultimately instances of representability: the functor \( M \mapsto \mathrm{Hom}_R(A_1,M) \times \mathrm{Hom}_R(A_2,M) \) on \( R \)-modules is represented by the direct sum \( A_1 \oplus A_2 \), and its contravariant counterpart by the product \( A_1 \times A_2 \).<sup>[2](https://www.asc.ohio-state.edu/terekcouto.1/texts/MATH6112_SP19_notes.pdf)</sup>

## The Yoneda lemma

The [Yoneda lemma](https://www.edgepedia.org/yoneda-lemma) computes the natural transformations out of a representable functor. For any functor \( F : \mathcal{C} \to \mathbf{Set} \) and any object \( X \), there is a natural bijection between the set of natural transformations \( h_X \Rightarrow F \) and the set \( F(X) \), sending \( \alpha \) to \( \alpha_X(\mathrm{id}_X) \).<sup>[2](https://www.asc.ohio-state.edu/terekcouto.1/texts/MATH6112_SP19_notes.pdf)</sup>

One consequence is that the Yoneda embedding \( X \mapsto h_X \) is fully faithful, so an object of a category is determined by the maps into it, that is, by its relations to all other objects.<sup>[7](https://notes.amittai.studio/category-theory/representables-yoneda/representable-functors)</sup> Another consequence, used constantly, is the uniqueness step in proving that representing objects are isomorphic.<sup>[5](https://www.math.ucla.edu/~sharifi/notes/algebra-ch09.html)</sup>

## Adjoints and limits

The Hom functor gives the standard formulation of adjunction. A functor \( F : \mathcal{C} \to \mathcal{D} \) has a right adjoint \( G \) exactly when there are bijections \( \eta_{(C,D)} : \mathrm{Hom}_{\mathcal{D}}(F(C),D) \cong \mathrm{Hom}_{\mathcal{C}}(C,G(D)) \), natural in \( C \) and \( D \); equivalently, \( h^{D} \circ F \) is representable for each \( D \), represented by \( G(D) \).<sup>[5](https://www.math.ucla.edu/~sharifi/notes/algebra-ch09.html)</sup> In bifunctor language, \( F \dashv G \) holds exactly when the functors \( \mathcal{D}(F(-),-) \) and \( \mathcal{C}(-,G(-)) \) from \( \mathcal{C}^{\mathrm{op}} \times \mathcal{D} \) to \( \mathbf{Set} \) are naturally isomorphic, so the naturality clauses in the definition of an adjunction are naturality of maps between hom-functors.<sup>[7](https://notes.amittai.studio/category-theory/representables-yoneda/representable-functors)</sup> A right adjoint, when it exists, is unique up to a unique natural isomorphism, again a consequence of the Yoneda embedding being fully faithful.<sup>[5](https://www.math.ucla.edu/~sharifi/notes/algebra-ch09.html)</sup>

Representability also captures limits: for a functor \( F : I \to \mathcal{C} \) between small categories, saying that \( \mathrm{lim}\, h^{\mathcal{C}} \circ F \) is representable is exactly saying that an object \( X \) exists with natural isomorphisms \( \mathrm{Hom}_{\mathcal{C}}(A,X) \cong \mathrm{lim}\,(\mathrm{Hom}_{\mathcal{C}}(A,F(\cdot))) \).<sup>[5](https://www.math.ucla.edu/~sharifi/notes/algebra-ch09.html)</sup>

## Hom for modules

For a ring \( R \) and \( R \)-modules \( M, N \), the set \( \mathrm{Hom}_R(M,N) \) of \( R \)-linear maps carries an abelian group structure by pointwise addition, and an \( R \)-module structure by \( (x\varphi)(m) = x\varphi(m) \). Pre- and post-composition by module maps are \( R \)-module maps, so \( \mathrm{Hom}_R \) defines an additive functor \( \mathrm{Mod}_R^{\mathrm{opp}} \times \mathrm{Mod}_R \to \mathrm{Mod}_R \).<sup>[6](https://stacks.math.columbia.edu/tag/0581)</sup>

The functor \( \mathrm{Hom}_R(-,N) \) is left exact: a sequence \( M_1 \to M_2 \to M_3 \to 0 \) is exact if and only if \( 0 \to \mathrm{Hom}_R(M_3,N) \to \mathrm{Hom}_R(M_2,N) \to \mathrm{Hom}_R(M_1,N) \) is exact for all \( N \), and dually for the covariant position.<sup>[6](https://stacks.math.columbia.edu/tag/0581)</sup> This left exactness is the base of homological algebra, where \( \mathrm{Hom}(A,B) \), the group of homomorphisms of a module \( A \) to a module \( B \), and the tensor product are the principal functors; the derived functors of Hom are the extension groups \( \mathrm{Ext}_R^{n}(A,B) = R^{n}\mathrm{Hom}_R(A,B) \).<sup>[10](https://encyclopediaofmath.org/wiki/Homological_algebra)</sup>

The tensor-Hom adjunction relates the two principal functors: for modules \( L, M, N \) over suitable rings, the map \( \mathrm{Hom}_S(L \otimes_R M, N) \to \mathrm{Hom}_R(L, \mathrm{Hom}_S(M,N)) \) is an isomorphism, natural in its variables, so the functors \( - \otimes_R M \) and \( \mathrm{Hom}_R(M,-) \) are adjoint to each other.<sup>[11](https://www.math.auckland.ac.nz/~hekmati/HomologicalAlgebra.pdf)</sup>

In the derived category \( D(R) \), the derived hom \( R\mathrm{Hom}_R(K,L) \) is an internal hom characterized by the formula \( \mathrm{Hom}_{D(R)}(K, R\mathrm{Hom}_R(L,M)) = \mathrm{Hom}_{D(R)}(K \otimes_R^{\mathbf{L}} L, M) \); this formula characterizes the object up to unique isomorphism by the Yoneda lemma.<sup>[12](https://stacks.math.columbia.edu/tag/0A5W)</sup>

## History

The Hom functor belongs to the foundational apparatus of category theory, introduced by [Samuel Eilenberg](https://www.edgepedia.org/samuel-eilenberg) and [Saunders Mac Lane](https://www.edgepedia.org/saunders-mac-lane) in "General theory of natural equivalences" (Transactions of the American Mathematical Society 58, 1945, pp. 231–294), the paper that defined category, functor, and natural transformation.<sup>[13](https://www.ams.org/journals/tran/1945-058-00/S0002-9947-1945-0013131-6/S0002-9947-1945-0013131-6.pdf)</sup> The paper already used Hom by "slicing": it defined the character group of a locally compact abelian group \( G \) as \( \mathrm{Char}\,G = \mathrm{Hom}(G,\mathbb{R}/\mathbb{Z}) \), a contravariant functor obtained by fixing one argument of the Hom construction, and observed that the familiar isomorphism \( \mathrm{Char}(\mathrm{Char}\,G) = G \) is a natural equivalence.<sup>[13](https://www.ams.org/journals/tran/1945-058-00/S0002-9947-1945-0013131-6/S0002-9947-1945-0013131-6.pdf)</sup>

## References

1. [Homfunctors, cattheory.org](https://cattheory.org/sections/1_computation/03_homfunctors.html)
2. [Ivo Terek Couto, The Ohio State University MATH 6112 lecture notes (2019)](https://www.asc.ohio-state.edu/terekcouto.1/texts/MATH6112_SP19_notes.pdf)
3. [Tom Leinster-based lecture notes, L108 Category Theory, Lecture 12, University of Cambridge Computer Laboratory](https://www.cl.cam.ac.uk/teaching/1819/L108/lectures/L108-lecture-12.pdf)
4. [Thomas Streicher, Category Theory lecture notes](https://ncatlab.org/nlab/files/Streicher-CategoryTheory.pdf)
5. [Romyar Sharifi, Abstract Algebra, Chapter 9: Category theory, UCLA](https://www.math.ucla.edu/~sharifi/notes/algebra-ch09.html)
6. [The Stacks Project, Section 10.10: Internal Hom (tag 0581)](https://stacks.math.columbia.edu/tag/0581)
7. [Amittai Axelrod, Hom-Functors and Representables, study notes](https://notes.amittai.studio/category-theory/representables-yoneda/representable-functors)
8. [Category Theory lecture notes, Johannes Kepler University Linz](https://www.algebra.uni-linz.ac.at/Students/Categories/Linzcat.pdf)
9. [W. G. Mitchell, Category Theory notes, University of Washington](https://sites.math.washington.edu/~mitchell/Algf/cat.pdf)
10. [Homological algebra, Encyclopedia of Mathematics](https://encyclopediaofmath.org/wiki/Homological_algebra)
11. [Homological Algebra lecture notes, University of Auckland](https://www.math.auckland.ac.nz/~hekmati/HomologicalAlgebra.pdf)
12. [The Stacks Project, Section 15.75: Derived Hom (tag 0A5W)](https://stacks.math.columbia.edu/tag/0A5W)
13. [S. Eilenberg and S. Mac Lane, General Theory of Natural Equivalences, Trans. Am. Math. Soc. 58 (1945) 231–294](https://www.ams.org/journals/tran/1945-058-00/S0002-9947-1945-0013131-6/S0002-9947-1945-0013131-6.pdf)

---
*Topic: Encyclopedia › Physical world and mathematics › Mathematics and statistics › Numbers and algebra › Algebraic structures › Module theory › Tensor products and bimodules › Tensor–hom relations*

*Initially written Sep 17, 2026 · Reviewed: Sep 30, 2026; Oct 15, 2026 · Edited: Sep 30, 2026; Oct 15, 2026 · Last review: Oct 15, 2026*

*Copyright 2026 EdgeChat AI, a subsidiary of Biostate AI.*

License: Edgepedia Community License 1.0, https://www.edgepedia.org/edgepedia/license
