3 votos

P: cómo describir estos resultados mediante un árbol de descendientes en gap

Escribí un implemento para encontrar los "fullyInvariantGroups" en GAP y los resultados aparecieron como abajo:

FullyInvariantGroups := function( p, r, l )  
    local G, grps, i, j, P, M, N, A, B, C, D, c, b, m, n, aa, bb, a, w, v;

    # set up
    G := ElementaryAbelianGroup(p^r);
    grps := [[[false, G]]];

    # loop
    for i in [1..l-1] do
        Print("starting level ",i," with ", Length(grps[i])," groups \n");
        grps[i+1] := [];
        for j in [1..Length(grps[i])] do
            G := grps[i][j][2];
            P := PCoverPGroup(G);
            M := P!.mult; m := Length(Pcgs(M));
            N := P!.nucl; n := Length(Pcgs(N));
            if n > 0 then 
                Print(" Level ",i," group ",j,"\n");
                A := GetAutAction(P);
                B := GModuleByMats( A, GF(p));
                w := SMTX.CollectedFactors(B);
                v := List(w, x -> x[2]);
                if ForAny(v, x -> x <> 1) then Error("hier"); fi;
                w := List(w, x -> x[1].dimension);
                C := SMTX.BasesSubmodules(B);
                D := Filtered(C, x -> IsAllowable(M,N,x));
                for c in D do
                    if i < l-1 then 
                        b := SubgroupByBasis(M, c);
                        Add(grps[i+1], [j, P/b]); 
                    else
                        Add(grps[i+1], [j, 1]);
                    fi;
                od;
            fi;
            grps[i][j][2] := 1;
        od;
    od;
    return grps;
    return TwigCanoForm(grps);
end;

gap> FullyInvariantGroups(7,2,5);
inicio del nivel 1 con 1 grupos
Nivel 1 grupo 1
empezando el nivel 2 con 3 grupos
Nivel 2 grupo 1
Nivel 2 grupo 2
Nivel 2 grupo 3
empezando el nivel 3 con 9 grupos
Nivel 3 grupo 1
Nivel 3 grupo 2
Nivel 3 grupo 3
Nivel 3 grupo 4
Nivel 3 grupo 5
Nivel 3 grupo 6
Nivel 3 grupo 8
Nivel 3 grupo 9
empezando el nivel 4 con 28 grupos
Nivel 4 grupo 1
Nivel 4 grupo 2
Nivel 4 grupo 3
Nivel 4 grupo 4
Nivel 4 grupo 5
Nivel 4 grupo 6 Nivel 4 grupo 7
Nivel 4 grupo 8
Nivel 4 grupo 9
Nivel 4 grupo 10
Nivel 4 grupo 11
Nivel 4 grupo 12
Nivel 4 grupo 13
Nivel 4 grupo 16
Nivel 4 grupo 17
Nivel 4 grupo 18
Nivel 4 grupo 19
Nivel 4 grupo 20
Nivel 4 grupo 22
Nivel 4 grupo 23
Nivel 4 grupo 25
Nivel 4 grupo 26
Nivel 4 grupo 27
Nivel 4 grupo 28
[ [ falso, 1 ] ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ] ], [ [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 2, 1 ], [ 3, 1 ] ], [ [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 2, 1 ], [ 2, 1 ], [ 2, 1 ], [ 3, 1 ], [ 3, 1 ], [ 3, 1 ], [ 4, 1 ], [ 4, 1 ], [ 4, 1 ], [ 5, 1 ], [ 6, 1 ], [ 8, 1 ], [ 9, 1 ] ], [ [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 1, 1 ], [ 2, 1 ], [ 2, 1 ], [ 2, 1 ], [ 2, 1 ], [ 2, 1 ], [ 2, 1 ], [ 2, 1 ], [ 2, 1 ], [ 2, 1 ], [ 2, 1 ], [ 2, 1 ], [ 2, 1 ], [ 2, 1 ], [ 2, 1 ], [ 2, 1 ], [ 3, 1 ], [ 3, 1 ], [ 3, 1 ], [ 3, 1 ], [ 3, 1 ], [ 3, 1 ], [ 3, 1 ], [ 3, 1 ], [ 3, 1 ], [ 3, 1 ], [ 3, 1 ], [ 3, 1 ], [ 3, 1 ], [ 3, 1 ], [ 3, 1 ], [ 4, 1 ], [ 4, 1 ], [ 4, 1 ], [ 4, 1 ], [ 4, 1 ], [ 4, 1 ], [ 4, 1 ], [ 4, 1 ], [ 4, 1 ], [ 4, 1 ], [ 4, 1 ], [ 4, 1 ], [ 4, 1 ], [ 4, 1 ], [ 4, 1 ], [ 5, 1 ], [ 5, 1 ], [ 5, 1 ], [ 5, 1 ], [ 5, 1 ], [ 5, 1 ], [ 5, 1 ], [ 6, 1 ], [ 6, 1 ], [ 6, 1 ], [ 6, 1 ], [ 6, 1 ], [ 6, 1 ], [ 6, 1 ], [ 7, 1 ], [ 7, 1 ], [ 7, 1 ], [ 7, 1 ], [ 7, 1 ], [ 7, 1 ], [ 7, 1 ], [ 8, 1 ], [ 9, 1 ], [ 9, 1 ], [ 9, 1 ], [ 10, 1 ], [ 10, 1 ], [ 10, 1 ], [ 11, 1 ], [ 12, 1 ], [ 12, 1 ], [ 12, 1 ], [ 13, 1 ], [ 16, 1 ], [ 16, 1 ], [ 16, 1 ], [ 16, 1 ], [ 16, 1 ], [ 16, 1 ], [ 16, 1 ], [ 17, 1 ], [ 17, 1 ], [ 17, 1 ], [ 18, 1 ], [ 19, 1 ], [ 19, 1 ], [ 19, 1 ], [ 19, 1 ], [ 19, 1 ], [ 19, 1 ], [ 19, 1 ], [ 20, 1 ], [ 20, 1 ], [ 20, 1 ], [ 22, 1 ], [ 22, 1 ], [ 22, 1 ], [ 23, 1 ], [ 25, 1 ], [ 25, 1 ], [ 25, 1 ], [ 26, 1 ], [ 27, 1 ], [ 28, 1 ], [ 28, 1 ], [ 28, 1 ] ] ]

¿Hay alguna manera en GAP para hacer un árbol de este resultado para ser fácil de leer y analizar? Lo siento, pero soy un novato en GAP.

2voto

Puede utilizar el lenguaje de puntos para crear un árbol, y luego graphviz para producir una imagen (o cualquier biblioteca de JavaScript que lea el lenguaje de puntos, como d3js, viz.js ...). Usted puede encontrar algunos ejemplos en el capítulo de puntos de numericalsgps . También puedes crear una relación binaria (padre,hijo) y luego usar DotBinaryRelation en ese paquete.

1voto

Russ Woodroofe Puntos 198

Si utiliza GAP en un Mac, no sería tan difícil escribir código para mostrar un árbol en una ventana gráfica con Gap.app . (O puedes usar xgap en Linux, pero la interfaz es lo suficientemente tosca como para distraer). El código de ejemplo que muestra el entramado de particiones está en mi sitio web y podría darte un comienzo razonable. De hecho, con un poco más de trabajo se podría configurar para que se pueda hacer clic con el botón derecho en un nodo para obtener una descripción más detallada.

ACTUALIZACIÓN: Para mí también sería útil ver fácilmente los árboles, así que me adelanté y escribí una rutina que mostrará un árbol rooteado. Está publicada en mi página web como "rooted-tree.g".

ACTUALIZACIÓN2: se ha añadido una captura de pantalla Screenshot

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X