3. Invariantes Topológicos
Cálculo computacional con SageMath
Esta sección es práctica: aprenderemos a usar SageMath para calcular los invariantes topológicos que clasifican la superficie cerrada donde se aloja el grafo:
- Característica de Euler: \(\chi\)
- Género: \(g\) (número de agujeros/asas)
1. Conteo de Elementos (\(V, E, F\))
Recordemos que en un mapa combinatorio:
- \(V\): Ciclos de \(\sigma\)
- \(E\): Ciclos de \(\rho\) (o \(|D|/2\))
- \(F\): Ciclos de \(\varphi = \rho \sigma\)
En un ribbon graph, los ciclos de la permutación \(\varphi\) describen las componentes de frontera de la superficie con borde obtenida al engrosar el grafo. Si se tapan esas fronteras con discos, esas mismas componentes pasan a ser las caras del encaje en la superficie cerrada.
Por ello, SageMath cuenta estos ciclos con number_boundaries(). En este curso, \(b\) denota el número de componentes de frontera y coincide con \(F\) cuando interpretamos el mapa sobre la superficie cerrada (\(F=b\)).
SageMath nos permite extraer estos valores directamente del objeto RibbonGraph.
Prueba el código directamente aquí (haz clic en “Ejecutar”):
2. La Característica de Euler (\(\chi\))
La característica de Euler es el invariante más fundamental. Se define combinatoriamente como:
\[ \chi = V - E + F \]
Esta es la característica de Euler de la superficie cerrada obtenida al pegar discos en todas las fronteras del grafo.
Prueba el código directamente aquí (haz clic en “Ejecutar”):
3. El Género (\(g\)) y la Frontera (\(b\))
El género \(g\) se calcula siempre a partir de la superficie cerrada asociada. La cuenta es la misma, solo cambia la interpretación de \(F\) y \(b\):
- En el ribbon graph, los ciclos de \(\varphi\) son fronteras, de modo que \(b\) es el número de componentes de frontera.
- Al tapar cada frontera con un disco, esas mismas componentes pasan a ser las caras \(F\) de la superficie cerrada.
Por lo tanto, en la superficie cerrada se cumple:
\[ \chi = V - E + F = V - E + b \quad \Rightarrow \quad g = \frac{2 - (V - E + b)}{2} \]
SageMath detecta automáticamente el número de componentes de frontera (\(b\)), y ese mismo valor coincide con \(F\) cuando se interpreta el mapa en la superficie cerrada.
Prueba el código directamente aquí (haz clic en “Ejecutar”):
number_boundaries()
En la implementación de RibbonGraph de SageMath, el método number_boundaries() devuelve el número de caras del mapa. Si interpretamos el mapa como una superficie con borde (antes de pegar los discos de las caras), estas caras son precisamente los bordes. Si lo interpretamos como superficie cerrada (después de pegar), son las caras \(F\). La fórmula funciona consistentemente.
4. Automatización: Una función de análisis
Como ejercicio de programación en SageMath, vamos a encapsular todo esto en una función reutilizable que nos dé un “reporte topológico” de cualquier sistema de rotación.
Prueba el código directamente aquí (haz clic en “Ejecutar”):
5. Galería de Ejemplos
Veamos cómo se comportan los invariantes en distintos casos.
| \(\sigma\) | \(\rho\) | \(V\) | \(E\) | \(F\) | \(\chi\) | \(g\) | Superficie |
|---|---|---|---|---|---|---|---|
| \((1,6)(2,3)(4,5)\) | \((1,2)(3,4)(5,6)\) | \(3\) | \(3\) | \(2\) | \(2\) | \(0\) | Esfera |
| \((1,3,2,4)\) | \((1,2)(3,4)\) | \(1\) | \(2\) | \(1\) | \(0\) | \(1\) | Toro |
| \((1,2)\) | \((1,2)\) | \(1\) | \(1\) | \(2\) | \(2\) | \(0\) | Esfera |
Ejercicios
Usa la función analizar_topologia para encontrar un sistema de rotación que genere una superficie de género 2 (Bitoro).
Pista: Necesitarás al menos 4 aristas (8 semiaristas) para tener suficiente “material” topológico. Intenta modificar \(\sigma\) en un bouquet de 4 lazos.
Investiga el género de los grafos completos \(K_n\).
- Verifica que \(K_3\) tiene género 0.
- Construye un sistema de rotación para \(K_4\) y determina el género de la superficie resultante. ¿Es posible obtener un encaje en la esfera (\(g=0\))?
- ¿Cuál es el género mínimo para \(K_5\)?
Publicado el 09 de febrero de 2026