Definition:Functor
This page has been identified as a candidate for refactoring of advanced complexity. In particular: The pages Definition:Arrow Functor, Definition:Object Functor and Definition:Morphism Functor redirect here. We need pages explicitly stating what these things are. Until this has been finished, please leave {{Refactor}} in the code.
New contributors: Refactoring is a task which is expected to be undertaken by experienced editors only. Because of the underlying complexity of the work needed, it is recommended that you do not embark on a refactoring task until you have become familiar with the structural nature of pages of $\mathsf{Pr} \infty \mathsf{fWiki}$.To discuss this page in more detail, feel free to use the talk page. When this work has been completed, you may remove this instance of {{Refactor}} from the code. |
Definition
Informally, a functor is a morphism of categories.
It may be described as what one must define in order to define a natural transformation.
This is formalized by defining the category of categories.
Covariant Functor
Let $\mathbf C$ and $\mathbf D$ be metacategories.
A covariant functor $F: \mathbf C \to \mathbf D$ consists of:
- An object functor $F_0$ that assigns to each object $X$ of $\mathbf C$ an object $FX$ of $\mathbf D$.
- An arrow functor $F_1$ that assigns to each arrow $f: X \to Y$ of $\mathbf C$ an arrow $Ff : FX \to FY$ of $\mathbf D$.
These functors must satisfy, for any morphisms $X \stackrel f \longrightarrow Y \stackrel g \longrightarrow Z$ in $\mathbf C$:
- $\map F {g \circ f} = F g \circ F f$
and:
- $\map F {\operatorname {id}_X} = \operatorname{id}_{F X}$
where $\operatorname {id}_W$ denotes the identity arrow on an object $W$, and $\circ$ is the composition of morphisms.
The behaviour of a covariant functor can be pictured as follows:
::$\begin{xy} <4em,4em>*{\mathbf C} = "C", <0em,0em>*+{X} = "a", <4em,0em>*+{Y} = "b", <4em,-4em>*+{Z}= "c", "a";"b" **@{-} ?>*@{>} ?<>(.5)*!/_1em/{f}, "b";"c" **@{-} ?>*@{>} ?<>(.5)*!/_1em/{g}, "a";"c" **@{-} ?>*@{>} ?<>(.5)*!/^1em/{g \circ f}, "C"+/r9em/*{\mathbf D}, "C"+/r2em/;"C"+/r6em/ **@{-} ?>*@{>} ?*!/_1em/{F}, "b"+/r2em/+/_2em/;"b"+/r6em/+/_2em/ **@{~} ?>*@2{>} ?<>(.5)*!/_.6em/{F}, "a"+/r13em/*+{FX}="Fa", "b"+/r13em/*+{FY}="Fb", "c"+/r13em/*+{FZ}="Fc", "Fa";"Fb" **@{-} ?>*@{>} ?<>(.5)*!/_1em/{Ff}, "Fb";"Fc" **@{-} ?>*@{>} ?<>(.5)*!/_1em/{Fg}, "Fa";"Fc" **@{-} ?>*@{>} ?<>(.7)*!/r3em/{F \left({g \circ f}\right) = \\ Fg \circ Ff}, \end{xy}$
Contravariant Functor
Let $\mathbf C$ and $\mathbf D$ be metacategories.
A contravariant functor $F : \mathbf C \to \mathbf D$ consists of:
- An object functor $F_0$ that assigns to each object $X$ of $\mathbf C$ an object $FX$ of $\mathbf D$.
- An arrow functor $F_1$ that assigns to each arrow $f : X \to Y$ of $\mathbf C$ an arrow $Ff : FY \to FX$ of $\mathbf D$.
These functors must satisfy, for any morphisms $X \stackrel f \longrightarrow Y \stackrel g \longrightarrow Z$ in $\mathbf C$:
- $\map F {g \circ f} = F f \circ F g$
and:
- $\map F {\operatorname {id}_X} = \operatorname {id}_{F X}$
where:
- $\operatorname {id}_W$ denotes the identity arrow on an object $W$
and:
- $\circ$ is the composition of morphisms.
Co- and Contravariance
Both covariant and contravariant functors are paramount in all of contemporary mathematics.
The intention behind defining a functor is to formalise and abstract the intuitive notion of "preserving structure".
Functors thus can be understood as a generalisation of the concept of homomorphism in all its instances.
This explains why one would be led to contemplate covariant functors.
However, certain "natural" operations like transposing a matrix do not preserve the structure as rigidly as a homomorphism (we do have Transpose of Matrix Product, however).
Because of the abundant nature of this type of operation, the concept of a contravariant functors was invented to capture their behaviour as well.
Also see
Sources
- 1964: Peter Freyd: Abelian Categories ... (previous) ... (next): Introduction