|
|
|
|
Quelle chap16_mj.html
Sprache: HTML
|
|
| products/Sources/formale Sprachen/GAP/pkg/semigroups/doc/chap16_mj.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>
< script type= "text/javascript"
src= "https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</ script>
< 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_mj.html">Top< /a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</a> <a href="chap3_mj.html">3</a> <a href="chap4_mj.html">4</a> <a href="chap5_mj.html">5</a> <a href="chap6_mj.html">6</a> <a href="chap7_mj.html">7</a> <a href="chap8_mj.html">8</a> <a href="chap9_mj.html">9</a> <a href="chap10_mj.html">10</a> <a href="chap11_mj.html">11</a> <a href="chap12_mj.html">12</a> <a href="chap13_mj.html">13</a> <a href="chap14_mj.html">14</a> <a href="chap15_mj.html">15</a> <a href="chap16_mj.html">16</a> <a href="chap17_mj.html">17</a> <a href="chap18_mj.html">18</a> <a href="chapBib_mj.html">Bib</a> <a href="chapInd_mj.html">Ind</a> </div>
<div class="chlinkprevnexttop"> <a href="chap0_mj.html">[Top of Book]</a> <a href="chap0_mj.html#contents">[Contents]</a> <a href="chap15_mj.html">[Previous Chapter]</a> <a href="chap17_mj.html">[Next Chapter]</a> </div>
<p id="mathjaxlink" class="pcenter"><a href="chap16.html">[MathJax off]</a></p>
<p><a id="X80E82C6785300A86" name="X80E82C6785300A86"></a></p>
<div class="ChapSects"><a href="chap16_mj.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_mj.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_mj.html#X7F51F3CD7E13D199">16.1-1 DotString</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap16_mj.html#X853B81B385E2CF36">16.1-2 DotString</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap16_mj.html#X7C22E8D17D6C23EA">16.1-3 DotSemilatticeOfIdempotents</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap16_mj.html#X7E38369D7E8BEA4C">16.1-4 DotLeftCayleyDigraph</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap16_mj.html#X83152CA78114E2BD">16.2 <span class="Heading">
<code class="code">tex</code> output
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap16_mj.html#X80FBF08180F7F181">16.2-1 TexString</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap16_mj.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_mj.html#X7F0971F678B4FC66">16.3-1 TikzString</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap16_mj.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_mj.html#X7F0971F678B4FC66"><span class="RefLink">16.3-1</span></a>) and <code class="func">DotString</code> (<a href="chap16_mj.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 <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>) for automatically processing the output of <code class="func">TikzString</code> (<a href="chap16_mj.html#X7F0971F678B4FC66"><span class="RefLink">16.3-1</span></a>) and <code class="func">DotString</code> (<a href="chap16_mj.html#X7F51F3CD7E13D199"><span class="RefLink">16.1-1</span></a>) and opening the resulting pdf file.</p>
<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">an style='color: green'>8227; 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 \(\mathscr{D}\)-classes of the semigroup <var class="Arg">S</var> together with the eggbox diagram of each \(\mathscr{D}\)-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 \(\mathscr{D}\)-classes are shown as eggbox diagrams with \(\mathscr{L}\)-classes as rows and \(\mathscr{R}\)-classes as columns; group \(\mathscr{H}\)-classes are shaded gray and contain an asterisk. The \(\mathscr{L}\)-classes and \(\mathscr{R}\)-classes within a \(\mathscr{D}\)-class are arranged to correspond to the normalization of the principal factor given by <code class="func">NormalizedPrincipalFactor</code> (<a href="chap10_mj.html#X86C6D777847AAEC7"><span class="RefLink">10.4-8</span></a>). The \(\mathscr{D}\)-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 \(\mathscr{D}\)-class to another indicates that the higher \(\mathscr{D}\)-class is greater than the lower one in the \(\mathscr{D}\)-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 \(\mathscr{D}\)-classes in the diagram are not numbered according to their index in the list of \(\mathscr{D}\)-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 \(\mathscr{H}\)-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 \(\mathscr{L}\)- and \(\mathscr{R}\)-classes within each \(\mathscr{D}\)-class arranged to correspond to <code class="func">PrincipalFactor</code> (<a href="chap10_mj.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_mj.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_mj.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">an style='color: green'>8227; 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_mj.html#X7E38369D7E8BEA4C"><span class="RefLink">16.1-4</span></a>) and <code class="func">TikzLeftCayleyDigraph</code> (<a href="chap16_mj.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">an style='color: green'>8227; 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 \(\mathscr{D}\)-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 }"</pre></div>
<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">an style='color: green'>8227; 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">an style='color: green'>8227; 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_mj.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_mj.html#X7F51F3CD7E13D199"><span class="RefLink">16.1-1</span></a>) for more details, and see also <code class="func">TikzLeftCayleyDigraph</code> (<a href="chap16_mj.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"</pre></div>
<p><a id="X83152CA78114E2BD" name="X83152CA78114E2BD"></a></p>
<h4>16.2 <span class="Heading">
<code class="code">tex</code> output
</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_mj.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">an style='color: green'>8227; 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}"</pre></div>
<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">an style='color: green'>8227; 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_mj.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_mj.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_mj.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_mj.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_mj.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}"</pre></div>
<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">an style='color: green'>8227; 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">an style='color: green'>8227; 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_mj.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_mj.html#X7F0971F678B4FC66"><span class="RefLink">16.3-1</span></a>) for more details, and see also <code class="func">DotLeftCayleyDigraph</code> (<a href="chap16_mj.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}"</pre></div>
<div class="chlinkprevnextbot"> <a href="chap0_mj.html">[Top of Book]</a> <a href="chap0_mj.html#contents">[Contents]</a> <a href="chap15_mj.html">[Previous Chapter]</a> <a href="chap17_mj.html">[Next Chapter]</a> </div>
<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</a> <a href="chap3_mj.html">3</a> <a href="chap4_mj.html">4</a> <a href="chap5_mj.html">5</a> <a href="chap6_mj.html">6</a> <a href="chap7_mj.html">7</a> <a href="chap8_mj.html">8</a> <a href="chap9_mj.html">9</a> <a href="chap10_mj.html">10</a> <a href="chap11_mj.html">11</a> <a href="chap12_mj.html">12</a> <a href="chap13_mj.html">13</a> <a href="chap14_mj.html">14</a> <a href="chap15_mj.html">15</a> <a href="chap16_mj.html">16</a> <a href="chap17_mj.html">17</a> <a href="chap18_mj.html">18</a> <a href="chapBib_mj.html">Bib</a> <a href="chapInd_mj.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>
¤ Dauer der Verarbeitung: 0.19 Sekunden
¤
*© Formatika GbR, Deutschland
|
|
2026-11-04
|
|
|
|
|
Neuigkeiten |
| Aktuelles |
| Motto des Tages |
|
Open Source Software |
|
|
|
Jenseits des Üblichen ....
|
|
Besucherstatistik |
|
|
| Statistik |
| #Sources=1104857 |
| #Domains=438805 |
|
|