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

[![Build Status](https://travisci.org/gappackages/polycyclic.svg?branch=master)](https://travisci.org/gappackages/polycyclic)
[![Code Coverage](https://codecov.io/github/gappackages/polycyclic/coverage.svg?branch=master&token=)](https://codecov.io/gh/gappackages/polycyclic)
The GAP 4 package `Polycyclic'
==============================
Introduction

This is the package `Polycyclic` written for GAP 4. It provides a
basis for working with polycyclic groups defined by polycyclic
presentations.
To have the full functionality of the package available you need at
least GAP version 4.5 and the GAP 4 package Alnuth and its dependencies
must be installed.
The features of this package include
 creating a polycyclic group from a polycyclic presentation
 arithmetic in a polycyclic group
 computation with subgroups and factor groups of a polycyclic group
 computation of standard subgroup series such as the derived
series, the lower central series
 computation of the first and second cohomology
 computation of group extensions
 computation of normalizers and centralizers
 solutions to the conjugacy problems for elements and subgroups
 computation of torsion and various finite subgroups
 computation of various subgroups of finite index
 computation of the Schur multiplicator, the nonabelian
exterior square and the nonabelian tenor square
There is a manual in the subdirectory `doc` which describes the
available functions in detail.
If you have used `Polycyclic`, and found important features missing
or if there is a bug, we would appreciate it very much if you could
report this via <https://github.com/gappackages/polycyclic/issues>,
or by sending us an email.
 Bettina Eick <beick@tubs.de>
 Max Horn <max.horn@unisiegen.de>
Contents

With this version you should have obtained the following files and
directories:
 `README`: this file
 `init.g`: the file that initializes this package
 `read.g`: the file that reads in the package
 `PackageInfo.g`: the file for the new package loading mechanism
 `doc`: directory containing the manual
 `gap`: directory containing the GAP code, it contains:
 `action`: actions of polycyclic groups and orbitstabilizer
 `basic`: basic stuff for pcp groups
 `cohom`: cohomology for pcp groups
 `exam`: examples of pcp groups
 `matrep`: matrix representations for pcp groups
 `matrix`: basic stuff for matrices and lattices
 `pcpgrp`: higher level functions for pcp groups
Installation

Make sure that the GAP 4 package Alnuth is installed to have the full
range of methods available in polycyclic.
There are two ways of installing the package. If you have permission
to add files to the installation directory of GAP 4 on your system,
you may install polycyclic in the `pkg` subdirectory of the GAP
installation tree. If you do not, you can also install polycyclic in
a directory where you have write permissions. For general advice, see
also the GAP 4 manual about the installation of GAP packages.
### Installation in the GAP 4 pkg subdirectory on a Unix system.
We assume that the archive file polycyclic.tar.gz or
polycyclic.tar is present in pkg and that the current directory is
pkg. All that needs to be done is to unpack the archive.
tar xzf polycyclic.tar.gz
The tarcommand has unpacked the code into a directory called
`polycyclic` in the current directory. You can check if GAP
recognizes the polycyclic package by starting GAP and doing the
following:
$ gap4
[... startup messages ...]
gap> LoadPackage("polycyclic");
true
gap>
### Installation in a private directory
Let's say you would like to install polycyclic in a directory
called mygap. Create a subdirectory `pkg` in mygap and move the
polycyclic archive into that subdirectory.
cd mygap
mkdir pkg
mv polycyclic.tar.gz pkg
cd pkg
tar xzf polycyclic.tar.gz
The tarcommand has unpacked the code into a directory called
`polycyclic` in the current directory. You can check if GAP
recognizes the polycyclic package by starting GAP and doing the
following. GAP needs to be told that it should scan the directory
mygap/pkg for GAP packages. This is achieved by calling gap with
the option l. Note the semicolon and the single quotes.
$ gap4 l ';mygap/'
[... startup messages ...]
gap> LoadPackage("polycyclic");
true
gap>
