GAP:SmallGroup: Difference between revisions

From Groupprops
(New page: {{GAP function}} ==Definition== ===Function type=== <tt>SmallGroup</tt> is a GAP function taking in two arguments, both of which are numbers (or, equivalently, a list of two numbers) an...)
 
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{GAP function}}
{{GAP function}}
{{quotation|'''INTERNAL AD''': Want to know more on this wiki about a group using its group ID? Type in SmallGroup(order,second part of ID) into the search box and get information on the wiki (not available for all groups). For instance, for the group with ID 34 among groups of order 120, type in [[SmallGroup(120,34)]].}}


==Definition==
==Definition==
Line 5: Line 6:
===Function type===
===Function type===


<tt>SmallGroup</tt> is a GAP function taking in two arguments, both of which are numbers (or, equivalently, a list of two numbers) and outputs a group.
<tt>SmallGroup</tt> is a GAP function that takes in two arguments, both of which are numbers. '''or''' alternatively a list of two numbers, and outputs a group.


===Behavior===
===Behavior===


GAP has a built-in library of groups of given order, for small orders. All the groups of order <math>n</math> are ordered in a certain way, and each such group has a group ID. The command:
Consider the command <tt>SmallGroup(a,b)</tt> or <tt>SmallGroup([a,b])</tt>. Here is how this behaves:


<pre>SmallGroup(a,b);</pre>
{| class="sortable" border="1"
! Nature of input !! Output/error message !! Example inputs
|-
| <math>a,b</math> are positive integers, the order <math>a</math> is in GAP's SmallGroup library, and there are at least <math>b</math> groups of order <math>a</math> || The <math>b^{th}</math> group among groups of order <math>a</math> in GAP's SmallGroup library. || <tt>SmallGroup(120,13)</tt><br><tt>SmallGroup(32,46)</tt>
|-
| <math>a,b</math> are positive integers, the order <math>a</math> is in GAP's SmallGroup library, and there are fewer than <math>b</math> groups of order <math>a</math> || error message specifying the number of groups of order <math>a</math> || <tt>SmallGroup(3,2)</tt><br><tt>SmallGroup(6,5)</tt>
|-
| <math>a,b</math> are positive integers, the groups of order <math>a</math> are not in GAP's SmallGroup library || error message stating that the library of groups of size <math>a</math> is not available || <tt>SmallGroup(1024,1)</tt>
|-
| <math>a</math> or <math>b</math> are not positive integers, or other kinds of inputs are provided || usage error || <tt>SmallGroup(3,-1)</tt>
|}


returns the <math>b^{th}</math> group of order <math>a</math>.
The following caveats should be noted about the manner in which the group is stored/processed:
 
The following caveats should be noted:


* For a [[finite solvable group]], the group is stored as a <tt>PcGroup</tt>: in other words, it is stored in terms of a polycyclic series for the group. Thus, if the group is solvable, the command <tt>SmallGroup</tt> returns a polycyclic series.
* For a [[finite solvable group]], the group is stored as a <tt>PcGroup</tt>: in other words, it is stored in terms of a polycyclic series for the group. Thus, if the group is solvable, the command <tt>SmallGroup</tt> returns a polycyclic series.
* For a finite group that is ''not'' solvable, the group is stored as a permutation group.
* For a finite group that is ''not'' solvable, the group is stored as a permutation group.


Error types:
==Available groups==


* If there are fewer than <math>b</math> isomorphism classes of groups of order <math>a</math>, GAP returns an error, specifying the number of isomorphism classes of groups of order <math>a</math>.
The orders for which the SmallGroup function can be called are given below. See also [[GAP:AllSmallGroups|AllSmallGroups]].
* If the groups of order <math>a</math> are ''not'' stored in the library, GAP returns an error statin that the library of groups of order <math>a</math> is not available.
 
* If <math>a</math> is not a positive integer, or if only one argument is provided, GAP returns a usage error.
{| class="sortable" border="1"
! Description !! List of orders !! Additional comments
|-
| <math>2^n, 1 \le n \le 9</math> || <math>2,4,8,16,32,64,128,256,512</math> || For orders <math>256 = 2^8</math> and <math>512 = 2^9</math>, the default memory allocation provided by GAP is too small to manipulate the list of groups. A command line option `-o 2G' is is usually enough for most simple manipulations involving the groups of orders 256 and 512. Also, to avoid wasteful printing of long output lists, use a double semicolon for output suppression.
|-
| <math>p^n, 1 \le n \le 6</math>, <math>p</math> prime || (infinite list) || For <math>n = 5</math> and <math>n = 6</math>, the number of groups depends on <math>p</math>. As <math>p</math> gets larger, additional memory allocation is needed.
|-
| <math>p^7, p = 3,5,7,11</math> || <math>3^7 = 2187, 5^7 = 78125, 7^7 = 823543, 11^7 = 19487171</math> || This is not available in the version of the library that came with GAP 4.4.12. The new version with these groups can be downloaded from [http://www-public.tu-bs.de:8080/~beick/soft/small/small.html#small here]
|-
| cube-free number less than <math>50000 = 5 \cdot 10^4</math> || Too long to list ||
|-
| order <math>pq^n</math>, <math>p,q</math> distinct primes, and <math>q^n</math> divides one of these: <math>2^8,3^6, 5^5, 7^4</math> || (infinite list)  ||
|-
| square-free number || (infinite list) ||
|-
| order factorizes into at most 3 primes  counting multiplicities|| (infinite list) || Note here that "at most 3 primes" counts primes with multiplicity, so <math>p^3q^2r^4</math> does not qualify.
|}
 
The smallest orders for which the SmallGroups library does not have information are given in the table below:
 
{| class="sortable" border="1"
! Number !! Prime factorization
|-
| 1024 || <math>\! 2^{10}</math>
|-
| 2016 || <math>2^5 \cdot 3 \cdot 7</math>
|-
| 2024 || <math>2^3 \cdot 11 \cdot 23</math>
|-
| 2025 || <math>3^4 \cdot 5^2</math>
|-
| 2040 || <math>2^3 \cdot 3 \cdot 5 \cdot 17</math>
|}


==Related functions==
==Related functions==
Line 30: Line 71:
===Aggregative functions===
===Aggregative functions===


* [[GAP:AllSmallGroups]]: Returns, in list format, all the groups of a given order, say <math>a</math>. The <math>b^{th}</math> member of the list is the same as the <math>b^{th}</math> group of order <math>a</math> invoked by the command <tt>SmallGroup(a,b);</tt>.
{| class="sortable" border="1"
* [[GAP:OneSmallGroup]]: This returns just one group of a given order. It returns the ''first'' small group. Thus, the commands <tt>OneSmallGroup(a)</tt> and <tt>SmallGroup(a,1)</tt> have the same effect.
! Function !! Description
|-
| [[GAP:SmallGroupsInformation|SmallGroupsInformation]] || Takes a single input <math>a</math> and prints out verbal summary information on the groups of order <math>a</math>.
|-
| [[GAP:AllSmallGroups|AllSmallGroups]] ||  Returns, in list format, all the groups of a given order, say <math>a</math>. The <math>b^{th}</math> member of the list is the same as the <math>b^{th}</math> group of order <math>a</math> invoked by the command <tt>SmallGroup(a,b);</tt>.
|-
| [[GAP:OneSmallGroup|OneSmallGroup]] || This returns just one group of a given order. It returns the ''first'' small group. Thus, the commands <tt>OneSmallGroup(a)</tt> and <tt>SmallGroup(a,1)</tt> have the same effect.
|-
| [[GAP:NumberSmallGroups|NumberSmallGroups]] || This returns the number of small groups of a given order.
|}
===Reverse functions===


===Reverse functions===
* [[GAP:IdGroup]]: This takes a given group as input and outputs its group ID, i.e., an ordered pair of its order and the position it is in among the groups of that order. This is precisely the ''two-sided inverse'' of the <tt>SmallGroup</tt> function. Note that [[GAP:IdGroup|IdGroup]] is ''not'' available for some of the groups that have group IDs, specifically, groups of order 512, 1536, and those of order <math>p^5, p^6, p^7</math> when the corresponding value is bigger than 2000 (with the exception of <math>5^5</math>, which is 3125).


* [[GAP:IdGroup]]: This takes a given group as input and outputs its group ID, i.e., an ordered pair of its order and the position it is in among the groups of that order. This is precisely the ''two-sided inverse'' of the <tt>SmallGroup</tt> function.
==Examples of usage==
==Examples of usage==
===Single command examples===


Here are some examples:
Here are some examples:
Line 43: Line 94:
<pre>gap> SmallGroup(1,1);
<pre>gap> SmallGroup(1,1);
<pc group of size 1 with 0 generators>
<pc group of size 1 with 0 generators>
gap> IsTrivial(SmallGroup(1,1));
true
gap> SmallGroup(3,1);
gap> SmallGroup(3,1);
<pc group of size 3 with 1 generators>
<pc group of size 3 with 1 generators>
gap> G := SmallGroup(6,2);
</pre>
<pc group of size 6 with 2 generators>
 
gap> IsomorphismGroups(G,CyclicGroup(6));
Below is an explanation:
[ f1, f2 ] -> [ f1*f2, f2 ]
{| class="sortable" border="1"
gap> H := SmallGroup(3,2);
! Command !! GAP output/print !! Other GAP functions used !! Explanation
|-
| <tt>SmallGroup(1,1);</tt> || <tt><pc group of size 1 with 0 generators></tt> || -- || The command gives the [[trivial group]]. The output by GAP for the first command is the output provided for any <tt>PcGroup</tt>: it gives the size, and the number of generators used for the polycyclic series. In this case, the trivial group has size one and the number of generators is zero.
|-
| <tt>IsTrivial(SmallGroup(1,1));</tt> || <tt>true</tt> || [[GAP:IsTrivial|IsTrivial]] || This checks whether the group constructed as <tt>SmallGroup(1,1)</tt> is the [[trivial group]]. It is.
|-
| <tt>SmallGroup(3,1);</tt> || <tt><pc group of size 3 with 1 generators></tt> || -- || This constructs the [[cyclic group:Z3|the cyclic group on three elements]]. Here, there is <math>1</math> generator.
|}
 
===Error message examples===
 
<pre>gap> H := SmallGroup(3,2);
Error, there is just 1 group of size 3 called from
Error, there is just 1 group of size 3 called from
SMALL_GROUP_FUNCS[inforec.func]( size, i, inforec ) called from
SMALL_GROUP_FUNCS[inforec.func]( size, i, inforec ) 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> quit;
gap> SmallGroup(1024,1);
Error, the library of groups of size 1024 is not available called from
<function>( <arguments> ) called from read-eval-loop
<function>( <arguments> ) called from read-eval-loop
Entering break read-eval-print loop ...
Entering break read-eval-print loop ...
Line 57: Line 128:
you can 'return;' to continue</pre>
you can 'return;' to continue</pre>


The first command gives the trivial group. The output by GAP for the first command is the output provided for any <tt>PcGroup</tt>: it gives the size, and the number of generators used for the polycyclic series. In this case, the trivial group has size one and the number of generators is zero.
{| class="sortable" border="1"
! Command !! Error message !! Explanation
|-
| <tt>H := SmallGroup(3,2);</tt> || <tt>Error, there is just 1 group of size 3 ...</tt> || The command tries to construct the ''second'' group of order three. But there is only one group of order three, and GAP returns the relevant error.
|-
| <tt>SmallGroup(1024,1);</tt> || <tt>Error, the library of groups of size 1024 is not available ...</tt> || The error message says that the order 1024 is not part of GAP's SmallGroup library.
|}


The second command does something similar for [[cyclic group:Z3|the cyclic group on three elements]]. Here, there is <math>1</math> generator.


The third command constructs the cyclic group on six elements, and stores this group as <math>G</math>. Note that although this group has a generating set of size one, the polycyclic series has length two; so the number of generators used in this series is two.
===Typical command sequences using <tt>SmallGroup</tt>===


The fourth command verifies that this group is indeed isomorphic to the cyclic group of order six, using [[GAP:IsomorphismGroups]].
<pre>gap> G := SmallGroup(6,2);
<pc group of size 6 with 2 generators>
gap> G = CyclicGroup(6);
false
gap> IsomorphismGroups(G,CyclicGroup(6));
[ f1, f2 ] -> [ f1*f2, f2 ]</pre>


The fifth command tries to construct the ''second'' group of order three. But there is only one group of order three, and GAP returns the relevant error.
{| class="sortable" border="1"
! Command !! GAP output/print !! Other GAP functions used !! Explanation
|-
| <tt>G := SmallGroup(6,2);</tt> || <tt><pc group of size 6 with 2 generators></tt> || -- || This constructs the [[cyclic group:Z6|cyclic group on six elements]], and stores this group as <math>G</math>. Note that although this group has a generating set of size one, the polycyclic series has length two; so the number of generators used in this series is two.
|-
| <tt>G = CyclicGroup(6);</tt> || <tt>false</tt> || [[GAP:CyclicGroup|CyclicGroup]]|| This asks whether <math>G</math> is ''equal'', as the group is stored, to the cyclic group of order 6. The answer of ''false'' simply indicates that they are not ''equal'' in a literal sense, though as the next command shows, they are isomorphic groups.
|-
| <tt>IsomorphismGroups(G,CyclicGroup(6));</tt> || <tt>[ f1, f2 ] -> [ f1*f2, f2 ]</tt> || [[GAP:CyclicGroup|CyclicGroup]], [[GAP:IsomorphismGroups|IsomorphismGroups]] || This tests whether the group <math>G</math> is indeed isomorphic to the cyclic group of order six. It is, and the output specifies an isomorphism in terms of the way the groups are stored in GAP.
|}


Here are some more examples:
Here is another example:


<pre>gap> L := SmallGroup(60,5);
<pre>gap> L := SmallGroup(60,5);
Line 73: Line 162:
gap> IsSimpleGroup(L);
gap> IsSimpleGroup(L);
true
true
gap> M := SmallGroup(60,1);
gap> IsAlternatingGroup(L);
true</pre>
 
Below is an explanation:
 
{| class="sortable" border="1"
! Command !! GAP output/print !! Other GAP functions used !! Explanation
|-
| <tt>L := SmallGroup(60,5);</tt> || <tt>Group([ (1,2,3,4,5), (1,2,3) ])</tt> || || Constructs the group with GAP ID 5 among the groups of order 60. This is in fact isomorphic to [[alternating group:A5]]. Note that the group is stored using a permutation representation because it is not solvable.
|-
| <tt>IsSimpleGroup(L);</tt> || <tt>true</tt> || [[GAP:IsSimpleGroup|IsSimpleGroup]] || Asks if the group is a [[simple group]]. It is.
|-
| <tt>IsAlternatingGroup(L);</tt> || <tt>true</tt> || [[GAP:IsAlternatingGroup|IsAlternatingGroup]] || Asks if the group is an [[alternating group]]. It is.
|}
 
<pre>gap> M := SmallGroup(60,1);
<pc group of size 60 with 4 generators>
<pc group of size 60 with 4 generators>
gap> IsCyclic(M);
gap> IsCyclic(M);
Line 80: Line 184:
false
false
gap> IsSolvable(SmallGroup(60,1));
gap> IsSolvable(SmallGroup(60,1));
true</pre>
true
 
gap> StructureDescription(M);
The first command assigns to the variable <math>L</math> the fifth group of order <math>60</math>. Note that this group is returned in the form of a permutation representation; the reason is that this group is ''not'' solvable. The next command tests whether this group is simple.
"C5 x (C3 : C4)"</pre>


Next, <math>M</math> is assigned as the first group of order <math>60</math>, and subsequent commands test whether <math>M</math> is cyclic, Abelian and solvable. It turns out that <math>M</math> is neither cyclic nor Abelian but is solvable. This matches up with the fact that <math>M</math> is described as a <tt>PcGroup</tt>.
Below is an explanation:


Here are some further usage examples:
{| class="sortable" border="1"
! Command !! GAP output/print !! Other GAP functions used !! Explanation
|-
| <tt>M := SmallGroup(60,1);</tt> || <tt><pc group of size 60 with 4 generators></tt> || -- || Constructs the group of GAP ID 1 among [[groups of order 60]] and stores it as <math>M</math>. Note that it is stored as a <tt>PcGroup</tt> indicating that it is solvable.
|-
| <tt>IsCyclic(M);</tt> || <tt>false</tt> || [[GAP:IsCyclic|IsCyclic]] || Checks whether <math>M</math> is a [[cyclic group]]. It is not.
|-
| <tt>IsAbelian(M);</tt> || <tt>false</tt> || [[GAP:IsAbelian|IsAbelian]] || Checks whether <math>M</math> is an [[abelian group]]. It is not.
|-
| <tt>IsSolvable(SmallGroup(60,1));</tt> || <tt>true</tt> || [[GAP:IsSolvable|IsSolvable]] || Checks whether <math>M</math> (not written as <math>M</math>, but using the SmallGroup description) is solvable. It is solvable.
|-
| <tt>StructureDescription(M);</tt> || <tt>"C5 x (C3 : C4)"</tt> || [[GAP:StructureDescription|StructureDescription]] || Provides a (partial) description of the structure of <math>M</math>.
|}


<pre>gap> SmallGroup(1024,1);
==References==
Error, the library of groups of size 1024 is not available 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> SmallGroup(1025,1);
<pc group of size 1025 with 3 generators></pre>


This example shows that the GAP library often does not contain the collection of groups of a given order but may contain the collection of groups of higher order. This is usually dependent on the number and complexity of groups of particular orders: numbers that are products of primes of very short length usually admit few groups and are likely to be in the GAP library.
* [http://www.gap-system.org/Packages/sgl.html SmallGroups Library package page on the GAP website]
* [http://www-public.tu-bs.de:8080/~beick/soft/small/small.html Web pageof the SmallGroups Library]

Latest revision as of 01:37, 11 September 2016

This article is about a GAP function.



INTERNAL AD: Want to know more on this wiki about a group using its group ID? Type in SmallGroup(order,second part of ID) into the search box and get information on the wiki (not available for all groups). For instance, for the group with ID 34 among groups of order 120, type in SmallGroup(120,34).

Definition

Function type

SmallGroup is a GAP function that takes in two arguments, both of which are numbers. or alternatively a list of two numbers, and outputs a group.

Behavior

Consider the command SmallGroup(a,b) or SmallGroup([a,b]). Here is how this behaves:

Nature of input Output/error message Example inputs
a,b are positive integers, the order a is in GAP's SmallGroup library, and there are at least b groups of order a The bth group among groups of order a in GAP's SmallGroup library. SmallGroup(120,13)
SmallGroup(32,46)
a,b are positive integers, the order a is in GAP's SmallGroup library, and there are fewer than b groups of order a error message specifying the number of groups of order a SmallGroup(3,2)
SmallGroup(6,5)
a,b are positive integers, the groups of order a are not in GAP's SmallGroup library error message stating that the library of groups of size a is not available SmallGroup(1024,1)
a or b are not positive integers, or other kinds of inputs are provided usage error SmallGroup(3,-1)

The following caveats should be noted about the manner in which the group is stored/processed:

  • For a finite solvable group, the group is stored as a PcGroup: in other words, it is stored in terms of a polycyclic series for the group. Thus, if the group is solvable, the command SmallGroup returns a polycyclic series.
  • For a finite group that is not solvable, the group is stored as a permutation group.

Available groups

The orders for which the SmallGroup function can be called are given below. See also AllSmallGroups.

Description List of orders Additional comments
2n,1n9 2,4,8,16,32,64,128,256,512 For orders 256=28 and 512=29, the default memory allocation provided by GAP is too small to manipulate the list of groups. A command line option `-o 2G' is is usually enough for most simple manipulations involving the groups of orders 256 and 512. Also, to avoid wasteful printing of long output lists, use a double semicolon for output suppression.
pn,1n6, p prime (infinite list) For n=5 and n=6, the number of groups depends on p. As p gets larger, additional memory allocation is needed.
p7,p=3,5,7,11 37=2187,57=78125,77=823543,117=19487171 This is not available in the version of the library that came with GAP 4.4.12. The new version with these groups can be downloaded from here
cube-free number less than 50000=5104 Too long to list
order pqn, p,q distinct primes, and qn divides one of these: 28,36,55,74 (infinite list)
square-free number (infinite list)
order factorizes into at most 3 primes counting multiplicities (infinite list) Note here that "at most 3 primes" counts primes with multiplicity, so p3q2r4 does not qualify.

The smallest orders for which the SmallGroups library does not have information are given in the table below:

Number Prime factorization
1024 210
2016 2537
2024 231123
2025 3452
2040 233517

Related functions

Aggregative functions

Function Description
SmallGroupsInformation Takes a single input a and prints out verbal summary information on the groups of order a.
AllSmallGroups Returns, in list format, all the groups of a given order, say a. The bth member of the list is the same as the bth group of order a invoked by the command SmallGroup(a,b);.
OneSmallGroup This returns just one group of a given order. It returns the first small group. Thus, the commands OneSmallGroup(a) and SmallGroup(a,1) have the same effect.
NumberSmallGroups This returns the number of small groups of a given order.

Reverse functions

  • GAP:IdGroup: This takes a given group as input and outputs its group ID, i.e., an ordered pair of its order and the position it is in among the groups of that order. This is precisely the two-sided inverse of the SmallGroup function. Note that IdGroup is not available for some of the groups that have group IDs, specifically, groups of order 512, 1536, and those of order p5,p6,p7 when the corresponding value is bigger than 2000 (with the exception of 55, which is 3125).

Examples of usage

Single command examples

Here are some examples:

gap> SmallGroup(1,1);
<pc group of size 1 with 0 generators>
gap> IsTrivial(SmallGroup(1,1));
true
gap> SmallGroup(3,1);
<pc group of size 3 with 1 generators>

Below is an explanation:

Command GAP output/print Other GAP functions used Explanation
SmallGroup(1,1); <pc group of size 1 with 0 generators> -- The command gives the trivial group. The output by GAP for the first command is the output provided for any PcGroup: it gives the size, and the number of generators used for the polycyclic series. In this case, the trivial group has size one and the number of generators is zero.
IsTrivial(SmallGroup(1,1)); true IsTrivial This checks whether the group constructed as SmallGroup(1,1) is the trivial group. It is.
SmallGroup(3,1); <pc group of size 3 with 1 generators> -- This constructs the the cyclic group on three elements. Here, there is 1 generator.

Error message examples

gap> H := SmallGroup(3,2);
Error, there is just 1 group of size 3 called from
SMALL_GROUP_FUNCS[inforec.func]( size, i, inforec ) 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> quit;
gap> SmallGroup(1024,1);
Error, the library of groups of size 1024 is not available 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
Command Error message Explanation
H := SmallGroup(3,2); Error, there is just 1 group of size 3 ... The command tries to construct the second group of order three. But there is only one group of order three, and GAP returns the relevant error.
SmallGroup(1024,1); Error, the library of groups of size 1024 is not available ... The error message says that the order 1024 is not part of GAP's SmallGroup library.


Typical command sequences using SmallGroup

gap> G := SmallGroup(6,2);
<pc group of size 6 with 2 generators>
gap> G = CyclicGroup(6);
false
gap> IsomorphismGroups(G,CyclicGroup(6));
[ f1, f2 ] -> [ f1*f2, f2 ]
Command GAP output/print Other GAP functions used Explanation
G := SmallGroup(6,2); <pc group of size 6 with 2 generators> -- This constructs the cyclic group on six elements, and stores this group as G. Note that although this group has a generating set of size one, the polycyclic series has length two; so the number of generators used in this series is two.
G = CyclicGroup(6); false CyclicGroup This asks whether G is equal, as the group is stored, to the cyclic group of order 6. The answer of false simply indicates that they are not equal in a literal sense, though as the next command shows, they are isomorphic groups.
IsomorphismGroups(G,CyclicGroup(6)); [ f1, f2 ] -> [ f1*f2, f2 ] CyclicGroup, IsomorphismGroups This tests whether the group G is indeed isomorphic to the cyclic group of order six. It is, and the output specifies an isomorphism in terms of the way the groups are stored in GAP.

Here is another example:

gap> L := SmallGroup(60,5);
Group([ (1,2,3,4,5), (1,2,3) ])
gap> IsSimpleGroup(L);
true
gap> IsAlternatingGroup(L);
true

Below is an explanation:

Command GAP output/print Other GAP functions used Explanation
L := SmallGroup(60,5); Group([ (1,2,3,4,5), (1,2,3) ]) Constructs the group with GAP ID 5 among the groups of order 60. This is in fact isomorphic to alternating group:A5. Note that the group is stored using a permutation representation because it is not solvable.
IsSimpleGroup(L); true IsSimpleGroup Asks if the group is a simple group. It is.
IsAlternatingGroup(L); true IsAlternatingGroup Asks if the group is an alternating group. It is.
gap> M := SmallGroup(60,1);
<pc group of size 60 with 4 generators>
gap> IsCyclic(M);
false
gap> IsAbelian(M);
false
gap> IsSolvable(SmallGroup(60,1));
true
gap> StructureDescription(M);
"C5 x (C3 : C4)"

Below is an explanation:

Command GAP output/print Other GAP functions used Explanation
M := SmallGroup(60,1); <pc group of size 60 with 4 generators> -- Constructs the group of GAP ID 1 among groups of order 60 and stores it as M. Note that it is stored as a PcGroup indicating that it is solvable.
IsCyclic(M); false IsCyclic Checks whether M is a cyclic group. It is not.
IsAbelian(M); false IsAbelian Checks whether M is an abelian group. It is not.
IsSolvable(SmallGroup(60,1)); true IsSolvable Checks whether M (not written as M, but using the SmallGroup description) is solvable. It is solvable.
StructureDescription(M); "C5 x (C3 : C4)" StructureDescription Provides a (partial) description of the structure of M.

References