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

565644 views
1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2
%%
3
%W intro.tex FGA documentation Christian Sievers
4
%%
5
%Y 2003 - 2012
6
%%
7
8
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
9
\Chapter{Introduction}
10
11
\atindex{FGA}{@{\FGA}|indexit}
12
13
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14
\Section{Overview}
15
16
This manual describes the {\FGA} (*Free Group Algorithms*) package,
17
a {\GAP} package for computations with finitely generated subgroups of
18
free groups.
19
20
This package allows you to (constructively) test membership and
21
conjugacy, and to compute free generators, the rank, the index,
22
normalizers, centralizers, and intersections
23
where the groups involved are finitely generated subgroups of free groups.
24
%
25
In addition, it provides generators and a finite presentation for the
26
automorphism group of a finitely generated free group and allows to
27
write any such automorphism as word in these generators.
28
29
See Chapter "Functionality of the FGA Package" for details.
30
31
Chapter "Installing and Loading the FGA Package" explains
32
how to install and load the {\FGA} package.
33
34
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
35
\Section{Implementation and background}
36
37
The methods which are used work mainly with inverse finite automata,
38
a variation of an idea known from theoretical computer science.
39
An inverse finite automaton is a finite state automaton over a
40
symmetric alphabet, i.e. one in which every letter has an inverse,
41
such that each transition between two states for a letter corresponds
42
to a transition in the opposite direction for the inverse letter.
43
44
Most of these techniques are described in Chapter 4 of \cite{Sims94},
45
where the same concept is called coset automaton.
46
The method to obtain this automaton is called basic coset enumeration,
47
and in fact it is coset enumeration where only important cosets are
48
defined. Here a coset <Gg> is called important when there
49
are words <w> and <v> such that <wv> is reduced and denotes an element
50
of <G> and <w> denotes an element of <Gg>.
51
52
In \cite{BirgetEtAl00}, the connection between finitely generated
53
subgroups of free groups and inverse finite automata is used to transfer
54
results about the space complexity of problems concerning inverse finite
55
automata to analogous results about finitely generated subgroups of free
56
groups.
57
58
Chapter 6 of \cite{Sims94} describes the Reidemeister-Schreier
59
procedure and a variant called extended coset enumeration which yields
60
a presentation in the given generators. The {\FGA} package uses a
61
variation thereof for its constructive membership test: it leaves out the
62
part of the algorithm that fills in relations and interprets the
63
resulting extended coset table differently.
64
This algorithm might be called extended basic coset enumeration.
65
66
Some word oriented algorithms in the {\FGA} package use basic facts about
67
free groups. These can, for example, be found in \cite{LyndonSchupp77}.
68
69
The presentation of the automorphism groups follows \cite{Neumann33}.
70
The algorithm for writing an automorphism in the generators works
71
first at the level of Nielsen generators and uses relations from
72
\cite{Nielsen}.
73
74
The theoretical background for most of this implementation is
75
explained in \cite{Sievers03}.
76
77
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
78
\Section{Integration of the package}
79
80
The {\FGA} package mainly installs new methods for operations that are
81
already known to {\GAP}. They overlap with methods in the {\GAP}
82
library in the case of groups of finite index. In this case, {\GAP}s
83
methods are usually faster, and the {\FGA} package tries to recognize
84
such cases and to refer to {\GAP}.
85
86
The methods of the {\FGA} package will only be selected when the groups
87
involved know they are finitely generated. This may not always be the
88
case for groups that were not created by methods of the {\FGA}
89
package. In such a case you will get a `no method found' error, or
90
{\GAP} may try a coset enumeration that stops with the message
91
`the coset enumeration has defined more than 256000 cosets'.
92
You may then call `GeneratorsOfGroup', and try again.
93
94
Please inform the package author if you observe any remaining problems.
95
96
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
97
\Section{License}
98
99
Like the {\GAP} system itself, the {\FGA} package is free software;
100
you can redistribute it and/or modify it under the terms of the GNU
101
General Public License as published by the Free Software Foundation;
102
either version 2 of the License, or (at your option) any later
103
version.
104
105
This package is distributed in the hope that it will be useful, but
106
WITHOUT ANY WARRANTY; without even the implied warranty of
107
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
108
General Public License for more details.
109
110
You can find the GNU General Public License in the file `COPYING' of
111
the {\FGA} package, and also in the file `GPL' in the `etc' directory
112
of the main {\GAP} distribution, or see
113
\URL{http://www.gnu.org/licenses/gpl.html}.
114
115
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
116
%%
117
%E
118
119