Recomiendo el Manual de teoría de grupos computacionales especialmente el capítulo 2 (omitiendo 2.4.4 y 2.5) y los capítulos 8.1 y 8.7.
Esquema
Construir grupos de orden $n$ es inductivo: suponemos que se han construido todos los grupos cuyo orden divide adecuadamente $n$ y tenerlos bien ordenados.
Para construir el grupo $G$ probamos algunas cosas:
- Si $G$ es solucionable y $G/\Phi(G)$ ya está construido, utilice el método de extensión Frattini para construir $G$
- Si $G$ es solucionable y $\Phi(G) = 1$ , entonces Gaschütz mostró $G = M \ltimes \operatorname{Fit(G)}$ y $\operatorname{Fit}(G)$ es un (producto directo de) grupo(s) abeliano(s) elemental(es) en el que $G$ actúa de forma semi-simple, por lo que $M$ está en la lista que amablemente ha computado para nosotros M.W. Short.
Por lo tanto, si $G$ es soluble, entonces o bien utilizamos la cohomología para encontrar $G$ de $G/\Phi(G)$ o utilizamos la teoría del carácter ordinario de $M$ (ya construido) para encontrar $G$ cuando $\Phi(G)=1$ .
Si $G$ no es solucionable, entonces el documento hace más bien trampa porque las posibilidades de grupos no solucionables de este orden son bastante limitadas.
- Si $G$ no tiene solución, pero $G' < G$ entonces $G$ tiene un subgrupo normal máximo $M$ de índice a prime $p$ . Ya hemos construido $M$ por lo que utilizamos la teoría de las extensiones cíclicas (el método de la extensión ascendente) para encontrar $G$ de $M$ y $C_p$
- Si $G$ no tiene solución, y $G' = G$ entonces $G$ está en la lista de grupos perfectos que Derek Holt y Wilhelm Plesken han computado amablemente para nosotros.
Extensiones
La teoría de la extensión sólo se utiliza en el primer punto de cada caso. En el segundo punto se utiliza la búsqueda en tablas, porque alguien ya ha hecho el trabajo aquí (y ha escrito un libro sobre sus técnicas).
Los dos tipos de extensiones son completamente diferentes y es mejor aprenderlos por separado.
El primer tipo es la extensión (no dividida) por un subgrupo abeliano normal mínimo. Dado que el grupo cociente es policíclico (de hecho, solucionable de forma finita), utilizamos las técnicas de 8.7.2 (colas) para convertir esto en un cálculo del espacio nulo de álgebra lineal. Si se entiende la colección y/o las secuencias generadoras policíclicas, este asunto es bastante claro. Se reduce a "la multiplicación es asociativa, así que cuando defino a qué equivale g*h, tengo que asegurarme de que sigue siendo asociativa". Lo maravilloso es que en este caso las reglas de asociatividad son lineales. En particular, no es necesario saber lo que "es" la segunda cohomología si se entiende la colección y las colas.
El segundo tipo es la extensión cíclica (hacia arriba). Esto es en principio fácil, pero es un poco complicado ya que requiere cálculos bastante detallados en grupos de automorfismo.
Dificultades
Hay dos momentos principales en los que uno tiene dificultades: la construcción y el rechazo del isomorfismo.
El tiempo de cálculo durante la construcción no suele ser un problema, pero las cosas se ponen feas cuando $H^2(G/M,M)$ es grande ya que necesitamos encontrar órbitas en un espacio vectorial grande. Por ejemplo, si $G/M$ es casi (o es) un $p$ -grupo, entonces la cohomología se descontrola rápidamente. Por esta razón, $p$ -Los grupos se manejan con el método de O'Brien $p$ -algoritmo de generación de grupos, y $p^nq$ Los grupos se manejan con el método de "extensión dividida".
El rechazo del isomorfismo es muy difícil si el mismo grupo se construye muchas, muchas veces. Durante la construcción, los grupos con la misma receta que son isomorfos se rechazan automáticamente. Sin embargo, diferentes recetas pueden dar el mismo grupo. Es importante minimizar esto, pero en el rango en el que Besche-Eick estaba trabajando, el subgrupo Frattini era suficiente: todas las recetas tenían que especificar $G/\Phi(G)$ , pero se podría especificar $\Phi(G)$ de muchas (muchas) maneras diferentes. Dado que los ingredientes para $\Phi(G)$ son razonablemente raros para los permitidos $G/\Phi(G)$ Esto ha funcionado. Para $G/\Phi(G)$ a $p$ -grupo, las cosas van muy mal, por eso había que utilizar los otros algoritmos.