Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  chap1.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/walrus/doc/chap1.html


<?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 (walrus) - Chapter 1: Overview</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" />
<script src="manual.js" type="text/javascript"></script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap1"  onload="jscontent()">


<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="chapInd.html">Ind</a>  </div>

<div class="chlinkprevnexttop"> <a href="chap0.html">[Top of Book]</a>   <a href="chap0.html#contents">[Contents]</a>    <a href="chap0.html">[Previous Chapter]</a>    <a href="chap2.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap1_mj.html">[MathJax on]</a></p>
<p><a id="X8389AD927B74BA4A" name="X8389AD927B74BA4A"></a></p>
<div class="ChapSects"><a href="chap1.html#X8389AD927B74BA4A">1 <span class="Heading">Overview</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap1.html#X7A489A5D79DA9E5C">1.1 <span class="Heading">Examples</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1.html#X7DE9B0FF7EEC5D80">1.1-1 TriangleGroup</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1.html#X7A3CD8E481C3E802">1.1-2 TriangleCommutatorQuotient</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1.html#X78BB0EB087263795">1.1-3 RandomTriangleQuotient</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1.html#X7968AC7887291888">1.1-4 JackButtonGroup</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1.html#X863AAC9078647B94">1.1-5 RandomPregroupPresentation</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1.html#X7DEF4DA6781CCE1B">1.1-6 RandomPregroupWord</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap1.html#X861436A7862A92D2">1.2 <span class="Heading">Testing Hyperbolicity</span></a>
</span>
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap1.html#X792204DC7B217ECC">1.3 <span class="Heading">The MAGMA-compatible interface</span></a>
</span>
</div>
</div>

<h3>1 <span class="Heading">Overview</span></h3>

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

<h4>1.1 <span class="Heading">Examples</span></h4>

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

<h5>1.1-1 TriangleGroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TriangleGroup</code>( <var class="Arg">p</var>, <var class="Arg">q</var>, <var class="Arg">r</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a pregroup presentation</p>

<p>Returns a pregroup presentation for the <span class="SimpleMath">(<var class="Arg">p</var>,<var class="Arg">q</var>,<var class="Arg">r</var>)</span>-triangle group, the pregroup is the pregroup of the free product of a cyclic group of order <var class="Arg">p</var> generated by <span class="SimpleMath">x</span> and a cyclic group of order <var class="Arg">q</var> generated by <span class="SimpleMath">y</span> together with the relation <span class="SimpleMath">(xy)^r</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">T := TriangleGroup(2,3,7);</span>
<pregroup presentation with 3 generators and 1 relators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Pregroup(T);</span>
<pregroup with 4 elements in table rep>
<span class="GAPprompt">gap></span> <span class="GAPinput">Relators(T);</span>
[ <pregroup relator ([ "2""3" ])^7> ]
<span class="GAPprompt">gap></span> <span class="GAPinput">T := TriangleGroup(17,22,100);</span>
<pregroup presentation with 37 generators and 1 relators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Pregroup(T);</span>
<pregroup with 38 elements in table rep>
<span class="GAPprompt">gap></span> <span class="GAPinput">Relators(T);</span>
[ <pregroup relator ([ "2""18" ])^100> ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsHyperbolic(T, 1/6);</span>
true
</pre></div>

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

<h5>1.1-2 TriangleCommutatorQuotient</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TriangleCommutatorQuotient</code>( <var class="Arg">m</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TriSH</code>( <var class="Arg">arg</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a pregroup presentation</p>

<p>Returns a pregroup presentation of the quotient of the <span class="SimpleMath">(2,3,<var class="Arg">m</var>)</span>-triangle group by the normal subgroup generated by <span class="SimpleMath">n</span>th power of the commutator of <span class="SimpleMath">x</span> and <span class="SimpleMath">y</span>. The name <code class="func">TriSH</code> is a synonym for <code class="func">TriangleCommutatorQuotient</code> provided for backwards compatibility and might be removed in the future.</p>

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

<h5>1.1-3 RandomTriangleQuotient</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RandomTriangleQuotient</code>( <var class="Arg">p</var>, <var class="Arg">q</var>, <var class="Arg">r</var>, <var class="Arg">len</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a pregroup presentation</p>

<p>Returns the quotient of the <span class="SimpleMath">(<var class="Arg">p</var>,<var class="Arg">q</var>,<var class="Arg">r</var>)</span>-triangle group by a random relator of length <var class="Arg">len</var>.</p>

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

<h5>1.1-4 JackButtonGroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ JackButtonGroup</code>(  )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a pregroup presentation</p>

<p>The Jack-Button group, as suggested to me by Alan Logan. It is known to be hyperbolic, but the tester fails for it. The pregroup is the pregroup of the free group of rank 3 with generators <span class="SimpleMath">a</span>,<span class="SimpleMath">b</span>, and <span class="SimpleMath">t</span> and two relators <span class="SimpleMath">t^-1atb^-1a^-1</span> and <span class="SimpleMath">t^-1ata^-1b^-1</span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">J := JackButtonGroup();</span>
<pregroup presentation with 6 generators and 2 relators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Pregroup(J);</span>
<pregroup of free group of rank 3>
<span class="GAPprompt">gap></span> <span class="GAPinput">Relators(J);</span>
[ <pregroup relator TatBA>, <pregroup relator TatAB> ]
</pre></div>

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

<h5>1.1-5 RandomPregroupPresentation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RandomPregroupPresentation</code>( <var class="Arg">pg</var>, <var class="Arg">nrel</var>, <var class="Arg">lrel</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a pregroup presentation</p>

<p>Returns a pregroup presentation over the given pregroup <var class="Arg">pg</var> with <var class="Arg">nrel</var> randomly chosen relators of length <var class="Arg">lrel</var>.</p>

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

<h5>1.1-6 RandomPregroupWord</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RandomPregroupWord</code>( <var class="Arg">pg</var>, <var class="Arg">len</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a list of integers</p>

<p>A random list of pregroup element numbers of the pregroup <var class="Arg">pregroup</var> of length <var class="Arg">len</var>. When interpreted as a pregroup word this is cyclically reduced.</p>

<p>This package provides the operations <code class="code">IsHyperbolic</code>, ways of testing a finitely presented group for hyperbolicity in the sense of Gromov.</p>

<p>The algorithm is based on ideas by Richard Parker, and the theory is described in the paper "Polynomial time proofs that groups are hyperbolic".</p>

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

<h4>1.2 <span class="Heading">Testing Hyperbolicity</span></h4>

<p>The main function of this package is the so-called RSym-tester. Given a (pregroup) presentation of a group, this function will try to prove whether the group defined by the presentation is hyperbolic, and will give an answer in polynomial time. Since hyperbolicity is undecidable, the answer can be positive, negative, or inconclusive.</p>

<p>As a simple example consider the following. Triangle groups are known to be hyperbolic when the sum <span class="SimpleMath">frac1p + frac1q + frac1r</span> is less than <span class="SimpleMath">1</span>. The parameter for <code class="func">IsHyperbolic</code> (<a href="chap3.html#X7DB6545987479C4B"><span class="RefLink">3.5-3</span></a>) gives the algorithm a hint how hard it should try.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">triangle := TriangleGroup(2,3,7);</span>
<pregroup presentation with 3 generators and 1 relators>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsHyperbolic(triangle, 1/6);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">triangle := TriangleGroup(3,3,3);</span>
<pregroup presentation with 3 generators and 1 relators>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsHyperbolic(triangle, 1/6);</span>
[ fail, [ [ 1, 0, 0, 0 ], [ 2, 1, 1, 1/36 ], [ 1, 2, 2, 1/18 ],
         [ 2, 3, 3, 1/12 ], [ 1, 4, 4, 1/9 ], [ 2, 5, 5, 5/36 ],
         [ 1, 6, 6, 1/6 ] ], [ 2, 5, 5, 5/36 ] ]
</pre></div>

<p>One can also create pregroup presentations by giving a pregroup and relators, that is, words over the pregroup.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G1 := CyclicGroup(3);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">pg := PregroupOfFreeProduct(G1,G1);</span>
<pregroup with 5 elements in table rep>
<span class="GAPprompt">gap></span> <span class="GAPinput">rel := [2,5,3,4,3,4,3,4,3,5,2,4,3,5,2,4,3,5,3,4,2,4,3,5];</span>
[ 2, 5, 3, 4, 3, 4, 3, 4, 3, 5, 2, 4, 3, 5, 2, 4, 3, 5, 3, 4, 2, 4, 3, 5 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">pgp := NewPregroupPresentation(pg,[pg_word(pg,rel)]);</span>
<pregroup presentation with 4 generators and 1 relators>
<span class="GAPprompt">gap></span> <span class="GAPinput">res := RSymTest(pgp, 0);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">res[1];</span>
fail
</pre></div>

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

<h4>1.3 <span class="Heading">The MAGMA-compatible interface</span></h4>

<p>An implementation of the hyperbolicity testing algorithm and word-problem solver exist in MAGMA as well. For ease of comparison between the results these two systems give, <strong class="pkg">walrus</strong> contains an interface that aims to be compatible with MAGMA's. Please refer to MAGMA's documentation for further details.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">F := FreeGroup("x""y");;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">AssignGeneratorVariables(F);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">rred := [ y^3 ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">rgreen := [ x^4, (x*y)^4 ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsHyperbolic(F, rred, rgreen, 1/10);</span>
[ fail, [ [ 1, 0, 0, 0 ], [ 2, 1, 1, 13/120 ], [ 1, 2, 2, 13/60 ],
          [ 2, 3, 3, 13/40 ], [ 1, 4, 4, 13/30 ] ], [ 2, 3, 3, 13/40 ] ]
</pre></div>


<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a>   <a href="chap0.html#contents">[Contents]</a>    <a href="chap0.html">[Previous Chapter]</a>    <a href="chap2.html">[Next Chapter]</a>   </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="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>

100%


¤ Dauer der Verarbeitung: 0.15 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge