En la teoría de categorías, una transformación natural proporciona una forma de traducir un funtor en otro mientras se preserva la estructura interna (como las composiciones de morfismos). Por lo tanto, una transformación natural puede entenderse como un "morfismo de funtores". Esta intuición puede formalizarse rigurosamente en la definición de la categoría de funtores . Las transformaciones naturales son la definición más básica en la teoría de categorías, junto con los funtores, porque aparece en la mayoría de sus aplicaciones.
Sean y sean funtores covariantes de la categoría a . Luego, la transformación natural asigna a cada objeto de la categoría un morfismo en la categoría llamado componente en , de modo que para cualquier morfismo el diagrama que se muestra en la siguiente figura es conmutativo. En el caso de los funtores contravariantes , la definición es exactamente la misma (solo necesitamos invertir las flechas horizontales, dado que están invertidas por el morfismo contravariante).
Si η es una transformación natural de un funtor F en un funtor G , escribimos η: F → G. También se dice que la familia de morfismos η X : F ( X ) → G ( X ) es natural en X.
Si para cada X en C el morfismo η de X es un isomorfismo en D , entonces η se denomina isomorfismo natural (o, a veces, equivalencia natural o isomorfismo de funtor ).
Una transformación infranatural η de F a G es simplemente una familia de morfismos η X : F ( X ) → G ( X ). El naturalizador de η, nat(η), es la subcategoría más grande de C , que contiene aquellos objetos de C , en la restricción de que η es una transformación natural.
Si η : F → G y ε : G → H son transformaciones naturales, podemos tomar su composición y obtener una transformación natural εη : F → H . Esto se hace componente por componente: (εη) X = ε X η X . Esta operación es asociativa y tiene una unidad, lo que permite formar la categoría de los funtores .
Un ejemplo de una transformación natural es el determinante . De hecho, sea un anillo conmutativo , luego las matrices cuadradas de orden forman un monoide con respecto a la multiplicación, y sean un monoide multiplicativo del anillo mismo . Sea un funtor que lleva un anillo a un monoide de matrices sobre él. Dado que el determinante se expresa en términos de multiplicación, suma y resta, que se conservan mediante morfismos del anillo (lo que significa que el morfismo y estas operaciones se conmutan), el mapeo será una transformación natural entre un funtor y un funtor, asignando cada anillo es idéntico a su monoide multiplicativo (ambos funtores de la categoría de anillos conmutativos a la categoría de monoides ).
Pongamos un ejemplo de una transformación que no es natural. Sea un espacio vectorial n - dimensional sobre el campo . es su base, es la base del espacio dual de funcionales , tal que
¿ Dónde está el símbolo de Kronecker ? Todos los espacios n -dimensionales son isomorfos. Pongamos
y extenderse linealmente a todo el espacio . asigna el funtor idéntico (obviamente covariante) a un funtor contravariante que asigna el espacio vectorial al espacio dual de funcionales. Si tomamos la categoría de espacios vectoriales de dimensión finita, donde los morfismos son isomorfismos (y no aplicaciones lineales), entonces podemos reemplazar el funtor contravariante con un funtor covariante (donde , ). La transformación no será natural ni siquiera en el caso más simple de un espacio unidimensional sobre el campo de los números reales. De hecho, sea V unidimensional y el isomorfismo una multiplicación por 2:
Entonces , mientras que , es decir, el diagrama no es conmutativo.
La razón de esto es bastante clara: está determinada por una base elegida completamente al azar. Si tomamos el segundo espacio dual , entonces en el caso de un espacio de dimensión finita hay un isomorfismo (es decir, para cualquiera y funcional ). En este caso, el isomorfismo define una transformación natural del funtor identidad en un funtor .
Otro ejemplo importante de transformaciones naturales son las funciones polimórficas (es decir, polimorfismo paramétrico ). Un ejemplo de tal conversión es el inverso :: para toda una función. [a] -> [a] , que invierte una lista de elementos de un tipo arbitrario. En este caso h(T) es T inversa :: [T] -> [T]; y los funtores F y G son List.
Este hecho se puede formular de la siguiente manera: forall f :: a -> b : map f . reversa a = reversa b . mapa F. Este es uno de los llamados "teoremas libres".
La naturalidad de todas las funciones paramétricamente polimórficas es una consecuencia del teorema de Reynolds .