File: imf.gd

package info (click to toggle)
gap 4r8p6-2
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 33,476 kB
  • ctags: 7,663
  • sloc: ansic: 108,841; xml: 47,807; sh: 3,628; perl: 2,342; makefile: 796; asm: 62; awk: 6
file content (240 lines) | stat: -rw-r--r-- 9,399 bytes parent folder | download | duplicates (5)
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
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
#############################################################################
##
#W  imf.gd                    GAP group library                Volkmar Felsch
##
##
#Y  Copyright (C)  1995,  Lehrstuhl D für Mathematik,  RWTH Aachen,  Germany
#Y  (C) 1998 School Math and Comp. Sci., University of St Andrews, Scotland
##
##  This file contains  the declarations of operations for the GAP library of
##  irreducible maximal finite integral matrix groups.
##


#############################################################################
##
#V  InfoImf
##
##  is the info class for the imf functions
##  (see~"Info Functions").
##
DeclareInfoClass( "InfoImf" );


#############################################################################
##
##  Some global variables.
##


#############################################################################
##
#F  IsImfMatrixGroup( <G> )
##
DeclareFilter( "IsImfMatrixGroup" );


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


#############################################################################
##
##  list of global variables not thought for the user
##

#############################################################################
##
#F  BaseShortVectors( <orbit> ) . . . . . . . . . . . . . . . . . . . . . . .
##
##  'BaseShortVectors'  expects as argument an  orbit of short vectors  under
##  some  imf  matrix  group  of  dimension  dim,  say.  This  orbit  can  be
##  considered  as  a set of generatos  of a  dim-dimensional  Q-vectorspace.
##  'BaseShortVectors' determines a subset B, say, of <orbit> which is a base
##  of that vectorspace, and it returns a list of two lists containing
##
##  - a list of the position numbers with respect to <orbit> of the  elements
##    of the base B and
##  - the base change matrix B^-1.
##
##  Both will be needed by the function 'ImfPermutationToMatrix'.
##
DeclareGlobalFunction( "BaseShortVectors" );


#############################################################################
##
#F  DisplayImfInvariants( <dim>, <q> )  . . . . . . . . . . . . . . . . . . .
#F  DisplayImfInvariants( <dim>, <q>, <z> ) . . . . . . . . . . . . . . . . .
##
##  'DisplayImfInvariants'  displays some Z-class invariants of the specified
##  classes  of  irreducible maximal finite  integral matrix groups  in  some
##  easily readable format.
##
##  The default value of z is 1. If any of the arguments is zero, the routine
##  loops over all legal values of the respective parameter.
##
DeclareGlobalFunction( "DisplayImfInvariants" );


#############################################################################
##
#F  DisplayImfReps( <dim>, <q>, <z> ) . . . . . . . . . . . . . . . . . . . .
##
##  'DisplayImfReps'  is a subroutine of the  'DisplayImfInvariants' command.
##  It displays  some  Z-class invariants  of the  zth Z-classes  in the  qth
##  Q-class  of the  irreducible  maximal finite  integral matrix  groups  of
##  dimension dim.
##
##  If an argument  z = 0  has been specified,  then all classes in the given
##  Q-class will be displayed,  otherwise just the  zth Z-class is displayed.
##
##  This subroutine is considered to be an internal one.  Hence the arguments
##  are not checked for being in range.  Moreover, it is assumed that the imf
##  main list IMFList has already been loaded.
##
DeclareGlobalFunction( "DisplayImfReps" );


#############################################################################
##
#F  ImfInvariants( <dim>, <q> ) . . . . . . . . . . . . . . . . . . . . . . .
#F  ImfInvariants( <dim>, <q>, <z> )  . . . . . . . . . . . . . . . . . . . .
##
##  'ImfInvariants' returns a record of Z-class invariants of the zth Z-class
##  in the  qth Q-class of  irreducible maximal finite integral matrix groups
##  of dimension dim. The default value of z is 1.
##
##  Assume that  G  is a representative group of the specified Z-class.  Then
##  the resulting record contains the following components:
##
##  size                     group size of G,
##  isSolvable               true, if G is solvable,
##  isomorphismType          isomorphism type of G,
##  elementaryDivisors       elementary divisors of G,
##  minimalNorm              norm of the short vectors associated to G,
##  sizesOrbitsShortVectors  a list  of the  sizes  of the  orbits  of  short
##                           vectors associated to G,
##  maximalQClass            Q-class  number  of  coresponding  rational  imf
##                           class (only if it is different from q).
##
##  If a value z > 1 has been specified  for a dimension for which no Z-class
##  representatives are available,  the function will display  an appropriate
##  message and return the value 'false'.
##
DeclareGlobalFunction( "ImfInvariants" );


#############################################################################
##
#F  IMFLoad( <dim> ) . . . . . . . . load a secondary file of the imf library
##
##  'IMFLoad' loads the imf main list and,  if dim > 0,  the list of matrices
##  containing  the  Gram  matrices  and  the  lists  of  generators  for the
##  irreducible maximal finite  integral matrix groups  of  dimension  <dim>.
##  Nothing is done if the required lists have already been loaded.
##
##  'IMFLoad'  finds the files in the directory specified by 'GRPNAME'.  This
##  variable is set in the init file 'LIBNAME/\"init.g\"'.
##
##  The given dimension is not checked to be in range.
##
DeclareGlobalFunction( "IMFLoad" );


#############################################################################
##
#F  ImfMatrixGroup( <dim>, <q> )  . . . . . . . . . . . . . . . . . . . . . .
#F  ImfMatrixGroup( <dim>, <q>, <z> ) . . . . . . . . . . . . . . . . . . . .
##
##  'ImfMatrixGroup' returns the representative of the zth Z-class in the qth
##  Q-class of the  irreducible  maximal  finite  integral  matrix groups  of
##  dimension dim. The default value of z is 1.
##
##  If a value z > 1 has been specified  for a dimension for which no Z-class
##  representatives are available,  the function will display  an appropriate
##  message and return the value 'false'.
##
DeclareGlobalFunction( "ImfMatrixGroup" );


#############################################################################
##
#F  ImfNumberQClasses( <dim> )  . . . . . . . . . . . . . . . . . . . . . . .
##
##  'ImfNumberQClasses'   returns  the  number  of   available  Q-classes  of
##  irreducible maximal finite subgroups of dimension dim,  i. e., the number
##  of Q-classes of irreducible maximal finite subgroups of GL(dim,Z), if dim
##  is at most 11  or  a prime,  or  the number of  Q-classes of  irreducible
##  maximal finite subgroups of GL(dim,Q), else.
##
DeclareGlobalFunction( "ImfNumberQClasses" );


#############################################################################
##
#F  ImfNumberQQClasses( <dim> ) . . . . . . . . . . . . . . . . . . . . . . .
##
##  'ImfNumberQQClasses'  returns  the  number of  Q-classes  of  irreducible
##  maximal finite subgroups of GL(dim,Q).
##
DeclareGlobalFunction( "ImfNumberQQClasses" );


#############################################################################
##
#F  ImfNumberZClasses( <dim>, <q> ) . . . . . . . . . . . . . . . . . . . . .
##
##  'ImfNumberZClasses' returns the number of available class representatives
##  in the  qth  Q-class of irreducible maximal finite integral matrix groups
##  of dimension dim,  i. e., the number of Z-classes in that Q-class, if dim
##  is at most 11 or a prime, or just the value 1, else.
##
DeclareGlobalFunction( "ImfNumberZClasses" );


#############################################################################
##
#F  ImfPositionNumber( [ <dim>, <q> ] ) . . . . . . . . . . . . . . . . . . .
#F  ImfPositionNumber( [ <dim>, <q>, <z> ] )  . . . . . . . . . . . . . . . .
##
##  'ImfPositionNumber'  loads the imf main list  if it is not yet available.
##  Then it checks the given arguments and returns the position number of the
##  specified  Z-class representative  within the list of all representatives
##  of dimension dim  which is still  in the  original order  as submitted to
##  us by LehrstuhL B. The default value of z is 1.
##
DeclareGlobalFunction( "ImfPositionNumber" );


#############################################################################
##
#F  OrbitShortVectors( <gens>, <rep> )  . . . . . . . . . . . . . . . . . . .
##
##  'OrbitShortVectors'  is a subroutine of the  'PermGroupImfGroup' command.
##  It returns  the orbit of the  short vector  <rep>  under the matrix group
##  generators given in list <gens>.
##
DeclareGlobalFunction( "OrbitShortVectors" );


#############################################################################
##
#F  IsomorphismPermGroupImfGroup( <M> ) . . . . . . . . . . . . . . . . . . .
#F  IsomorphismPermGroupImfGroup( <M>, <n> )  . . . . . . . . . . . . . . . .
##
##  'IsomorphismPermGroupImfGroup'  returns  an  isomorphism  from  the given
##  irreducible maximal finite integral matrix group  to the permutation grou
##  induced by the action of M  on its nth orbit on the set of short vectors.
##  The default value of n is 1.
##
DeclareGlobalFunction( "IsomorphismPermGroupImfGroup" );


#############################################################################
##
#E