In this chapter we describe the main function of the HallPoly package.
‣ GroupByVector ( n, t ) | ( function ) |
This function returns the group of Hirsch-length n with presentation G(t). t∈ ℤ^{n choose 3} has to describe a consistent presentation. t needs to be an array so that t[i][j][k] = t_i,j,k.
‣ VectorByGroupPcp ( G ) | ( function ) |
This function returns parameters t∈ ℤ^{n choose 3} (where n is the Hirsch-length of G) so that G has the presentation G(t). G has to be a T-group given by generators that form a T-basis.
‣ VectorByGroupCS ( G ) | ( function ) |
This function returns parameters t∈ ℤ^{n choose 3} (where n is the Hirsch-length of G) so that G has the presentation G(t). G has to be a T-group.
‣ HallRecByVector ( t ) | ( function ) |
This function returns a record containing the Hall polynomials for the group G(t), where t ∈ ℤ^{n choose 3}. t needs to be an array so that t[i][j][k] = t_i,j,k ∈ ℤ. The parameterised Hall polynomials for the Hirsch lengths up to n have to be known.
‣ SolveRec ( g, v ) | ( function ) |
This function returns the unique rational polynomial f(v) that satifies f(0) = 0 and f(v+1) = f(v) + g(v) for every positive integer v. v is an indeterminate and g contains the coefficients of g(v) (i.e. g(v) = ∑_i=0^mg[i+1]v^i).
gap> v := Indeterminate(Rationals, "v");; gap> g := [1,1];; gap> SolveRec(g, v); 1/2*v^2+1/2*v
‣ PolyDecomp ( f ) | ( function ) |
This function returns the degree and the number of monomials of f, where f is a polynomial in the variables A[1],...,A[n],B[1],...,B[n],x with parameters T[i][j][k].
The degree is defined as the maximal degree of a monomial in f and the degree of a monomial is the sum of the exponents of its indeterminates.
‣ HallConstruction ( n, gb ) | ( function ) |
This calls the algorithm that computes new parameterized Hall-polynomials for Hirsch-length n. Parameterized Hall-polynomials up to Hirsch-length n-1 have to be stored in the record HallRec. The result is stored in HallRec. gb is a boolean that specifies, whether Groebner bases should be used for reducing the computed polynomials.
gap> HallConstruction(5,true); - Step 5: compute mult-polynomial compute r[i][j] for 1 by 2 compute r[i][j] for 1 by 3 compute r[i][j] for 1 by 4 compute r[i][j] for 1 by 5 compute r[i][j] for 2 by 3 compute r[i][j] for 2 by 4 compute r[i][j] for 2 by 5 compute r[i][j] for 3 by 4 compute r[i][j] for 3 by 5 compute r[i][j] for 4 by 5 starting symbolic collection got poly with 69 summands - Step 5: reduce mult-polynomial via inherit mult poly has 44 summands - Step 5: compute new consistency relations get Groebner in HallConsistency ... done - Step 5: reduce mult polynomial via consistency mult poly has 44 summands - Step 5: compute power polynomial extract terms solve recursion - Step 5: reduce power polynomial power poly has 84 summands - Step 5: done
‣ HallMult ( t, a, b ) | ( function ) |
If t is a vector of parameters (either with a consistent presentation or indeterminates) of length n and a and b are vectors of length n (either integer values or indeterminates), then this function returns the multiplication polynomials for that case.
The parameterised Hall-polynomials for Hirsch length n have to be known.
‣ HallPower ( t, a, x ) | ( function ) |
If t is a vector of parameters (either with a consistent presentation or indeterminates) of length n and a is a vector of length n (either integer values or indeterminates) and x is an integer or an indeterminate, then this function returns the power polynomials for that case.
The parameterised Hall-polynomials for Hirsch length n have to be known.
‣ SaveHallPolynomials ( n ) | ( function ) |
This function stores the multiplication and power polynomials plus the consistency relations for Hirsch-length n (stored in HallRec[n]) in the file hallpoly/lib/hrln.gi. If the file already exists or the Hall-polynomials for Hirsch-length n haven't been computed yet, an error message is returned.
gap> SaveHallPolynomials(6); true gap> SaveHallPolynomials(8); There are no Hall-polynomials to store. false
‣ SaveParameters ( t, file ) | ( function ) |
This function stores the parameters t in a file named file in the directory hallpoly/lib. t has to be an array of size n × n × n.
gap> t := GenT(6);; gap> SaveParameters(t,"test"); true
‣ CheckFileExists ( n ) | ( function ) |
This function returns, whether the file for the Hall-polynomials of Hirsch-length n in hallpoly/lib already exists.
gap> CheckFileExists(6); true
‣ RuntimeTestHallColl ( a, b ) | ( function ) |
This function compares the runtime of evaluating Hall polynomials and the standard collection algorithm. To do so, the function computes a random subgroups in the group of 6 × 6 unitriangular matrices over ℤ with Hirsch length le 7 and b random products in each subgroup.
Returns the overall runtimes in milliseconds.
gap> RuntimeTestHallColl(2,4); Looking for subgroup 1... Found a subgroup of Hirsch length 7. Hall polynomials: 0ms, Collection: 12400ms Hall polynomials: 4ms, Collection: 2992ms Hall polynomials: 4ms, Collection: 93384ms Hall polynomials: 4ms, Collection: 608ms Looking for subgroup 2... Found a subgroup of Hirsch length 6. Hall polynomials: 0ms, Collection: 36ms Hall polynomials: 0ms, Collection: 8ms Hall polynomials: 0ms, Collection: 100ms Hall polynomials: 0ms, Collection: 36ms Overall runtime: Hall polynomials: 0:00:00.012, Collection: 0:01:49.564 [ 12, 109564 ]
generated by GAPDoc2HTML