Saltar a contenido principal

Sección 5.4 Sage

Una buena parte de de la implementación de teoría de grupos en Sage está basada en rutinas de GAP (Groups, Algorithms, and Programming) en www.gap-system.org, que está incluido en cada copia de Sage. Este es un paquete de código abierto maduro, que existe desde 1986.

Como hemos visto, los grupos pueden ser descritos de muchas maneras diferentes, tales como conjuntos de matrices, conjuntos de números complejos, o conjuntos de símbolos sujetos a ciertas relaciones. Una manera muy concreta de repersentar grupos es vía permutaciones (funciones biyectivas de los enteros del \(1\) al \(n\)), usando la composición de funciones como la operación en el grupo. Sage tiene muchas rutinas diseñadas para trabajar con grupos de este tipo y son también una buena forma para que las personas que quieran aprender teoría de grupos ganen experiencia con las ideas básicas de la teoría de grupos. Por estas dos razones, nos concentraremos en este tipo de grupos.

Subsección 5.4.1 Grupos de Permutaciones y sus Elementos

La forma más fácil de trabajar con elementos de grupos de permutación en Sage es escribirlos con notación cíclica. Como estos son productos de ciclos disjuntos (que conmutan), no necesitamos preocuparnos por el orden en que aparecen los ciclos. Si escribimos (1,3)(2,4) probablemente entenderemos que se trata de una permutación (el contenido de este capítulo!) y sabemos que podría ser un elemento de \(S_4\text{,}\) o quizás de un grupo simétrico en más de 4 símbolos. Sage no puede comenzar tan fácilmente y necesita un poco de contexto, así es que coercionamos una cadena de caracteres escritos con notación de ciclos a pertenecer a un grupo simétrico para producir elementos del grupo. A continuación algunos ejemplos y cálculos de muestra. Recuerde que Sage y el texto difieren en el orden usado para componer dos permutaciones en un producto.

Si los próximos tres ejemplos parecen confusos, o “al revés”, entonces sería un buen momento para revisar la discusión respecto al orden de la composición de permutaciones en Sage hecha en la subsección Grupos de simetrías.

Hay formas alternativas de crear elementos de un grupo de permutaciones, que pueden ser útiles en alguna situación particular, pero que no son de uso muy frecuente.

La segunda versión de \(\sigma\) es una lista de “tuplas”, que requiere muchas comas y estas deben ser incluidas a su vez en una lista. (Una tupla de largo uno debe ser escrita como (4,) para distinguirla del uso de paréntesis para agrupar, como en 5*(4).) La tercera versión usa la “fila inferior” de la notación más engorrosa de dos filas introducida al comienzo del capítulo — es una lista ordenada de las imágenes de la permutación cuando es considerada como una función.

Vemos que sin importar las tres formas diferentes de ingreso, todas las versiones de \(\sigma\) se muestran de la misma manera, y más aún son iguales entre sí. (Esta es una sutil diferencia entre — lo que un objeto es en Sage versus como un objeto se muestra.)

Podemos ser aún más cuidadosos sobre la naturaleza de nuestros elementos. Note que una vez que Sage comienza, puede promover el producto \(\tau\sigma\) al grupo mayor de permutaciones. Podemos “promover” elementos a grupos mayores de permutaciones, pero sería un error tratar de forzar un elemento en un grupo simétrico demasiado pequeño.

Es un error intentar coercionar una permutación con demasiados símbolos a un grupo de permutaciones que use menos símbolos.

Mejor que trabajar simplemente con elementos del grupo simétrico, podemos crear diversos grupos de permutaciones en Sage. A continuación una muestra para comenzar:

Comando Sage Descripción
SymmetricGroup(n) Grupo simétrico en \(n\) símbolos, \(n!\) elementos
DihedralGroup(n) Simetrías de un \(n\)-ágono, \(2n\) elementos.
CyclicPermutationGroup(n) Rotaciones de un \(n\)-ágono, \(n\) elementos
AlternatingGroup(n) Grupo alternante en \(n\) símbolos, \(n!/2\) elementos
KleinFourGroup() Un grupo no cíclico de orden 4
Cuadro 5.4.1. Algunos grupos de permutaciones en Sage

Usted también puede localizar grupos de permutaciones en Sage usando el catálogo de grupos. En la próxima celda ponga el cursor después del punto final y presione la tecla de tabular (TAB). Obtendrá una lista de métodos que puede usar para crear grupos de permutaciones. Como siempre, ponga un signo de interrogación después de un método y presione la tecla de tabular para obtener documentación en línea del método. (esto funciona en una celda de Sage normal pero no parece funcionar en el "libro")

Subsección 5.4.2 Propiedades de Permutaciones (Elementos)

A veces es más fácil tomar un elemento de una lista de elementos en un grupo de permutaciones, así ya está asociado a un "parent" y no hay necesidad de hacer ninguna coerción. En lo que sigue, rotate y flip son automáticamente elementos de G por la forma en que fueron obtenidos.

Vemos con esta última prueba que el grupo de simetrías de un pentágono es no abeliano. Pero hay una manera más fácil.

Existen muchos métodos, tanto para los grupos de permutaciones como para sus elementos. Use la celda vacía de más abajo para crear un grupo de permutaciones (el que quiera) y un elemento de un grupo de permutaciones (cualquiera). A continuación usa la tab-completion para ver todos los métodos disponibles para un elemento, o para un grupo (nombre, punto, tecla-tab). Algunos nombres los puede reconocer, otros los aprenderemos en los capítulos siguientes, algunos son herramientas muy especializadas de investigación que podría usar para desarrollar su tesis de doctorado en teoría de grupos. Para cualquiera de estos métodos, recuerde que puede escribir el nombre, seguido de un signo de interrogación, para ver la documentación y ejemplos. Experimente y explore — es realmente difícil hechar a perder algo.

Acá hay algunos ejemplos de varios métodos disponibles.

Un método útil al estudiar el grupo alternante es el .sign() implementado para elementos de un grupo de permutaciones. Retorna 1 si la permutación es par y -1 si es impar.

Podemos crear subgrupos entregándole al grupo una lista de “generadores.” Estos elementos se usan para “generar” un subgrupo — imagine multiplicar estos elementos (y sus inversos) una y otra vez, creando nuevos elementos que también deben estar en el subgrupo y que también participan de nuevos productos, hasta que no aparezcan nuevos elementos. Esta definición termina con un enunciado terriblemente impreciso, pero debiera se suficiente por ahora. Una mejor definición es que el subgrupo generado por los elementos es el menor subgrupo que contiene todos los generadores — lo que está bien si conocemos todos los subgrupos de antemano.

Con un único generador, los productos repetidos son simplemente las potencias del generador. El grupo generado en este caso es cíclico. Con dos (o más) generadores, especialmente en un grupo no abeliano, la situación puede ser mucho, mucho más complicada. Empecemos con un generador. Pero no olvide ponerlo en una lista de todas formas.

Podemos ahora rehacer el ejemplo del principio del capítulo. Traducimos los elementos a notación cíclica, construimos el subgrupo formado a partir de dos generadores (el subgrupo no es cíclico), y como el subgrupo es abeliano, no es necesario que veamos la tabla de Cayley de Sage como una reflexión diagonal de la tabla obtenida en el ejemplo 5.1.2.

Subsección 5.4.3 Grupo de Movimientos de un Cubo

Podríamos imitar el ejemplo en el texto y crear elementos de \(S_4\) como permutaciones de las diagonales. Una construcción más obvia, pero menos esclarecedora, es considerar las 8 esquinas del cubo como los elementos a permutar. Entonces algunas simetrías obvias del cubo provienen de pasar un eje por los centros de dos caras opuestas, con cuartos de vueltas y medias vueltas en torno a estos ejes. Con tres ejes y cuatro rotaciones por eje, obtenemos 12 simetrías, excepto que hemos contado la identidad tres veces.

Etiquete las cuatro esquinas superiores del \(1\) al \(4\text{,}\) poniendo el \(1\) en la esquina delantera-izquierda, y continuando en sentido horario visto desde arriba. Use del \(5\) al \(8\) para las esquinas inferiores, de manera que \(5\) quede directamente bajo el \(1\text{,}\) \(6\) bajo \(2\text{,}\) etc. Usaremos cuartos de vuelta, en sentido horario, en torno a cada eje, mirando desde arriba, el frente y el lado derecho respectivamente.

Como sabemos por la discusión en el texto que el grupo de simetrías tiene \(24\) elementos, vemos que estos tres generadores son suficientes para crear todas las simetrías. Esto sugiere varias preguntas que se pueden encontrar en el Ejercicio 5.5.4.