<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>
<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>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>
<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>
<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>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>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>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>
<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>
<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>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>
<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>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>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>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>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>
<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>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>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>
¤ 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)
¤
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.