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

Quelle  chap16.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/semigroups/doc/chap16.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 (Semigroups) - Chapter 16: 
    Visualising semigroups and elements
  </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="chap16"  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="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chap7.html">7</a>  <a href="chap8.html">8</a>  <a href="chap9.html">9</a>  <a href="chap10.html">10</a>  <a href="chap11.html">11</a>  <a href="chap12.html">12</a>  <a href="chap13.html">13</a>  <a href="chap14.html">14</a>  <a href="chap15.html">15</a>  <a href="chap16.html">16</a>  <a href="chap17.html">17</a>  <a href="chap18.html">18</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="chap15.html">[Previous Chapter]</a>    <a href="chap17.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap16_mj.html">[MathJax on]</a></p>
<p><a id="X80E82C6785300A86" name="X80E82C6785300A86"></a></p>
<div class="ChapSects"><a href="chap16.html#X80E82C6785300A86">16 <span class="Heading">
    Visualising semigroups and elements
  </span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap16.html#X82E16CAB874A1D84">16.1 <span class="Heading">
      <code class="code">dot</code> pictures
    </span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap16.html#X7F51F3CD7E13D199">16.1-1 DotString</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap16.html#X853B81B385E2CF36">16.1-2 DotString</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap16.html#X7C22E8D17D6C23EA">16.1-3 DotSemilatticeOfIdempotents</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap16.html#X7E38369D7E8BEA4C">16.1-4 DotLeftCayleyDigraph</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap16.html#X83152CA78114E2BD">16.2 <span class="Heading">
      <code class="code">tex</codeoutput
    </span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap16.html#X80FBF08180F7F181">16.2-1 TexString</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap16.html#X7BDDE0FE80D09887">16.3 <span class="Heading">
      <code class="code">tikz</code> pictures
    </span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap16.html#X7F0971F678B4FC66">16.3-1 TikzString</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap16.html#X81EF7F777EEF69C1">16.3-2 TikzLeftCayleyDigraph</a></span>
</div></div>
</div>

<h3>16 <span class="Heading">
    Visualising semigroups and elements
  </span></h3>

<p>There are two operations <code class="func">TikzString</code> (<a href="chap16.html#X7F0971F678B4FC66"><span class="RefLink">16.3-1</span></a>) and <code class="func">DotString</code> (<a href="chap16.html#X7F51F3CD7E13D199"><span class="RefLink">16.1-1</span></a>) in <strong class="pkg">Semigroups</strong> for creating LaTeX and <code class="code">dot</code> (also known as GraphViz) format pictures of the Green's class structure of a semigroup and for visualising certain types of elements of a semigroup. There is also a function Splash (Digraphs: Splash) for automatically processing the output of TikzString (16.3-1) and DotString (16.1-1) and opening the resulting pdf file.



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

<h4>16.1 <span class="Heading">
      <code class="code">dot</code> pictures
    </span></h4>

<p>In this section, we describe the operations in <strong class="pkg">Semigroups</strong> for creating pictures in <code class="code">dot</code> format.</p>

<p>The operations described in this section return strings, which can be written to a file using the function <code class="func">FileString</code> (<a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc/doc/chap6_mj.html#X7E14D32181FBC3C3"><span class="RefLink">GAPDoc: FileString</span></a>) or viewed using <code class="func">Splash</code> (<a href="https://gap-packages.github.io/io/doc/chap9_mj.html#X83B3318784E78415"><span class="RefLink">Digraphs: Splash</span></a>).</p>

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

<h5>16.1-1 DotString</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DotString</code>( <var class="Arg">S</var>[, <var class="Arg">options</var>] )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A string.</p>

<p>If the argument <var class="Arg">S</var> is a semigroup, and the optional second argument <var class="Arg">options</var> is a record, then this operation produces a graphical representation of the partial order of the <em>D</em>-classes of the semigroup <var class="Arg">S</var> together with the eggbox diagram of each <em>D</em>-class. The output is in <code class="code">dot</code> format (also known as <code class="code">GraphViz</code>) format. For details about this file format, and information about how to display or edit this format see <span class="URL"><a href="https://www.graphviz.org">https://www.graphviz.org</a></span>.</p>

<p>The string returned by <code class="code">DotString</code> can be written to a file using the command <code class="func">FileString</code> (<a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc/doc/chap6_mj.html#X7E14D32181FBC3C3"><span class="RefLink">GAPDoc: FileString</span></a>).</p>

<p>The <em>D</em>-classes are shown as eggbox diagrams with <em>L</em>-classes as rows and <em>R</em>-classes as columns; group <em>H</em>-classes are shaded gray and contain an asterisk. The <em>L</em>-classes and <em>R</em>-classes within a <em>D</em>-class are arranged to correspond to the normalization of the principal factor given by <code class="func">NormalizedPrincipalFactor</code> (<a href="chap10.html#X86C6D777847AAEC7"><span class="RefLink">10.4-8</span></a>). The <em>D</em>-classes are numbered according to their index in <code class="code">GreensDClasses(<var class="Arg">S</var>)</code>, so that an <code class="code">i</code> appears next to the eggbox diagram of <code class="code">GreensDClasses(<var class="Arg">S</var>)[i]</code>. A line from one <em>D</em>-class to another indicates that the higher <em>D</em>-class is greater than the lower one in the <em>D</em>-order on <var class="Arg">S</var>.</p>

<p>If the optional second argument <var class="Arg">options</var> is present, it can be used to specify some options for output.</p>


<dl>
<dt><strong class="Mark">number</strong></dt>
<dd><p>if <code class="code"><var class="Arg">options</var>.number</code> is <code class="keyw">false</code>, then the <em>D</em>-classes in the diagram are not numbered according to their index in the list of <em>D</em>-classes of <var class="Arg">S</var>. The default value for this option is <code class="keyw">true</code>.</p>

</dd>
<dt><strong class="Mark">maximal</strong></dt>
<dd><p>if <code class="code"><var class="Arg">options</var>.maximal</code> is <code class="keyw">true</code>, then the structure description of the group <em>H</em>-classes is displayed; see <code class="func">StructureDescription</code> (<a href="../../../doc/ref/chap39_mj.html#X8199B74B84446971"><span class="RefLink">Reference: StructureDescription</span></a>). Setting this attribute to <code class="keyw">true</code> can adversely affect the performance of <code class="code">DotString</code>. The default value for this option is <code class="keyw">false</code>.</p>

</dd>
<dt><strong class="Mark">normal</strong></dt>
<dd><p>if <code class="code"><var class="Arg">options</var>.normal</code> is <code class="keyw">false</code>, then the <em>L</em>- and <em>R</em>-classes within each <em>D</em>-class arranged to correspond to <code class="func">PrincipalFactor</code> (<a href="chap10.html#X86C6D777847AAEC7"><span class="RefLink">10.4-8</span></a>). If <code class="code"><var class="Arg">options</var>.normal</code> is <code class="keyw">true</code>, they are instead arranged to correspond to <code class="func">NormalizedPrincipalFactor</code> (<a href="chap10.html#X86C6D777847AAEC7"><span class="RefLink">10.4-8</span></a>). Setting this attribute to <code class="keyw">false</code> may improve the performance of <code class="code">DotString</code> as it avoids the computation of <code class="func">InjectionNormalizedPrincipalFactor</code> (<a href="chap10.html#X7EBB4F1981CC2AE9"><span class="RefLink">10.4-7</span></a>). The default value for this option is <code class="keyw">true</code>.</p>

</dd>
</dl>

<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := FullTransformationMonoid(3);</span>
<full transformation monoid of degree 3>
<span class="GAPprompt">gap></span> <span class="GAPinput">DotString(S);</span>
"//dot\ndigraph DClasses {\nnode [shape=plaintext]\nedge [color=blac\
k,arrowhead=none]\n1 [shape=box style=invisible label=<\n<TABLE BORDE\
R=\"0\" CELLBORDER=\"1\" CELLPADDING=\"10\" CELLSPACING=\"0\" PORT=\"\
1\">\n<TR BORDER=\"0\"><TD COLSPAN=\"1\" BORDER = \"0\" > 1</TD></TR>\
<TR><TD BGCOLOR=\"gray\">*</TD></TR>\n</TABLE>>];\n2 [shape=box style\
=invisible label=<\n<TABLE BORDER=\"0\" CELLBORDER=\"1\" CELLPADDING=\
\"10\" CELLSPACING=\"0\" PORT=\"2\">\n<TR BORDER=\"0\"><TD COLSPAN=\"\
3\" BORDER = \"0\" > 2</TD></TR><TR><TD BGCOLOR=\"gray\">*</TD><TD BG\
COLOR=\"gray\">*</TD><TD BGCOLOR=\"white\"></TD></TR>\n<TR><TD BGCOLO\
R=\"gray\">*</TD><TD BGCOLOR=\"white\"></TD><TD BGCOLOR=\"gray\">*</T\
D></TR>\n<TR><TD BGCOLOR=\"white\"></TD><TD BGCOLOR=\"gray\">*</TD><T\
D BGCOLOR=\"gray\">*</TD></TR>\n</TABLE>>];\n3 [shape=box style=invis\
ible label=<\n<TABLE BORDER=\"0\" CELLBORDER=\"1\" CELLPADDING=\"10\"\
 CELLSPACING=\"0\" PORT=\"3\">\n<TR BORDER=\"0\"><TD COLSPAN=\"1\" BO\
RDER = \"0\" > 3</TD></TR><TR><TD BGCOLOR=\"gray\">*</TD></TR>\n<TR><\
TD BGCOLOR=\"gray\">*</TD></TR>\n<TR><TD BGCOLOR=\"gray\">*</TD></TR>\
\n</TABLE>>];\n1 -> 2\n2 -> 3\n }"
<span class="GAPprompt">gap></span> <span class="GAPinput">FileString("t3.dot", DotString(S));</span>
1040</pre></div>

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

<h5>16.1-2 DotString</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DotString</code>( <var class="Arg">digraph</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A string.</p>

<p>If <var class="Arg">digraph</var> is a <code class="func">Digraph</code> (<a href="https://gap-packages.github.io/io/doc/chap3_mj.html#X834843057CE86655"><span class="RefLink">Digraphs: Digraph</span></a>) in the category <code class="func">IsCayleyDigraph</code> (<a href="https://gap-packages.github.io/io/doc/chap3_mj.html#X7E749324800B38A5"><span class="RefLink">Digraphs: IsCayleyDigraph</span></a>), then <code class="code">DotString</code> returns a graphical representation of <var class="Arg">digraph</var>. The output is in <code class="code">dot</code> format (also known as <code class="code">GraphViz</code>) format. For details about this file format, and information about how to display or edit this format see <span class="URL"><a href="https://www.graphviz.org">https://www.graphviz.org</a></span>.</p>

<p>The string returned by <code class="code">DotString</code> can be written to a file using the command <code class="func">FileString</code> (<a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc/doc/chap6_mj.html#X7E14D32181FBC3C3"><span class="RefLink">GAPDoc: FileString</span></a>).</p>

<p>See also <code class="func">DotLeftCayleyDigraph</code> (<a href="chap16.html#X7E38369D7E8BEA4C"><span class="RefLink">16.1-4</span></a>) and <code class="func">TikzLeftCayleyDigraph</code> (<a href="chap16.html#X81EF7F777EEF69C1"><span class="RefLink">16.3-2</span></a>).</p>

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

<h5>16.1-3 DotSemilatticeOfIdempotents</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DotSemilatticeOfIdempotents</code>( <var class="Arg">S</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: A string.</p>

<p>This function produces a graphical representation of the semilattice of the idempotents of an inverse semigroup <var class="Arg">S</var> where the elements of <var class="Arg">S</var> have a unique semigroup inverse accessible via <code class="func">Inverse</code> (<a href="../../../doc/ref/chap31_mj.html#X78EE524E83624057"><span class="RefLink">Reference: Inverse</span></a>). The idempotents are grouped by the <em>D</em>-class they belong to.</p>

<p>The output is in <code class="code">dot</code> format (also known as <code class="code">GraphViz</code>) format. For details about this file format, and information about how to display or edit this format see <span class="URL"><a href="https://www.graphviz.org">https://www.graphviz.org</a></span>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S := DualSymmetricInverseMonoid(4);</span>
<inverse block bijection monoid of degree 4 with 3 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">DotSemilatticeOfIdempotents(S);</span>
"//dot\ngraph graphname {\n node [shape=point]\nranksep=2;\nsubgraph \
cluster_1{\n15 \n}\nsubgraph cluster_2{\n5 11 14 12 13 8 \n}\nsubgraph\
 cluster_3{\n2 10 6 3 4 9 7 \n}\nsubgraph cluster_4{\n1 \n}\n2 -- 1\n3\
 -- 1\n4 -- 1\n5 -- 2\n5 -- 3\n5 -- 4\n6 -- 1\n7 -- 1\n8 -- 2\n8 -- 6\
\n8 -- 7\n9 -- 1\n10 -- 1\n11 -- 2\n11 -- 9\n11 -- 10\n12 -- 3\n12 -- \
6\n12 -- 9\n13 -- 3\n13 -- 7\n13 -- 10\n14 -- 4\n14 -- 6\n14 -- 10\n15\
 -- 5\n15 -- 8\n15 -- 11\n15 -- 12\n15 -- 13\n15 -- 14\n }"


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

<h5>16.1-4 DotLeftCayleyDigraph</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DotLeftCayleyDigraph</code>( <var class="Arg">S</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">‣ DotRightCayleyDigraph</code>( <var class="Arg">S</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A string.</p>

<p>If <var class="Arg">S</var> is a semigroup satisfying <code class="func">CanUseFroidurePin</code> (<a href="chap6.html#X7FEE8CFA87E7B872"><span class="RefLink">6.1-4</span></a>), then <code class="code">DotLeftCayleyDigraph</code> is simply short for <code class="code">DotString(LeftCayleyDigraph(<var class="Arg">S</var>))</code>.</p>

<p><code class="code">DotRightCayleyDigraph</code> can be used to produce a dot string for the right Cayley graph of <var class="Arg">S</var>.</p>

<p>See <code class="func">DotString</code> (<a href="chap16.html#X7F51F3CD7E13D199"><span class="RefLink">16.1-1</span></a>) for more details, and see also <code class="func">TikzLeftCayleyDigraph</code> (<a href="chap16.html#X81EF7F777EEF69C1"><span class="RefLink">16.3-2</span></a>).</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">DotLeftCayleyDigraph(Semigroup(IdentityTransformation));</span>
"//dot\ndigraph hgn{\nnode [shape=circle]\n1 [label=\"a\"]\n1 -> 1\n}\
\n"
<span class="GAPprompt">gap></span> <span class="GAPinput">DotRightCayleyDigraph(Semigroup(IdentityTransformation));</span>
"//dot\ndigraph hgn{\nnode [shape=circle]\n1 [label=\"a\"]\n1 -> 1\n}\
\n"

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

<h4>16.2 <span class="Heading">
      <code class="code">tex</codeoutput
    </span></h4>

<p>In this section, we describe the operations in <strong class="pkg">Semigroups</strong> for creating LaTeX representations of <strong class="pkg">GAP</strong> objects. For pictures of <strong class="pkg">GAP</strong> objects please see Section <a href="chap16.html#X7BDDE0FE80D09887"><span class="RefLink">16.3</span></a>.</p>

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

<h5>16.2-1 TexString</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TexString</code>( <var class="Arg">f</var>[, <var class="Arg">n</var>] )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A string.</p>

<p>This function produces a string containing LaTeX code for the transformation <var class="Arg">f</var>. If the optional parameter <var class="Arg">n</var> is used, then this is taken to be the degree of the transformation <var class="Arg">f</var>, if the parameter <var class="Arg">n</var> is not given, then <code class="func">DegreeOfTransformation</code> (<a href="../../../doc/ref/chap53_mj.html#X78A209C87CF0E32B"><span class="RefLink">Reference: DegreeOfTransformation</span></a>) is used by default. If <var class="Arg">n</var> is less than the degree of <var class="Arg">f</var>, then an error is given.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">TexString(Transformation([6, 2, 4, 3, 6, 4]));</span>
"\\begin{pmatrix}\n 1 & 2 & 3 & 4 & 5 & 6 \\\\\n 6 & 2 & 4 & 3 & 6 &\
 4\n\\end{pmatrix}"
<span class="GAPprompt">gap></span> <span class="GAPinput">TexString(Transformation([1, 2, 1, 3]), 5);</span>
"\\begin{pmatrix}\n 1 & 2 & 3 & 4 & 5 \\\\\n 1 & 2 & 1 & 3 & 5\n\\en\
d{pmatrix}"

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

<h4>16.3 <span class="Heading">
      <code class="code">tikz</code> pictures
    </span></h4>

<p>In this section, we describe the operations in <strong class="pkg">Semigroups</strong> for creating pictures in <code class="code">tikz</code> format.</p>

<p>The functions described in this section return a string, which can be written to a file using the function <code class="func">FileString</code> (<a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc/doc/chap6_mj.html#X7E14D32181FBC3C3"><span class="RefLink">GAPDoc: FileString</span></a>) or viewed using <code class="func">Splash</code> (<a href="https://gap-packages.github.io/io/doc/chap9_mj.html#X83B3318784E78415"><span class="RefLink">Digraphs: Splash</span></a>).</p>

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

<h5>16.3-1 TikzString</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TikzString</code>( <var class="Arg">obj</var>[, <var class="Arg">options</var>] )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A string.</p>

<p>This function produces a graphical representation of the object <var class="Arg">obj</var> using the <code class="code">tikz</code> package for LaTeX. More precisely, this operation outputs a string containing a minimal LaTeX document which can be compiled using LaTeX to produce a picture of <var class="Arg">obj</var>.</p>

<p>Currently the following types of objects are supported:</p>


<dl>
<dt><strong class="Mark">blocks</strong></dt>
<dd><p>If <var class="Arg">obj</var> is the left or right blocks of a bipartition, then <code class="code">TikzString</code> returns a graphical representation of these blocks; see Section <a href="chap3.html#X87684C148592F831"><span class="RefLink">3.6</span></a>.</p>

</dd>
<dt><strong class="Mark">bipartitions</strong></dt>
<dd><p>If <var class="Arg">obj</var> is a bipartition, then <code class="code">TikzString</code> returns a graphical representation of <var class="Arg">obj</var>.</p>

<p>If the optional second argument <var class="Arg">options</var> is a record with the component <code class="code">colors</code> set to <code class="keyw">true</code>, then the blocks of <var class="Arg">f</var> will be colored using the standard <code class="code">tikz</code> colors. Due to the limited number of colors available in <code class="code">tikz</code> this option only works when the degree of <var class="Arg">obj</var> is less than 20. See Chapter <a href="chap3.html#X7C18DB427C9C0917"><span class="RefLink">3</span></a> for more details about bipartitions.</p>

</dd>
<dt><strong class="Mark">pbrs</strong></dt>
<dd><p>If <var class="Arg">obj</var> is a <code class="func">PBR</code> (<a href="chap4.html#X82A8646F7C70CF3B"><span class="RefLink">4.2-1</span></a>), then <code class="code">TikzString</code> returns a graphical representation <var class="Arg">obj</var>; see Chapter <a href="chap4.html#X85A717D1790B7BB5"><span class="RefLink">4</span></a>.</p>

</dd>
<dt><strong class="Mark">Cayley graphs</strong></dt>
<dd><p>If <var class="Arg">obj</var> is a <code class="func">Digraph</code> (<a href="https://gap-packages.github.io/io/doc/chap3_mj.html#X834843057CE86655"><span class="RefLink">Digraphs: Digraph</span></a>) in the category <code class="func">IsCayleyDigraph</code> (<a href="https://gap-packages.github.io/io/doc/chap3_mj.html#X7E749324800B38A5"><span class="RefLink">Digraphs: IsCayleyDigraph</span></a>), then <code class="code">TikzString</code> returns a picture of <var class="Arg">obj</var>. No attempt is made whatsoever to produce a sensible picture of the digraph <var class="Arg">obj</var>, in fact, the vertices are all given the same coordinates. Human intervention is required to produce a meaningful picture from the value returned by this method. It is intended to make the task of drawing such a Cayley graph more straightforward by providing everything except the final layout of the graph. Please use <code class="func">DotString</code> (<a href="chap16.html#X7F51F3CD7E13D199"><span class="RefLink">16.1-1</span></a>) if you want an automatically laid out diagram of the digraph <var class="Arg">obj</var>.</p>

</dd>
</dl>

<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">x := Bipartition([[1, 4, -2, -3], [2, 3, 5, -5], [-1, -4]]);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">TikzString(RightBlocks(x));</span>
"%tikz\n\\documentclass{minimal}\n\\usepackage{tikz}\n\\begin{documen\
t}\n\\begin{tikzpicture}\n  \\draw[ultra thick](5,2)circle(.115);\n  \
\\draw(1.8,5) node [top] {{$1$}};\n  \\fill(4,2)circle(.125);\n  \\dr\
aw(1.8,4) node [top] {{$2$}};\n  \\fill(3,2)circle(.125);\n  \\draw(1\
.8,3) node [top] {{$3$}};\n  \\draw[ultra thick](2,2)circle(.115);\n \
 \\draw(1.8,2) node [top] {{$4$}};\n  \\fill(1,2)circle(.125);\n  \\d\
raw(1.8,1) node [top] {{$5$}};\n\n  \\draw (5,2.125) .. controls (5,2\
.8) and (2,2.8) .. (2,2.125);\n  \\draw (4,2.125) .. controls (4,2.6)\
 and (3,2.6) .. (3,2.125);\n\\end{tikzpicture}\n\n\\end{document}"
<span class="GAPprompt">gap></span> <span class="GAPinput">x := Bipartition([[1, 5], [2, 4, -3, -5], [3, -1, -2], [-4]]);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">TikzString(x);</span>
"%tikz\n\\documentclass{minimal}\n\\usepackage{tikz}\n\\begin{documen\
t}\n\\begin{tikzpicture}\n\n  %block #1\n  %vertices and labels\n  \\\
fill(1,2)circle(.125);\n  \\draw(0.95, 2.2) node [above] {{ $1$}};\n \
 \\fill(5,2)circle(.125);\n  \\draw(4.95, 2.2) node [above] {{ $5$}};\
\n\n  %lines\n  \\draw(1,1.875) .. controls (1,1.1) and (5,1.1) .. (5\
,1.875);\n\n  %block #2\n  %vertices and labels\n  \\fill(2,2)circle(\
.125);\n  \\draw(1.95, 2.2) node [above] {{ $2$}};\n  \\fill(4,2)circ\
le(.125);\n  \\draw(3.95, 2.2) node [above] {{ $4$}};\n  \\fill(3,0)c\
ircle(.125);\n  \\draw(3, -0.2) node [below] {{ $-3$}};\n  \\fill(5,0\
)circle(.125);\n  \\draw(5, -0.2) node [below] {{ $-5$}};\n\n  %lines\
\n  \\draw(2,1.875) .. controls (2,1.3) and (4,1.3) .. (4,1.875);\n  \
\\draw(3,0.125) .. controls (3,0.7) and (5,0.7) .. (5,0.125);\n  \\dr\
aw(2,2)--(3,0);\n\n  %block #3\n  %vertices and labels\n  \\fill(3,2)\
circle(.125);\n  \\draw(2.95, 2.2) node [above] {{ $3$}};\n  \\fill(1\
,0)circle(.125);\n  \\draw(1, -0.2) node [below] {{ $-1$}};\n  \\fill\
(2,0)circle(.125);\n  \\draw(2, -0.2) node [below] {{ $-2$}};\n\n  %l\
ines\n  \\draw(1,0.125) .. controls (1,0.6) and (2,0.6) .. (2,0.125);\
\n  \\draw(3,2)--(2,0);\n\n  %block #4\n  %vertices and labels\n  \\f\
ill(4,0)circle(.125);\n  \\draw(4, -0.2) node [below] {{ $-4$}};\n\n \
%lines\n\\end{tikzpicture}\n\n\\end{document}"
<span class="GAPprompt">gap></span> <span class="GAPinput">TikzString(UniversalPBR(2));</span>
"%latex\n\\documentclass{minimal}\n\\usepackage{tikz}\n\\begin{docume\
nt}\n\\usetikzlibrary{arrows}\n\\usetikzlibrary{arrows.meta}\n\\newco\
mmand{\\arc}{\\draw[semithick, -{>[width = 1.5mm, length = 2.5mm]}]}\
\n\\begin{tikzpicture}[\n  vertex/.style={circle, draw, fill=black, i\
nner sep =0.04cm},\n  ghost/.style={circle, draw = none, inner sep = \
0.14cm},\n  botloop/.style={min distance = 8mm, out = -70, in = -110}\
,\n  toploop/.style={min distance = 8mm, out = 70, in = 110}]\n\n  % \
vertices and labels\n  \\foreach \\i in {1,...,2} {\n    \\node [vert\
ex] at (\\i/1.5, 3) {};\n    \\node [ghost] (\\i) at (\\i/1.5, 3) {};\
\n  }\n\n  \\foreach \\i in {1,...,2} {\n    \\node [vertex] at (\\i/\
1.5, 0) {};\n    \\node [ghost] (-\\i) at (\\i/1.5, 0) {};\n  }\n\n  \
% arcs from vertex 1\n  \\arc (1) to (-2);\n  \\arc (1) to (-1);\n  \
\\arc (1) edge [toploop] (1);\n  \\arc (1) .. controls (1.06666666666\
66667, 2.125) and (0.93333333333333324, 2.125) .. (2);\n\n  % arcs fr\
om vertex -1\n  \\arc (-1) .. controls (1.0666666666666667, 0.875) an\
d (0.93333333333333324, 0.875) .. (-2);\n  \\arc (-1) edge [botloop] \
(-1);\n  \\arc (-1) to (1);\n  \\arc (-1) to (2);\n\n  % arcs from ve\
rtex 2\n  \\arc (2) to (-2);\n  \\arc (2) to (-1);\n  \\arc (2) .. co\
ntrols (0.93333333333333324, 2.125) and (1.0666666666666667, 2.125) .\
. (1);\n  \\arc (2) edge [toploop] (2);\n\n  % arcs from vertex -2\n \
 \\arc (-2) edge [botloop] (-2);\n  \\arc (-2) .. controls (0.9333333\
3333333324, 0.875) and (1.0666666666666667, 0.875) .. (-1);\n  \\arc \
(-2) to (1);\n  \\arc (-2) to (2);\n\n\\end{tikzpicture}\n\\end{docum\
ent}"

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

<h5>16.3-2 TikzLeftCayleyDigraph</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TikzLeftCayleyDigraph</code>( <var class="Arg">S</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">‣ TikzRightCayleyDigraph</code>( <var class="Arg">S</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: A string.</p>

<p>If <var class="Arg">S</var> is a semigroup satisfying <code class="func">CanUseFroidurePin</code> (<a href="chap6.html#X7FEE8CFA87E7B872"><span class="RefLink">6.1-4</span></a>), then <code class="code">TikzLeftCayleyDigraph</code> is simply short for <code class="code">TikzString(LeftCayleyDigraph(<var class="Arg">S</var>))</code>.</p>

<p><code class="code">TikzRightCayleyDigraph</code> can be used to produce a tikz string for the right Cayley graph of <var class="Arg">S</var>.</p>

<p>See <code class="func">TikzString</code> (<a href="chap16.html#X7F0971F678B4FC66"><span class="RefLink">16.3-1</span></a>) for more details, and see also <code class="func">DotLeftCayleyDigraph</code> (<a href="chap16.html#X7E38369D7E8BEA4C"><span class="RefLink">16.1-4</span></a>).</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">TikzLeftCayleyDigraph(Semigroup(IdentityTransformation));</span>
"\\begin{tikzpicture}[scale=1, auto, \n vertex/.style={c\
ircle, draw, thick, fill=white, minimum size=0.65cm},\n  \
edge/.style={arrows={-angle 90}, thick},\n  loop/.style={\
min distance=5mm,looseness=5,arrows={-angle 90},thick}]\n\
\n  % Vertices . . .\n  \\node [vertex] (a) at (0, 0) {};\
\n  \\node at (0, 0) {$a$};\n\n  % Edges . . .\n  \\path[\
->] (a) edge [loop]\n           node {$a$} (a);\n\\end{ti\
kzpicture}"
<span class="GAPprompt">gap></span> <span class="GAPinput">TikzRightCayleyDigraph(Semigroup(IdentityTransformation));</span>
"\\begin{tikzpicture}[scale=1, auto, \n vertex/.style={c\
ircle, draw, thick, fill=white, minimum size=0.65cm},\n  \
edge/.style={arrows={-angle 90}, thick},\n  loop/.style={\
min distance=5mm,looseness=5,arrows={-angle 90},thick}]\n\
\n  % Vertices . . .\n  \\node [vertex] (a) at (0, 0) {};\
\n  \\node at (0, 0) {$a$};\n\n  % Edges . . .\n  \\path[\
->] (a) edge [loop]\n           node {$a$} (a);\n\\end{ti\
kzpicture}"


<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a>   <a href="chap0.html#contents">[Contents]</a>    <a href="chap15.html">[Previous Chapter]</a>    <a href="chap17.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="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chap7.html">7</a>  <a href="chap8.html">8</a>  <a href="chap9.html">9</a>  <a href="chap10.html">10</a>  <a href="chap11.html">11</a>  <a href="chap12.html">12</a>  <a href="chap13.html">13</a>  <a href="chap14.html">14</a>  <a href="chap15.html">15</a>  <a href="chap16.html">16</a>  <a href="chap17.html">17</a>  <a href="chap18.html">18</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.19 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.