# Invariante

Invariante es algo que no cambia al aplicarle un conjunto de transformaciones. Así, en matemáticas, un objeto (función, conjunto, punto, ...) se dice invariante respecto de o bajo una transformación si permanece inalterado tras la acción de tal trasformación. El concepto de invariante es similar al de punto fijo. Más formalmente una entidad se considera invariante bajo un conjunto de transformaciones si la imagen transformada de la entidad es indistinguible de la original. La propiedad de ser invariante se conoce como invarianza o invariancia.
* Un ejemplo fácil de invarianza es la distancia entre dos puntos en una recta, ésta no cambia al sumar una misma cantidad a ambos puntos; es decir es invariante bajo la suma, pero si los multiplicamos por una misma cantidad (excepto el 1) cambia la distancia; entonces no es invariante en la multiplicación.
* La simetría también puede ser considerada una forma de invarianza.
* Otro ejemplo interesante son los invariantes algebraicos que aparecen en álgebra lineal, cálculo tensorial y topología.

## Invariancia en física

Una noción física fundamental es la de observador. En todas las teorías físicas se presupone la existencia de algún tipo de realidad objetiva y un número potencialmente infinito de observadores diferentes capaces de observar y medir dicha realidad. Todas las teorías físicas incluyen el axioma o principio de objetividad según el cual aunque diferentes observadores pueden llegar a medidas diferentes de la misma realidad objetiva, todas ellas son relacionables mediante reglas generales, es decir, la objetividad del mundo material se refleja en la intersubjetividad de las medidas físicas.
Puede demostrarse que la existencia de intersubjetividad de las medidas conduce a que pueden formarse ciertas expresiones matemáticas que relacionan las medidas que son invariantes en forma o forminvariantes para todos los observadores.

## Invariancia en matemáticas

En matemáticas existen varias nociones relacionadas de invariancia. Una de las más útiles considera un functor $\scriptstyle \Psi$ entre categorías:
   $\Psi :{\mathcal {C}}_{1}\to {\mathcal {C}}_{2}$
un invariante es un objeto de la categoría imagen $\scriptstyle {\mathcal {C}}_{2}$ tal que las imágenes por el functor de los objetos de la primera categoría (que pueden ser relacionados por un isomorfismo) son idénticas. Dados cualesquiera dos objetos de la primera categoría $\scriptstyle C_{A},C_{B}\in {\mathcal {C}}_{1}$ se cumple que:
   $\Psi (C_{A})=\Psi (C_{B})\in Ob({\mathcal {C}}_{2}),\qquad \qquad \forall C_{A},C_{B}\in Ob({\mathcal {C}}_{1})$
En otras palabras un "invariante" es una functor constante sobre una determinada categoría. El grupo fundamental es un invariante matemático, ya que dos espacios homeomorfos comparten el mismo grupo fundamental. Además del grupo fundamental existen otros invariantes algebraicos definibles sobre una categoría de espacios topológicos homeomorfos.
En otros contextos la definición anterior puede simplificarse, por ejemplo en muchos contextos se considera un conjunto de transformaciones $\scriptstyle {\mathcal {T}}$ sobre objetos, un invariante puede entenderse como un objeto matemático que no es alterado por las transformaciones:
   $\mathrm {inv} (T(x))=\mathrm {inv} (x);\quad x\in X,\ \forall T:(T:X\to X)\in {\mathcal {T}}$
En teoría de matrices un invariante algebraico es una función polinómica de las componentes de la matriz cuyo valor no varía se calcula sobre matrices semejantes (y por tanto que representan la misma aplicación lineal, por lo que los invariantes algebraicos se denominan invariantes algebraicos de la aplicación lineal).

## Invariancia en programación

Un invariante es una condición o propiedad que se mantiene cierta en ciertos puntos del programa. Se usa sobre todo en la depuración de programas en las últimas fases de su desarrollo o al modificar código existente (prueba de regresión).