CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

| Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

Views: 418346
1
2
4 Customizations of the AtlasRep Package
3
4
5
4.1 Installing the AtlasRep Package
6
7
To install the package, unpack the archive file in a directory in the pkg
8
directory of your local copy of GAP 4. This might be the pkg directory of
9
the GAP 4 root directory, see 'Reference: Installing a GAP Package' for
10
details. It is however also possible to keep an additional pkg directory in
11
your private directories, see Section 'Reference: GAP Root Directories'. The
12
latter possibility must be chosen if you do not have write access to the GAP
13
root directory.
14
15
Data files that are available from an earlier version of the package are in
16
principle kept;
17
see AtlasOfGroupRepresentationsTestTableOfContentsRemoteUpdates (4.2-4) for
18
necessary updates.
19
20
If it is likely that one will work offline, it makes sense to install the
21
starter archive that can be downloaded from the package's homepage.
22
23
The package consists entirely of GAP code, no external binaries need to be
24
compiled for the package itself. However, if the GAP package IO [Neu14] is
25
used to access remote data files (see Section 4.3-3) then its external
26
binary must be available.
27
28
After unpacking the package archive, the write permissions for those
29
directories should be checked into which users will download files. Every
30
user can customize these paths via a user preference, see Section 4.3-9, the
31
defaults are the subdirectories datagens and dataword of the package
32
directory. The recommended permissions under UNIX for the default
33
directories are set as follows.
34
35
 Example 
36
you@unix> chmod 1777 atlasrep/data*
37
you@unix> ls -ld atlasrep/data*
38
drwxrwxrwt 3 you you 1024 Oct 31 12:34 datagens
39
drwxrwxrwt 3 you you 1024 Oct 31 12:34 dataword
40

41
42
For checking the installation of the package, you should start GAP and call
43
44
 Example 
45
gap> ReadPackage( "atlasrep", "tst/testinst.g" );
46

47
48
If the installation is o.k. then the GAP prompt appears without anything
49
else being printed; otherwise the output lines tell you what should be
50
changed.
51
52
More test files are available in the tst directory of the package, see
53
Section  7.8 for details.
54
55
PDF, HTML, and text versions of the package manual are available in the doc
56
directory of the package.
57
58
59
4.2 Maintaining the Local Data of the AtlasRep Package
60
61
The current table of contents of the database is contained in the file
62
gap/atlasprm.g of the AtlasRep package. This file is read by default when
63
the package is loaded. It may happen that new data files have been added to
64
the servers since the last release of the AtlasRep package, thus it is
65
useful to update the table of contents of the package from time to time.
66
67
For that, one can fetch the most recent version of the file gap/atlasprm.g
68
from the home page of the package (see Section 4.4), either by
69
calling ReloadAtlasTableOfContents (4.2-1) in a GAP session or by hand. In
70
the latter case, the new file can then be read into the GAP session via
71
ReplaceAtlasTableOfContents (4.2-3). Alternatively, one can add a line to
72
the user's gaprc file (see 'Reference: The gap.ini and gaprc files'), which
73
assigns the filename of the current gap/atlasprm.g file (as an absolute path
74
or relative to the user's home directory, cf. Directory (Reference:
75
Directory)) to the global variable ATLASREP_TOCFILE; in this case, this file
76
is read instead of the one from the package distribution when the package is
77
loaded.
78
79
Users who have write access to the directory where the AtlasRep package is
80
installed can alternatively use the maketoc script in the etc directory of
81
the package for regularly updating the file gap/atlasprm.g. Users without
82
this write access can store the new file in a different place, and read it
83
with ReplaceAtlasTableOfContents (4.2-3).
84
85
4.2-1 ReloadAtlasTableOfContents
86
87
ReloadAtlasTableOfContents( dirname )  function
88
Returns: fail if the required table of contents could not be reloaded,
89
otherwise true.
90
91
Let dirname be a string, which must be one of "remote", "local", or the name
92
of a private data directory (see Chapter 5).
93
94
In the case of "remote", the file atlasprm.g is fetched from the package's
95
home page, and then read into GAP. In the case of "local", the subset of the
96
data listed in the "remote" table of contents is considered that are
97
actually available in the local data directories. In the case of a private
98
directory, its contents is inspected, and the table of contents for dirname
99
is replaced by the one obtained from inspecting the actual contents of the
100
data directories (see Section 7.7).
101
102
4.2-2 StoreAtlasTableOfContents
103
104
StoreAtlasTableOfContents( filename )  function
105
106
Let filename be a string. This function prints the loaded table of contents
107
of the servers to the file with name filename.
108
109
4.2-3 ReplaceAtlasTableOfContents
110
111
ReplaceAtlasTableOfContents( filename )  function
112
113
Let filename be the name of a file that has been created with
114
StoreAtlasTableOfContents (4.2-2).
115
116
ReplaceAtlasTableOfContents first removes the information that GAP has
117
stored about the table of contents of the servers, and then reads the file
118
with name filename, thus replacing the previous information by the stored
119
one.
120
121
4.2-4 AtlasOfGroupRepresentationsTestTableOfContentsRemoteUpdates
122
123
AtlasOfGroupRepresentationsTestTableOfContentsRemoteUpdates( )  function
124
Returns: the list of names of all locally available data files that should
125
be removed.
126
127
This function fetches the file changes.html from the package's home page,
128
extracts the times of changes for the data files in question, and compares
129
them with the times of the last changes of the local data files. For that,
130
the GAP package IO [Neu14] is needed; if it is not available then an error
131
message is printed, and fail is returned.
132
133
If the time of the last modification of a server file is later than that of
134
the local copy then the local file must be updated. (This means that
135
touching files in the local directories will cheat this function.)
136
137
It is useful that a system administrator (i. e., someone who has the
138
permission to remove files from the data directories) runs this function
139
from time to time, and afterwards removes the files in the list that is
140
returned. This way, new versions of these files will be fetched
141
automatically from the servers when a user asks for their data.
142
143
144
4.3 User Parameters for the AtlasRep Package
145
146
This section lists global parameters for which it might make sense to change
147
their defaults by assignments to global variables (see
148
AtlasOfGroupRepresentationsUserParameters (4.3-8) for an overview of these
149
parameters) or using GAP's user preferences (see 'Reference: Configuring
150
User preferences').
151
152
153
4.3-1 Local or Remote Access
154
155
There are two possibilities to use the AtlasRep package.
156
157
Local access only (offline)
158
You can restrict the access to the data that are actually stored in
159
the local installation of GAP.
160
161
Remote access (online)
162
If your computer is connected to a network that provides access to the
163
ATLAS data (for example the internet) then the functions of the
164
package may fetch the requested data automatically from remote servers
165
when they are required for the first time; these data are then by
166
default stored in the local copy, so later access to them needs no
167
network transfer.
168
169
The latter possibility is presently not used by other GAP packages, so it
170
may be regarded as an important feature of the AtlasRep package. Anyhow it
171
requires a few words of explanation.
172
173
The possibility of online access reflects in particular the fact that the
174
ATLAS of Group Representations is designed as an open database, it is
175
expected to grow. As soon as the developers of the ATLAS of Group
176
Representations add new information to the servers, these data become
177
available in GAP when remote access is enabled, after one has updated the
178
corresponding table of contents (see Section 4.2).
179
180
Remote access is enabled if and only if the value of the remote component of
181
the global variable AtlasOfGroupRepresentationsInfo (7.1-6) is true. If one
182
wants to work offline, i.e., if one does not want GAP to attempt accessing
183
remote data then this value must be set to false.
184
185
Conversely, if the default value of the remote component in your GAP
186
installation is false then changing this value to true may be not
187
successful. First, it might be the case that no server is reachable. And
188
second, if one can in principle download files from a server then it might
189
be impossible to actually store these files in the data directories of the
190
installed package; in this case, it is advisable to install the whole
191
package or just its data directories in a private directory, see 'Reference:
192
GAP Root Directories' for details.
193
194
195
4.3-2 Adding and Removing Servers
196
197
When access to remote data is enabled (see Section 4.3-1) then the available
198
servers are given by the servers component of the global variable
199
AtlasOfGroupRepresentationsInfo (7.1-6).
200
201
Removing entries from this list means to disable access to the corresponding
202
servers, adding entries makes the corresponding servers available. Of course
203
the latter makes sense only if the new servers really exist, for example in
204
a local network.
205
206
Currently there is just one remote server. As soon as other servers become
207
available, or a server name is changed which makes it necessary to adjust
208
the servers component, this will be announced in the GAP Forum, cf.
209
'Tutorial: Further Information about GAP'. The same holds when upgrades of
210
the package become available.
211
212
213
4.3-3 Accessing Data Files with the GAP Package IO or with wget
214
215
When access to remote data is enabled (see Section 4.3-1) then one needs
216
either the GAP package IO [Neu14] or the external program wget for accessing
217
data files.
218
219
The chosen alternative is given by the value of the wget component of the
220
global variable AtlasOfGroupRepresentationsInfo (7.1-6).
221
222
If this component has the value true then only wget is tried, if the value
223
is false then only the IO package is used. If this component is not bound or
224
bound to another value than true or false (this is also the default) then
225
the IO package is preferred to wget if this package is available, and
226
otherwise wget is tried.
227
228
Note that the system program wget may be not available, and that it may
229
require some work to install it; hints for that can be found on the home
230
page of the AtlasRep package (see Section 4.4).
231
232
233
4.3-4 Compressed or Uncompressed Data Files
234
235
When used with UNIX, GAP can read gzipped files, see 'Reference: Saving and
236
Loading a Workspace'. If the component compress of
237
AtlasOfGroupRepresentationsInfo (7.1-6) has the value true then each MeatAxe
238
format file that is fetched from a remote server is afterwards compressed
239
with gzip. This saves a lot of space if many MeatAxe format files are
240
accessed. (Note that data files in other formats are very small.) For
241
example, at the time of the release of version 1.5.1 there were about 8400
242
data files in MeatAxe format, which needed about 1400 MB in uncompressed
243
text format and about 275 MB in compressed text format. The default value
244
for the component compress is false.
245
246
247
4.3-5 Customizing DisplayAtlasInfo
248
249
The way how DisplayAtlasInfo (3.5-1) shows the requested overview is
250
controlled by the component displayFunction of
251
AtlasOfGroupRepresentationsInfo (7.1-6). The default value is Print
252
(Reference: Print), other useful values are PrintFormattedString (GAPDoc:
253
PrintFormattedString) and AGR.Pager; the latter calls Pager (Reference:
254
Pager) with the formatted option, which is necessary for switching off GAP's
255
automatic line breaking.
256
257
258
4.3-6 Customizing the Access to Data Files
259
260
By default, local data files are stored in the subdirectories datagens and
261
dataword of the directory given by the user preference AtlasRepDataDirectory
262
(see Section 4.3-9), and the files are exactly the text files provided on
263
the servers. However, a more flexible approach may be useful.
264
265
First, one may want to use different file formats, for example the MeatAxe
266
binary files that are provided by the servers parallel to the MeatAxe text
267
files. Second, one may want to use a different directory structure, for
268
example the same structure as used on the servers –this makes sense for
269
example if a local mirror of a server is available, because then one can
270
read the server files directly, without transferring/copying them to another
271
directory.
272
273
As a consequence, one would like to customize the meaning of the following
274
three access steps.
275
276
Are the required files locally available?
277
The required files may have a different name or a different path, and
278
the data can be available in one file or can be distributed to several
279
files.
280
281
How can a file be made locally available?
282
A different server file may be fetched or some postprocessing may be
283
required.
284
285
How is the data of a file accessed by GAP?
286
A different function may be needed to read the file.
287
288
Details how to achieve these customizations can be found in Section 7.2.
289
290
291
4.3-7 Reading Large Matrices over Finite Fields
292
293
Matrices over finite fields in GAP can be represented in a compressed format
294
that needs less space than the corresponding text file. Such a MeatAxe
295
format text file can be read by ScanMeatAxeFile (7.3-1) either line by line
296
(which is the default) or as a whole; the latter is faster but needs more
297
space than the former. For example, a 4370 by 4370 matrix over the field
298
with two elements (as occurs for an irreducible representation of the Baby
299
Monster) requires less than 3 MB space in GAP but the corresponding MeatAxe
300
format text file is more than 19 MB large, which means that when one reads
301
the file with the fast variant, GAP will temporarily grow by more than this
302
value. One can change the mode by setting the global variable
303
CMeatAxe.FastRead (7.1-4) to true or false, respectively.
304
305
Note that this parameter is meaningful only when ScanMeatAxeFile (7.3-1) is
306
used. It has no effect for example if MeatAxe binary files are read,
307
cf. FFMatOrPermCMtxBinary (7.3-5).
308
309
4.3-8 AtlasOfGroupRepresentationsUserParameters
310
311
AtlasOfGroupRepresentationsUserParameters( )  function
312
313
This function returns a string that describes an overview of the current
314
values of the user parameters introduced in this section. One can use Print
315
(Reference: Print) or Pager (Reference: Pager) for showing the overview.
316
317
318
4.3-9 User preference AtlasRepDataDirectory
319
320
The value must be a string that is the filename of a directory (in the sense
321
of IsDirectoryPath (Reference: IsDirectoryPath)) that contains the
322
directories datagens and dataword in which downloaded data will be stored.
323
The default is the installation path of the AtlasRep package (including a
324
trailing slash symbol).
325
326
327
4.3-10 User preference WriteMeatAxeFilesOfMode2
328
329
The value true means that the function MeatAxeString (7.3-2) will encode
330
permutation matrices via mode 2 descriptions, that is, the first entry in
331
the header line is 2, and the following lines contain the positions of the
332
nonzero entries. If the value is false (the default) then MeatAxeString
333
(7.3-2) encodes permutation matrices via mode 1 or mode 6 descriptions, that
334
is, the lines contain the matrix entries.
335
336
337
4.3-11 User preference BaseOfMeatAxePermutation
338
339
The value 0 means that the function CMtxBinaryFFMatOrPerm (7.3-4) writes
340
zero-based permutations, that is, permutations acting on the points from 0
341
to the degree minus one; this is achieved by shifting down all images of the
342
GAP permutation by one. The value 1 (the default) means that the permutation
343
stored in the binary file acts on the points from 1 to the degree.
344
345
Up to version 2.3 of the C-MeatAxe, permutations in binary files were always
346
one-based. Zero-based permutations were introduced in version 2.4, which
347
still is able to read files containing one-based permutations.
348
349
350
4.4 Web Services for the AtlasRep Package
351
352
The home page of the AtlasRep package is
353
354
http://www.math.rwth-aachen.de/~Thomas.Breuer/atlasrep.
355
356
Besides package archives and introductory package information, it provides
357
358
 the current file with the table of contents (the file gap/atlasprm.g
359
of the package, see
360
http://www.math.rwth-aachen.de/~Thomas.Breuer/atlasrep/atlasprm.g),
361
cf. ReloadAtlasTableOfContents (4.2-1),
362
363
 a starter archive containing many small representations and programs
364
(see
365
http://www.math.rwth-aachen.de/~Thomas.Breuer/atlasrep/atlasrepdata.tar.gz),
366
367
 the list of changes of server files in HTML format (see
368
http://www.math.rwth-aachen.de/~Thomas.Breuer/atlasrep/htm/data/changes.htm),
369
cf. AtlasOfGroupRepresentationsTestTableOfContentsRemoteUpdates
370
(4.2-4), and
371
372
 an overview of the data available via the GAP interface to the ATLAS
373
of Group Representations, in HTML format (see
374
http://www.math.rwth-aachen.de/~Thomas.Breuer/atlasrep/htm/data/overview.htm);
375
this is similar to the information shown by DisplayAtlasInfo (3.5-1),
376
further information can be found on the home page of the ATLAS, see
377
http://brauer.maths.qmul.ac.uk/Atlas.
378
379
380
4.5 Extending the ATLAS Database
381
382
Users who have computed new representations that might be interesting for
383
inclusion into the ATLAS of Group representations can send the data in
384
question to mailto:[email protected].
385
386
It is also possible to store private representations and programs in local
387
directories, and to use them in the same way as the official data. See
388
Chapter 5 for details.
389
390
391