MATHS + AI

Topología aplicada · Tema 03

Persistencia

Homología a través de una filtración: en lugar de elegir una escala, seguimos cada agujero desde que nace hasta que muere.

  • Filtraciones
  • Módulos de persistencia
  • Diagramas y códigos de barras
  • Reducción de la matriz frontera

Avanza con → espacio · retrocede con ← · índice con O · pantalla completa con F

Hoja de ruta

De un complejo fijo a una familia que crece

filtración
$K_0\subseteq\cdots\subseteq K_n$
módulo de
persistencia
nacimiento
y muerte
diagrama /
código de barras
Objetivo del capítulo
No elegir una única escala: estudiar todas las escalas relevantes y registrar cuánto tiempo sobrevive cada característica topológica.

Resultados de aprendizaje

Al terminar, debemos poder responder cuatro preguntas

  1. ¿Qué es una filtración simplicial y cómo se obtiene de una función monótona?
  2. ¿Qué es un módulo de persistencia y qué significa que una clase nazca o muera?
  3. ¿Qué información contienen el diagrama de persistencia y el código de barras?
  4. ¿Cómo se calcula toda la persistencia reduciendo una única matriz frontera?

Hilo conductor: restar el nacimiento a la muerte da la vida de un agujero; vidas cortas suelen ser ruido, vidas largas señalan forma.

Ejemplo conductor

Ejemplo conductor: construcción de un triángulo

abc Kt1 Kt2 Kt3 Kt4 Kt5
En $t_3$ se conectan las componentes; en $t_4$ nace una clase de $H_1$; en $t_5$ el $2$-símplice la mata.

01

Sección primera

Filtraciones

Sucesiones anidadas de complejos, funciones monótonas, filtraciones de subnivel, por estrella inferior y de Čech.

Filtraciones

Una filtración es una sucesión anidada de complejos

Definición (filtración simplicial)
Una filtración de $K$ es una sucesión anidada \[ \mathcal F:K_0\hookrightarrow K_1\hookrightarrow\cdots\hookrightarrow K_n=K. \] Es símplice a símplice si cada $K_i\setminus K_{i-1}$ es un único símplice o vacío.
Definición (función monótona)
$f:K\to\R$ es monótona si $\sigma\le\tau\ \Rightarrow\ f(\sigma)\le f(\tau)$.

Filtraciones

Una función monótona induce una filtración de subnivel

Para $\min f=t_0<\cdots<t_n=\max f$:

\[ K_i:=f^{-1}\bigl((-\infty,t_i]\bigr)=\{\sigma\in K:f(\sigma)\le t_i\}. \]
  • $i\le j\ \Rightarrow\ K_i\subseteq K_j$, y $K_n=K$.
  • Toda filtración proviene de alguna función monótona (recíprocamente).
  • $K$ finito $\Rightarrow$ $f(K)$ finito: $K_t$ solo cambia al cruzar un valor crítico de $f$.

Consecuencia: toda la filtración se codifica en la sucesión finita $K_{t_0}\subseteq\cdots\subseteq K_{t_n}$.

Filtraciones

Ejemplo: filtración por estrella inferior

Construcción
Dado $g(v)\in\R$ en cada vértice, se extiende $f(\sigma)=\max\{g(v):v\in\sigma\}$: es monótona, pues las caras de $\sigma$ tienen menos vértices.

Para un triángulo con $g(a)=1,\ g(b)=2,\ g(c)=5$: $a$ aparece en $t=1$; $b$ y $ab$ en $t=2$; $c$, $ac$, $bc$ y $abc$ en $t=5$.

Uso habitual: mallas, imágenes y funciones sobre superficies (la usaremos con una imagen sintética).

Filtraciones

Ejemplo: filtración de Čech

Para $P\subset\R^n$ finito y $r\ge0$, sea $\check C_r(P)$ el nervio de $\{B(p,r):p\in P\}$.

Monotonía
Si $r\le s$, entonces $B(p,r)\subseteq B(p,s)$ para todo $p$, luego \[ \check C_r(P)\subseteq\check C_s(P). \]

Cualquier sucesión $r_0<\cdots<r_m$ da la filtración $\check C_{r_0}(P)\hookrightarrow\cdots\hookrightarrow\check C_{r_m}(P)$.

02

Sección segunda

Homología persistente

Módulos de persistencia, nacimiento y muerte de clases, números de Betti persistentes, diagramas y códigos de barras.

Homología persistente

Cada inclusión induce un homomorfismo en homología

Definición (módulo de persistencia)
Para $i\le j$, la inclusión $K_i\hookrightarrow K_j$ induce \[ h_p^{i,j}:H_p(K_i)\longrightarrow H_p(K_j), \] con $h_p^{i,i}=\mathrm{id}$ y $h_p^{i,k}=h_p^{j,k}\circ h_p^{i,j}$ si $i\le j\le k$. La colección $\bigl(H_p(K_i),h_p^{i,j}\bigr)$ es el módulo de persistencia en dimensión $p$.

Homología persistente

Mecanismo algebraico de la «muerte»

Para $c\in Z_p(K_i)$, $[c]_i=c+B_p(K_i)$; como $K_i\subseteq K_j$, el mismo ciclo define

\[ h_p^{i,j}([c]_i)=[c]_j=c+B_p(K_j). \]
Por qué una clase puede morir
$B_p(K_i)\subseteq B_p(K_j)$: un ciclo que no era frontera en $K_i$ puede serlo en $K_j$. Si $c\in B_p(K_j)$, entonces $h_p^{i,j}([c]_i)=0$.

Homología persistente

Homología persistente y números de Betti persistentes

Definiciones
\[ H_p^{i,j}:=\im h_p^{i,j}=\frac{Z_p(K_i)}{B_p(K_j)\cap Z_p(K_i)}, \qquad \beta_p^{i,j}:=\dim H_p^{i,j}. \]

Notar $H_p^{i,i}=H_p(K_i)$ y $\beta_p^{i,i}=\beta_p(K_i)$.

Por qué no basta con $\beta_p(K_i)$
$\beta_p(K_i)$ cuenta clases vivas en $i$, pero no de dónde vienen. Dos filtraciones con la misma sucesión de Betti pueden tener módulos distintos: $h_p^{i,j}$ es lo que sigue la identidad de una clase.

Homología persistente

Una clase nace cuando aparece y muere cuando se anula

Definición (nacimiento, muerte, persistencia)
  • $[c]\ne0$ nace en $K_i$ si $[c]\in H_p^{i,i}$ pero $[c]\notin H_p^{i-1,i}$.
  • $[c]$, nacida en $K_i$, muere en $K_j$ si $h_p^{i,j-1}([c])\ne0$ y $h_p^{i,j}([c])=0$.
  • $\Pers([c]):=j-i$ (o $t_j-t_i$ en subnivel); si nunca muere, $\Pers([c])=\infty$.
Clases independientes $p$-dimensionales que han nacido en $K_i$ y muerto en $K_j$:
\[ \mu_p^{i,j}=\bigl(\beta_p^{i,j-1}-\beta_p^{i,j}\bigr)-\bigl(\beta_p^{i-1,j-1}-\beta_p^{i-1,j}\bigr) \]

Homología persistente

Proposición: reconstrucción de $\beta_p^{i,j}$ a partir de $\mu_p$

\[ \beta_p^{i,j}=\sum_{\substack{k\le i\\ \ell>j}}\mu_p^{k,\ell} \]
Esquema de la demostración
  • $\beta_p^{i,j}=\dim\im h_p^{i,j}$: clases ya vivas en $K_i$ que siguen vivas en $K_j$.
  • Una clase nacida en $K_k$ está viva en $K_i$ exactamente si $k\le i$; muerta en $K_\ell$, sigue viva en $K_j$ exactamente si $\ell>j$.
  • Sumar $\mu_p^{k,\ell}$ sobre todos los pares con ambas condiciones da el resultado.

Homología persistente

Ejemplo: nacimientos y muertes en la filtración del triángulo

$K_0=\{a,b\},\ K_1=K_0\cup\{ab\},\ K_2=K_1\cup\{c\},\ K_3=K_2\cup\{ac,bc\},\ K_4=K_3\cup\{abc\}$
  • $K_0$: dos clases de $H_0$; en $K_1$ (arista $ab$), una muere.
  • $K_2$: nace una nueva clase de $H_0$ (vértice $c$); en $K_3$ muere al conectarse.
  • $K_3$: nace una clase de $H_1$ (ciclo $ab+bc+ca$); en $K_4$ (entra $abc$) muere.

Regla del más antiguo: al conectar dos componentes, sobrevive la que nació primero.

Homología persistente

El diagrama de persistencia registra nacimientos y muertes

Definición (diagrama de persistencia)
Con valores $a_0<\cdots<a_n$, $\Dgm_p(\mathcal F)$ es el multiconjunto de puntos: cada $(a_i,a_j)$ con multiplicidad $\mu_p^{i,j}$. Las clases esenciales dan $(a_i,+\infty)$.
  • Los puntos quedan sobre $a_i\le a_j$ (no se puede morir antes de nacer).
  • La distancia a la diagonal $\Delta=\{(a,a)\}$ es la persistencia: lejos = significativo, cerca = posible ruido.

Homología persistente

El código de barras es la misma información en forma de intervalos

Definición (código de barras)
$\Barp_p(\mathcal F)$ es el multiconjunto de intervalos $[a_i,a_j)$, cada uno con multiplicidad $\mu_p^{i,j}$; las clases esenciales dan $[a_i,+\infty)$.

Diagrama y código de barras contienen la misma información: $(a_i,a_j)\leftrightarrow[a_i,a_j)$, y la longitud $a_j-a_i$ es la persistencia.

Homología persistente

Diagrama de persistencia del ejemplo conductor

a0 a1 a2 a3 a4 a0 a1 a2 a3 a4 nacimiento muerte y = x +∞ H0 H1
$H_0$: clases finitas $(a_0,a_1)$, $(a_2,a_3)$ y esencial $(a_0,+\infty)$; $H_1$: clase finita $(a_3,a_4)$.

Homología persistente

Código de barras del mismo ejemplo

a0 a1 a2 a3 a4 tiempo de filtración H0 H1
Cada barra es una clase de homología; su longitud es su persistencia.

Homología persistente

Un ejemplo con datos: persistencia de una imagen sintética

Imagen en escala de grises de $48\times48$ píxeles (ruido correlacionado); filtración por estrella inferior sobre una malla de $2304$ vértices y $13443$ símplices. Resultado: $261$ barras de $H_0$ (una esencial) y $208$ de $H_1$.

La imagen sintética de 48 por 48 píxeles, con manchas claras y oscuras
Diagrama de persistencia de la imagen: 260 clases finitas de H0 y 208 de H1, la mayoría cerca de la diagonal
Código de barras de la imagen: 261 barras de H0, una esencial, y 208 barras de H1

03

Sección tercera

Cálculo mediante reducción de la matriz frontera

Orden compatible, matriz frontera global, reducción por columnas, lectura del código de barras y representantes, con dos ejemplos resueltos.

Cálculo por reducción

Toda la persistencia se calcula reduciendo una única matriz

En vez de reducir cada $D_p(K_i)$ por separado, ordenamos todos los símplices de $K$ de forma compatible con la filtración.

Orden compatible
A cada $\sigma$ le asociamos $f(\sigma)=\min\{a_i:\sigma\in K_i\}$; ordenamos $\sigma_1,\dots,\sigma_N$ de modo que:
  1. $f(\sigma_i)<f(\sigma_j)\ \Rightarrow\ i<j$;
  2. $\sigma_i$ cara propia de $\sigma_j\ \Rightarrow\ i<j$.

Cálculo por reducción

La matriz frontera global mezcla todas las dimensiones

\[ D\in\Z_2^{N\times N}, \qquad D_{ij}=\begin{cases} 1, & \sigma_i\text{ faceta de }\sigma_j, \\ 0, & \text{en otro caso.} \end{cases} \]
  • Cada columna solo tiene entradas en la dimensión inmediatamente inferior.
  • Toda cara precede al símplice que la contiene: las entradas no nulas cumplen $i<j$.

Cálculo por reducción

Reducción por columnas de izquierda a derecha

Con $\low(j):=\max\{i:R_{ij}=1\}$ (fila del último $1$ de la columna):

\[ \begin{aligned} &R\leftarrow D;\\ &\text{para } j=1,\dots,N:\\ &\qquad\text{mientras } \exists\, k<j \text{ con } \low(k)=\low(j):\ R_j\leftarrow R_j+R_k. \end{aligned} \]
Invariante clave
Solo se suman columnas anteriores: se preserva el orden temporal de la filtración. Al terminar, columnas no nulas distintas tienen $\low$ distinto.

Cálculo por reducción

La matriz reducida se lee directamente como código de barras

  • $R_j=0$: $\sigma_j$ es positivo, crea una clase en dimensión $\dim\sigma_j$.
  • $R_j\ne0$, $\low(j)=i$: $\sigma_j$ es negativo, mata la clase creada por $\sigma_i$. Da el intervalo $[f(\sigma_i),f(\sigma_j))$.
  • $R_i=0$ e $i$ nunca es $\low(j)$: la clase de $\sigma_i$ no muere; intervalo esencial $[f(\sigma_i),+\infty)$.
\[ \beta_p^{i,j}=\#\{[b,d)\in\Barp_p(\mathcal F):b\le a_i \text{ y } a_j<d\}. \]

Cálculo por reducción

Representantes: seguir la matriz $V$ con $R=DV$

  • $V$ empieza como la identidad; cada operación $R_j\leftarrow R_j+R_k$ se replica en $V_j\leftarrow V_j+V_k$.
  • Si $R_i=0$, la columna $V_i$ representa un ciclo que nace con $\sigma_i$.
  • Si $\low(j)=i$, $V_j$ representa la cadena que rellena, al llegar $\sigma_j$, la clase nacida en $i$.

No hace falta para calcular el diagrama o el código de barras, pero permite localizar geométricamente las características.

Cálculo por reducción

Ejemplo: matriz frontera de la filtración del triángulo

Con $\sigma_1,\dots,\sigma_7=a,b,ab,c,ac,bc,abc$ y valores $f(a)=f(b)=a_0$, $f(ab)=a_1$, $f(c)=a_2$, $f(ac)=f(bc)=a_3$, $f(abc)=a_4$:

\[ \begin{array}{c|ccccccc} & a & b & ab & c & ac & bc & abc \\ \hline a & 0 & 0 & 1 & 0 & 1 & 0 & 0 \\ b & 0 & 0 & 1 & 0 & 0 & 1 & 0 \\ ab & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ c & 0 & 0 & 0 & 0 & 1 & 1 & 0 \\ ac & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ bc & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ abc & 0 & 0 & 0 & 0 & 0 & 0 & 0 \end{array} \]

Cálculo por reducción

Reducción por columnas y lectura del resultado

La columna de $bc$ comparte pivote con la de $ac$ (fila $c$):

\[ \begin{aligned} R_{bc}&\leftarrow R_{bc}+R_{ac}=(b+c)+(a+c)=a+b,\\ R_{bc}&\leftarrow R_{bc}+R_{ab}=(a+b)+(a+b)=0. \end{aligned} \] \[ \begin{array}{c|c|c|c} \text{dim.} & \text{nacimiento} & \text{muerte} & \text{intervalo} \\ \hline 0 & b & ab & [a_0,a_1) \\ 0 & c & ac & [a_2,a_3) \\ 1 & bc & abc & [a_3,a_4) \end{array} \]

$a$ es positivo y nunca es pivote: componente esencial. Así,

\[ \Barp_0=\{[a_0,a_1),[a_2,a_3),[a_0,+\infty)\}, \qquad \Barp_1=\{[a_3,a_4)\}. \]

Cálculo por reducción · segundo ejemplo

Segundo ejemplo: tres ciclos que nacen y dos triángulos que rellenan

K0 (3, 0) K1 (1, 0) K2 (1, 0) K3 (1, 1) K4 (1, 2) K5 (1, 3) K6 (1, 2) K7 (1, 1) abcd
Las seis aristas del tetraedro $abcd$ y las caras $abc$, $acd$; $bd$ va por fuera. En coral, lo que se añade en cada valor; debajo, $(\beta_0,\beta_1)$.

Orden compatible con $N=12$ (en $a_2$, el vértice $d$ precede a la arista $cd$):

\[ \begin{array}{c|cccccccccccc} i & 1&2&3&4&5&6&7&8&9&10&11&12\\ \hline \sigma_i & a&b&c&ab&bc&d&cd&ad&ac&bd&abc&acd\\ f(\sigma_i) & a_0&a_0&a_0&a_1&a_1&a_2&a_2&a_3&a_4&a_5&a_6&a_7 \end{array} \]

Cálculo por reducción · segundo ejemplo

Segundo ejemplo: la matriz frontera tiene pivotes repetidos

\[ \begin{array}{c|cccccccccccc} & a & b & c & ab & bc & d & cd & ad & ac & bd & abc & acd \\ \hline a & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & 1 & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & 1 & 1 & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} \\ b & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#c9503f}{\mathbf 1} & 1 & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & 1 & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} \\ c & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#c9503f}{\mathbf 1} & \textcolor{#aab4b6}{0} & 1 & \textcolor{#aab4b6}{0} & \textcolor{#c9503f}{\mathbf 1} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} \\ ab & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & 1 & \textcolor{#aab4b6}{0} \\ bc & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & 1 & \textcolor{#aab4b6}{0} \\ d & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#c9503f}{\mathbf 1} & \textcolor{#c9503f}{\mathbf 1} & \textcolor{#aab4b6}{0} & \textcolor{#c9503f}{\mathbf 1} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} \\ cd & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & 1 \\ ad & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & 1 \\ ac & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#c9503f}{\mathbf 1} & \textcolor{#c9503f}{\mathbf 1} \\ bd & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} \\ abc & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} \\ acd & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} \end{array} \]

En coral, el $\low$ de cada columna. Se repiten $c$, $d$ y $ac$: hay que reducir $ad$, $ac$, $bd$ y $acd$.

Cálculo por reducción · segundo ejemplo

Segundo ejemplo: tres columnas de aristas se anulan

Las columnas de $ab$, $bc$ y $cd$ no cambian; las de $ad$, $ac$ y $bd$ se anulan con siete sumas:

\[ \begin{aligned} R_{ad}&=a+d\xrightarrow{+R_{cd}}a+c\xrightarrow{+R_{bc}}a+b\xrightarrow{+R_{ab}}0,\\ R_{ac}&=a+c\xrightarrow{+R_{bc}}a+b\xrightarrow{+R_{ab}}0,\\ R_{bd}&=b+d\xrightarrow{+R_{cd}}b+c\xrightarrow{+R_{bc}}0. \end{aligned} \]

Las mismas sumas en $V$ dan los tres ciclos que nacen en $a_3$, $a_4$ y $a_5$: $z_8=V_{ad}=ab+bc+cd+ad$, $z_9=V_{ac}=ab+bc+ac$ y $z_{10}=V_{bd}=bc+cd+bd$.

Cálculo por reducción · segundo ejemplo

Segundo ejemplo: la columna de $acd$ necesita una suma

La columna de $abc$ no cambia ($R_{ac}=0$); la de $acd$ comparte con ella $\low=ac$:

\[ \begin{aligned} R_{acd}\leftarrow R_{acd}+R_{abc}&=(cd+ad+ac)+(ab+bc+ac)\\ &=ab+bc+cd+ad. \end{aligned} \]

Ahora $\low(acd)=ad$ es nuevo y $V_{acd}=abc+acd$: hace falta todo el cuadrado relleno.

En $a_7$ muere la clase más antigua de $H_1$
Viven $[z_8]$ (nacida en $a_3$) y $[z_{10}]$ (en $a_5$). Como $\partial(acd)=z_8+\partial(abc)$, muere $[z_8]$: es la única clase que interviene.

Cálculo por reducción · segundo ejemplo

Segundo ejemplo: matriz reducida $R$

\[ \begin{array}{c|cccccccccccc} & a & b & c & ab & bc & d & cd & ad & ac & bd & abc & acd \\ \hline a & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & 1 & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} \\ b & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#c9503f}{\mathbf 1} & 1 & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} \\ c & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#c9503f}{\mathbf 1} & \textcolor{#aab4b6}{0} & 1 & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} \\ ab & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & 1 & 1 \\ bc & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & 1 & 1 \\ d & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#c9503f}{\mathbf 1} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} \\ cd & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & 1 \\ ad & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#c9503f}{\mathbf 1} \\ ac & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#c9503f}{\mathbf 1} & \textcolor{#aab4b6}{0} \\ bd & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} \\ abc & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} \\ acd & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} & \textcolor{#aab4b6}{0} \end{array} \]

Los $\low$ finales, $b,c,d,ac,ad$, son distintos. Positivos: $a,b,c,d$ y $ad,ac,bd$. Negativos: $ab,bc,cd$ y $abc,acd$.

Cálculo por reducción · segundo ejemplo

Segundo ejemplo: lectura del código de barras

\[ \begin{array}{c|c|c|c} \text{dim.} & \text{nacimiento} & \text{muerte} & \text{intervalo} \\ \hline 0 & b & ab & [a_0,a_1) \\ 0 & c & bc & [a_0,a_1) \\ 0 & d & cd & [a_2,a_2)=\varnothing \\ 1 & ac & abc & [a_4,a_6) \\ 1 & ad & acd & [a_3,a_7) \\ \hline 0 & a & - & [a_0,+\infty) \\ 1 & bd & - & [a_5,+\infty) \end{array} \] \[ \begin{gathered} \Barp_0=\{[a_0,a_1),[a_0,a_1),[a_0,+\infty)\}, \\ \Barp_1=\{[a_3,a_7),[a_4,a_6),[a_5,+\infty)\}. \end{gathered} \]

El par $(d,cd)$, de vida nula, se descarta. Comprobación: las barras vivas en $a_i$ dan $\beta_1(K_i)=1,2,3,2,1$ ($i=3,\dots,7$).

Cálculo por reducción · segundo ejemplo

Segundo ejemplo: código de barras y un número de Betti persistente

a0a1a2a3a4a5a6a7 tiempo de filtración H0 H1

$\beta_1^{4,6}=\#\{[b,d)\in\Barp_1:b\le a_4,\ a_6<d\}=1$: de $z_8$ y $z_9$ solo sobrevive $z_8$, porque $z_9=\partial(abc)$.

Los empates en $f$ dan intervalos vacíos
$d$ y $cd$ entran en $a_2$: la barra $[a_2,a_2)$ es vacía y no se dibuja. Con $cd$ delante de $d$, $D$ dejaría de ser triangular superior; por eso el orden exige que las caras vayan antes.

Síntesis

La estructura conceptual del capítulo

filtración $K_0\subseteq\cdots\subseteq K_n$
módulo de persistencia $h_p^{i,j}:H_p(K_i)\to H_p(K_j)$
nacimiento, muerte, $\mu_p^{i,j}$
diagrama $\Dgm_p$ / código de barras $\Barp_p$, vía reducción de $D$

Autoevaluación

Preguntas para comprobar la comprensión

  1. ¿Por qué toda filtración puede verse como una filtración de subnivel de alguna función monótona?
  2. ¿Por qué no basta con conocer $\beta_p(K_i)$ en cada instante para reconstruir el código de barras?
  3. ¿Qué representa geométricamente la distancia de un punto del diagrama a la diagonal?
  4. ¿Por qué la reducción por columnas solo puede sumar columnas anteriores?
  5. En el ejemplo del triángulo, ¿por qué la clase de $H_1$ nace exactamente en $K_3$?

Topología aplicada · Tema 03

Una filtración es una película, no una foto.

Cada clase de homología tiene un nacimiento y, quizás, una muerte.

El código de barras resume esa película en un objeto que se puede calcular y comparar.

© 2026 MAMB · MATHS + AI