Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/sgpviz/doc/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 30.7.2024 mit Größe 20 kB image not shown  

Quelle  chap3.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/sgpviz/doc/chap3.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 (SgpViz) - Chapter 3: 
      Drawings of semigroups
    </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="chap3"  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="chap4.html">4</a>  <a href="chapBib.html">Bib</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="chap2.html">[Previous Chapter]</a>    <a href="chap4.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap3_mj.html">[MathJax on]</a></p>
<p><a id="X826F747F81441D2E" name="X826F747F81441D2E"></a></p>
<div class="ChapSects"><a href="chap3.html#X826F747F81441D2E">3 <span class="Heading">
      Drawings of semigroups
    </span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X7F71117D7F0259B8">3.1 <span class="Heading">
        Drawing the D-class of an element of a semigroup
      </span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3.html#X87448A11856B0F2D">3.1-1 DrawDClassOfElement</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3.html#X78DC47A785011D84">3.1-2 DotForDrawingDClassOfElement</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X81CCF2BB81C4DF6F">3.2 <span class="Heading">
        Drawing the D-classes of a semigroup
      </span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3.html#X7BDBEDA37ADCAADE">3.2-1 DrawDClasses</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3.html#X84B611718473E019">3.2-2 DotForDrawingDClasses</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X789D5E5A8558AA07">3.3 <span class="Heading">Cayley graphs</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3.html#X7EB36DB07C6F58A0">3.3-1 DrawRightCayleyGraph</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3.html#X86798CC9823D1DB2">3.3-2 DrawCayleyGraph</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3.html#X8487357A85497320">3.3-3 DotForDrawingRightCayleyGraph</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X79B26A588771144F">3.4 <span class="Heading">Schützenberger graphs</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3.html#X7B7B58B77EA25719">3.4-1 DrawSchutzenbergerGraphs</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3.html#X7884329D82F6C65B">3.4-2 DotForDrawingSchutzenbergerGraphs</a></span>
</div></div>
</div>

<h3>3 <span class="Heading">
      Drawings of semigroups
    </span></h3>

<p>There are some pictures that may give a lot of information about a semigroup. This is the case of the egg-box picture of the D-classes, the right Cayley graph of a finite monoid and the Schützenberger graphs of a finite inverse monoid.</p>

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

<h4>3.1 <span class="Heading">
        Drawing the D-class of an element of a semigroup
      </span></h4>

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

<h5>3.1-1 DrawDClassOfElement</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DrawDClassOfElement</code>( <var class="Arg">arg</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>This function uses <code class="func">DotForDrawingDClassOfElement</code> (<a href="chap3.html#X78DC47A785011D84"><span class="RefLink">3.1-2</span></a>) to compute the dot code to produce the image that is then displayed. It takes as arguments a semigroup followed by a transformation which is the element whose D-class will be drawn. Optionally we can then specify n lists of elements and the elements of each list will be drawn in different colours. Finally, if the last argument is the integer <code class="code">1</code> then the elements will appear as transformations, otherwise they will appear as words. The idempotents will be marked with a * before them.</p>

<p>This last optional argument may also be the integer <code class="code">2</code> and in this case the elements will appear as integers, where <code class="code">i</code> represents the element <code class="code">Elements(S)[i]</code>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">DrawDClassOfElement(poi3, Transformation([1,4,3,4]));</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">DrawDClassOfElement(poi3, Transformation([1,4,3,4]),1);</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">DrawDClassOfElement(poi3, Transformation([1,4,3,4]),</span>
 [Transformation( [ 2, 3, 4, 4 ] )],1);
<span class="GAPprompt">gap></span> <span class="GAPinput">DrawDClassOfElement(poi3, Transformation([1,4,3,4]),</span>
 [Transformation( [ 2, 3, 4, 4 ] ), Transformation( [ 2, 4, 3, 4 ] )],
 [Transformation( [ 2, 4, 3, 4 ] )],1);
<span class="GAPprompt">gap></span> <span class="GAPinput">DrawDClassOfElement(poi3, Transformation([1,4,3,4]), </span>
 [Transformation( [ 2, 4, 3, 4 ] )],"Dclass",1);
      </pre></div>

<p>This is the image produced by the first command in the previous example: <br><center><img src="images/dclass1.png"></center><br> This is the image produced by the fourth command in the previous example: <br><center><img src="images/dclass2.png"></center><br> This is the image produced by the last command in the previous example: <br><center><img src="images/dclass3.png"></center><br></p>

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

<h5>3.1-2 DotForDrawingDClassOfElement</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DotForDrawingDClassOfElement</code>( <var class="Arg">arg</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>This function computes the dot code that can be used to produce a drawing for the D-class of an element of a semigroup. This can be done by using the function <code class="func">DrawDClassOfElement</code> (<a href="chap3.html#X87448A11856B0F2D"><span class="RefLink">3.1-1</span></a>) (if the system is properly configured) or by the user in some independent way. The arguments and options are the same than those of <code class="func">DrawDClassOfElement</code> (<a href="chap3.html#X87448A11856B0F2D"><span class="RefLink">3.1-1</span></a>).</p>


<div class="example"><pre>
      gap> DotForDrawingDClassOfElement(poi3,Transformation([1,4,3,4]));
"digraph DClassOfElement {\ngraph [center=yes,ordering=out];\nnode [shape=pla\
intext];\nedge [color=cornflowerblue,arrowhead=none];\n1 [label=<\n<TABLE BORD\
ER=\"0\" CELLBORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" PORT=\"1\">\n<TR\
><TD BORDER=\"0\"><TABLE CELLSPACING=\"0\"><TR><TD BGCOLOR=\"white\" BORDER=\"\
0\">*abc</TD></TR>\n</TABLE></TD><TD BORDER=\"0\"><TABLE CELLSPACING=\"0\"><TR\
><TD BGCOLOR=\"white\" BORDER=\"0\">a</TD></TR>\n</TABLE></TD><TD BORDER=\"0\"\
><TABLE CELLSPACING=\"0\"><TR><TD BGCOLOR=\"white\" BORDER=\"0\">ab</TD></TR>\
\n</TABLE></TD></TR>\n<TR><TD BORDER=\"0\"><TABLE CELLSPACING=\"0\"><TR><TD BG\
COLOR=\"white\" BORDER=\"0\">bc</TD></TR>\n</TABLE></TD><TD BORDER=\"0\"><TABL\
E CELLSPACING=\"0\"><TR><TD BGCOLOR=\"white\" BORDER=\"0\">*bca</TD></TR>\n</T\
ABLE></TD><TD BORDER=\"0\"><TABLE CELLSPACING=\"0\"><TR><TD BGCOLOR=\"white\" \
BORDER=\"0\">b</TD></TR>\n</TABLE></TD></TR>\n<TR><TD BORDER=\"0\"><TABLE CELL\
SPACING=\"0\"><TR><TD BGCOLOR=\"white\" BORDER=\"0\">c</TD></TR>\n</TABLE></TD\
><TD BORDER=\"0\"><TABLE CELLSPACING=\"0\"><TR><TD BGCOLOR=\"white\" BORDER=\"\
0\">ca</TD></TR>\n</TABLE></TD><TD BORDER=\"0\"><TABLE CELLSPACING=\"0\"><TR><\
TD BGCOLOR=\"white\" BORDER=\"0\">*cab</TD></TR>\n</TABLE></TD></TR>\n</TABLE>\
>];\n}\n"
      </pre></div>

<p>By using Print (or PrinTo, if one wants to print to a file) the string is displayed as follows:</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Print(last);</span>
digraph  DClassOfElement {
graph [center=yes,ordering=out];
node [shape=plaintext];
edge [color=cornflowerblue,arrowhead=none];
1 [label=<
<TABLE BORDER="0" CELLBORDER="0" CELLPADDING="0" CELLSPACING="0" PORT="1">
<TR><TD BORDER="0"><TABLE CELLSPACING="0"><TR><TD BGCOLOR="white" BORDER="0">*\
abc</TD></TR>
</TABLE></TD><TD BORDER="0"><TABLE CELLSPACING="0"><TR><TD BGCOLOR="white" BOR\
DER="0">a</TD></TR>
</TABLE></TD><TD BORDER="0"><TABLE CELLSPACING="0"><TR><TD BGCOLOR="white" BOR\
DER="0">ab</TD></TR>
</TABLE></TD></TR>
<TR><TD BORDER="0"><TABLE CELLSPACING="0"><TR><TD BGCOLOR="white" BORDER="0">b\
c</TD></TR>
</TABLE></TD><TD BORDER="0"><TABLE CELLSPACING="0"><TR><TD BGCOLOR="white" BOR\
DER="0">*bca</TD></TR>
</TABLE></TD><TD BORDER="0"><TABLE CELLSPACING="0"><TR><TD BGCOLOR="white" BOR\
DER="0">b</TD></TR>
</TABLE></TD></TR>
<TR><TD BORDER="0"><TABLE CELLSPACING="0"><TR><TD BGCOLOR="white" BORDER="0">c\
</TD></TR>
</TABLE></TD><TD BORDER="0"><TABLE CELLSPACING="0"><TR><TD BGCOLOR="white" BOR\
DER="0">ca</TD></TR>
</TABLE></TD><TD BORDER="0"><TABLE CELLSPACING="0"><TR><TD BGCOLOR="white" BOR\
DER="0">*cab</TD></TR>
</TABLE></TD></TR>
</TABLE>>];
}
</pre></div>

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

<h4>3.2 <span class="Heading">
        Drawing the D-classes of a semigroup
      </span></h4>

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

<h5>3.2-1 DrawDClasses</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DrawDClasses</code>( <var class="Arg">arg</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>This function is similar to the previous one, except that this one draws all the D-classes of the semigroup given as the first argument. It then takes optionally n lists of elements and the elements of each list will be drawn in different colours. It also accepts, as an optional argument, the integer <code class="code">1</code>, to specify whether the elements will appear as words or as transformations as in the previous function. The idempotents will be marked with a * before them.</p>

<p>The dot code is computed by <code class="func">DotForDrawingDClasses</code> (<a href="chap3.html#X84B611718473E019"><span class="RefLink">3.2-2</span></a>).</p>

<p>This last optional argument may also be the integer <code class="code">2</code> and in this case the elements will appear as integers, where <code class="code">i</code> represents the element <code class="code">Elements(S)[i]</code>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">DrawDClasses(poi3);</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">DrawDClasses(poi3, [Transformation( [ 2, 3, 4, 4 ] ),</span>
  Transformation( [ 2, 4, 3, 4 ] )],
  [Transformation( [ 2, 4, 3, 4 ] )],1);
      </pre></div>

<p>This is the image produced by the first command in the previous example: <br><center><img src="images/dclasses1.png"></center><br> This is the image produced by the second command in the previous example: <br><center><img src="images/dclasses2.png"></center><br></p>

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

<h5>3.2-2 DotForDrawingDClasses</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DotForDrawingDClasses</code>( <var class="Arg">arg</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>This function computes the dot code that can be used to produce a drawing for the D-class of an element of a semigroup. This can be done by using the function <code class="func">DrawDClasses</code> (<a href="chap3.html#X7BDBEDA37ADCAADE"><span class="RefLink">3.2-1</span></a>) (if the system is properly configured) or by the user in some independent way. The arguments and options are the same than those of <code class="func">DrawDClasses</code> (<a href="chap3.html#X7BDBEDA37ADCAADE"><span class="RefLink">3.2-1</span></a>).</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Print(DotForDrawingDClasses(poi3));</span>
digraph  DClasses {
graph [center=yes,ordering=out];
node [shape=plaintext];
edge [color=cornflowerblue,arrowhead=none];
## ... many more lines ...
</TABLE></TD></TR>
</TABLE>>];
4:4 -> 3:3;
3:3 -> 2:2;
2:2 -> 1:1;
}
      </pre></div>

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

<h4>3.3 <span class="Heading">Cayley graphs</span></h4>

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

<h5>3.3-1 DrawRightCayleyGraph</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DrawRightCayleyGraph</code>( <var class="Arg">S</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Draws the right Cayley graph of a finite monoid or semigroup <var class="Arg">S</var>.</p>

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

<h5>3.3-2 DrawCayleyGraph</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DrawCayleyGraph</code>( <var class="Arg">S</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>This function is a synonym of <code class="func">DrawRightCayleyGraph</code> (<a href="chap3.html#X7EB36DB07C6F58A0"><span class="RefLink">3.3-1</span></a>).</p>

<p>For example, the command <code class="code">DrawCayleyGraph(b21);</code> would produce the following image (where state <code class="code">i</code> represents the element <code class="code">Elements(S)[i]</code>, the neutral element is coloured in "light blue" and all other idempotents are coloured in "light coral"): <br><center><img src="images/cgb21.png"></center><br></p>

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

<h5>3.3-3 DotForDrawingRightCayleyGraph</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DotForDrawingRightCayleyGraph</code>( <var class="Arg">S</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>This function computes the dot code that is used by the previous function and can also be used by the reader in some independent way.</p>

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

<h4>3.4 <span class="Heading">Schützenberger graphs</span></h4>

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

<h5>3.4-1 DrawSchutzenbergerGraphs</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DrawSchutzenbergerGraphs</code>( <var class="Arg">S</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Draws the Schützenberger graphs of the inverse semigroup <var class="Arg">S</var>.</p>

<p>For example, <code class="code">DrawSchutzenbergerGraphs(poi3);</code> would produce the following:</p>

<p><br><center><img src="images/schutzenberger.png"></center><br></p>

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

<h5>3.4-2 DotForDrawingSchutzenbergerGraphs</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DotForDrawingSchutzenbergerGraphs</code>( <var class="Arg">arg</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>This function computes the dot code that can be used to produce a drawing for the Schutzenberger Graphs of an inverse semigroup. This can be done by using the function <code class="func">DrawSchutzenbergerGraphs</code> (<a href="chap3.html#X7B7B58B77EA25719"><span class="RefLink">3.4-1</span></a>) (if the system is properly configured) or by the user in some independent way. The argument is an inverse semigroup.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">DotForDrawingSchutzenbergerGraphs(poi3);</span>
"digraph SchutzenbergerGraphs{\ncompound=true;\nsubgraph cluster4{\n1 [shape=\
circle];\n}\nsubgraph cluster3{\n2 -> 4 [label=\"a\",color=red];\n3 -> 2 [labe\
l=\"c\",color=green];\n4 -> 3 [label=\"b\",color=blue];\n2 [shape=circle];\n3 \
[shape=circle];\n4 [shape=circle];\n}\nsubgraph cluster2{\n5 -> 5 [label=\"b\"\
,color=blue];\n5 -> 6 [label=\"c\",color=green];\n6 -> 5 [label=\"a\",color=re\
d];\n6 -> 7 [label=\"c\",color=green];\n7 -> 7 [label=\"a\",color=red];\n7 -> \
6 [label=\"b\",color=blue];\n5 [shape=circle];\n6 [shape=circle];\n7 [shape=ci\
rcle];\n}\nsubgraph cluster1{\n8 -> 8 [label=\"a\",color=red];\n8 -> 8 [label=\
\"b\",color=blue];\n8 -> 8 [label=\"c\",color=green];\n8 [shape=circle];\n}\n1\
 -> 2 [lhead=cluster3,ltail=cluster4,color=cornflowerblue];\n2 -> 5 [lhead=clu\
ster2,ltail=cluster3,color=cornflowerblue];\n5 -> 8 [lhead=cluster1,ltail=clus\
ter2,color=cornflowerblue];\n}\n"
      </pre></div>

<p>By using Print (or PrinTo, if one wants to print to a file) the string is displayed as follows:</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Print(last);</span>
digraph  SchutzenbergerGraphs{
compound=true;
subgraph cluster4{
1 [shape=circle];
}
subgraph cluster3{
2 -> 4 [label="a",color=red];
3 -> 2 [label="c",color=green];
4 -> 3 [label="b",color=blue];
2 [shape=circle];
3 [shape=circle];
4 [shape=circle];
}
subgraph cluster2{
5 -> 5 [label="b",color=blue];
5 -> 6 [label="c",color=green];
6 -> 5 [label="a",color=red];
6 -> 7 [label="c",color=green];
7 -> 7 [label="a",color=red];
7 -> 6 [label="b",color=blue];
5 [shape=circle];
6 [shape=circle];
7 [shape=circle];
}
subgraph cluster1{
8 -> 8 [label="a",color=red];
8 -> 8 [label="b",color=blue];
8 -> 8 [label="c",color=green];
8 [shape=circle];
}
1 -> 2 [lhead=cluster3,ltail=cluster4,color=cornflowerblue];
2 -> 5 [lhead=cluster2,ltail=cluster3,color=cornflowerblue];
5 -> 8 [lhead=cluster1,ltail=cluster2,color=cornflowerblue];
}
</pre></div>


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

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

99%


¤ Dauer der Verarbeitung: 0.3 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.