<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.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 ≤ N ≤ H ≤ 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 <span class="SimpleMath">N</span> and let <span class="SimpleMath">(c_1N,dots,c_k N)</span> be a basis for the free abelian group <span class="SimpleMath">CN/N</span>. Then <span class="SimpleMath">(c_1,dots,c_k,n_1,dots,n_l)</span> is a polycyclic sequence for <span class="SimpleMath">H=CN</span>. Further there exists <span class="SimpleMath">f_1,dots, f_j ∈ G</span> such that <span class="SimpleMath">(f_1 H, dots, f_j H)</span> is a polycyclic sequence for <span class="SimpleMath">G/H</span>. Now we set</p>
<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 <span class="SimpleMath">G</span>. The group <span class="SimpleMath">G</span> must be given with respect to a polycyclic sequence <span class="SimpleMath">(g_1,dots,g_r, c_r+1, dots, c_r+s, n_r+s+1, dots, n_r+s+t)</span> with the following properties:</p>
<ul>
<li><p>(a) <span class="SimpleMath">(n_r+s+1, dots, n_r+s+t)</span> is a Mal'cev basis for the <span class="SimpleMath">T</span>-group <span class="SimpleMath">N ≤ G</span>,</p>
</li>
<li><p>(b) <span class="SimpleMath">(c_r+1N, dots, c_r+sN)</span> is a basis for the free-abelian group <span class="SimpleMath">CN/N</span> where <span class="SimpleMath">C ≤ 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 <span class="SimpleMath">c_r+1, dots, c_r+s</span>. The group <span class="SimpleMath">NN</span> is isomorphic to <span class="SimpleMath">N</span> via <var class="Arg">NN</var>!.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 <var class="Arg">n</var> over the ring <span class="SimpleMath">O_1</span>, respectively <span class="SimpleMath">O_2</span>. The ring <span class="SimpleMath">O_1</span>, respectively <span class="SimpleMath">O_2</span>, is the maximal order of <span class="SimpleMath">Q(θ_i)</span> where <span class="SimpleMath">θ_1</span>, respectively <span class="SimpleMath">θ_2</span>, is a zero of the polynomial <span class="SimpleMath">p_1(x) = x^2-3</span>, respectively <span class="SimpleMath">p_2(x)=x^3 -x^2 +4</span>.</p>
<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 <span class="SimpleMath">F_n,c</span> be the free nilpotent of class <span class="SimpleMath">c</span> group on <span class="SimpleMath">n</span> generators. An automorphism <span class="SimpleMath">φ</span> of the free group <span class="SimpleMath">F_n</span> naturally induces an automorphism <span class="SimpleMath">barφ</span> of <span class="SimpleMath">F_n,c</span>. We use the automorphism <span class="SimpleMath">φ_1</span> of <span class="SimpleMath">F_2</span> which maps <span class="SimpleMath">f_1</span> to <span class="SimpleMath">f_2^-1</span> and <span class="SimpleMath">f_2</span> to <span class="SimpleMath">f_1 f_2^3</span> and the automorphism <span class="SimpleMath">φ_2</span> of <span class="SimpleMath">F_3</span> mapping <span class="SimpleMath">f_1</span> to <span class="SimpleMath">f_2^-1</span>, <span class="SimpleMath">f_2</span> to <span class="SimpleMath">f_3^-1</span> and <span class="SimpleMath">f_3</span> to <span class="SimpleMath">f_2^-3f_1^-1</span> for our construction. The returned group F_2c_Aut1, respectively F_3c_Aut2, is isomorphic to the semidirect product <span class="SimpleMath">⟨ φ_1 ⟩ ⋉ F_2,c</span>, respectively <span class="SimpleMath">⟨ φ_2 ⟩ ⋉ F_3,c</span>.</p>
<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 <var class="Arg">malCol</var> of a group <span class="SimpleMath">G</span> and an exponent vector <var class="Arg">exps</var> with integer entries, this functions returns the group element of <span class="SimpleMath">G</span>, which has exponents <var class="Arg">exps</var> with respect to the polycyclic sequence underlying <var class="Arg">malCol</var>.</p>
<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 <var class="Arg">malCol</var> this function returns the output of MalcevGElementByExponents( <var class="Arg">malCol</var>, <var class="Arg">exps</var> ), where <var class="Arg">exps</var> is an exponent vector whose entries are randomly chosen integers between -<var class="Arg">range</var> and <var class="Arg">range</var>.</p>
<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.</p>
<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 <var class="Arg">malCol</var>, a list of positive integers <var class="Arg">ranges</var> and a positive integer <var class="Arg">no</var> this function computes for each number <var class="Arg">r</var> in <var class="Arg">ranges</var> the average runtime of <var class="Arg">no</var> multiplications of two random elements of <var class="Arg">malCol</var> of range <var class="Arg">r</var>, as generated by Random( <var class="Arg">malCol</var>, <var class="Arg">r</var> ).</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.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.