It doesn't work because the first group, the trivial group has order 1 and "FactorsInt" returns "[1]". All the rest of the positive integers return what you want. Change [1..20] to [2..20].

Your program is also not going to output the Sylow subgroups as they are done within a "for" loop. I would recommend adding a line like

Sylows:=[];

above the first "for" loop,

Sylow:=[];

above the second "for" loop,

then

Add(Sylow,P);

in the second "for" loop,

and

Append(Sylows,Sylow);

in between the "od" statements.

As for why the code worked when you restricted the size from [1..20] it's because first off you are removing the group of order 1, and second because the smallest non-solvable group has order 60 so it's an empty list.

Joe

?????? wrote:
Dear forum,
I have written a simple GAP programme as follows:
A:=AllSmallGroups(Size,[1..20]);
for i in [1..Size(A)] do
G:=A[i];
f:=FactorsInt(Size(G));
F:=Union(f,f);
for p in F do
P:=SylowSubgroup(G,p);
od;
od;
the following error is produced:
Error, SylowSubgroup: <p> must be a prime called from
<compiled or corrupted call value>  called from
SylowSubgroup( G, p ) called from
<function>( <arguments> ) called from read-eval-loop
Entering break read-eval-print loop ...
you can 'quit;' to quit to outer loop, or
you can 'return;' to continue
brk>
If we replace "A:=AllSmallGroups(Size,[1..20])" by "A:=AllSmallGroups(Size,[1..20],IsSolvable,false)", then this error doesn't appear. I can not find the reason. How can I use the attribute "SylowSubgroup(G,p)" when G is solvable?
Best Wishes.
Jianjun Liu

------------------------------------------------------------------------

_______________________________________________
Forum mailing list
Forum@mail.gap-system.org
http://mail.gap-system.org/mailman/listinfo/forum

_______________________________________________
Forum mailing list
Forum@mail.gap-system.org
http://mail.gap-system.org/mailman/listinfo/forum

Reply via email to