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

Quelle  chap14.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/numericalsgps/doc/chap14.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 (NumericalSgps) - Chapter 14: 
  Dot functions
 </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="chap14"  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="chapA.html">A</a>  <a href="chapB.html">B</a>  <a href="chapC.html">C</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="chap13.html">[Previous Chapter]</a>    <a href="chapA.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap14_mj.html">[MathJax on]</a></p>
<p><a id="X7B8D661F79E957A6" name="X7B8D661F79E957A6"></a></p>
<div class="ChapSects"><a href="chap14.html#X7B8D661F79E957A6">14 <span class="Heading">
  Dot functions
 </span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap14.html#X7B8D661F79E957A6">14.1 <span class="Heading">
      Dot functions
    </span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap14.html#X7FEF6EC77E489886">14.1-1 DotBinaryRelation</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap14.html#X868991B084E42CE9">14.1-2 HasseDiagramOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap14.html#X832901FF85EB8F1C">14.1-3 HasseDiagramOfBettiElementsOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap14.html#X8050862F79EA9620">14.1-4 HasseDiagramOfAperyListOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap14.html#X7F62870F8652EDE6">14.1-5 DotTreeOfGluingsOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap14.html#X7F43955582F472B6">14.1-6 DotOverSemigroupsNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap14.html#X8195A2027B726448">14.1-7 DotRosalesGraph</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap14.html#X7EC75F477D4F8CC3">14.1-8 DotFactorizationGraph</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap14.html#X83F1423980D2AEA4">14.1-9 DotEliahouGraph</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap14.html#X81F579B783CF4363">14.1-10 SetDotNSEngine</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap14.html#X7D1999A88268979F">14.1-11 DotSplash</a></span>
</div></div>
</div>

<h3>14 <span class="Heading">
  Dot functions
 </span></h3>

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

<h4>14.1 <span class="Heading">
      Dot functions
    </span></h4>

<p>We provide several functions to translate graphs, Hasse diagrams or trees related to numerical and affine semigroups to the dot language. This can either be used with graphviz or any javascript library that interprets dot language. We give the alternative to use <code class="code">DotSplash</code> that uses viz.js.</p>

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

<h5>14.1-1 DotBinaryRelation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DotBinaryRelation</code>( <var class="Arg">br</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="code">br</code> is a binary relation. Returns a GraphViz dot that represents the binary relation <code class="code">br</code>. The set of vertices of the resulting graph is the source of <code class="code">br</code>. Edges join those elements which are related with respect to <code class="code">br</code>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">br:=BinaryRelationByElements(Domain([1,2]), [DirectProductElement([1,2])]);</span>
<general mapping: <object> -> <object> >
<span class="GAPprompt">gap></span> <span class="GAPinput">Print(DotBinaryRelation(br));</span>
digraph  NSGraph{rankdir = TB; edge[dir=back];
1 [label="1"];
2 [label="2"];
2 -> 1;
}
</pre></div>

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

<h5>14.1-2 HasseDiagramOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HasseDiagramOfNumericalSemigroup</code>( <var class="Arg">S</var>, <var class="Arg">A</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="code">S</code> is a numerical semigroup and <code class="code">A</code> is a set of integers. Returns a binary relation which is the Hasse diagram of <code class="code">A</code> with respect to the ordering <span class="SimpleMath">apreceq b</span> if <span class="SimpleMath">b - a</span> in <code class="code">S</code>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(3,5,7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">HasseDiagramOfNumericalSemigroup(s,[1,2,3]);</span>
<general mapping: <object> -> <object> >
</pre></div>

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

<h5>14.1-3 HasseDiagramOfBettiElementsOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HasseDiagramOfBettiElementsOfNumericalSemigroup</code>( <var class="Arg">S</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="code">S</code> is a numerical semigroup. Applies <code class="func">HasseDiagramOfBettiElementsOfNumericalSemigroup</code> with arguments <code class="code">S</code> and its Betti elements.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(3,5,7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">HasseDiagramOfBettiElementsOfNumericalSemigroup(s);</span>
<general mapping: <object> -> <object> >
</pre></div>

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

<h5>14.1-4 HasseDiagramOfAperyListOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HasseDiagramOfAperyListOfNumericalSemigroup</code>( <var class="Arg">S</var>[, <var class="Arg">n</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="code">S</code> is a numerical semigroup, <code class="code">n</code> is an integer (optional, if not provided, the multiplicity of the semigroup is taken as its value). Applies <code class="func">HasseDiagramOfBettiElementsOfNumericalSemigroup</code> (<a href="chap14.html#X832901FF85EB8F1C"><span class="RefLink">14.1-3</span></a>) with arguments <code class="code">S</code> and the Apéry set of <code class="code">S</code> with respect to <code class="code">n</code>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(3,5,7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">HasseDiagramOfAperyListOfNumericalSemigroup(s);</span>
<general mapping: <object> -> <object> >
<span class="GAPprompt">gap></span> <span class="GAPinput">HasseDiagramOfAperyListOfNumericalSemigroup(s,10);</span>
<general mapping: <object> -> <object> >
</pre></div>

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

<h5>14.1-5 DotTreeOfGluingsOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DotTreeOfGluingsOfNumericalSemigroup</code>( <var class="Arg">S</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="code">S</code> is a numerical semigroup. It outputs a tree (in dot) representing the many ways <code class="code">S</code> can be decomposed as a gluing of numerical semigroups (and goes recursively in the factors).</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(4,6,9);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Print(DotOverSemigroupsNumericalSemigroup(s));</span>
digraph  NSGraph{rankdir = TB; 
0 [label="< 4, 6, 9 >"]; 
0 [label="< 4, 6, 9 >"style=filled]; 
1 [label="< 4 > + < 6, 9 >" , shape=box]; 
2 [label="< 1 >"style=filled]; 
3 [label="< 2, 3 >"style=filled]; 
4 [label="< 2 > + < 3 >" , shape=box]; 
5 [label="< 1 >"style=filled]; 
6 [label="< 1 >"style=filled]; 
7 [label="< 4, 6 > + < 9 >" , shape=box]; 
8 [label="< 2, 3 >"style=filled]; 
10 [label="< 2 > + < 3 >" , shape=box]; 
11 [label="< 1 >"style=filled]; 
12 [label="< 1 >"style=filled]; 
9 [label="< 1 >"style=filled]; 
0 -> 1; 
1 -> 2; 
1 -> 3; 
3 -> 4; 
4 -> 5; 
4 -> 6; 
0 -> 7; 
7 -> 8; 
7 -> 9; 
8 -> 10; 
10 -> 11; 
10 -> 12; 
}
</pre></div>

<p><br><center><img src="img/tree-dot.jpg"></center><br></p>

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

<h5>14.1-6 DotOverSemigroupsNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DotOverSemigroupsNumericalSemigroup</code>( <var class="Arg">S</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="code">S</code> is a numerical semigroup. It outputs the Hasse diagram (in dot) of oversemigroups of <code class="code">S</code>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(4,6,9);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Print(DotOverSemigroupsNumericalSemigroup(s));</span>
digraph  NSGraph{rankdir = TB; edge[dir=back];
1 [label="< 1 >"style=filled];
2 [label="< 2, 3 >"style=filled];
3 [label="< 2, 5 >"style=filled];
4 [label="< 2, 7 >"style=filled];
5 [label="< 2, 9 >"style=filled];
6 [label="< 3, 4, 5 >"style=filled];
7 [label="< 3, 4 >"style=filled];
8 [label="< 4, 5, 6, 7 >"];
9 [label="< 4, 5, 6 >"style=filled];
10 [label="< 4, 6, 7, 9 >"];
11 [label="< 4, 6, 9, 11 >"];
12 [label="< 4, 6, 9 >"style=filled];
1 -> 2;
2 -> 3;
2 -> 6;
3 -> 4;
3 -> 8;
4 -> 5;
4 -> 10;
5 -> 11;
6 -> 7;
6 -> 8;
7 -> 10;
8 -> 9;
8 -> 10;
9 -> 11;
10 -> 11;
11 -> 12;
}
</pre></div>

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

<h5>14.1-7 DotRosalesGraph</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DotRosalesGraph</code>( <var class="Arg">n</var>, <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">‣ DotRosalesGraph</code>( <var class="Arg">n</var>, <var class="Arg">S</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p><code class="code">S</code> is either numerical or an affine semigroup and <code class="code">n</code> is an element in <code class="code">S</code>. It outputs the graph associated to <code class="code">n</code> in <code class="code">S</code> (see <code class="func">GraphAssociatedToElementInNumericalSemigroup</code> (<a href="chap4.html#X81CC5A6C870377E1"><span class="RefLink">4.1-2</span></a>)).</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(4,6,9);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Print(DotRosalesGraph(15,s));</span>
graph  NSGraph{
1 [label="6"];
2 [label="9"];
2 -- 1;
}
</pre></div>

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

<h5>14.1-8 DotFactorizationGraph</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DotFactorizationGraph</code>( <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p><code class="code">f</code> is a set of factorizations. Returns the graph (in dot) of factorizations associated to <code class="code">f</code>: a complete graph whose vertices are the elements of <code class="code">f</code>. Edges are labelled with distances between the nodes they join. Kruskal algorithm is used to draw in red a spanning tree with minimal distances. Thus the catenary degree is reached in the edges of the tree.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">f:=FactorizationsIntegerWRTList(20,[3,5,7]);</span>
[ [ 5, 1, 0 ], [ 0, 4, 0 ], [ 1, 2, 1 ], [ 2, 0, 2 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Print(DotFactorizationGraph(f));</span>
graph  NSGraph{
1 [label=" (5, 1, 0)"];
2 [label=" (0, 4, 0)"];
3 [label=" (1, 2, 1)"];
4 [label=" (2, 0, 2)"];
2 -- 3[label="2", color="red"];
3 -- 4[label="2", color="red"];
1 -- 3[label="4", color="red"];
1 -- 4[label="4" ];
2 -- 4[label="4" ];
1 -- 2[label="5" ];
}
</pre></div>

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

<h5>14.1-9 DotEliahouGraph</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DotEliahouGraph</code>( <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p><code class="code">f</code> is a set of factorizations. Returns the Eliahou graph (in dot) of factorizations associated to <code class="code">f</code>: a graph whose vertices are the elements of <code class="code">f</code>, and there is an edge between two vertices if they have common support. Edges are labelled with distances between nodes they join.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">f:=FactorizationsIntegerWRTList(20,[3,5,7]);</span>
[ [ 5, 1, 0 ], [ 0, 4, 0 ], [ 1, 2, 1 ], [ 2, 0, 2 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Print(DotEliahouGraph(f));</span>
graph  NSGraph{
1 [label=" (5, 1, 0)"];
2 [label=" (0, 4, 0)"];
3 [label=" (1, 2, 1)"];
4 [label=" (2, 0, 2)"];
2 -- 3[label="2" ];
3 -- 4[label="2" ];
1 -- 3[label="4" ];
1 -- 4[label="4" ];
1 -- 2[label="5" ];
}
</pre></div>

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

<h5>14.1-10 SetDotNSEngine</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SetDotNSEngine</code>( <var class="Arg">engine</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>This function sets the value of <code class="code">DotNSEngine</code> to <code class="code">engine</code>, which must be any of the following "circo","dot","fdp","neato","osage","twopi"This tells viz.js which graphviz engine to use.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetDotNSEngine("circo");</span>
true
</pre></div>

<p>Here is an example with the default dot engine <br><center><img src="img/fact-dot.jpg"></center><br> And one with circo engine <br><center><img src="img/fact-circo.jpg"></center><br></p>

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

<h5>14.1-11 DotSplash</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DotSplash</code>( <var class="Arg">dots...</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Launches a browser and visualizes the dots diagrams provided as arguments. It outputs the html page displayed as a string, and prints the location of the temporary file that contains it.</p>


<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a>   <a href="chap0.html#contents">[Contents]</a>    <a href="chap13.html">[Previous Chapter]</a>    <a href="chapA.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="chapA.html">A</a>  <a href="chapB.html">B</a>  <a href="chapC.html">C</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.16 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.