<p>Let <span class="SimpleMath">\(G\)</span> be an infinite polycyclic group. It is well-known that there exist a normal <span class="SimpleMath">\(T\)</span>-group <span class="SimpleMath">\(N\)</span> and a <span class="SimpleMath">\(T\)</span>-group <span class="SimpleMath">\(C\)</span> such that <span class="SimpleMath">\(H=CN\)</span> is normal of finite index in <span class="SimpleMath">\(G\)</span> and <span class="SimpleMath">\(H/N\)</span> is free abelian of finite rank <a href="chapBib_mj.html#biBSeg83">[Seg83]</a>. In this chapter we present an effective collection method for an infinite polycyclic group which is given by a polycyclic presentation with respect to a polycyclic sequence <span class="SimpleMath">\(P\)</span> going through the normal series <span class="SimpleMath">\(1 \le N \le H \le G\)</span>. This polycyclic sequence <span class="SimpleMath">\(P\)</span> must be chosen as follows. Let <span class="SimpleMath">\((n_1,\dots,n_l)\)</span> be a Mal'cev basis of \(N\) and let \((c_1N,\dots,c_k N)\) be a basis for the free abelian group \(CN/N\). Then \((c_1,\dots,c_k,n_1,\dots,n_l)\) is a polycyclic sequence for \(H=CN\). Further there exists \(f_1,\dots, f_j \in G\) such that \((f_1 H, \dots, f_j H)\) is a polycyclic sequence for \(G/H\). Now we set
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MalcevCollectorConstruction</code>( <var class="Arg">G</var>, <var class="Arg">inds</var>, <var class="Arg">C</var>, <var class="Arg">CC</var>, <var class="Arg">N</var>, <var class="Arg">NN</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns a Mal'cev collector for the infinite polycyclically presented group \(G\). The group \(G\) must be given with respect to a polycyclic sequence \((g_1,\dots,g_r, c_{r+1}, \dots, c_{r+s}, n_{r+s+1}, \dots, n_{r+s+t})\) with the following properties:
<ul>
<li><p>(a) <span class="SimpleMath">\((n_{r+s+1}, \dots, n_{r+s+t})\)</span> is a Mal'cev basis for the \(T\)-group \(N \leq G\),
</li>
<li><p>(b) <span class="SimpleMath">\((c_{r+1}N, \dots, c_{r+s}N)\)</span> is a basis for the free-abelian group <span class="SimpleMath">\(CN/N\)</span> where <span class="SimpleMath">\(C \leq G\)</span> is a <span class="SimpleMath">\(T\)</span>-group generated by <span class="SimpleMath">\(c_{r+1}, \dots, c_{r+s}\)</span>,</p>
</li>
<li><p>(c) <span class="SimpleMath">\((g_1 CN, \dots, g_r CN)\)</span> is a polycyclic sequence for the finite group <span class="SimpleMath">\(G/CN\)</span>.</p>
</li>
</ul>
<p>The list <var class="Arg">inds</var> is equal to <span class="SimpleMath">\([ [1,\dots,r],[r+1,\dots,r+s],[r+s+1,\dots,r+s+t]]\)</span>. The group <span class="SimpleMath">\(CC\)</span> is isomorphic to <span class="SimpleMath">\(C\)</span> via <var class="Arg">CC</var>!.bijection and given by a polycyclic presentation with respect to a Mal'cev basis starting with \(c_{r+1}, \dots, c_{r+s}\). The group \(NN\) is isomorphic to \(N\) via NN!.bijection. and given by a polycyclic presentation with respect to the Mal'cev basis <span class="SimpleMath">\(( n_{r+s+1}, \dots, n_{r+s+t})\)</span>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GUARANA.Tr_n_O1</code>( <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GUARANA.Tr_n_O2</code>( <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>for a positive integer <var class="Arg">n</var> these functions construct polycyclically presented groups that can be used to test the Mal'cev collector. They return a list which can be used as input for the function MalcevCollectorConstruction. The constructed groups are isomorphic to triangular matrix groups of dimension n over the ring \(O_1\), respectively \(O_2\). The ring \(O_1\), respectively \(O_2\), is the maximal order of \(\Q(\theta_i)\) where \(\theta_1\), respectively \(\theta_2\), is a zero of the polynomial \(p_1(x) = x^2-3\), respectively \(p_2(x)=x^3 -x^2 +4\).
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GUARANA.F_2c_Aut1</code>( <var class="Arg">c</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GUARANA.F_3c_Aut1</code>( <var class="Arg">c</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>for a positive integer <var class="Arg">c</var> these functions construct polycyclically presented groups that can be used to test the Mal'cev collector. They return a list which can be used as input for the function MalcevCollectorConstruction. These groups are constructed as follows: Let \(F_{n,c}\) be the free nilpotent of class \(c\) group on \(n\) generators. An automorphism \(\varphi\) of the free group \(F_n\) naturally induces an automorphism \(\bar{\varphi}\) of \(F_{n,c}\). We use the automorphism \(\varphi_1\) of \(F_2\) which maps \(f_1\) to \(f_2^{-1}\) and \(f_2\) to \(f_1 f_2^3\) and the automorphism \(\varphi_2\) of \(F_3\) mapping \(f_1\) to \(f_2^{-1}\), \(f_2\) to \(f_3^{-1}\) and \(f_3\) to \(f_2^{-3}f_1^{-1}\) for our construction. The returned group F_2c_Aut1, respectively F_3c_Aut2, is isomorphic to the semidirect product \(\langle \varphi_1 \rangle \ltimes F_{2,c}\), respectively \(\langle \varphi_2 \rangle \ltimes F_{3,c}\).
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MalcevGElementByExponents</code>( <var class="Arg">malCol</var>, <var class="Arg">exps</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>For a Mal'cev collector malCol of a group \(G\) and an exponent vector exps with integer entries, this functions returns the group element of \(G\), which has exponents exps with respect to the polycyclic sequence underlying malCol.
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Random</code>( <var class="Arg">malCol</var>, <var class="Arg">range</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>For a Mal'cev collector malCol this function returns the output of MalcevGElementByExponents( malCol, exps ), where exps is an exponent vector whose entries are randomly chosen integers between -range and range.
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ *</code>( <var class="Arg">g</var>, <var class="Arg">h</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns the product of group elements which are defined with respect to a Mal'cev collector by the the function MalcevGElementByExponents.
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ GUARANA.AverageRuntimeCollec</code>( <var class="Arg">malCol</var>, <var class="Arg">ranges</var>, <var class="Arg">no</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>For a Mal'cev collector malCol, a list of positive integers ranges and a positive integer no this function computes for each number r in ranges the average runtime of no multiplications of two random elements of malCol of range r, as generated by Random( malCol, r ).
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 und die Messung sind noch experimentell.