The first version of the package, written for GAP 3, formed part of Anne Heyworth's thesis [Hey99] in 1999, but was not made generally available.
Version, kan 0.91, was prepared to run under GAP 4.4.6, in July 2005.
Version, kan 0.94, differed in two significant ways.
This manual is prepared using the GAPDoc package.
The test file kan/tst/kan\_manual.tst
sets the AssertionLevel
to 0
to avoid recursion in the Automata package.
Version 0.95, of 9th October 2007, just fixed file protections and added a CHANGES
file.
Version 0.96 was required because the kan website moved with the rest of the Mathematics website at Bangor.
Version 0.97, of November 18th 2008, deleted temporary fixes which were no longer needed once version 1.12 of Automata became available.
There are too many items to list here, but some of the most important are as follows.
Implement iterators and enumerators for double cosets.
At present the methods for DoubleCosetsNC
and RightCosetsNC
in this package return automata, rather than lists of cosets or coset enumerators. This needs to be fixed.
Provide methods for operations such as DoubleCosetRepsAndSizes
.
Convert the rest of the original GAP 3 version of kan to GAP 4.
> DoubleCosetsAutomaton ( G, U, V ) | ( operation ) |
> RightCosetsAutomaton ( G, V ) | ( operation ) |
Alternative methods for DoubleCosetsNC(G,U,V)
and RightCosetsNC(G,V)
should be provided in the cases where the group G
has a rewriting system or is known to be infinite. At present the functions RightCosetsAutomaton
and DoubleCosetsAutomaton
return minimized automata, and Iterators
for these are not yet available.
gap> F := FreeGroup(2);; gap> rels := [ F.2^2, (F.1*F.2)^2 ];; gap> G4 := F/rels;; gap> genG4 := GeneratorsOfGroup( G4 );; gap> a := genG4[1]; b := genG4[2];; gap> U := Subgroup( G4, [a^2] );; gap> V := Subgroup( G4, [b] );; gap> dc4 := DoubleCosetsAutomaton( G4, U, V );; gap> Print( dc4 ); Automaton("det",5,"HKaAbB",[ [ 2, 2, 2, 5, 2 ], [ 2, 2, 1, 2, 1 ], [ 2, 2, 2, \ 2, 3 ], [ 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2 ] ],[ 4 ],[ 1 ])\ ;; gap> rc4 := RightCosetsAutomaton( G4, V );; gap> Print( rc4 ); Automaton("det",6,"HKaAbB",[ [ 2, 2, 2, 6, 2, 2 ], [ 2, 2, 1, 2, 1, 1 ], [ 2, \ 2, 3, 2, 2, 3 ], [ 2, 2, 2, 2, 5, 5 ], [ 2, 2, 2, 2, 2, 2 ], [ 2, 2, 2, 2, 2, \ 2 ] ],[ 4 ],[ 1 ]);; |
generated by GAPDoc2HTML