Goto Chapter: | Top | 1 | 2 | 3 | Bib | Ind

### 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 [H99] in 1999, but was not made generally available.

Version, kan~0.91, was prepared to run under GAP~4.4.6, in July 2005.

This version, kan~0.94, differs in three 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.

- implementations of `RightCosetsNC` and `DoubleCosetsNC` have been changed to `RightCosetsAutomaton` and `DoubleCosetsAutomaton`.

#### 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