# Homología simplicial

En topología algebraica, la homología simplicial formaliza la idea del número de orificios de una dimensión dada en un complejo simplicial. Esto generaliza la idea del número de componentes conexas (caso de dimensión 0). La homología simplicial surge como una manera de estudiar los espacios topológicos cuyos componentes estructurales son n-símplices, los análogos n-dimensionales de los triángulos, que entre otros elementos incluyen el punto (símplex de dimensión 0), la línea (símplex de dimensión 1), el triángulo (símplex de dimensión 2) y el tetraedro (símplex de dimensión 3). Por definición, un espacio es homeomórfico a un complejo simplicial (más precisamente la realización geométrica de un complejo simplicial abstracto) tal como un homeomorfismo está referido a una triangulación del espacio dado. Muchos espacios topológicos de interés pueden ser triangulados, incluyendo cada variedad suave (según Cairns y Whitehead).$^{:sec.5.3.2}$
La homología simplicial está definida por un simple método para todo complejo simplicial abstracto. Es un hecho notable que la homología simplicial solo depende del espacio topológico asociado. Como resultado, brinda una forma computable de distinguir un espacio de otro.$^{:sec.8.6}$
La homología singular es una teoría relacionada, comúnmente más usada por los matemáticos hoy en día. Está definida para todos los espacios topológicos, y concuerda con la homología simplicial para espacios que pueden ser triangulados. No obstante, ya que es posible computar la homología de un complejo simplicial automáticamente y eficientemente, la homología simplicial se ha vuelto importante para aplicaciones en tiempo real, como análisis de imágenes, imagen médica y análisis de datos en general.

## Definiciones

Un concepto clave en la definición de homología simplicial es la noción de orientación de un símplex. Por definición, la orientación de un k-símplex está dada por el ordenamiento de sus vértices, escrito como (v$_0$,...,v$_k$), con la regla de que dos ordenaciones definen la misma orientación si y sólo si no difieren en su paridad. De esta forma, cada símplex tiene exactamente dos orientaciones, e intercambiando el orden de dos vértices se cambia a la orientación opuesta.

### Cadenas

Sea S un complejo simplicial. Una k-cadena simplicial es la combinación lineal:
    ,$\sum _{i=1}^{N}c_{i}\sigma _{i}\,$
donde cada c$_i$ es un entero y σ$_i$ es un k-símplex orientado. En esta definición se declara que cada símplex orientado es igual al negativo del símplex con la orientación opuesta. Por ejemplo:
    $(v_{0},v_{1})=-(v_{1},v_{0}).$
El grupo de k-cadenas en S se escribe como C$_k$. Es un grupo abeliano libre, que tiene una base en una correspondencia de uno a uno con el conjunto de k-símplices en S. Para definir una base explícitamente, hay que escoger una orientación para cada símplex. Una forma estándar para hacer esto es escoger un ordenamiento de todos los vértices y dar a cada símplex la orientación correspondiente al ordenamiento inducido de sus vértices.

### Contornos y ciclos

Sea σ = (v$_0$,...,v$_k$) un k-símplex orientado, visto como un elemento base de C$_k$. El operador de contorno
    $\partial _{k}:C_{k}\rightarrow C_{k-1}$
es el homomorfismo definido por:
    $\partial _{k}(\sigma )=\sum _{i=0}^{k}(-1)^{i}(v_{0},\dots ,{\widehat {v_{i}}},\dots ,v_{k}),$
donde el símplex orientado
    $(v_{0},\dots ,{\widehat {v_{i}}},\dots ,v_{k})$
es la i-ésima cara de σ, obtenida de eliminar su i-ésimo vértice.
En C$_k$, los elementos del subgrupo:
    $Z_{k}:=\ker \partial _{k}$
son llamados ciclos, y el subgrupo:
    $B_{k}:=\operatorname {im} \partial _{k+1}$
se dice que consiste en contornos.

### Contornos de contornos

Debido a que $(-1)^{i+j-1}(v_{0},\dots ,{\widehat {v_{i}}},\dots ,{\widehat {\widehat {v_{j}}}},\dots ,v_{k})=-(-1)^{i+j}(v_{0},\dots ,{\widehat {\widehat {v_{i}}}},\dots ,{\widehat {v_{j}}},\dots ,v_{k})$, donde ${\widehat {\widehat {v_{x}}}}$ es la segunda cara eliminada, $\partial ^{2}=0$. En términos geométricos, esto implica que el contorno de cualquier elemento no tiene contorno. De manera equivalente, los grupos abelianos
    $(C_{k},\partial _{k})$
forman un complejo de cadenas. Otra afirmación equivalente es que B$_k$ está contenido en Z$_k$.
Como ejemplo, considérese un tetraedro con vértices orientados como w,x,y,z. Por definición, su contorno viene dado por: xyz - wyz + wxz - wxy. El contorno del contorno viene dado por: (yz-xz+xy)-(yz-wz+wy)+(xz-wz+wx)-(xy-wy+wx)= 0.

### Grupos de homología

El k-ésimo grupo de homología H$_k$ de S está definido como el grupo cociente:
    $H_{k}(S)=Z_{k}/B_{k}\,.$
Esto indica que el grupo de homología H$_k$(S) es distinto de cero exactamente cuando hay k-ciclos en S que no son contornos. En cierto sentido, significa que hay orificios k-dimensionales en el complejo. Por ejemplo, considérese el complejo S obtenido por la unión de dos triángulos (sin interior) por una de sus aristas. Las aristas de cada triángulo pueden estar orientadas de modo que formen un ciclo. Estos dos ciclos, por construcción, no son contornos (dado que cada 2-cadena es cero). Se puede computar que el grupo de homología H$_1$(S) es isomorfo a Z$^2$, con una base dada por los dos ciclos mencionados. Esto especifica la idea informal de que S tiene dos orificios de dimensión 1.
Los orificios pueden ser de dimensiones diferentes. El rango del k-ésimo grupo de homología, el número:
    $\beta _{k}={\rm {rango}}(H_{k}(S))\,$
se denomina el k-ésimo número de Betti de S. Esto da una medida del número de orificios k-dimensionales en S.

## Ejemplo
### Grupos de homología de un triángulo

Sea S el triángulo (no recubierto), visto como un complejo simplicial. De esta forma S tiene tres vértices, que se pueden denominar v$_0$, v$_1$, v$_2$, y tres símplices de dimensión 1. Al computar los grupos de homología de S, se comienza describiendo los grupos de cadenas C$_k$. Es decir, C$_0$ es isomorfo a Z$^3$ con bases (v$_0$), (v$_1$), (v$_2$), y C$_1$ es isomorfo a Z$^3$ con bases dadas por los símplices de dimensión 1 orientados (v$_0$, v$_1$), (v$_0$, v$_2$) y (v$_1$, v$_2$). Los grupos de cadenas en otras dimensiones son cero.
El homomorfismo contorno ∂: C$_1$ → C$_0$ está dado por:
    $\partial (v_{0},v_{1})=(v_{1})-(v_{0})$
    $\partial (v_{0},v_{2})=(v_{2})-(v_{0})$
    $\partial (v_{1},v_{2})=(v_{2})-(v_{1})$
Dado que C$_{−1}$= 0, cada 0-cadena es un ciclo (es decir, Z$_0$= C$_0$). Además, el grupo B$_0$ de los 0-contornos es generado por los tres elementos a la derecha de estas ecuaciones, creando un subgrupo bidimensional de C$_0$. Entonces, el grupo de homología 0 H$_0$(S)= Z$_0$/B$_0$ es isomorfo a Z, con una base dada (por ejemplo) por la imagen del 0-ciclo (v$_0$). De hecho, los tres vértices se vuelven iguales en el grupo cociente, lo que expresa el hecho de que S es conexo.
A continuación, el grupo de 1-ciclos es el núcleo del homomorfismo ∂ anterior, que es isomorfo a Z, con una base dada (por ejemplo) por (v$_0$,v$_1$) − (v$_0$,v$_2$) + (v$_1$,v$_2$) (una imagen revela que este 1-ciclo rodea el triángulo en una de las dos direcciones posibles). Dado que C$_2$= 0, el grupo de 1-contornos es nulo, por lo que el primer grupo de homología H$_1$(S) es isomorfo a Z/0 ≅ Z. Esto precisa la idea de que el triángulo tiene un orificio unidimensional.
Por otro lado, dado que por definición no hay 2-ciclos, C$_2$= 0 (es el grupo trivial). Por lo tanto, el segundo grupo de homología H$_2$(S) es cero. Lo mismo ocurre con H$_i$(S) para todos los i que no son iguales a 0 o 1. Por lo tanto, la conectividad homológica del triángulo es 0 (es el k más grande para el cual los grupos de homología reducidos hasta k son triviales).

### Grupos de homología de símplices de dimensiones superiores

Sea S un tetraedro (sin su interior), visto como un complejo simplicial. Por lo tanto, S tiene cuatro vértices de dimensión 0, seis aristas de dimensión 1 y cuatro caras de dimensión 2. Resulta que H$_0$(S) es isomorfo a Z, H$_2$(S) también es isomorfo a Z y todos los demás grupos son triviales. Por lo tanto, la conectividad homológica del tetraedro es 0.
Si el tetraedro contiene su interior, entonces H$_2$(S) también es trivial.
En general, si S es un simplex d-dimensional, se cumple lo siguiente:
* Si se considera S sin su interior, entonces H$_0$(S)= Z y H$_d$$_{−1}$(S)= Z y todas las demás homologías son triviales;
* Si se considera S con su interior, entonces H$_0$(S)= Z y todas las demás homologías son triviales.

## Aplicaciones simpliciales

Sean S y T complejos simpliciales. Una aplicación simplicial f de S a T es una función del conjunto de vértices de S al conjunto de vértices de T tal que la imagen de cada símplice en S (visto como un conjunto de vértices) es un símplice en T. Una aplicación simplicial f: S → T determina un homeomorfismo de grupos de homología H$_k$(S) → H$_k$(T) para cada entero k. Este es el homeomorfismo asociado a una aplicación de cadenas del complejo de cadenas de S al complejo de cadenas de T. Explícitamente, esta aplicación de cadenas está dada en k-cadenas por:
    $f((v_{0},\ldots ,v_{k}))=(f(v_{0}),...,f(v_{k}))$
si f(v$_0$), ..., f(v$_k$) son todos distintos, y por otra parte f((v$_0$, ..., v$_k$)) = 0.
Esta construcción hace a la homología simplicial un functor de un complejo simplicial a grupos abelianos. Esto es esencial para aplicaciones en la teoría, incluyendo el teorema del Punto Fijo de Brouwer y la invariante topológica de la homología simplicial.

## Homologías relacionadas

La homología singular es una teoría relacionada que se adapta mejor a la teoría que a la computación. Se define para todos los espacios topológicos y depende únicamente de la topología, no de la triangulación; y concuerda con la homología simple para espacios que pueden triangularse.$^{:thm.2.27}$ No obstante, debido a que es posible calcular la homología simplicial de un complejo simplicial de forma automática y eficiente, la homología simplicial se ha vuelto importante para su aplicación a situaciones de la vida real, como el análisis de imágenes, la imagen médica y el análisis de datos en general.
Otra teoría relacionada es la homología celular.

## Aplicaciones

Un escenario estándar en muchas aplicaciones de computadoras es una colección de puntos (medidas, pixeles oscuros en un mapa de bits,...) en el que es deseable encontrar un rasgo topológico. La homología puede servir como una herramienta cualitativa para buscar tales rasgos, ya que es realmente computable desde datos combinatorios como un complejo simplicial. Sin embargo, los puntos en los datos tienen primero que ser triangulados, lo que significa reemplazar los datos con una aproximación de un complejo simplicial. Computar la persistencia homológica involucra el análisis de homología de diferentes resoluciones, registrando clases de homología (orificios) que persisten si la resolución cambia. Tales características pueden ser usadas para detectar la estructura de moléculas, tumores en rayos X, y estructuras de clúster en datos complejos. De forma general, la homología simplicial juega un rol central en el análisis de datos topológicos, una técnica en el campo de la minería de datos.

## Desarrollos

* Una caja de herramientas de MATLAB para calcular la homología persistente, Plex (Vin de Silva, Gunnar Carlsson), está disponible en este sitio.
* Existen desarrollos independientes en C++, que están disponibles como parte de los proyectos de software Perseus, Dionysus y PHAT.
* Para Python, existen bibliotecas como scikit-tda Archivado el 23 de septiembre de 2023 en Wayback Machine., Persim, giotto-tda y GUDHI, este último destinado a generar características topológicas para aprendizaje automático. Se pueden encontrar en el repositorio PyPI.