Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 91213ddcfbe7f54821d42c2d9e091326 > files > 1700

gap-system-packages-4.4.12-5mdv2010.0.i586.rpm

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<title>GAP (Kan) - Chapter 3: Development History</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="generator" content="GAPDoc2HTML" />
<link rel="stylesheet" type="text/css" href="manual.css" />
</head>
<body>


<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chapBib.html">Bib</a>  <a href="chapInd.html">Ind</a>  </div>

<div class="chlinkprevnexttop">&nbsp;<a href="chap0.html">Top of Book</a>&nbsp;  &nbsp;<a href="chap2.html">Previous Chapter</a>&nbsp;  &nbsp;<a href="chapBib.html">Next Chapter</a>&nbsp;  </div>

<p><a id="X810C43BC7F63C4B4" name="X810C43BC7F63C4B4"></a></p>
<div class="ChapSects"><a href="chap3.html#X810C43BC7F63C4B4">3 <span class="Heading">Development History</span></a>
<div class="ContSect"><span class="nocss">&nbsp;</span><a href="chap3.html#X8192EA4C7B7CC5CD">3.1 <span class="Heading">Versions of the package</span></a>
</div>
<div class="ContSect"><span class="nocss">&nbsp;</span><a href="chap3.html#X83D1530487593182">3.2 <span class="Heading">What needs doing next?</span></a>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X852CC057809CE3EE">3.2-1 DoubleCosetsAutomaton</a></span>
</div>
</div>

<h3>3 <span class="Heading">Development History</span></h3>

<p><a id="X8192EA4C7B7CC5CD" name="X8192EA4C7B7CC5CD"></a></p>

<h4>3.1 <span class="Heading">Versions of the package</span></h4>

<p>The first version of the package, written for <strong class="pkg">GAP</strong> 3, formed part of Anne Heyworth's thesis <a href="chapBib.html#biBanne-thesis">[Hey99]</a> in 1999, but was not made generally available.</p>

<p>Version, <strong class="pkg">kan</strong> 0.91, was prepared to run under <strong class="pkg">GAP</strong> 4.4.6, in July 2005.</p>

<p>Version, <strong class="pkg">kan</strong> 0.94, differed in two significant ways.</p>


<ul>
<li><p>This manual is prepared using the <strong class="pkg">GAPDoc</strong> package.</p>

</li>
<li><p>The test file <code class="file">kan/tst/kan\_manual.tst</code> sets the <code class="code">AssertionLevel</code> to <code class="code">0</code> to avoid recursion in the <strong class="pkg">Automata</strong> package.</p>

</li>
</ul>
<p>Version 0.95, of 9th October 2007, just fixed file protections and added a <code class="file">CHANGES</code> file.</p>

<p>Version 0.96 was required because the <strong class="pkg">kan</strong> website moved with the rest of the Mathematics website at Bangor.</p>

<p>Version 0.97, of November 18th 2008, deleted temporary fixes which were no longer needed once version 1.12 of <strong class="pkg">Automata</strong> became available.</p>

<p><a id="X83D1530487593182" name="X83D1530487593182"></a></p>

<h4>3.2 <span class="Heading">What needs doing next?</span></h4>

<p>There are too many items to list here, but some of the most important are as follows.</p>


<ul>
<li><p>Implement iterators and enumerators for double cosets.</p>

</li>
<li><p>At present the methods for <code class="code">DoubleCosetsNC</code> and <code class="code">RightCosetsNC</code> in this package return automata, rather than lists of cosets or coset enumerators. This needs to be fixed.</p>

</li>
<li><p>Provide methods for operations such as <code class="code">DoubleCosetRepsAndSizes</code>.</p>

</li>
<li><p>Convert the rest of the original <strong class="pkg">GAP</strong> 3 version of <strong class="pkg">kan</strong> to <strong class="pkg">GAP</strong> 4.</p>

</li>
</ul>
<p><a id="X852CC057809CE3EE" name="X852CC057809CE3EE"></a></p>

<h5>3.2-1 DoubleCosetsAutomaton</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; DoubleCosetsAutomaton</code>( <var class="Arg">G, U, V</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; RightCosetsAutomaton</code>( <var class="Arg">G, V</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Alternative methods for <code class="code">DoubleCosetsNC(G,U,V)</code> and <code class="code">RightCosetsNC(G,V)</code> <em>should be</em> provided in the cases where the group <code class="code">G</code> has a rewriting system or is known to be infinite. At present the functions <code class="code">RightCosetsAutomaton</code> and <code class="code">DoubleCosetsAutomaton</code> return minimized automata, and <code class="code">Iterators</code> for these are not yet available.</p>


<table class="example">
<tr><td><pre>

gap&gt; F := FreeGroup(2);;
gap&gt; rels := [ F.2^2, (F.1*F.2)^2 ];;
gap&gt; G4 := F/rels;;
gap&gt; genG4 := GeneratorsOfGroup( G4 );;
gap&gt; a := genG4[1];  b := genG4[2];;
gap&gt; U := Subgroup( G4, [a^2] );;
gap&gt; V := Subgroup( G4, [b] );;
gap&gt; dc4 := DoubleCosetsAutomaton( G4, U, V );;
gap&gt; 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&gt; rc4 := RightCosetsAutomaton( G4, V );;
gap&gt; 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 ]);;

</pre></td></tr></table>


<div class="chlinkprevnextbot">&nbsp;<a href="chap0.html">Top of Book</a>&nbsp;  &nbsp;<a href="chap2.html">Previous Chapter</a>&nbsp;  &nbsp;<a href="chapBib.html">Next Chapter</a>&nbsp;  </div>


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chapBib.html">Bib</a>  <a href="chapInd.html">Ind</a>  </div>

<hr />
<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>