Functor

En matemáticas, especificamente na teoría de categorías, un **functor** é unha correspondencia entre categorías. Os functores foron considerados por primeira vez na topoloxía alxébrica, onde os obxectos alxébricos (como o grupo fundamental) están asociados a espazos topolóxicos, e os mapas entre estes obxectos alxébricos están asociados a mapas continuos entre espazos. Hoxe en día, os functores úsanse en todas as matemáticas modernas para relacionar varias categorías. Así, os functores son importantes en todas as áreas das matemáticas nas que se aplica a teoría de categorías.

## Definición 
miniatura| Unha categoría con obxectos X, Y, Z e morfismos f, g, g ∘ f
miniatura| O functor F debe preservar a composición dos morfismos g e f
Sexan as categorías *C* e *D.* Un **functor** *F* de *C* a *D* é unha correspondencia que

* asocia cada obxecto X en *C* a un obxecto F(X) en *D*,
* asocia cada morfismo f \colon X \to Y en *C* a un morfismo F(f) \colon F(X) \to F(Y) en *D* tal que se cumpran as dúas condicións seguintes:
** F(\mathrm{id}_{X}) = \mathrm{id}_{F(X)}\,\! para cada obxecto X en *C*,
** F(g \circ f) = F(g) \circ F(f) para todos os morfismos f \colon X \to Y\,\! e g \colon Y\to Z en *C.*

É dicir, os functores deben preservar os morfismos de identidade e a composición dos morfismos.

### Covarianza e contravarianza 
Os functores ordinarios tamén se denominan **functores covariantes** para distinguilos dos contravariantes. Teña en conta que tamén se pode definir un functor contravariante como un functor *covariante* na categoría oposta C^\mathrm{op}.  Algúns autores prefiren escribir todas as expresións de forma covariante. É dicir, en vez de dicir F \colon C\to D é un functor contravariante, simplemente escriben F \colon C^{\mathrm{op}} \to D (ou ás veces F \colon C \to D^{\mathrm{op}} ) e chámanlle functor.

Os functores contravariantes tamén se denominan ocasionalmente *cofuntores*.

**Diferenzas en topoloxía**

Hai unha convención que se refire a "vectores", é dicir, campos vectoriais, elementos do espazo de seccións \Gamma(TM) dun fibrado tanxente TM, como "contravariante" e para "covectores", é dicir, 1-formas, elementos do espazo de seccións \Gamma\mathord\left(T^*M\right) dun fibrado cotanxente T^*M, como "covariante". Esta terminoloxía ten a súa orixe na física, e a súa razón de ser ten que ver coa posición dos índices ("arriba" e "abaixo") en expresións como {x'}^{\,i} = \Lambda^i_j x^j para \mathbf{x}' = \boldsymbol{\Lambda}\mathbf{x} ou \omega'_i = \Lambda^j_i \omega_j para \boldsymbol{\omega}' = \boldsymbol{\omega}\boldsymbol{\Lambda}^\textsf{T}. 

Neste formalismo obsérvase que o símbolo de transformación de coordenadas \Lambda^j_i (representa a matriz \boldsymbol{\Lambda}^\textsf{T}) actúa sobre as "coordenadas covectoras" "do mesmo xeito" que sobre os vectores de base: \mathbf{e}_i = \Lambda^j_i\mathbf{e}_j, mentres que actúa "de forma contraria" nas "coordenadas vectoriais" (pero "da mesma maneira" que nos covectores da base: \mathbf{e}^i = \Lambda^i_j \mathbf{e}^j). 

Esta terminoloxía é contraria á que se usa na teoría de categorías porque son os covectores os que teñen regresións en xeral e polo tanto son *contravariantes*, mentres que os vectores en xeral son *covariantes* xa que poden ser pulos *cara adiante*. Vexa tamén Covarianza e contravarianza de vectores.

### Functor oposto 
Todo functor F \colon C\to D induce o **functor oposto** F^\mathrm{op} \colon C^\mathrm{op}\to D^\mathrm{op}, onde C^\mathrm{op} e D^\mathrm{op} son as categorías opostas de C e D. Por definición, F^\mathrm{op} mapea obxectos e morfismos do mesmo xeito que o fai F. Posto que C^\mathrm{op} non coincide con C como categoría, e do mesmo xeito para D, F^\mathrm{op} distínguese de F. Por exemplo, ao compoñer F \colon C_0\to C_1 con G \colon C_1^\mathrm{op}\to C_2, deberíase usar algún dos seguintes G\circ F^\mathrm{op} ou G^\mathrm{op}\circ F. Teña en conta que, seguindo a propiedade da categoría oposta, \left(F^\mathrm{op}\right)^\mathrm{op} = F .

### Bifunctor e multifunctor 
Un **bifunctor** (tamén coñecido como **functor binario**) é un functor cuxo dominio é unha categoría produto. Por exemplo, o functor Hom é do tipo . Pódese ver como un functor en *dous* argumentos; é contravariante nun argumento, covariante no outro.

Un **multifunctor** é unha xeneralización do concepto de functor a *n* variábeis. Así, un bifunctor é un multifunctor con .

## Propiedades 
Dúas consecuencias importantes dos axiomas dos functores son:

* *F* transforma cada diagrama conmutativo en *C* nun diagrama conmutativo en *D*;
* se *f* é un isomorfismo en *C*, entón *F* (*f*) é un isomorfismo en *D*.

Pódense compoñer functores, é dicir, se *F* é un functor de *A* a *B* e *G* é un functor de *B* a *C,* entón pódese formar o functor composto  de *A* a *C*. A composición dos functores é asociativa cando se define. A identidade de composición dos functores é o functor identidade. Isto mostra que os functores poden ser considerados como morfismos en categorías de categorías, por exemplo na categoría de categorías pequenas.