Goto Chapter: Top 1 2 3 Bib Ind
Top of Book Previous Chapter Next Chapter

3. Development History
3.1 Versions of the package
3.2 What needs doing next?
3.2-1 DoubleCosetsAutomaton

### 3. Development History

#### 3.1 Versions of the package

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.

The latest version, kan 0.95, of 9th October 2007, just fixed file protections and added a `CHANGES` file.

#### 3.2 What needs doing next?

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 GAP 3 kan package to GAP 4.

##### 3.2-1 DoubleCosetsAutomaton

`> 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 ]);;

Top of Book Previous Chapter Next Chapter
Goto Chapter: Top 1 2 3 Bib Ind

generated by GAPDoc2HTML