There are the following generic pcp-groups available.

`‣ AbelianPcpGroup` ( n, rels ) | ( function ) |

constructs the abelian group on `n` generators such that generator \(i\) has order \(rels[i]\). If this order is infinite, then \(rels[i]\) should be either unbound or 0.

`‣ DihedralPcpGroup` ( n ) | ( function ) |

constructs the dihedral group of order `n`. If `n` is an odd integer, then 'fail' is returned. If `n` is zero or not an integer, then the infinite dihedral group is returned.

`‣ UnitriangularPcpGroup` ( n, c ) | ( function ) |

returns a pcp-group isomorphic to the group of upper triangular in \(GL(n, R)\) where \(R = ℤ\) if \(c = 0\) and \(R = \mathbb{F}_p\) if \(c = p\). The natural unitriangular matrix representation of the returned pcp-group \(G\) can be obtained as \(G!.isomorphism\).

`‣ SubgroupUnitriangularPcpGroup` ( mats ) | ( function ) |

`mats` should be a list of upper unitriangular \(n \times n\) matrices over \(ℤ\) or over \(\mathbb{F}_p\). This function returns the subgroup of the corresponding 'UnitriangularPcpGroup' generated by the matrices in `mats`.

`‣ InfiniteMetacyclicPcpGroup` ( n, m, r ) | ( function ) |

Infinite metacyclic groups are classified in [BK00]. Every infinite metacyclic group \(G\) is isomorphic to a finitely presented group \(G(m,n,r)\) with two generators \(a\) and \(b\) and relations of the form \(a^m = b^n = 1\) and \([a,b] = a^{1-r}\), where (differing from the conventions used by GAP) we have \([a,b] = a b a^-1 b^-1\), and \(m,n,r\) are three non-negative integers with \(mn=0\) and \(r\) relatively prime to \(m\). If \(r \equiv -1\) mod \(m\) then \(n\) is even, and if \(r \equiv 1\) mod \(m\) then \(m=0\). Also \(m\) and \(n\) must not be \(1\).

Moreover, \(G(m,n,r)\cong G(m',n',s)\) if and only if \(m=m'\), \(n=n'\), and either \(r \equiv s\) or \(r \equiv s^{-1}\) mod \(m\).

This function returns the metacyclic group with parameters `n`, `m` and `r` as a pcp-group with the pc-presentation \(\langle x,y | x^n, y^m, y^x = y^r\rangle\). This presentation is easily transformed into the one above via the mapping \(x \mapsto b^{-1}, y \mapsto a\).

`‣ HeisenbergPcpGroup` ( n ) | ( function ) |

returns the Heisenberg group on \(2\textit{n}+1\) generators as pcp-group. This gives a group of Hirsch length \(2\textit{n}+1\).

`‣ MaximalOrderByUnitsPcpGroup` ( f ) | ( function ) |

takes as input a normed, irreducible polynomial over the integers. Thus `f` defines a field extension `F` over the rationals. This function returns the split extension of the maximal order `O` of `F` by the unit group `U` of `O`, where `U` acts by right multiplication on `O`.

`‣ BurdeGrunewaldPcpGroup` ( s, t ) | ( function ) |

returns a nilpotent group of Hirsch length 11 which has been constructed by Burde und Grunewald. If `s` is not 0, then this group has no faithful 12-dimensional linear representation.

The functions in this section provide some more example groups to play with. They come with no further description and their investigation is left to the interested user.

`‣ ExampleOfMetabelianPcpGroup` ( a, k ) | ( function ) |

returns an example of a metabelian group. The input parameters must be two positive integers greater than 1.

`‣ ExamplesOfSomePcpGroups` ( n ) | ( function ) |

this function takes values `n` in 1 up to 16 and returns for each input an example of a pcp-group. The groups in this example list have been used as test groups for the functions in this package.

generated by GAPDoc2HTML