6. Operaciones sobre Ribbon Graphs

Contracción, dualidad, reducción y homología en Sage

En los capítulos anteriores aprendimos a construir ribbon graphs y calcular invariantes topológicos. Este capítulo se enfoca en las operaciones principales sobre ribbon graphs que podemos verificar en Sage: contracción, dualidad y cálculo de base de homología.


Contracción de Aristas

La contracción de una arista fusiona sus dos extremos en un único vértice, preservando el orden cíclico de los darts restantes.

NotaDefinición: Contracción

Dado un ribbon graph \(G = (\sigma, \rho)\) y una arista no-loop \(e = \{d, \rho(d)\}\) cuyos extremos son los vértices \(u\) y \(v\) (ciclos de \(\sigma\)), la contracción \(G/e\) tiene:

  • Darts: todos excepto \(d\) y \(\rho(d)\)
  • Nueva \(\sigma\): los ciclos de \(u\) y de \(v\) se fusionan, intercalando el orden cíclico de \(v\) donde estaba \(\rho(d)\) dentro del ciclo de \(u\), y eliminando \(d\) y \(\rho(d)\)
  • Nueva \(\rho\): igual a \(\rho\) restringida a los darts restantes

Efecto topológico: Contraer una arista no-loop preserva el número de caras y la característica de Euler: \[V(G/e) = V-1, \quad E(G/e) = E-1, \quad F(G/e) = F, \quad \chi(G/e) = \chi(G)\]

En particular, la contracción de una arista no-loop preserva el género.

Ejemplo: Tomamos el grafo theta en el toro y contraemos la arista \(\{1,2\}\):

Grafo theta en el toro

Tras contraer la arista {1,2}

El resultado es un ribbon graph con un solo vértice y dos loops que todavía representa un toro (género 1). La contracción no cambia la superficie subyacente cuando la arista no es un loop.


Dualidad

La dual de un ribbon graph intercambia los roles de los vértices y las caras, preservando las aristas.

NotaConstrucción de la Dual

Dado \(G = (\sigma, \rho)\) con permutación de caras \(\varphi = \rho\sigma\), la dual es: \[G^* = (\varphi,\; \rho)\]

Los vértices de \(G^*\) son las caras de \(G\), las aristas son las mismas, y las caras de \(G^*\) son los vértices de \(G\). En fórmulas: \[V^* = F, \quad E^* = E, \quad F^* = V, \quad g^* = g\]

Ejemplo: Consideramos el grafo theta en el toro (\(\sigma=(1,3,5)(2,4,6)\), \(\rho=(1,2)(3,4)(5,6)\)). Este grafo tiene \(V=2\) vértices, \(E=3\) aristas y \(F=1\) cara.

¿Por qué el dual tiene 3 lazos? Al aplicar la dualidad (\(V^*=F, E^*=E\)), obtenemos un grafo \(G^*\) con 1 vértice (porque \(F=1\)) y 3 aristas (porque \(E=3\)). La única forma de disponer 3 aristas en un grafo con un solo vértice es que todas ellas sean lazos (bucles) que empiezan y terminan en ese mismo vértice.

Grafo theta en el toro

Grafo dual

El toro del ejemplo tiene \(V=2\), \(E=3\), \(F=1\); su dual tiene \(V^*=1\), \(E^*=3\), \(F^*=2\) y el mismo género 1.


Base de Homología

La base de homología de la superficie subyacente a un ribbon graph se puede calcular directamente con Sage. Para una superficie orientable de género \(g\) con \(b\) componentes de frontera, el rango del primer grupo de homología es: \[\mathrm{rank}(H_1(S,\mathbb{Z})) = 2g + b - 1\]

El toro del ejemplo tiene género 1 y \(b=1\) componente de frontera (superficie cerrada), por lo que el rango esperado es \(2(1) + 1 - 1 = 2\):

Los dos ciclos de la base corresponden a los dos “agujeros” fundamentales del toro: el camino a lo largo del tubo y el camino alrededor del tubo.


Reducción (núcleo de Betti)

El método reduced() contrae aristas de un árbol generador y devuelve un ribbon graph topológicamente equivalente en el siguiente sentido preciso (documentación de Sage):

  • La permutación \(\sigma\) del resultado tiene exactamente un ciclo no-singleton (un único vértice no aislado).
  • La permutación \(\rho\) es producto de \(\beta_1\) transposiciones disjuntas, donde \(\beta_1\) es el primer número de Betti del grafo subyacente.

Para un grafo conexo, \(\beta_1 = E - V + 1\). Por tanto, tras reduced() no se conserva el número original de aristas: se conserva la información topológica esencial (género y fronteras), y las aristas pasan a ser las del bouquet mínimo.

NotaImportante sobre conteos en Sage

Si usas cycle_tuples(singletons=True) sobre G_red.sigma() o G_red.rho(), Sage incluye ciclos fijos (1-ciclos) en el dominio de la permutación. Eso puede dar valores como V=3, E=4 aunque el grafo reducido real tenga V=1, E=2.

Para contar vértices/aristas del ribbon graph reducido, en este contexto usa cycle_tuples() sin singletons=True.

En este ejemplo, G_red.sigma() = (3,5,4,6) y G_red.rho() = (3,4)(5,6): hay 1 ciclo no-singleton en \(\sigma\) y 2 transposiciones en \(\rho\), es decir, un bouquet con 1 vértice y 2 lazos. El género y el número de fronteras se preservan.

Grafo despues de la reducción


Estas operaciones —contracción, dualidad, reducción y cálculo de homología— son propiedades útiles documentadas en el manual de Sage para la clase RibbonGraph. En la siguiente sección estudiaremos el polinomio de Bollobás-Riordan como un invariante topológico-combinatorio implementable en SageMath.

Volver arriba

Reutilización