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
<!-- %W technica.xml GAP 4 package AtlasRep Thomas Breuer -->
3
<!-- %Y Copyright 2001, Lehrstuhl D f�r Mathematik, RWTH Aachen, Germany -->
4
5
6
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
7
<Chapter Label="chap:Technicalities of the AtlasRep Package">
8
<Heading>Technicalities of the <Package>AtlasRep</Package> Package</Heading>
9
10
This chapter describes those parts of the &GAP; interface to the
11
&ATLAS; of Group Representations that do not belong to the user interface
12
(cf.&nbsp;Chapter&nbsp;<Ref Chap="chap:The User Interface of the AtlasRep Package"/>).
13
<P/>
14
Besides global variables used for administrational purposes
15
(see Section&nbsp;<Ref Sect="sect:Global Variables Used by the AtlasRep Package"/>)
16
and several sanity checks
17
(see Section&nbsp;<Ref Sect="sect:AGR Sanity Checks"/>),
18
they can be regarded as
19
the interface between the data actually contained in the files and
20
the corresponding &GAP; objects
21
(see
22
Section&nbsp;<Ref Sect="sect:How to Customize the Access to Data files"/>,
23
<Ref Sect="sect:Reading and Writing MeatAxe Format Files"/>,
24
<Ref Sect="sect:Reading and Writing Atlas Straight Line Programs"/>,
25
and&nbsp;<Ref Sect="sect:Data Types Used in the AGR"/>),
26
and the interface between the remote and the local version of the database
27
(see Section&nbsp;<Ref Sect="sect:Filenames Used in the AGR"/>
28
and&nbsp;<Ref Sect="sect:The Tables of Contents of the AGR"/>).
29
The former interface contains functions to read and write files in
30
&MeatAxe; format, which may be interesting for users familiar with
31
&MeatAxe; standalones (see for example&nbsp;<Cite Key="CMeatAxe"/>).
32
Other low level functions may be undocumented in the sense that they are
33
not described in this manual.
34
Users interested in them may look at the actual implementation in the
35
<F>gap</F> directory of the package,
36
but it may happen that this will be changed
37
in future versions of the package.
38
39
40
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
41
<Section Label="sect:Global Variables Used by the AtlasRep Package">
42
<Heading>Global Variables Used by the <Package>AtlasRep</Package> Package
43
</Heading>
44
45
For debugging purposes, the functions from the &GAP; interface to the
46
&ATLAS; of Group Representations print information depending on the info
47
level of the info classes <Ref InfoClass="InfoAtlasRep"/>,
48
<Ref InfoClass="InfoCMeatAxe"/>, and <Ref InfoClass="InfoBBox"/>
49
(cf.&nbsp;<Ref Sect="Info Functions" BookName="ref"/>).
50
51
<P/>
52
53
The info level of an info class can be changed using
54
<Ref Func="SetInfoLevel" BookName="ref"/>.
55
For example, the info level of <Ref InfoClass="InfoAtlasRep"/> can be set
56
to the nonnegative integer <A>n</A> using
57
<C>SetInfoLevel( InfoAtlasRep, <A>n</A> )</C>.
58
59
<P/>
60
61
Information about files being read can be obtained by setting the
62
value of the global variable <C>InfoRead1</C>
63
to <Ref Func="Print" BookName="ref"/>.
64
65
<P/>
66
67
<#Include Label="InfoAtlasRep">
68
<#Include Label="InfoCMeatAxe">
69
<#Include Label="InfoBBox">
70
71
<P/>
72
73
<ManSection>
74
<Var Name="CMeatAxe.FastRead"/>
75
76
<Description>
77
If this component is bound and has the value <K>true</K> then
78
<Ref Func="ScanMeatAxeFile"/> reads text files via
79
<Ref Func="StringFile" BookName="gapdoc"/>.
80
Otherwise each file containing a matrix over a finite field is read line by
81
line via <Ref Func="ReadLine" BookName="ref"/>,
82
and the &GAP; matrix is constructed line by line, in a compressed
83
representation
84
(see&nbsp;<Ref Sect="Row Vectors over Finite Fields" BookName="ref"/>
85
and&nbsp;<Ref Sect="Matrices over Finite Fields" BookName="ref"/>),
86
which makes it possible to read large matrices in a reasonable amount
87
of space.
88
The <Ref Func="StringFile" BookName="gapdoc"/> approach is faster
89
but needs more intermediate space when text files containing
90
matrices over finite fields are read.
91
</Description>
92
</ManSection>
93
94
<P/>
95
96
<#Include Label="AGR">
97
<#Include Label="AtlasOfGroupRepresentationsInfo">
98
99
</Section>
100
101
102
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
103
<Section Label="sect:How to Customize the Access to Data files">
104
<Heading>How to Customize the Access to Data files</Heading>
105
106
<#Include Label="AccessFunctionsDefault">
107
108
</Section>
109
110
111
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
112
<Section Label="sect:Reading and Writing MeatAxe Format Files">
113
<Heading>Reading and Writing MeatAxe Format Files</Heading>
114
115
<Index Subkey="MeatAxe format">matrix</Index>
116
<Index Subkey="MeatAxe format">permutation</Index>
117
118
<#Include Label="ScanMeatAxeFile">
119
<#Include Label="MeatAxeString">
120
<#Include Label="FFList">
121
<#Include Label="CMtxBinaryFFMatOrPerm">
122
<#Include Label="FFMatOrPermCMtxBinary">
123
124
</Section>
125
126
127
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
128
<Section Label="sect:Reading and Writing Atlas Straight Line Programs">
129
<Heading>Reading and Writing &ATLAS; Straight Line Programs</Heading>
130
131
<#Include Label="ScanStraightLineProgram">
132
<#Include Label="AtlasStringOfProgram">
133
134
</Section>
135
136
137
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
138
<Section Label="sect:Data Types Used in the AGR">
139
<Heading>Data Types Used in the &ATLAS; of Group Representations</Heading>
140
141
Each representation or program that is administrated by the
142
<Package>AtlasRep</Package> package belongs to a unique <E>data type</E>.
143
Informally, examples of data types are
144
<Q>permutation representation</Q>,
145
<Q>matrix representation over the integers</Q>, or
146
<Q>straight line program for computing class representatives</Q>.
147
148
<P/>
149
150
The idea is that for each data type, there can be
151
<List>
152
<Item>
153
a column of its own in the output produced by
154
<Ref Func="DisplayAtlasInfo"/>
155
when called without arguments or with only argument a list of
156
group names,
157
</Item>
158
<Item>
159
a line format of its own for the output produced by
160
<Ref Func="DisplayAtlasInfo"/>
161
when called with first argument a group name,
162
</Item>
163
<Item>
164
an input format of its own for <Ref Func="AtlasProgram"/>,
165
</Item>
166
<Item>
167
an input format of its own for <Ref Func="OneAtlasGeneratingSetInfo"/>,
168
and
169
</Item>
170
<Item>
171
specific tests for the data of this data type;
172
these functions are used by the global tests described in
173
Section&nbsp;<Ref Sect="sect:AGR Sanity Checks"/>.
174
</Item>
175
</List>
176
177
<P/>
178
179
Formally, a data type is defined by a record whose components are used by
180
the interface functions.
181
The details are described in the following.
182
183
<#Include Label="AGRDeclareDataType">
184
185
</Section>
186
187
188
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
189
<Section Label="sect:Filenames Used in the AGR">
190
<Heading>Filenames Used in the &ATLAS; of Group Representations</Heading>
191
192
<#Include Label="[1]{access}">
193
194
<P/>
195
196
<#Include Label="AGRParseFilenameFormat">
197
<#Include Label="AGRFileContents">
198
199
</Section>
200
201
202
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
203
<Section Label="sect:The Tables of Contents of the AGR">
204
<Heading>The Tables of Contents of the &ATLAS; of Group Representations
205
</Heading>
206
207
<#Include Label="toc">
208
209
</Section>
210
211
212
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
213
<Section Label="sect:AGR Sanity Checks">
214
<Heading>Sanity Checks for the &ATLAS; of Group Representations</Heading>
215
216
<#Include Label="tests">
217
218
</Section>
219
220
221
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
222
223
</Chapter>
224
225
226