Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/sotgrps/gap/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 29.7.2024 mit Größe 17 kB image not shown  

Quelle  SOTinfo.gi   Sprache: unbekannt

 
############################################################################
## For the SOTGroupsInformation function, we use the following to distinguish SOT Ids and the SmallGroups Ids
############################################################################
SOTRec.sot := function(n)
 local i, sglav;
  i := 0;
  repeat
    i := i + 1;
    sglav := SMALL_AVAILABLE_FUNCS[i](n);
  until sglav <> fail or i = 11;
  return sglav <> fail;
 end;

SOTRec.Print := function(sot, args...)
    local stop, x;
    if sot then
        Print("\n\>\>\>\>\>\>\>SOT ");
        stop := "\<\<\<\<\<\<\<";
    else
        Print("\n\>\>\>");
        stop := "\<\<\<";
    fi;
    for x in args do
        #Print("\>\<", x);
        if IsString(x) then
            x := ReplacedString(x, " ", "\>\< ");
        fi;
        Print(x);
    od;
    Print(stop);
end;

##############################################################################
SOTRec.infoP2Q2 := function(n, fac)
  local sot, p, q, c, m, prop, i;
    sot := SOTRec.sot(n);
    p := fac[2][1];
    q := fac[1][1];
    ####
    Assert(1, p > q);
    Assert(1, IsPrimeInt(p));
    Assert(1, IsPrimeInt(q));
    ####
    prop := [ [[q^2, 1], [p^2, 1]], [[q^2, 2], [p^2, 1]],
      [[q^2, 1], [p^2, 2]], [[q^2, 2], [p^2, 2]] ];

    #### Enumeration
    c := [];
    c[1] := SOTRec.w((p - 1), q) + SOTRec.w((p - 1), q^2);
    c[2] := SOTRec.w((p - 1), q);
    c[3] := 1/2*(q + 3 - SOTRec.w(2, q))*SOTRec.w((p - 1), q) + 1/2*(q^2 + q + 2)*SOTRec.w((p - 1), q^2) + (1 - SOTRec.w(2, q))*SOTRec.w((p + 1), q) + SOTRec.w((p + 1), q^2) + SOTRec.delta(n, 36);
    c[4] := 1/2*(q + 5 - SOTRec.w(2, q))*SOTRec.w((p - 1), q) + (1 - SOTRec.w(2, q))*SOTRec.w((p + 1), q) + SOTRec.delta(n, 36);
    m := Sum(c);

    ### Info
    Print("The groups of order p^2q^2 are solvable by Burnside's pq-Theorem.\n");
    Print("These groups are sorted by their Sylow subgroups.");
    Print("\>\>");
    SOTRec.Print(sot, "1 - 4 are abelian and all Sylow subgroups are normal.");
    if n = 36 then
      SOTRec.Print(sot, "5 is non-abelian, non-nilpotent and has a normal Sylow ", p, "-subgroup ", prop[1][2], " with Sylow ", q, "-subgroup ", prop[1][1], ".");
      SOTRec.Print(sot, "6 is non-abelian, non-nilpotent and has a normal Sylow ", p, "-subgroup ", prop[2][2], " with Sylow ", q, "-subgroup ", prop[2][1], ".");
      SOTRec.Print(sot, "7 is non-abelian, non-nilpotent and has a normal Sylow 2-subgroup [4, 2] with Sylow 3-subgroup [9, 1].");
      SOTRec.Print(sot, "8 - 10 are non-abelian, non-nilpotent and have a normal Sylow ", p, "-subgroup ", prop[3][2], " with Sylow ", q, "-subgroup ", prop[3][1], ".");
      SOTRec.Print(sot, "11 - 14 are non-abelian, non-nilpotent and have a normal Sylow ", p, "-subgroup ", prop[3][2], " with Sylow ", q, "-subgroup ", prop[3][1], ".");
    else
      for i in [1..4] do
        if c[i] = 1 then
          SOTRec.Print(sot, 4+Sum([1..i],x->c[x]), " is non-abelian, non-nilpotent and has a normal Sylow ", p, "-subgroup ", prop[i][2], " with Sylow ", q, "-subgroup ", prop[i][1], ".");
        elif c[i] > 1 then
          SOTRec.Print(sot, 5+Sum([1..i-1],x->c[x])," - ", 4+Sum([1..i],x->c[x]),
          " are non-abelian, non-nilpotent and have a normal Sylow ", p, "-subgroup ", prop[i][2], " with Sylow ", q, "-subgroup ", prop[i][1], ".");
        fi;
      od;
    fi;
    Print("\<\<");
  end;
##############################################################################
SOTRec.infoP3Q := function(n, fac)
  local sot, p, q, c, m, syl, i;
    sot := SOTRec.sot(n);
    p := fac[2][1];
    q := fac[1][1];
    ####
    Assert(1, IsPrimeInt(p));
    Assert(1, IsPrimeInt(q));
    ####
    syl := [[p^3, 1], [p^3, 2], [p^3, 5], [p^3, 3], [p^3, 4],
            [p^3, 1], [p^3, 2], [p^3, 5], [p^3, 3], [p^3, 4]];
    ######## enumeration
    c := [];
    c[1] := SOTRec.w((q - 1), p) + SOTRec.w((q - 1), p^2) + SOTRec.w((q - 1), p^3);
    c[2] := 2*SOTRec.w((q - 1), p) + SOTRec.w((q - 1), p^2);
    c[3] := SOTRec.w((q - 1), p);
    c[4] := SOTRec.w((q - 1), p) + SOTRec.delta(p, 2);
    c[5] := p*SOTRec.w((q - 1), p)*(1 - SOTRec.delta(p, 2)) + SOTRec.delta(p, 2);
    c[6] := SOTRec.w((p - 1), q);
    c[7] := (q + 1)*SOTRec.w((p - 1), q);
    c[8] := (1 - SOTRec.delta(q, 2))*(
      1/6*(q^2 + 4*q + 9 + 4*SOTRec.w((q - 1), 3))*SOTRec.w((p - 1), q)
      + SOTRec.w((p^2 + p + 1), q)*(1 - SOTRec.delta(q, 3))
      + SOTRec.w((p + 1), q)*(1 - SOTRec.delta(q, 2)))
      + 3*SOTRec.delta(q, 2);
    c[9] := (1/2*(q + 3)*SOTRec.w((p - 1), q) + SOTRec.w((p + 1), q))*(1 - SOTRec.delta(q, 2))*(1 - SOTRec.delta(p, 2))
    + 2*SOTRec.delta(q, 2);
    c[10] := SOTRec.w((p - 1), q);
    c[11] := SOTRec.delta(n, 24);
    m := Sum(c);

    Print("The groups of order p^3q are solvable by Burnside's pq-Theorem.\n");
    Print("These groups are sorted by their Sylow subgroups.");
    Print("\>\>");
    SOTRec.Print(sot, "1 - 3 are abelian.");
    SOTRec.Print(sot, "4 - 5 are nonabelian nilpotent and have a normal Sylow ", p,"-subgroup and a normal Sylow ", q, "-subgroup.");
    for i in [1..5] do
      if c[i] = 1 then
        SOTRec.Print(sot, 5+Sum([1..i],x->c[x])," is non-nilpotent and has a normal Sylow ", p, "-subgroup ", syl[i], ".");
      elif c[i] > 1 then
        SOTRec.Print(sot, 6+Sum([1..i-1],x->c[x])," - ", 5+Sum([1..i],x->c[x]),
        " are non-nilpotent and have a normal Sylow ", p, "-subgroup ", syl[i], ".");
      fi;
    od;
    for i in [6..10] do
      if c[i] = 1 then
        SOTRec.Print(sot, 5+Sum([1..i],x->c[x])," is non-nilpotent and has a normal Sylow ", q, "-subgroup with Sylow ", p, "-subgroup ", syl[i], ".");
      elif c[i] > 1 then
        SOTRec.Print(sot, 6+Sum([1..i-1],x->c[x])," - ", 5+Sum([1..i],x->c[x])," are non-nilpotent and have a normal Sylow ", q, "-subgroup with Sylow ", p, "-subgroup ", syl[i], ".");
      fi;
    od;
    if c[11] = 1 then
      SOTRec.Print(sot, "15 is non-nilpotent, isomorphic to Sym(4), and has no normal Sylow subgroups.");
    fi;
    Print("\<\<");
  end;
##############################################################################
SOTRec.infoP2QR := function(n, fac)
  local sot, p, q, r, m, c, fit, i;
    sot := SOTRec.sot(n);
    c := [];
    p := fac[3][1];
    q := fac[1][1];
    r := fac[2][1];
    ####
    Assert(1, r > q);
    Assert(1, IsPrimeInt(p));
    Assert(1, IsPrimeInt(q));
    Assert(1, IsPrimeInt(r));
    fit := [r, q*r, p^2, p^2*q, p^2*r, p*r, p*q*r];
    ############ enumeration of distinct cases
    c[1] := SOTRec.w((r - 1), p^2*q);;
    c[2] := SOTRec.w((q - 1), p^2) + (p - 1)*SOTRec.w((q - 1), p^2)*SOTRec.w((r - 1), p)
      + (p^2 - p)*SOTRec.w((r - 1), p^2)*SOTRec.w((q - 1), p^2)
      + SOTRec.w((r - 1), p^2) + (p - 1)*SOTRec.w((q - 1), p)*SOTRec.w((r - 1), p^2)
      + SOTRec.w((r - 1), p)*SOTRec.w((q - 1), p);;
    c[3] := 1/2*(q*r+q+r+7)*SOTRec.w((p - 1), q*r)
      + SOTRec.w((p^2 - 1), q*r)*(1 - SOTRec.w((p - 1), q*r))*(1 - SOTRec.delta(q, 2))
      + 2*SOTRec.w((p + 1), r)*SOTRec.delta(q, 2);;
    c[4] := 1/2*(r + 5)*SOTRec.w((p - 1), r) + SOTRec.w((p + 1), r);;
    c[5] := 8*SOTRec.delta(q, 2)
      + (1 - SOTRec.delta(q, 2))*(1/2*(q - 1)*(q + 4)*SOTRec.w((p - 1), q)*SOTRec.w((r - 1), q)
      + 1/2*(q - 1)*SOTRec.w((p + 1), q)*SOTRec.w((r - 1), q)
      + 1/2*(q + 5)*SOTRec.w((p - 1), q)
      + 2*SOTRec.w((r - 1), q)
      + SOTRec.w((p + 1), q));;
    c[6] := SOTRec.w((r - 1), p)*(SOTRec.w((p - 1), q)*(1 + (q - 1)*SOTRec.w((r - 1), q))
      + 2*SOTRec.w((r - 1), q));;
    c[7] := 2*(SOTRec.w((q - 1), p) + SOTRec.w((r - 1), p)
      + (p - 1)*SOTRec.w((q - 1), p)*SOTRec.w((r - 1), p));;
    m := Sum(c);
    if m = 0 then
      Print("All groups of order ", n, " are abelian.\n");
    else
      Print("The groups of order p^2qr are either solvable or isomorphic to Alt(5).\n");
      Print("The solvable groups are sorted by their Fitting subgroup.");
      Print("\>\>");
      SOTRec.Print(sot, "1 - 2 are the nilpotent groups." );
      for i in [1..7] do
        if c[i] = 1 then
          SOTRec.Print(sot, 2+Sum([1..i],x->c[x])," has Fitting subgroup of order ", fit[i], ".");
        elif c[i] > 1 then
          SOTRec.Print(sot, 3+Sum([1..i-1],x->c[x])," - ", 2+Sum([1..i],x->c[x]), " have Fitting subgroup of order ", fit[i], ".");
        fi;
      od;
      if n = 60 then
        SOTRec.Print(sot, "13 is nonsolvable and has Fitting subgroup of order 1.");
      fi;
    fi;
    Print("\<\<");
  end;
##############################################################################
SOTRec.infoP4Q := function(n, fac)
    local sot, p, q, c, c0, m, prop, i, j;
    sot := SOTRec.sot(n);
    p := fac[2][1];
    q := fac[1][1];
    Assert(1, p <> q);
    Assert(1, IsPrimeInt(p));
    Assert(1, IsPrimeInt(q));

    prop := [];
    if p > 3 then
        prop[1] := [, "cylic", [p^4, 1]];
        prop[2] := [, "abelian", [p^4, 5]];
        prop[3] := [, "abelian", [p^4, 2]];
        prop[4] := [, "abelian", [p^4, 11]];
        prop[5] := [, "elementary abelian", [p^4, 15]];
        prop[6] := [, "nonabelian", [p^4, 14]];
        prop[7] := [, "nonabelian", [p^4, 6]];
        prop[8] := [, "nonabelian", [p^4, 13]];
        prop[9] := [, "nonabelian", [p^4, 3]];
        prop[10] := [, "nonabelian", [p^4, 4]];
        prop[11] := [, "nonabelian", [p^4, 12]];
        prop[12] := [, "nonabelian", [p^4, 9]];
        prop[13] := [, "nonabelian", [p^4, 10]];
        prop[14] := [, "nonabelian", [p^4, 7]];
        prop[15] := [, "nonabelian", [p^4, 8]];
    elif p = 3 then
        prop[1] := [, "cylic", [p^4, 1]];
        prop[2] := [, "abelian", [p^4, 5]];
        prop[3] := [, "abelian", [p^4, 2]];
        prop[4] := [, "abelian", [p^4, 11]];
        prop[5] := [, "elementary abelian", [p^4, 15]];
        prop[6] := [, "nonabelian", [p^4, 14]];
        prop[7] := [, "nonabelian", [p^4, 6]];
        prop[8] := [, "nonabelian", [p^4, 13]];
        prop[9] := [, "nonabelian", [p^4, 3]];
        prop[10] := [, "nonabelian", [p^4, 4]];
        prop[11] := [, "nonabelian", [p^4, 12]];
        prop[12] := [, "nonabelian", [p^4, 8]];
        prop[13] := [, "nonabelian", [p^4, 9]];
        prop[14] := [, "nonabelian", [p^4, 7]];
        prop[15] := [, "nonabelian", [p^4, 10]];
    elif p = 2 then
        prop[1] := [, "cylic", [p^4, 1]];
        prop[2] := [, "abelian", [p^4, 5]];
        prop[3] := [, "abelian", [p^4, 2]];
        prop[4] := [, "abelian", [p^4, 10]];
        prop[5] := [, "elementary abelian", [p^4, 14]];
        prop[6] := [, "nonabelian", [p^4, 13]];
        prop[7] := [, "nonabelian", [p^4, 11]];
        prop[8] := [, "nonabelian", [p^4, 3]];
        prop[9] := [, "nonabelian", [p^4, 12]];
        prop[10] := [, "nonabelian", [p^4, 4]];
        prop[11] := [, "nonabelian", [p^4, 6]];
        prop[12] := [, "nonabelian", [p^4, 8]];
        prop[13] := [, "nonabelian", [p^4, 7]];
        prop[14] := [, "nonabelian", [p^4, 9]];
    fi;

    #### Enumeration
    c0 := 15 - SOTRec.delta(2, p);
    c := [];
    c[1] := SOTRec.w((q - 1), p) + SOTRec.w((q - 1), p^2) + SOTRec.w((q - 1), p^3) + SOTRec.w((q - 1), p^4);
    c[2] := 2*SOTRec.w((q - 1), p) + 2*SOTRec.w((q - 1), p^2) + SOTRec.w((q - 1), p^3);
    c[3] := SOTRec.w((q - 1), p) + SOTRec.w((q - 1), p^2);
    c[4] := 2*SOTRec.w((q - 1), p) + SOTRec.w((q - 1), p^2);
    c[5] := SOTRec.w((q - 1), p);
    c[6] := 3*SOTRec.w((q - 1), p);
    c[7] := (1 - SOTRec.delta(2, p))*(p*SOTRec.w((q - 1), p) + p*SOTRec.w((q - 1), p^2)) + 3*SOTRec.delta(2, p);
    c[8] := (1 - SOTRec.delta(2, p))*(p + 1)*SOTRec.w((q - 1), p) + SOTRec.delta(2, p)*(2 + SOTRec.w((q - 1), 4));
    c[9] := 2*SOTRec.w((q - 1), p) + (1 - SOTRec.delta(2, p))*SOTRec.w((q - 1), p^2);
    c[10] := p*SOTRec.w((q - 1), p) + (p - 1)*SOTRec.w((q - 1), p^2);
    c[11] := 2*SOTRec.w((q - 1), p) + 2*SOTRec.w((q - 1), 4)*SOTRec.delta(2, p);
    c[12] := p*SOTRec.w((q - 1), p) + SOTRec.delta(2, p);
    c[13] := p*SOTRec.w((q - 1), p) - SOTRec.delta(3, p)*SOTRec.w((q - 1), p);
    c[14] := 2*SOTRec.w((q - 1), p) + SOTRec.delta(3, p)*SOTRec.w((q - 1), p);
    c[15] := (1 - SOTRec.delta(2, p))*2*SOTRec.w((q - 1), p);
    c[16] := SOTRec.w((p - 1), q);
    c[17] := (q + 1)*SOTRec.w((p - 1), q);
    c[18] := 1/2*(q + 3 - SOTRec.delta(2, q))*SOTRec.w((p - 1), q) + SOTRec.w((p + 1), q)*(1 - SOTRec.delta(2, q));
    c[19] := (1/2*(q^2 + 2*q + 3)*SOTRec.w((p - 1), q) + SOTRec.w((p + 1), q))*(1 - SOTRec.delta(2,q)) + 5*SOTRec.delta(2, q);
    c[20] := 1/24*(q^3 + 7*q^2 + 21*q + 39 + 16*SOTRec.w((q - 1), 3) + 12*SOTRec.w((q - 1), 4))*SOTRec.w((p - 1), q)*(1 - SOTRec.delta(2, q)) + 4*SOTRec.delta(2, q)
        + 1/4*(q + 5 + 2*SOTRec.w((q - 1), 4))*SOTRec.w((p + 1), q)*(1 - SOTRec.delta(2, q))
        + SOTRec.w((p^2 + p +1), q)*(1 - SOTRec.delta(3, q))
        + SOTRec.w((p^2 + 1), q)*(1 - SOTRec.delta(2, q));
    c[21] := 1/2*(q + 3 - SOTRec.delta(2,q))*SOTRec.w((p - 1), q) + SOTRec.w((p + 1), q)*(1 - SOTRec.delta(2, q));
    c[22] := SOTRec.w((p - 1), q);
    c[23] := (q + 1)*SOTRec.w((p - 1), q);
    c[24] := (q + 1)*SOTRec.w((p - 1), q) + SOTRec.delta(n, 3*2^4);;
    c[25] := SOTRec.w((p - 1), q);
    c[26] := (1/2*(q^2 + 2*q + 3)*SOTRec.w((p - 1), q) + SOTRec.w((p + 1), q))*(1 - SOTRec.delta(2,q)) + 5*SOTRec.delta(2, q) - SOTRec.delta(n, 3*2^4);
    c[27] := SOTRec.w((p - 1), q)*(1 + 2*SOTRec.delta(2, q));
    c[28] := SOTRec.w((p - 1), q)*(1 + 2*SOTRec.delta(2, q));
    c[29] := (q + 1)*SOTRec.w((p - 1), q);
    c[30] := SOTRec.w((p - 1), q);
    m := Sum(c);

    ### Info
    Print("The groups of order p^4q are solvable by Burnside's pq-Theorem.\n");
    Print("These groups are sorted by their Sylow subgroups.");
    Print("\>\>");
    SOTRec.Print(sot, "1 - ",c0, " are nilpotent and all Sylow subgroups are normal.");
    for i in [1..c0] do
        if c[i] = 1 then
            SOTRec.Print(sot, c0+Sum([1..i],x->c[x]),
            " is sovable, non-nilpotent and has a normal Sylow ", q, "-subgroup, with ", prop[i][2], " Sylow ", p, "-subgroup ", prop[i][3], ".");
        elif c[i] > 1 then
            SOTRec.Print(sot, c0+1+Sum([1..i-1],x->c[x])," - ", c0+Sum([1..i],x->c[x]),
            " are sovable, non-nilpotent and have a normal Sylow ", q, "-subgroup, with ", prop[i][2], " Sylow ", p, "-subgroup ", prop[i][3], ".");
        fi;
    od;
    for i in [1..15] do
        j := 15+i;
        if c[j] = 1 then
            SOTRec.Print(sot, c0+Sum([1..j],x->c[x]),
                " is sovable, non-nilpotent and has a normal ",  prop[i][2], " Sylow ", p, "-subgroup ", prop[i][3], ", with cyclic Sylow ", q, "-subgroup.");
        elif c[j] > 1 then
            SOTRec.Print(sot, c0+1+Sum([1..j-1],x->c[x])," - ", c0+Sum([1..j],x->c[x]),
            " are sovable, non-nilpotent and have a normal ",  prop[i][2], " Sylow ", p, "-subgroup ", prop[i][3], ", with cyclic Sylow ", q, "-subgroup.");
        fi;
    od;
    if n = 48 then
        SOTRec.Print(sot, "49 - 52 are solvable, non-nilpotent, and have no normal Sylow subgroups.");
    elif n = 1053 then
        SOTRec.Print(sot, "51 is solvable, non-nilpotent, and has no normal Sylow subgroups.");
    fi;
    Print("\<\<");
  end;

##############################################################################
SOTRec.infoPQRS := function(n, fac)
  local sot, c, p, q, r, s, m;
    sot := SOTRec.sot(n);
    c := [];
    p := fac[1][1];
    q := fac[2][1];
    r := fac[3][1];
    s := fac[4][1];

    ####
    Assert(1, s > r and r > q and q > p);
    Assert(1, IsPrimeInt(p));
    Assert(1, IsPrimeInt(q));
    Assert(1, IsPrimeInt(r));
    Assert(1, IsPrimeInt(s));

    ##Cluster 1: Abelian group, Z(G) = G
    ##enumeration of each case by size of the centre
    c[1] := SOTRec.w((s - 1), r) + SOTRec.w((s - 1), q) + SOTRec.w((r - 1), q)
        + SOTRec.w((s - 1), p) + SOTRec.w((r - 1), p) + SOTRec.w((q - 1), p);
    c[2] := (q - 1)*SOTRec.w((r - 1), q)*SOTRec.w((s - 1), q) + SOTRec.w((s - 1), (q*r))
        + (p - 1)*SOTRec.w((r - 1), p)*SOTRec.w((s - 1), p) + SOTRec.w((s - 1), (p*r))
        + (p - 1)*SOTRec.w((q - 1), p)*SOTRec.w((s - 1), p) + SOTRec.w((s - 1), (p*q))
        + (p - 1)*SOTRec.w((q - 1), p)*SOTRec.w((r - 1), p) + SOTRec.w((r - 1), (p*q));
    c[3] := (p - 1)^2*SOTRec.w((q - 1), p)*SOTRec.w((r - 1), p)*SOTRec.w((s - 1), p)
        + (p - 1)*(q - 1)*SOTRec.w((s - 1), (p*q))*SOTRec.w((r - 1), (p*q))
        + (p - 1)*SOTRec.w((r - 1), p)*SOTRec.w((s - 1), (p*q))
        + (q - 1)*SOTRec.w((r - 1), q)*SOTRec.w((s - 1), (p*q))
        + (p - 1)*SOTRec.w((s - 1), p)*SOTRec.w((r - 1), (p*q))
        + (q - 1)*SOTRec.w((s - 1), q)*SOTRec.w((r - 1), (p*q))
        + SOTRec.w((r - 1), p)*SOTRec.w((s - 1), q)
        + SOTRec.w((r - 1), q)*SOTRec.w((s - 1), p)
        + SOTRec.w((s - 1), r)*SOTRec.w((q - 1), p)
        + (p - 1)*SOTRec.w((q - 1), p)*SOTRec.w((s - 1), (p*r))
        + SOTRec.w((s - 1), (p*q*r));
    m := Sum(c);
    if m = 0 then
      Print("All groups of order ", n, " are abelian.\n");
    else
      Print("The groups of order pqrs are solvable and classified by O. H\"older.\n");
      Print("These groups are sorted by their centre.");
      Print("\>\>");
      SOTRec.Print(sot, "1 is abelian.");
      if c[1] = 1 then
        SOTRec.Print(sot, 1+c[1]," has centre of order that is a product of two distinct primes.");
      elif c[1] > 1 then
        SOTRec.Print(sot, "2 - ", 1+c[1], " have centre of order that is a product of two distinct primes.");
      fi;
      if c[2] = 1 then
        SOTRec.Print(sot, 1+c[1]+c[2]," has a cyclic centre of prime order.");
      elif c[2] > 1 then
        SOTRec.Print(sot, 2 + c[1], " - ", 1+c[1]+c[2], " have a cyclic centre of prime order.");
      fi;
      if c[3] = 1 then
        SOTRec.Print(sot, 1+m," has trivial centre.");
      elif c[2] > 1 then
        SOTRec.Print(sot, 2 + c[1]+c[2], " - ", 1+m, " have a trivial centre.");
      fi;
    fi;
    Print("\<\<");
  end;

[ Dauer der Verarbeitung: 0.44 Sekunden  (vorverarbeitet)  ]