Groups defined by polycyclic presentations are called PcpGroups in **GAP**. We refer to the Polycyclic manual [EN00] for further background.

Suppose that a collection X of matrices of GL(d,R) is given, where the ring R is either ℚ,ℤ or a finite field. Let G= ⟨ X ⟩. If the group G is polycyclic, then the following functions determine a PcpGroup isomorphic to G.

`‣ PcpGroupByMatGroup` ( G ) | ( operation ) |

`G` is a subgroup of GL(d,R) where R=ℚ,ℤ or F_q. If `G` is polycyclic, then this function determines a PcpGroup isomorphic to `G`. If `G` is not polycyclic, then this function returns `fail`

.

`‣ IsomorphismPcpGroup` ( G ) | ( method ) |

`G` is a subgroup of GL(d,R) where R=ℚ,ℤ or F_q. If `G` is polycyclic, then this function determines an isomorphism onto a PcpGroup. If `G` is not polycyclic, then this function returns `fail`

.

Note that the method `IsomorphismPcpGroup`

, installed in this package, cannot be applied directly to a group given by the function `AlmostCrystallographicGroup`

. Please use `POL_AlmostCrystallographicGroup`

(with the same parameters as `AlmostCrystallographicGroup`

) instead.

`‣ ImagesRepresentative` ( map, elm ) | ( method ) |

`‣ ImageElm` ( map, elm ) | ( method ) |

`‣ ImagesSet` ( map, elms ) | ( method ) |

Here `map` is an isomorphism from a polycyclic matrix group `G` onto a PcpGroup `H` calculated by `IsomorphismPcpGroup`

(2.1-2). These methods can be used to compute with such an isomorphism. If the input `elm` is an element of `G`, then the function `ImageElm`

can be used to compute the image of `elm` under `map`. If `elm` is not contained in `G` then the function `ImageElm`

returns `fail`

. The input `pcpelm` is an element of `H`.

`‣ IsSolvableGroup` ( G ) | ( method ) |

`G` is a subgroup of GL(d,R) where R=ℚ,ℤ or F_q. This function tests if `G` is solvable and returns `true`

or `false`

.

`‣ IsTriangularizableMatGroup` ( G ) | ( property ) |

`G` is a subgroup of GL(d,ℚ). This function tests if `G` is triangularizable (possibly over a finite field extension) and returns `true`

or `false`

.

`‣ IsPolycyclicGroup` ( G ) | ( method ) |

`G` is a subgroup of GL(d,R) where R=ℚ,ℤ or F_q. This function tests if `G` is polycyclic and returns `true`

or `false`

.

Let G be a finitely generated solvable subgroup of GL(d,ℚ). The vector space ℚ^d is a module for the algebra ℚ[G]. The following functions provide the possibility to compute certain module series of ℚ^d. Recall that the radical Rad_G(ℚ^d) is defined to be the intersection of maximal ℚ[G]-submodules of ℚ^d. Also recall that the radical series

0=R_n < R_{n-1} < \dots < R_1 < R_0=ℚ^d

is defined by R_i+1:= Rad_G(R_i).

`‣ RadicalSeriesSolvableMatGroup` ( G ) | ( operation ) |

This function returns a radical series for the ℚ[G]-module ℚ^d, where `G` is a solvable subgroup of GL(d,ℚ).

A radical series of ℚ^d can be refined to a homogeneous series.

`‣ HomogeneousSeriesAbelianMatGroup` ( G ) | ( function ) |

A module is said to be homogeneous if it is the direct sum of pairwise irreducible isomorphic submodules. A homogeneous series of a module is a submodule series such that the factors are homogeneous. This function returns a homogeneous series for the ℚ[G]-module ℚ^d, where `G` is an abelian subgroup of GL(d,ℚ).

`‣ HomogeneousSeriesTriangularizableMatGroup` ( G ) | ( function ) |

A module is said to be homogeneous if it is the direct sum of pairwise irreducible isomorphic submodules. A homogeneous series of a module is a submodule series such that the factors are homogeneous. This function returns a homogeneous series for the ℚ[G]-module ℚ^d, where `G` is a triangularizable subgroup of GL(d,ℚ).

A homogeneous series can be refined to a composition series.

`‣ CompositionSeriesAbelianMatGroup` ( G ) | ( function ) |

A composition series of a module is a submodule series such that the factors are irreducible. This function returns a composition series for the ℚ[G]-module ℚ^d, where `G` is an abelian subgroup of GL(d,ℚ).

`‣ CompositionSeriesTriangularizableMatGroup` ( G ) | ( function ) |

A composition series of a module is a submodule series such that the factors are irreducible. This function returns a composition series for the ℚ[G]-module ℚ^d, where `G` is a triangularizable subgroup of GL(d,ℚ).

`‣ SubgroupsUnipotentByAbelianByFinite` ( G ) | ( operation ) |

`G` is a subgroup of GL(d,R) where R=ℚ or ℤ. If `G` is polycyclic, then this function returns a record containing two normal subgroups T and U of G. The group T is unipotent-by-abelian (and thus triangularizable) and of finite index in `G`. The group U is unipotent and is such that T/U is abelian. If `G` is not polycyclic, then the algorithm returns `fail`

.

`‣ PolExamples` ( l ) | ( function ) |

Returns some examples for polycyclic rational matrix groups, where `l` is an integer between 1 and 24. These can be used to test the functions in this package. Some of the properties of the examples are summarised in the following table.

PolExamples number generators subgroup of Hirsch length 1 3 GL(4,Z) 6 2 2 GL(5,Z) 6 3 2 GL(4,Q) 4 4 2 GL(5,Q) 6 5 9 GL(16,Z) 3 6 6 GL(4,Z) 3 7 6 GL(4,Z) 3 8 7 GL(4,Z) 3 9 5 GL(4,Q) 3 10 4 GL(4,Q) 3 11 5 GL(4,Q) 3 12 5 GL(4,Q) 3 13 5 GL(5,Q) 4 14 6 GL(5,Q) 4 15 6 GL(5,Q) 4 16 5 GL(5,Q) 4 17 5 GL(5,Q) 4 18 5 GL(5,Q) 4 19 5 GL(5,Q) 4 20 7 GL(16,Z) 3 21 5 GL(16,Q) 3 22 4 GL(16,Q) 3 23 5 GL(16,Q) 3 24 5 GL(16,Q) 3

generated by GAPDoc2HTML