Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 91213ddcfbe7f54821d42c2d9e091326 > files > 2290

gap-system-packages-4.4.12-5mdv2010.0.i586.rpm

<html><head><title>[Polycyclic] 4 Pcp-groups - polycyclically presented groups</title></head>
<body text="#000000" bgcolor="#ffffff">
[<a href = "chapters.htm">Up</a>] [<a href ="CHAP003.htm">Previous</a>] [<a href ="CHAP005.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<h1>4 Pcp-groups - polycyclically presented groups</h1><p>
<P>
<H3>Sections</H3>
<oL>
<li> <A HREF="CHAP004.htm#SECT001">Pcp-elements -- elements of a pc-presented group</a>
<li> <A HREF="CHAP004.htm#SECT002">Methods for pcp-elements</a>
<li> <A HREF="CHAP004.htm#SECT003">Pcp-groups - groups of pcp-elements</a>
</ol><p>
<p>
<p>
<h2><a name="SECT001">4.1 Pcp-elements -- elements of a pc-presented group</a></h2>
<p><p>
A <strong>pcp-element</strong> is an element of a group defined by a consistent
pc-presentation given by a collector. Suppose that <var>g<sub>1</sub>, ..., g<sub>n</sub></var>
are the defining generators of the collector. Recall that each element
<var>g</var> in this group can be written uniquely as a collected word <var>g<sub>1</sub><sup>e_1</sup>
cdotsg<sub>n</sub><sup>e_n</sup></var> with <var>e<sub>i</sub> in<font face="helvetica,arial">Z</font></var> and <var>0 leqe<sub>i</sub> &lt; r<sub>i</sub></var> for <var>i in
I</var>. The integer vector <var>[e<sub>1</sub>, ..., e<sub>n</sub>]</var> is called the <strong>exponent
vector</strong> of <var>g</var>.  The following functions can be used to define
pcp-elements via their exponent vector or via an arbitrary generator
exponent word as introduced in Section <a href="CHAP003.htm">Collectors</a>.
<p>
<a name = "SSEC001.1"></a>
<li><code>PcpElementByExponentsNC( </code><var>coll</var><code>, </code><var>exp</var><code> )</code>
<a name = "SSEC001.1"></a>
<li><code>PcpElementByExponents( </code><var>coll</var><code>, </code><var>exp</var><code> )</code>
<p>
returns the pcp-element with exponent vector <var>exp</var>. The exponent vector
is considered relative to the defining generators of the pc-presentation.
<p>
<a name = "SSEC001.2"></a>
<li><code>PcpElementByGenExpListNC( </code><var>coll</var><code>, </code><var>word</var><code> )</code>
<a name = "SSEC001.2"></a>
<li><code>PcpElementByGenExpList( </code><var>coll</var><code>, </code><var>word</var><code> )</code>
<p>
returns the pcp-element with generators exponent list <var>word</var>. This list
<var>word</var> consists of a sequence of generator numbers and their corresponding
exponents and is of the form <var>[i<sub>1</sub>, e<sub>i_1</sub>, i<sub>2</sub>, e<sub>i_2</sub>, ..., i<sub>r</sub>, 
e<sub>i_r</sub>]</var>. The 
generators exponent list is considered relative to the defining generators
of the pc-presentation. 
<p>
These functions return pcp-elements in the category <code>IsPcpElement</code>.
Presently,  the  only representation  implemented for this category
is <code>IsPcpElementRep</code>.  
(This allows us  to be a  little sloppy right now.  The basic  set of 
operations for  <code>IsPcpElement</code> has  not been defined yet.  This is 
going to happen in one of the next version, certainly as soon as the 
need for different representations arises.)
<p>
<a name = "SSEC001.3"></a>
<li><code>IsPcpElement( </code><var>obj</var><code> )</code>
<p>
returns true if the object <var>obj</var> is a pcp-element.
<p>
<a name = "SSEC001.4"></a>
<li><code>IsPcpElementRep( </code><var>obj</var><code> )</code>
<p>
returns true if the object <var>obj</var> is represented as a pcp-element.
<p>
<p>
<h2><a name="SECT002">4.2 Methods for pcp-elements</a></h2>
<p><p>
Now we can describe attributes and functions for pcp-elements. The
four basic attributes of a pcp-element, <code>Collector</code>, <code>Exponents</code>,
<code>GenExpList</code> and <code>NameTag</code> are computed at the creation of the
pcp-element. All other attributes are determined at runtime.
<p>
Let <var>g</var> be a pcp-element and <var>g<sub>1</sub>, ..., g<sub>n</sub></var> a polycyclic generating
sequence of the underlying pc-presented group. Let <var>C<sub>1</sub>, ..., C<sub>n</sub></var>
be the polycyclic series defined by <var>g<sub>1</sub>, ..., g<sub>n</sub></var>.
<p>
The <strong>depth</strong> of a non-trivial element <var>g</var> of  a pcp-group (with respect 
to the defining generators) is the integer <var>i</var> such that <var>g inC<sub>i</sub>  
setminusC<sub>i+1</sub></var>. The depth  of the trivial element is defined to 
be <var>n+1</var>. If <var>gnot=1</var> has depth <var>i</var> and <var>g<sub>i</sub><sup>e_i</sup> cdotsg<sub>n</sub><sup>e_n</sup></var>
is the collected word for <var>g</var>, then <var>e<sub>i</sub></var> is the <strong>leading exponent</strong> of
<var>g</var>.
<p>
If  <var>g</var> has  depth <var>i</var>, then we call <var>r<sub>i</sub> = [C<sub>i</sub>:C<sub>i+1</sub>]</var> the <strong>factor
order</strong> of <var>g</var>. If <var>r&lt;infty</var>, then the  smallest positive integer <var>l</var>
with <var>g<sup>l</sup>  inC<sub>i+1</sub></var>  is the called  <strong>relative  order</strong> of  <var>g</var>.  If
<var>r=infty</var>, then the relative order  of <var>g</var> is defined  to be <var>0</var>. The
index <var>e</var>   of <var>langleg,C<sub>i+1</sub>rangle</var>  in  <var>C<sub>i</sub></var> is called <strong>relative  
index</strong>   of  <var>g</var>.   We   have that   <var>r  =  el</var>. 
<p>
We  call a pcp-element <strong>normed</strong>, if its leading  exponent is equal to
its relative index. For  each pcp-element <var>g</var>  there exists an integer
<var>e</var>  such   that <var>g<sup>e</sup></var>  is  normed.  
<p>
<p>
<a name = "SSEC002.1"></a>
<li><code>Collector( </code><var>g</var><code> )</code>
<p>
the collector to  which the pcp-element  <var>g</var> belongs.
<p>
<a name = "SSEC002.2"></a>
<li><code>Exponents( </code><var>g</var><code> )</code>
<p>
returns the exponent vector of the pcp-element <var>g</var> with respect to the defining
generating set of the underlying collector.
<p>
<a name = "SSEC002.3"></a>
<li><code>GenExpList( </code><var>g</var><code> )</code>
<p>
returns the generators  exponent  list  of the  pcp-element  <var>g</var> with respect to 
the defining generating set of the underlying collector.
<p>
<a name = "SSEC002.4"></a>
<li><code>NameTag( </code><var>g</var><code> )</code>
<p>
the name used for  printing the pcp-element <var>g</var>.   Printing is done by
using the name tag and appending the generator number of <var>g</var>.
<p>
<a name = "SSEC002.5"></a>
<li><code>Depth( </code><var>g</var><code> )</code>
<p>
returns  the  depth of the  pcp-element  <var>g</var> relative to  the defining
generators.
<p>
<a name = "SSEC002.6"></a>
<li><code>LeadingExponent( </code><var>g</var><code> )</code>
<p>
returns  the  leading exponent  of  pcp-element  <var>g</var>  relative to  the
defining generators.  If  <var>g</var> is the  identity element, the  functions
returns 'fail'
<p>
<a name = "SSEC002.7"></a>
<li><code>RelativeOrder( </code><var>g</var><code> )</code>
<p>
returns the relative order of the  pcp-element <var>g</var> with respect to the
defining generators.
<p>
<a name = "SSEC002.8"></a>
<li><code>RelativeIndex( </code><var>g</var><code> )</code>
<p>
returns the relative index of the pcp-element <var>g</var>  with respect to the
defining generators.
<p>
<a name = "SSEC002.9"></a>
<li><code>FactorOrder( </code><var>g</var><code> )</code>
<p>
returns  the factor order  of the pcp-element <var>g</var>  with respect to the
defining generators.
<p>
<a name = "SSEC002.10"></a>
<li><code>NormingExponent( </code><var>g</var><code> )</code>
<p>
returns a positive integer <var>e</var> such that the pcp-element <var>g</var> raised to
the power of <var>e</var> is normed.
<p>
<a name = "SSEC002.11"></a>
<li><code>NormedPcpElement( </code><var>g</var><code> )</code>
<p>
returns the normed element corresponding to the pcp-element <var>g</var>.
<p>
<p>
<h2><a name="SECT003">4.3 Pcp-groups - groups of pcp-elements</a></h2>
<p><p>
labelpcpgroup
<p>
A  <strong>pcp-group</strong> is a  group consisting of pcp-elements such that all 
pcp-elements in  the group share  the same collector. Thus the group 
<var>G</var>  defined by a polycyclic presentation and all its subgroups are 
pcp-groups. 
<p>
<a name = "SSEC003.1"></a>
<li><code>PcpGroupByCollector( </code><var>coll</var><code> )</code>
<a name = "SSEC003.1"></a>
<li><code>PcpGroupByCollectorNC( </code><var>coll</var><code> )</code>
<p>
returns a pcp-group build from the collector <var>coll</var>.  
<p>
The function calls <code>UpdatePolycyclicCollector</code> (see
<a href="CHAP003.htm#SSEC001.6">UpdatePolycyclicCollector</a>) and checks the confluence (see
<a href="CHAP003.htm#SSEC001.7">IsConfluent</a>) of the collector.
<p>
The non-check version bypasses these checks.
<p>
<a name = "SSEC003.2"></a>
<li><code>Group( </code><var>gens</var><code>, </code><var>id</var><code> )</code>
<p>
returns the group generated by the pcp-elements <var>gens</var> with identity
<var>id</var>. 
<p>
<a name = "SSEC003.3"></a>
<li><code>Subgroup( </code><var>G</var><code>, </code><var>gens</var><code> )</code>
<p>
returns a subgroup of the pcp-group <var>G</var> generated by the list <var>gens</var> of
pcp-elements from <var>G</var>.
<p>
<pre>
gap&gt;  ftl := FromTheLeftCollector( 2 );;
gap&gt;  SetRelativeOrder( ftl, 1, 2 );
gap&gt;  SetConjugate( ftl, 2, 1, [2,-1] );
gap&gt;  UpdatePolycyclicCollector( ftl );
gap&gt;  G:= PcpGroupByCollectorNC( ftl );
Pcp-group with orders [ 2, 0 ]
gap&gt; Subgroup( G, GeneratorsOfGroup(G){[2]} );
Pcp-group with orders [ 0 ]
</pre>
<p>
<p>
[<a href = "chapters.htm">Up</a>] [<a href ="CHAP003.htm">Previous</a>] [<a href ="CHAP005.htm">Next</a>] [<a href = "theindex.htm">Index</a>]
<P>
<address>Polycyclic manual<br>Februar 2009
</address></body></html>