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

Impressum chap2.html   Sprache: HTML

 
 products/Sources/formale Sprachen/GAP/pkg/deepthought/doc/chap2.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 (DeepThought) - Chapter 2: Using Deep Thought 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="chap2"  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="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="chap1.html">[Previous Chapter]</a>    <a href="chapBib.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap2_mj.html">[MathJax on]</a></p>
<p><a id="X82DA17B77A8A5B61" name="X82DA17B77A8A5B61"></a></p>
<div class="ChapSects"><a href="chap2.html#X82DA17B77A8A5B61">2 <span class="Heading">Using Deep Thought functions</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2.html#X7EA3FBDF7B809C2B">2.1 <span class="Heading">Computing Deep Thought polynomials</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X85D338758560944F">2.1-1 DTP_DTapplicability</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X86F89471783A781E">2.1-2 DTP_DTObjFromCollector</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2.html#X7DEEE5BD87A77227">2.2 <span class="Heading">Computations with Deep Thought polynomials</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X7D7E8A7E837393D5">2.2-1 DTP_Exp</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X7E6A77648287C534">2.2-2 DTP_Inverse</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X832D51A385C2B55E">2.2-3 DTP_IsInNormalForm</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X81BFA2BC82C955D4">2.2-4 DTP_Multiply</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X7CF4337B7C9E1559">2.2-5 DTP_Multiply_r</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X80B149C187ED3B23">2.2-6 DTP_Multiply_rs</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X8159A2E083BADB3D">2.2-7 DTP_NormalForm</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X7C12EF818683CB66">2.2-8 DTP_Order</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X7881AABE84C7EB33">2.2-9 DTP_SolveEquation</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2.html#X7E972B8C7A6CD87A">2.3 <span class="Heading">Computations with pcp-elements</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X82FE9D938612F732">2.3-1 DTP_PCP_Exp</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X87E377E5844A7841">2.3-2 DTP_PCP_Inverse</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X836633C77892C287">2.3-3 DTP_PCP_NormalForm</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X85B1ED637A2A4D79">2.3-4 DTP_PCP_Order</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X86E6DA84863440B5">2.3-5 DTP_PCP_SolveEquation</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap2.html#X81E6D7BE805AEA32">2.4 <span class="Heading">Accessing Deep Thought polynomials</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X85DDC77C7B704389">2.4-1 DTP_Display_DTObj</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap2.html#X7BD122177D9A9D4F">2.4-2 DTP_pols2GAPpols</a></span>
</div></div>
</div>

<h3>2 <span class="Heading">Using Deep Thought functions</span></h3>

<p>In the following sections, functions provided for computing Deep Thought polynomials and using them for calculations are listed.</p>

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

<h4>2.1 <span class="Heading">Computing Deep Thought polynomials</span></h4>

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

<h5>2.1-1 DTP_DTapplicability</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_DTapplicability</code>( <var class="Arg">coll</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: boolean</p>

<p>Checks the collector <code class="code">coll</code> for applicability of Deep Thought functions. Note that depending on confluency some functions may be applicable, while others are not. Information on the applicability and which type of Deep Thought polynomials are suggested is printed to the terminal. Here, "+" means that the following property is fulfilled, otherwise there is a "-". The function returns <code class="code">false</code> if Deep Thought is not applicable to the collector <code class="code">coll</code> and <code class="code">true</code> otherwise. Anyway, even if <code class="code">true</code> is returned, <em>not all functions need to be applicable</em> (in case of inconfluencies).</p>

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

<h5>2.1-2 DTP_DTObjFromCollector</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_DTObjFromCollector</code>( <var class="Arg">coll</var>[, <var class="Arg">rs_flag</var>] )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: a DTObj</p>

<p>Computes a DTObj for the collector coll, either with polynomials of type <span class="Math">f_{rs}</span> (if <code class="code">rs_flag = true</code>) or with polynomials of type <span class="Math">f_r</span>, if <code class="code">rs_flag = false</code>. If the optional argument <code class="code">rs_flag</code> is not provided, polynomials of type <span class="Math">f_{rs}</span> are computed. The function checks whether the collector <code class="code">coll</code> is confluent. If not, a warning is displayed. Note that the function assumes the collector <code class="code">coll</code> to be suitable for Deep Thought, see function <code class="code">DTP_DTapplicability</code>.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := UnitriangularPcpGroup(10, 0);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">coll := Collector(G);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">DTP_DTapplicability(coll);</span>
Checking collector for DT-applicability. "+" means the following property
is fulfilled.
+   conjugacy relations
+   power relations
+   confluent
Suggestion: Call DTP_DTObjFromColl with rs_flag = true.
true
# calling DTP_DTObjFromCollector without rs_flag implies rs_flag = true:
<span class="GAPprompt">gap></span> <span class="GAPinput">DTObj := DTP_DTObjFromCollector(coll);</span>
<DTObj>
</pre></div>

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

<h4>2.2 <span class="Heading">Computations with Deep Thought polynomials</span></h4>

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

<h5>2.2-1 DTP_Exp</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_Exp</code>( <var class="Arg">expvec</var>, <var class="Arg">int</var>, <var class="Arg">DTObj</var)</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: an exponent vector</p>

<p>Computes the exponent vector of <code class="code">expvec</code><span class="Math">^{int}</span>. If <code class="code">IsConfluent(DTObj) = true</code>, then the result is in normal form.</p>

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

<h5>2.2-2 DTP_Inverse</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_Inverse</code>( <var class="Arg">expvec</var>, <var class="Arg">DTObj</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: an exponent vector</p>

<p>Computes the exponent vector of the inverse of the element corresponding to <code class="code">expvec</code>. If <code class="code">IsConfluent(DTObj) = true</code>, then the result is in normal form.</p>

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

<h5>2.2-3 DTP_IsInNormalForm</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_IsInNormalForm</code>( <var class="Arg">expvec</var>, <var class="Arg">coll</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: boolean or positive integer</p>

<p>Checks whether <code class="code">expvec</code> is in normal form or not. If yes, the return value is <code class="code">true</code>. Otherwise the return value is the smallest generator index for which the normal form condition is violated, i.e. for which the relative order <code class="code">RelativeOrder(coll)[i]</code> is non-zero, and <code class="code">expvec[i]</code> < <code class="code">0</code> or <code class="code">expvec[i]</code> <span class="Math">\geq</span> <code class="code">RelativeOrder(coll)[i]</code>.</p>

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

<h5>2.2-4 DTP_Multiply</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_Multiply</code>( <var class="Arg">expvec1</var>, <var class="Arg">expvec2</var>, <var class="Arg">DTObj</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: an exponent vector</p>

<p>Computes the exponent vector of the product <code class="code">expvec1 * expvec2</code> using the Deep Thought polynomials. If <code class="code">IsConfluent(DTObj) = true</code>, then the result is returned in normal form. <code class="code">DTP_Multiply</code> either calls <code class="code">DTP_Multiply_r</code> or <code class="code">DTP_Multiply_rs</code> depending on which type of polynomials are stored in <code class="code">DTObj</code>.</p>

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

<h5>2.2-5 DTP_Multiply_r</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_Multiply_r</code>( <var class="Arg">expvec1</var>, <var class="Arg">expvec2</var>, <var class="Arg">DTObj</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: an exponent vector</p>

<p>Computes the exponent vector of the product <code class="code">expvec1 * expvec2</code> using the Deep Thought polynomials of type <span class="Math">f_r</span> stored in <code class="code">DT_Obj</code>. If <code class="code">IsConfluent(DTObj) = true</code>, then the result is returned in normal form.</p>

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

<h5>2.2-6 DTP_Multiply_rs</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_Multiply_rs</code>( <var class="Arg">expvec1</var>, <var class="Arg">expvec2</var>, <var class="Arg">DTObj</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: an exponent vector</p>

<p>Computes the exponent vector of the product <code class="code">expvec1 * expvec2</code> using the Deep Thought polynomials of type <span class="Math">f_{rs}</span> stored in <code class="code">DT_Obj</code>. If <code class="code">IsConfluent(DTObj) = true</code>, then the result is returned in normal form.</p>

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

<h5>2.2-7 DTP_NormalForm</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_NormalForm</code>( <var class="Arg">expvec</var>, <var class="Arg">DTObj</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: an exponent vector</p>

<p>Computes the exponent vector of the normal form of <code class="code">expvec</code>. For this function to be applicable, we need <code class="code">IsConfluent(DTObj) = true</code>.</p>

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

<h5>2.2-8 DTP_Order</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_Order</code>( <var class="Arg">expvec</var>, <var class="Arg">DTObj</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: positive integer or infinity</p>

<p>Computes the order of the element described by <code class="code">expvec</code>. For this function to be applicable, we need <code class="code">IsConfluent(DTObj) = true</code>.</p>

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

<h5>2.2-9 DTP_SolveEquation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_SolveEquation</code>( <var class="Arg">expvec1</var>, <var class="Arg">expvec2</var>, <var class="Arg">DTObj</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: an exponent vector</p>

<p>Computes the exponent vector of the element corresponding to <code class="code">expvec1</code><span class="Math">^{-1}</span> <code class="code">* expvec2</code>, i.e. the result solves the equation <code class="code">expvec1 * result = expvec2</code>. If <code class="code">IsConfluent(DTObj) = true</code>, then the result describes a normal form.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := PcGroupToPcpGroup(SmallGroup(23^5, 2));</span>
Pcp-group with orders [ 23, 23, 23, 23, 23 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">coll := Collector(G);</span>
<<from the left collector with 5 generators>>
<span class="GAPprompt">gap></span> <span class="GAPinput">DTObj := DTP_DTObjFromCollector(coll);</span>
<DTObj>
<span class="GAPprompt">gap></span> <span class="GAPinput">g := [100, 134, -31, 52, 5235];</span>
[ 100, 134, -31, 52, 5235 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">DTP_IsInNormalForm(g, DTObj);</span>
1
<span class="GAPprompt">gap></span> <span class="GAPinput">g := DTP_NormalForm(g, DTObj);</span>
[ 8, 19, 15, 10, 19 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">DTP_IsInNormalForm(g, DTObj);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">DTP_Inverse(g, DTObj);</span>
[ 15, 4, 22, 12, 3 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">DTP_Order(g, DTObj);</span>
529
<span class="GAPprompt">gap></span> <span class="GAPinput">h := [142, 2, -41, 23, 1];</span>
[ 142, 2, -41, 23, 1 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">DTP_Multiply(g, h, DTObj);</span>
[ 12, 21, 4, 16, 20 ]
</pre></div>

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

<h4>2.3 <span class="Heading">Computations with pcp-elements</span></h4>

<p>When Deep Thought polynomials are available, certain computations allow different approaches which may be faster than the methods used by default. In this section, computations for which such extra functions taking pcp-elements as input are available are listed. All of these functions expect the collector belonging to the pcp-elements to be a <code class="code">DTObj</code>.</p>

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

<h5>2.3-1 DTP_PCP_Exp</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_PCP_Exp</code>( <var class="Arg">pcp-element</var>, <var class="Arg">int</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: pcp-element</p>

<p>Returns the pcp-element <code class="code">pcp-element</code><span class="Math">^{int}</span>. If <code class="code">IsConfluent(DTObj) = true</code>, then the result is in normal form.</p>

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

<h5>2.3-2 DTP_PCP_Inverse</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_PCP_Inverse</code>( <var class="Arg">pcp-element</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: pcp-element</p>

<p>Returns the pcp-elment <code class="code">pcp-element^-1</code>. If <code class="code">IsConfluent(DTObj) = true</code>, then the result is in normal form.</p>

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

<h5>2.3-3 DTP_PCP_NormalForm</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_PCP_NormalForm</code>( <var class="Arg">pcp-element</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: pcp-element</p>

<p>Returns a pcp-element which is the normal form of the input pcp-element. For this function to be applicable, we need <code class="code">IsConfluent(DTObj) = true</code>.</p>

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

<h5>2.3-4 DTP_PCP_Order</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_PCP_Order</code>( <var class="Arg">pcp-element</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: positive integer or infinity</p>

<p>Computes the order of the pcp-element. For this function to be applicable, we need <code class="code">IsConfluent(DTObj) = true</code>.</p>

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

<h5>2.3-5 DTP_PCP_SolveEquation</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_PCP_SolveEquation</code>( <var class="Arg">pcp-element1</var>, <var class="Arg">pcp-element2</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: pcp-element</p>

<p>Returns the pcp-element <code class="code">pcp-element1</code><span class="Math">^{-1}</span> <code class="code">* pcp-element2</code>, i.e. the result solves the equation <code class="code">pcp-element1 * pcp-element = pcp-element2</code>. If <code class="code">IsConfluent(DTObj) = true</code>, then the result describes a normal form.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := HeisenbergPcpGroup(7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">coll := Collector(G);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">DTObj := DTP_DTObjFromCollector(coll);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">H := PcpGroupByCollector(DTObj);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">g := Random(H);; h := Random(H);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">DTP_PCP_SolveEquation(g, h);</span>
g1^-3*g2^-1*g3^-7*g4*g5^-6*g6*g7*g8^2*g9^3*g11^-4*g12^5*g14^-2*g15^7
g1^-3*g2^-1*g3^-7*g4*g5^-6*g6*g7*g8^2*g9^3*g11^-4*g12^5*g14^-2*g15^7
infinity
<span class="GAPprompt">gap></span> <span class="GAPinput">g^-1;</span>
g1^-2*g3^-3*g4^-1*g5^-4*g6^2*g7*g8^-3*g10^-3*g11^-1*g12^4*g14^-2*g15^-3
<span class="GAPprompt">gap></span> <span class="GAPinput">DTP_PCP_Inverse(h);</span>
g1*g2*g3^4*g4^-2*g5^2*g6*g8^-5*g9^-3*g10^-3*g11^3*g12^-1*g15^-33
</pre></div>

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

<h4>2.4 <span class="Heading">Accessing Deep Thought polynomials</span></h4>

<p>In this section, functions which can be used to display the content of a <code class="code">DTObj</code> are documented. Furthermore, Deep Thought polynomials stored in a <code class="code">DTObj</code> can be converted to <strong class="pkg">GAP</strong> polynomials.</p>

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

<h5>2.4-1 DTP_Display_DTObj</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_Display_DTObj</code>( <var class="Arg">DTObj</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: nothing</p>

<p>Prints information about <code class="code">DTObj</code> to the terminal. In particular, the Deep Thought polynomials are printed in human-readable form. This function is also called by the method of <code class="code">Display</code> for a <code class="code">DTObj</code>.</p>

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

<h5>2.4-2 DTP_pols2GAPpols</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DTP_pols2GAPpols</code>( <var class="Arg">DTObj</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: list</p>

<p>Converts the Deep Thought polynomials stored in <code class="code">DTObj[PC_DTPPolynomials]</code> to <strong class="pkg">GAP</strong> polynomials and returns them in a list together with their polynomial ring.</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">coll := FromTheLeftCollector(4);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetConjugate(coll, 2, 1, [2, 1, 3, 2]);</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetConjugate(coll, 3, 1, [3, 1, 4, 1]);</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetConjugate(coll, 3, 2, [3, 1, 4, 5]);</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">UpdatePolycyclicCollector(coll);</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">DTObj := DTP_DTObjFromCollector(coll);</span>
<DTObj>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(DTObj);</span>
Polynomials f_rs for s = 1:
f_1,s = X_1 + Y_1
f_2,s = X_2
f_3,s = X_3 + 2 * X_2 Y_1
f_4,s = X_4 + X_3 Y_1 + 2 * X_2 Binomial(Y_1, 2) + 10 * Binomial(X_2, 2) Y_1
Polynomials f_rs for s = 2:
f_1,s = X_1
f_2,s = X_2 + Y_2
f_3,s = X_3
f_4,s = X_4 + 5 * X_3 Y_2
Polynomials f_rs for s = 3:
f_1,s = X_1
f_2,s = X_2
f_3,s = X_3 + Y_3
f_4,s = X_4
Polynomials f_rs for s = 4:
f_1,s = X_1
f_2,s = X_2
f_3,s = X_3
f_4,s = X_4 + Y_4
<span class="GAPprompt">gap></span> <span class="GAPinput">DTObj := DTP_DTObjFromCollector(coll, false);</span>
<DTObj>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(DTObj);</span>
f_1 = X_1 + Y_1
f_2 = X_2 + Y_2
f_3 = X_3 + Y_3 + 2 * X_2 Y_1
f_4 = X_4 + Y_4 + X_3 Y_1 + 2 * X_2 Binomial(Y_1, 2) +
10 * Binomial(X_2, 2) Y_1 + 5 * X_3 Y_2 + 10 * X_2 Y_1 Y_2
<span class="GAPprompt">gap></span> <span class="GAPinput">DTP_pols2GAPpols(DTObj);</span>
 [ [ x1+y1, x2+y2, 2*x2*y1+x3+y3,
5*x2^2*y1+x2*y1^2+10*x2*y1*y2-6*x2*y1+x3*y1+5*x3*y2+x4+y4 ],
Rationals[x1,x2,x3,x4,y1,y2,y3,y4] ]
</pre></div>


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

100%


¤ 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.0.20Bemerkung:  (vorverarbeitet)  ¤

*Bot Zugriff






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.