| products/Sources/formale Sprachen/GAP/pkg/guarana/doc/chap3.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 (Guarana) - Chapter 3: Mal 'cev collection
</ 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= "chap3" 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="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="chap2.html">[Previous Chapter]</a> <a href="chap4.html">[Next Chapter]</a> </div>
<p id="mathjaxlink" class="pcenter"><a href="chap3_mj.html">[MathJax on]</a></p>
<p><a id="X7989E7D27B142919" name="X7989E7D27B142919"></a></p>
<div class="ChapSects"><a href="chap3.html#X7989E7D27B142919">3 <span class="Heading">Mal'cev collection
</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X7D3DC4ED855DC13C">3.1 <span class="Heading">The main functions
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X7C7C33FB789E7F50">3.1-1 MalcevCollectorConstruction</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X78FA4EF079BEA275">3.1-2 GUARANA.Tr_n_O1</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X86FA27828711BB51">3.1-3 GUARANA.F_2c_Aut1</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X79D925AD7AFF1202">3.1-4 MalcevGElementByExponents</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X79730D657AB219DB">3.1-5 Random</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X7857704878577048">3.1-6 *</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X7DD44FEE7DE4E810">3.1-7 GUARANA.AverageRuntimeCollec</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X81CAD2F27B2066C4">3.2 <span class="Heading">An example application
</span></a>
</span>
</div>
</div>
<h3>3 <span class="Heading">Mal'cev collection
</span></h3>
<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>
<p class="pcenter">P = (f_1,\dots,f_j, c_1, \dots , c_k, n_1, \dots, n_l )</p>
<p><a id="X7D3DC4ED855DC13C" name="X7D3DC4ED855DC13C"></a></p>
<h4>3.1 <span class="Heading">The main functions
</span></h4>
<p><a id="X7C7C33FB789E7F50" name="X7C7C33FB789E7F50"></a></p>
<h5>3.1-1 MalcevCollectorConstruction</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; 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>
<p><a id="X78FA4EF079BEA275" name="X78FA4EF079BEA275"></a></p>
<h5>3.1-2 GUARANA.Tr_n_O1</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; 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">an style='color: green'>8227; 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>
<p><a id="X86FA27828711BB51" name="X86FA27828711BB51"></a></p>
<h5>3.1-3 GUARANA.F_2c_Aut1</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; 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">an style='color: green'>8227; 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>
<p><a id="X79D925AD7AFF1202" name="X79D925AD7AFF1202"></a></p>
<h5>3.1-4 MalcevGElementByExponents</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; 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>
<p><a id="X79730D657AB219DB" name="X79730D657AB219DB"></a></p>
<h5>3.1-5 Random</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; 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>
<p><a id="X7857704878577048" name="X7857704878577048"></a></p>
<h5>3.1-6 *</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; *</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>
<p><a id="X7DD44FEE7DE4E810" name="X7DD44FEE7DE4E810"></a></p>
<h5>3.1-7 GUARANA.AverageRuntimeCollec</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; 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>
<p><a id="X81CAD2F27B2066C4" name="X81CAD2F27B2066C4"></a></p>
<h4>3.2 <span class="Heading">An example application
</span></h4>
<div class="example"><pre>
gap> ll := GUARANA.Tr_n_O1( 3 );
[ Pcp-group with orders [ 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0 ],
[ [ 1 .. 3 ], [ 4 .. 6 ], [ 7 .. 12 ] ],
Pcp-group with orders [ 0, 0, 0, 0, 0, 0 ],
Pcp-group with orders [ 0, 0, 0, 0, 0, 0 ],
Pcp-group with orders [ 0, 0, 0 ], Pcp-group with orders [ 0, 0, 0 ] ]
gap> malCol := MalcevCollectorConstruction( ll );
<<Malcev collector>>
F : [ 2, 2, 2 ]
C : <<Malcev object of dimension 3>>
N : <<Malcev object of dimension 6>>
gap> exps_g := [ 1, 1, 1, -3, -2, 1, -2, -1, 0, 3, -1,3 ];
[ 1, 1, 1, -3, -2, 1, -2, -1, 0, 3, -1, 3 ]
gap> exps_h := [ 1, 0, 1, -1, 0, 2, 0, 4, -1, 5, 9,-5 ];
[ 1, 0, 1, -1, 0, 2, 0, 4, -1, 5, 9, -5 ]
gap> g := MalcevGElementByExponents( malCol, exps_g );
[ 1, 1, 1, -3, -2, 1, -2, -1, 0, 3, -1, 3 ]
gap> h := MalcevGElementByExponents( malCol, exps_h );
[ 1, 0, 1, -1, 0, 2, 0, 4, -1, 5, 9, -5 ]
gap> k := g*h;
[ 0, 1, 0, -4, -2, 3, -7, 0, -37, -16, -352, -212 ]
gap> Random( malCol, 10 );
[ 0, 0, 1, 9, 5, 5, 2, -2, 7, -10, 7, -6 ]
</pre></div>
<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a> <a href="chap0.html#contents">[Contents]</a> <a href="chap2.html">[Previous Chapter]</a> <a href="chap4.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="chapBib.html">Bib</a> <a href="chapInd.html">Ind</a> </div>
<hr />
<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>
¤ Dauer der Verarbeitung: 0.7 Sekunden
¤
*© Formatika GbR, Deutschland
|
|