Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

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

563520 views
1
\section{The structure of relevant files}
2
3
There are two file types related to CARAT, {\rm matrix\_TYP} and {\rm
4
bravais\_TYP}. Both of them consist of a set of matrices, combined
5
in different ways. Firstly we describe the format of matrices which
6
CARAT is able to read.
7
8
\subsection{Format of a single matrix in CARAT}
9
10
A matrix in a CARAT file is represented by a headline which gives
11
information about the dimension of the matrix and the body, which
12
carries the entries of the matrix in question.
13
14
The headline has the format
15
\begin{verbatim} NxM % comment \end{verbatim}
16
for a matrix which has $N$ rows and $N$ columns. All characters in this
17
line behind {\rm \%} are ignored. There are some abbreviations allowed, and
18
these are {\rm N} for {\rm NxN}, {\rm Nd0} for an $N \times N$ scalar matrix,
19
{\rm Nd1} for an $N \times N$ diagonal matrix, and {\rm Nx0} for an $N\times
20
N$ symmetric matrix.
21
22
The body consists of the entries of the matrix. Two numbers are separated
23
by any combination of spaces, newlines or tabulators.
24
25
For simplicity of the description a couple of examples are given, the left
26
side of these discribing the input, and the right hand side stating it's
27
meaning.
28
29
\bigskip
30
\begin{minipage}{6cm}
31
\begin{verbatim}
32
3x2 % this will be ignored
33
1 2
34
3 4
35
5 6
36
\end{verbatim}
37
\end{minipage}\hfill
38
\begin{minipage}{5cm}
39
$\left( \begin{array}{cc} 1 & 2\\
40
3 & 4\\
41
5 & 6 \end{array}\right)$
42
\end{minipage}\\
43
44
\bigskip
45
\begin{minipage}{6cm}
46
\begin{verbatim}
47
3
48
1 2 3
49
4 5 6
50
7 8 9
51
\end{verbatim}
52
\end{minipage}\hfill
53
\begin{minipage}{5cm}
54
$\left( \begin{array}{ccc} 1 & 2 & 3\\
55
4 & 5 & 6\\
56
7 & 8 & 9\end{array}\right)$
57
\end{minipage}\\
58
\bigskip
59
\begin{minipage}{6cm}
60
\begin{verbatim}
61
3d1 % and also this
62
1 -1 2
63
\end{verbatim}
64
\end{minipage}\hfill
65
\begin{minipage}{5cm}
66
$ \left( \begin{array}{ccc} 1 & 0 & 0\\
67
0 & -1& 0\\
68
0 & 0 & 2\end{array}\right)$
69
\end{minipage}\\
70
71
\bigskip
72
\begin{minipage}{6cm}
73
\begin{verbatim}
74
2d0
75
4
76
\end{verbatim}
77
\end{minipage}\hfill
78
\begin{minipage}{5cm}
79
$ \left( \begin{array}{cc} 4 & 0\\
80
0 & 4\end{array}\right)$
81
\end{minipage}
82
83
\bigskip
84
All files which are read by CARAT programs consist of a sequence of
85
one or more of these matrices, sometimes with a header line describing
86
to meaning of all these matrices (see below).
87
88
\subsection{\rm matrix\_TYP}
89
90
Some programs in CARAT will read/output more than one matrix. Therefore
91
we created a file type which is called {\rm matrix\_TYP} and describes
92
a sequence of matrices.
93
94
Files of this type will simply begin with $\sharp N$, where $N$ is the
95
number of matrices in the file. If CARAT reads such a file, it will
96
read exactly $N$ matrices and will ignore the rest of the file.
97
98
Now we give an example of a file consisting of $3$ matrices of dimension $4$
99
which generate a bravais group of Order $384$ (which is isomorphic to
100
$C_2 \wr S_4$).
101
\begin{verbatim}
102
#3
103
4 % generator
104
-1 0 0 0
105
0 1 0 0
106
0 0 1 0
107
0 0 0 1
108
4 % generator
109
0 1 0 0
110
1 0 0 0
111
0 0 1 0
112
0 0 0 1
113
4 % generator
114
1 0 0 0
115
0 0 0 1
116
0 1 0 0
117
0 0 1 0
118
\end{verbatim}
119
120
121
\subsection{\rm bravais\_TYP}
122
123
Sometimes it is convenient not only to give matrices which generate a
124
group, but feed programs more information, ie.\ the order of the group,
125
it's normalizer in $GL_n(\Z)$.
126
127
Therefore the header line of a file of {\rm bravais\_TYP} takes the
128
following form:
129
\begin{verbatim}
130
\sharp gN\ fM\ zO\ nP\ cQ
131
\end{verbatim}
132
This will cause programs to read $N+M+O+P+Q$ matrices, and interpret
133
the first $N$ matrices as those generating the group, the next $M$
134
to be a $\Z$-basis of the form space, $O$ matrices representing ``centerings'',
135
$P$ matrices which form a generating set for the normalizer (in $GL_n(\Z)$)
136
modulo the group, and finally $Q$ matrices which generated it's centralizer
137
(again in $GL_n(\Z)$).
138
139
It is possible to omit one or more of these letter, which will cause
140
programs to think that the described components are not know.
141
142
Here are some legal header lines given
143
\begin{verbatim}
144
#g2 f2 n3
145
146
#g2 n4
147
148
#g2 n4
149
\end{verbatim}
150
Note: Although it is possible to omit components, it is NOT possible to switch
151
them.
152
153
The end of a {\rm bravais\_TYP} file states the order of the group. This
154
component is also optional, and takes the following form:
155
\begin{displaymath}
156
p_1^{n_1}\ \ast\ p_2^n2\ \dots\ \ast p_m^{n_m} = N\%
157
\end{displaymath}
158
where $\prod_i p_i^{m_i} = N$ is the order of the described group.
159
160
\subsection{A format for finitely presented Groups}
161
162
Some programs we need or generate a presentation for a finite group.
163
CARAT reads them in form of a matrix, which will be interpreted in the
164
following way:
165
\begin{itemize}
166
\item The biggest entry in modulus is the number of generators of
167
the free group.
168
\item Each ROW of the matrix represents a relation, ie. a word in
169
the generators of the free group. A word
170
$w=x_{i_1}^{\epsilon_1} \cdot x_{i_2}^{\epsilon_2} \cdots
171
x_{i_n}^{\epsilon_n}$ with $\epsilon_j \in \{-1,1\}$ translate
172
into a row of the matrix by $\epsilon_1 i_1\ espilon_2 i_2\ \dots\
173
\epsilon_n i_n$.
174
\end{itemize}
175
176
Again we just give two examples for CARAT presentations (which both
177
are presentations for the $A_5$).
178
179
\bigskip
180
\begin{verbatim}
181
3x10
182
1 1 0 0 0 0 0 0 0 0
183
2 2 2 0 0 0 0 0 0 0
184
1 2 1 2 1 2 1 2 1 2
185
\end{verbatim}
186
Meaning:
187
\begin{displaymath}
188
\langle x_1,x_2 | x_1\cdot x_1=1,\ x_2 \cdot x_2\cdot x_2=1,\
189
x_1\cdot x_2 \cdots x_1 \cdot x_2 = (x_1 \cdot x_2)^5 = 1
190
\rangle
191
\end{displaymath}
192
193
\bigskip
194
\begin{verbatim}
195
3x10
196
\end{verbatim}
197
198