Pregroups are the fundamental building block of pregroup presentations used in the hyperbolicity tester.
This section describes functions to create pregroups from multiplication tables, free groups, and free products of finite groups.
‣ PregroupByTable ( enams, table ) | ( function ) |
‣ PregroupByTableNC ( arg ) | ( function ) |
Returns: A pregroup
If enams is a list of element names, which can be arbitrary GAP objects, with the convention that enams[1]
is the name of the identity element, and table is a square table of non-negative integers that is the multiplication table of a pregroup, then PregroupByTable
and PregroupByTableNC
return a pregroup in multiplication table representation.
By convention the elements of the pregroup are numbered [1..n]
with 0
denoting an undefined product in the table.
The axioms for a pregroup are checked by PregroupByTable
and not checked by PregroupByTableNC
.
gap> pregroup := PregroupByTable( "1xyY", > [ [1,2,3,4] > , [2,1,0,0] > , [3,4,0,1] > , [4,0,1,3] ] ); <pregroup with 4 elements in table rep>
‣ PregroupByRedRelators ( F, rrel, inv ) | ( operation ) |
Returns: A pregroup in table representation
Construct a pregroup from the list rrel of red relators and the list inv of involutions over the free group F. The argument rred has to be a list of elements of length 3 in the free group F, and inv has to be a list of generators of F.
‣ PregroupOfFreeProduct ( G, H ) | ( operation ) |
Construct the pregroup of the free product of G and H. If G and H are finite groups, then PregroupOfFreeProduct
returns the pregroup consisting of the non-identity elements of G and H and an identity element. A product between two non-trivial elements is defined if and only if they are in the same group.
gap> pregroup := PregroupOfFreeProduct(SmallGroup(12,2), SmallGroup(24,4)); <pregroup with 35 elements in table rep>
‣ PregroupOfFreeGroup ( F ) | ( function ) |
Return the pregroup of the free group F
This section gives an overview over the filters, categories and representations defined by walrus
‣ IsPregroup ( arg ) | ( filter ) |
Returns: true
or false
‣ IsPregroupTableRep ( arg ) | ( filter ) |
Returns: true
or false
A pregroup represented by its multiplication table, which is a square table of integers between 0 and the size of the pregroup, where 0 represents an undefined multiplication.
‣ IsPregroupOfFreeGroupRep ( arg ) | ( filter ) |
Returns: true
or false
Pregroup of a free group of rank \(k\). The only defined products are \(1\cdot x = x \cdot 1 = x\) and \(xx^{-1} = x^{-1}x = 1\), for all generators \(x\).
‣ IsPregroupOfFreeProductRep ( arg ) | ( filter ) |
Returns: true
or false
Pregroup of the free product of a list of groups where products between non-trivial elements \(g\), \(h\) are defined if \(g,h\) are contained in the same group.
This section gives an overview over the attributes, properties, and operatins defined for pregroups.
‣ [] ( pregroup, i ) | ( operation ) |
Get the ith element of pregroup. By convention the \(1\)st element is the identity element.
‣ IntermultPairs ( pregroup ) | ( attribute ) |
Returns the set of intermult pairs of the pregroup
‣ One ( pregroup ) | ( attribute ) |
The identity element of pregroup.
‣ MultiplicationTable ( pregroup ) | ( attribute ) |
The multiplication table of pregroup
‣ SetPregroupElementNames ( pregroup, names ) | ( operation ) |
Can be used to set more user-friendly display names for the elements of pregroup. The list names has to be of length Size(pregroup)
.
‣ PregroupElementNames ( pregroup ) | ( operation ) |
Return the list of names of elements of pregroup
‣ IsElementOfPregroup ( arg ) | ( filter ) |
Returns: true
or false
‣ IsElementOfPregroupRep ( arg ) | ( filter ) |
Returns: true
or false
‣ IsElementOfPregroupOfFreeGroupRep ( arg ) | ( filter ) |
Returns: true
or false
‣ PregroupOf ( p ) | ( attribute ) |
The pregroup that the element p is contained in.
‣ IsDefinedMultiplication ( p, q ) | ( operation ) |
Tests whether the multiplication of p and q is defined in the pregroup containing p and q.
‣ IsIntermultPair ( p, q ) | ( operation ) |
Tests whether \((\textit{p}, \textit{q})\) is an intermult pair. defined.
‣ PregroupInverse ( p ) | ( attribute ) |
Return the inverse of p.
This package contains a small database of pregroups of sizes \(1\) to \(7\). The database was computed by Chris Jefferson using the Minion constraint solver.
These small pregroups currently used for testing. Accessing the small pregroups database works as follows.
‣ NrSmallPregroups ( n ) | ( function ) |
Returns: an integer.
Returns the number of pregroups of size n available in the database.
‣ SmallPregroup ( n, i ) | ( function ) |
Returns: a pregroup.
Returns the ith pregroup of size n from the database of small pregroups.
generated by GAPDoc2HTML