<Section><Heading>Versions of the package</Heading>
The first version of the package, written for &GAP; 3,
formed part of Anne Heyworth's thesis in 1999,
but was not made generally available.
<P/> Version 0.91 was prepared to run under &GAP; 4.4.6, in July 2005.
<P/> Version 0.94 differed in two significant ways.
<List>
<Item>
The manual was produced using the <Package>GAPDoc</Package> package.
</Item>
<Item>
The test file <F>kan/tst/kan_manual.tst</F> set the <C>AssertionLevel</C>
to <C>0</C> to avoid recursion in the &Automata; package.
</Item>
</List>
<P/> Version 1.11, of December 2014 was required when the &kan; website moved yet again. At the same time a bitbucket repository for the package was started.
<P/>
&kan; became an accepted &GAP; package in May 2015.
<P/> Version 1.28, of May 2017, saw a great many changes to the examples,
with the various rewriting systems used to perform reduction of words
to reduced form.
<P/>
Only minor changes have been made in recent years.
<P/>
</Section>
There are too many items to list here, but some of the most important
are as follows.
<List>
<Item>
Implement iterators and enumerators for double cosets.
</Item>
<Item>
At present the methods for <C>DoubleCosetsNC</C> and <C>RightCosetsNC</C>
in this package return automata, rather than lists of cosets
or coset enumerators. This needs to be fixed.
</Item>
<Item>
Provide methods for operations such as <C>DoubleCosetRepsAndSizes</C>.
</Item>
<Item>
Convert the rest of the original &GAP; 3 version of &kan; to &GAP; 4.
</Item>
</List>
<ManSection>
<Oper Name="DoubleCosetsAutomaton"
Arg="G, U, V" />
<Oper Name="RightCosetsAutomaton"
Arg="G, V" />
<Description>
Alternative methods for <C>DoubleCosetsNC(G,U,V)</C>
and <C>RightCosetsNC(G,V)</C> <E>should be</E> provided in the cases
where the group <C>G</C> has a rewriting system or is known to be infinite.
At present the functions <C>RightCosetsAutomaton</C> and
<C>DoubleCosetsAutomaton</C> return minimized automata,
and <C>Iterators</C> for these are not yet available.
</Description>
</ManSection>
<Example>
<![CDATA[
gap> F := FreeGroup(2);;
gap> rels := [ F.2^2, (F.1*F.2)^2 ];;
gap> G5 := F/rels;;
gap> genG5 := GeneratorsOfGroup( G5 );;
gap> a := genG5[1]; b := genG5[2];;
gap> U := Subgroup( G5, [a^2] );;
gap> V := Subgroup( G5, [b] );;
gap> L := [2,1,4,3];;
gap> rws5 := ReducedConfluentRewritingSystem( G5, L, "shortlex", 0, "aAbB" );;
gap> dc5 := DoubleCosetsAutomaton( G5, U, V );;
gap> Print( dc5 );
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> rc5 := RightCosetsAutomaton( G5, V );;
gap> Print( rc5 );
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 ]);;
]]>
</Example>
</Section>
</Chapter>
¤ Dauer der Verarbeitung: 0.24 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.