File: small.gd

package info (click to toggle)
gap4-gdat 4.2-2
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 78,948 kB
  • ctags: 10,624
  • sloc: ansic: 25,214; fortran: 12,279; ada: 6,377; asm: 4,623; cpp: 2,332; lisp: 910; cs: 503; ruby: 466; yacc: 284; tcl: 167; makefile: 51
file content (181 lines) | stat: -rw-r--r-- 6,304 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
#############################################################################
##
#W  small.gd                 GAP group library             Hans Ulrich Besche
##                                               Bettina Eick, Eamonn O'Brien
##
Revision.small_gd :=
    "@(#)$Id: small.gd,v 4.22 2000/01/18 11:30:06 gap Exp $";

#############################################################################
##
## tell GAP about the component
##
DeclareComponent("small","2.0");

InfoIdgroup := NewInfoClass( "InfoIdgroup" );

UnbindGlobal( "SMALL_AVAILABLE" );

#############################################################################
##
#F  SMALL_AVAILABLE( size )
##
##  returns fail if the library of groups of <size> is not installed. 
##  Otherwise a record with some information about the construction of the 
##  groups of <size> is returned.
DeclareGlobalFunction( "SMALL_AVAILABLE" );

UnbindGlobal( "SmallGroup" );

#############################################################################
##
#F  SmallGroup(<size>,<i>)
#F  SmallGroup([<size>,<i>])
##
##  returns the <i>-th group of order <size> in the catalogue. The group will
##  be given as PcGroup, if it is solvable and as permutation group otherwise.
##  If the groups of order <size> are not installed, the function returns an
##  error.  
DeclareGlobalFunction( "SmallGroup" );

#############################################################################
##
#F  SelectSmallGroups( argl, all, id )
##
##  universal function for 'AllGroups', 'OneGroup' and 
##  'IdsOfAllGroups'.
DeclareGlobalFunction( "SelectSmallGroups" );

UnbindGlobal( "AllGroups" );

#############################################################################
##
#F  AllSmallGroups( arg )
#F  AllGroups( arg )
##
##  returns all small groups with certain properties. The first selection
##  function has to be `Size'. There are precomputed listings for the 
##  properties `IsAbelian', `IsNilpotentGroup', `IsSupersolvableGroup', 
##  `IsSolvableGroup', `RankPGroup', `PClassPGroup', `LGLength', 
##  `FrattinifactorSize' and `FrattinifactorId' for the groups of order
##   at most $1000$ except $512$  and $768$ whose order have more than 
##  three prime factors. 
AllSmallGroups := function( arg )
    return SelectSmallGroups( arg, true, false );
end;
DeclareSynonym( "AllGroups", AllSmallGroups );

UnbindGlobal( "OneGroup" );

#############################################################################
##
#F  OneSmallGroup( arg )
#F  OneGroup( arg )
##
##  see `AllSmallGroups'.
OneSmallGroup := function( arg )
    return SelectSmallGroups( arg, false, false );
end;

DeclareSynonym( "OneGroup", OneSmallGroup );

UnbindGlobal( "IdsOfAllGroups" );

#############################################################################
##
#F  IdsOfAllSmallGroups( arg )
#F  IdsOfAllGroups( arg )
##
##  similar to `AllGroups' but returns id's instead of groups. This may
##  be useful to avoid workspace overflows, if a large number of groups are 
##  expected in the output.
IdsOfAllGroups := function( arg )
    return SelectSmallGroups( arg, true, true );
end;

DeclareSynonym( "IdsOfAllSmallGroups", IdsOfAllGroups );

UnbindGlobal( "NumberSmallGroups" );

#############################################################################
##
#F  NumberSmallGroups(<size>)
#F  NrSmallGroups(<size>)
##
##  returns the number of groups of order <size>.
DeclareGlobalFunction( "NumberSmallGroups" );
DeclareSynonym( "NrSmallGroups",NumberSmallGroups );

#############################################################################
##
#F  UnloadSmallGroupsData( )
##
##  while GAP  loads all necessary data from the small groups library
##  automatically, it does not remove the data from the workspace again.
##  Usually, this will be not necessary, since the data is stored in
##  a compressed format. However, if a large number of small groups have
##  been loaded by a user, then the user might wish to remove the
##  data from the workspace and this can be done by the above function
##  call. Note that this is not dangerous in any case, since the data
##  will be reloaded automatically, if necessary.
DeclareGlobalFunction( "UnloadSmallGroupsData" );

UnbindGlobal( "ID_AVAILABLE" );
#############################################################################
##
#F  ID_AVAILABLE( size )
##
##  returns false, if the identification routines for of groups of <size> is
##  not installed. Otherwise a record with some information about the 
##  identification of groups of <size> is returned.
DeclareGlobalFunction( "ID_AVAILABLE" );

UnbindGlobal( "IdGroup" );

#############################################################################
##
#A  IdGroup(<G>)
##
##  returns the catalogue number of <G>; that is, the function returns
##  a pair `[<size>, <i>]' meaning that <G> is isomorphic to 
##  `SmallGroup( <size>, <i> )'.
DeclareAttribute( "IdGroup", IsGroup );

UnbindGlobal( "Gap3CatalogueIdGroup" );

#############################################################################
##
#F  SmallGroupsInformation( size )
##
##  prints information on the groups of the specified size.
DeclareGlobalFunction( "SmallGroupsInformation" );

#############################################################################
##  
#A  Gap3CatalogueIdGroup(<G>)
##  
##  returns the catalogue number of <G> in the GAP 3 catalogue of solvable
##  groups; that is, the function returns a pair `[<size>, <i>]' meaning that
##  <G> is isomorphic to the group `SolvableGroup( <size>, <i> )' in GAP 3.
DeclareAttribute( "Gap3CatalogueIdGroup", IsGroup );

#############################################################################
##  
#F  Gap3CatalogueGroup(<size>,<i>)
##  
##  returns  the  <i>-th  group  of  order  <size>  in the GAP 3 catalogue of
##  solvable  groups.  This  group  is  isomorphic  to  the group returned by
##  `SolvableGroup( <size>, <i> )' in GAP 3.
DeclareGlobalFunction( "Gap3CatalogueGroup" );

#############################################################################
##  
#A  FrattinifactorSize(<G>)
##  
DeclareAttribute( "FrattinifactorSize", IsGroup );

#############################################################################
##  
#A  FrattinifactorId( <G> )
##  
DeclareAttribute( "FrattinifactorId", IsGroup );