lunes, 24 de agosto de 2009

Covariancia y contravariancia (I)

Covariancia y contravariancia en el álgebra lineal.
En el álgebra lineal el concepto de variancia tiene que ver con el tipo de transformación que realiza una cantidad bajo un cambio de base. Si la transformación es con la base será covariante, si es en contra de la base será contravariante.
Por ejemplo, si mi base es
[$$B=\left\{e_1,e_2\right\}$$]
y tengo un vector
[$$V=3 e_1 + 4 e_2$$]
Si cambio la base a
[$$B'=\left\{e'_1,e'_2\right\}=\left\{2e_1,4e_2\right\}$$]
Para que el vector siga siendo el mismo los componentes tienen que cambiar. Ahora
[$$V=\frac{3}{2}e'_1 + e'_2$$]
Los componentes son contravariantes porque compensan el cambio de base. Por ejemplo, el primer vector de la base creció al doble mientras que ese mismo componente se redujo a la mitad.
La base en sí es covariante aunque esto sea trivial.
Es importante aquí resaltar que un objeto matemático que se transforme de manera contraria a uno contravariante debe ser covariante. En ese sentido la contravariancia es como el menos en la multiplicación. Menos por menos es más. Contravariante de contravariante es covariante.
Covariancia y contravariancia en la teoría de tipos.
Aunque en la teoría de tipos la cosa es bastante distinta, ambos tipos de variancia provienen de la correspondiente variancia en las categorías. No voy a seguir por aquí. Quién quiera saber más debería leer este libro de Pierce.
Centrándonos en la teoría de tipos, la covariancia y contravariancia tiene que ver con la relación de herencia de los tipos. Si el tipo S (las sillas) es un refinamiento del tipo M (muebles) diremos que
[$$S <: M$$]
Esto es más o menos obvio. El tipo de las sillas es un refinamiento del tipo de los muebles. El tipo de las sillas es menor que el tipo de los muebles.
Si tengo una transformación de tipos T y el resultado es que
[$$T(S) <: T(M)$$]
Entonces la transformación es covariante. Sin embargo, si la transformación es
[$$T(S) :> T(M)$$]
diremos que es contravariante.
¿Para qué sirve esto? La respuesta en el siguiente post dedicado al tema.

0 comentarios:

Publicar un comentario en la entrada