Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 5e1854624d3bc613bdd0dd13d1ef9ac7 > files > 3362

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

<?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 (Wedderga) - Chapter 6: Useful properties and functions</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" />
</head>
<body>


<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="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chap7.html">7</a>  <a href="chapBib.html">Bib</a>  <a href="chapInd.html">Ind</a>  </div>

<div class="chlinkprevnexttop">&nbsp;<a href="chap0.html">Top of Book</a>&nbsp;  &nbsp;<a href="chap5.html">Previous Chapter</a>&nbsp;  &nbsp;<a href="chap7.html">Next Chapter</a>&nbsp;  </div>

<p><a id="X7D3C0B1F7A66056F" name="X7D3C0B1F7A66056F"></a></p>
<div class="ChapSects"><a href="chap6.html#X7D3C0B1F7A66056F">6 <span class="Heading">Useful properties and functions</span></a>
<div class="ContSect"><span class="nocss">&nbsp;</span><a href="chap6.html#X7BA5D68A86B8C772">6.1 <span class="Heading">Semisimple group algebras of finite groups</span></a>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap6.html#X7EF856E880722311">6.1-1 IsSemisimpleZeroCharacteristicGroupAlgebra</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap6.html#X85999B6A7C52E305">6.1-2 IsSemisimpleRationalGroupAlgebra</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap6.html#X79289F7F7FC04846">6.1-3 IsSemisimpleANFGroupAlgebra</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap6.html#X7B546E2D7FB561BA">6.1-4 IsSemisimpleFiniteGroupAlgebra</a></span>
</div>
<div class="ContSect"><span class="nocss">&nbsp;</span><a href="chap6.html#X86121BD77F7E5C7A">6.2 <span class="Heading">Operations with group rings elements</span></a>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap6.html#X7A2BF4527E08803C">6.2-1 Centralizer</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap6.html#X7FE417DD837987B4">6.2-2 OnPoints</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap6.html#X798CEA1F80D355EE">6.2-3 AverageSum</a></span>
</div>
<div class="ContSect"><span class="nocss">&nbsp;</span><a href="chap6.html#X7AAB3882785C04E0">6.3 <span class="Heading">Cyclotomic classes</span></a>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap6.html#X7D7BDF5087C8F4C6">6.3-1 CyclotomicClasses</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap6.html#X7FA101AE7BC33671">6.3-2 IsCyclotomicClass</a></span>
</div>
<div class="ContSect"><span class="nocss">&nbsp;</span><a href="chap6.html#X7B16423A7FBED034">6.4 <span class="Heading">Other commands</span></a>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap6.html#X872510997A7AF31D">6.4-1 InfoWedderga</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap6.html#X8176F6DA7C8C057D">6.4-2 WEDDERGABuildManual</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap6.html#X7B530E317C4CB2EC">6.4-3 WEDDERGABuildManualHTML</a></span>
</div>
</div>

<h3>6 <span class="Heading">Useful properties and functions</span></h3>

<p><a id="X7BA5D68A86B8C772" name="X7BA5D68A86B8C772"></a></p>

<h4>6.1 <span class="Heading">Semisimple group algebras of finite groups</span></h4>

<p><a id="X7EF856E880722311" name="X7EF856E880722311"></a></p>

<h5>6.1-1 IsSemisimpleZeroCharacteristicGroupAlgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; IsSemisimpleZeroCharacteristicGroupAlgebra</code>( <var class="Arg">KG</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>The input must be a group ring.</p>

<p>Returns <code class="keyw">true</code> if the input <var class="Arg">KG</var> is a <em>semisimple group algebra</em> (<a href="chap7.html#X7FDD93FB79ADCC91"><b>7.2</b></a>) over a field of characteristic zero (that is if G is finite), and <code class="keyw">false</code> otherwise.</p>


<table class="example">
<tr><td><pre>

gap&gt; CG:=GroupRing( GaussianRationals, DihedralGroup(16) );;
gap&gt; IsSemisimpleZeroCharacteristicGroupAlgebra( CG );
true
gap&gt; FG:=GroupRing( GF(2), SymmetricGroup(3) );;                    
gap&gt; IsSemisimpleZeroCharacteristicGroupAlgebra( FG );
false
gap&gt; f := FreeGroup("a");
&lt;free group on the generators [ a ]&gt;
gap&gt; Qf:=GroupRing(Rationals,f);
&lt;algebra-with-one over Rationals, with 2 generators&gt;
gap&gt; IsSemisimpleZeroCharacteristicGroupAlgebra(Qf);
false

</pre></td></tr></table>

<p><a id="X85999B6A7C52E305" name="X85999B6A7C52E305"></a></p>

<h5>6.1-2 IsSemisimpleRationalGroupAlgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; IsSemisimpleRationalGroupAlgebra</code>( <var class="Arg">KG</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>The input must be a group ring.</p>

<p>Returns <code class="keyw">true</code> if <var class="Arg">KG</var> is a <em>semisimple rational group algebra</em> (<a href="chap7.html#X7FDD93FB79ADCC91"><b>7.2</b></a>) and <code class="keyw">false</code> otherwise.</p>


<table class="example">
<tr><td><pre>

gap&gt; QG:=GroupRing( Rationals, SymmetricGroup(4) );;       
gap&gt; IsSemisimpleRationalGroupAlgebra( QG );       
true
gap&gt; CG:=GroupRing( GaussianRationals, DihedralGroup(16) );;               
gap&gt; IsSemisimpleRationalGroupAlgebra( CG );                              
false
gap&gt; FG:=GroupRing( GF(2), SymmetricGroup(3) );;
gap&gt; IsSemisimpleRationalGroupAlgebra( FG );
false

</pre></td></tr></table>

<p><a id="X79289F7F7FC04846" name="X79289F7F7FC04846"></a></p>

<h5>6.1-3 IsSemisimpleANFGroupAlgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; IsSemisimpleANFGroupAlgebra</code>( <var class="Arg">KG</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>The input must be a group ring.</p>

<p>Returns <code class="keyw">true</code> if <var class="Arg">KG</var> is the group algebra of a finite group over a subfield of a cyclotomic extension of the rationals and <code class="keyw">false</code> otherwise.</p>


<table class="example">
<tr><td><pre>

gap&gt; IsSemisimpleANFGroupAlgebra( GroupRing( NF(5,[4]) , CyclicGroup(28) ) );
true
gap&gt; IsSemisimpleANFGroupAlgebra( GroupRing( GF(11) , CyclicGroup(28) ) );
false

</pre></td></tr></table>

<p><a id="X7B546E2D7FB561BA" name="X7B546E2D7FB561BA"></a></p>

<h5>6.1-4 IsSemisimpleFiniteGroupAlgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; IsSemisimpleFiniteGroupAlgebra</code>( <var class="Arg">KG</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>The input must be a group ring.</p>

<p>Returns <code class="keyw">true</code> if <var class="Arg">KG</var> is a <em>semisimple finite group algebra</em> (<a href="chap7.html#X7FDD93FB79ADCC91"><b>7.2</b></a>), that is a group algebra of a finite group G over a field K of order coprime to the order of G, and <code class="keyw">false</code> otherwisse.</p>


<table class="example">
<tr><td><pre>

gap&gt; FG:=GroupRing( GF(5), SymmetricGroup(3) );;
gap&gt; IsSemisimpleFiniteGroupAlgebra( FG );
true
gap&gt; KG:=GroupRing( GF(2), SymmetricGroup(3) );; 
gap&gt; IsSemisimpleFiniteGroupAlgebra( KG ); 
false
gap&gt; QG:=GroupRing( Rationals, SymmetricGroup(4) );;
gap&gt; IsSemisimpleFiniteGroupAlgebra( QG );
false

</pre></td></tr></table>

<p><a id="X86121BD77F7E5C7A" name="X86121BD77F7E5C7A"></a></p>

<h4>6.2 <span class="Heading">Operations with group rings elements</span></h4>

<p><a id="X7A2BF4527E08803C" name="X7A2BF4527E08803C"></a></p>

<h5>6.2-1 Centralizer</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; Centralizer</code>( <var class="Arg">G, x</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p><b>Returns: </b>A subgroup of a group <var class="Arg">G</var>.</p>

<p>The input should be formed by a finite group <var class="Arg">G</var> and an element <var class="Arg">x</var> of a group ring FH whose underlying group H contains <var class="Arg">G</var> as a subgroup.</p>

<p>Returns the centralizer of <var class="Arg">x</var> in <var class="Arg">G</var>.</p>

<p>This operation adds a new method to the operation that already exists in <strong class="pkg">GAP</strong>.</p>


<table class="example">
<tr><td><pre>

gap&gt; D16 := DihedralGroup(16);
&lt;pc group of size 16 with 4 generators&gt;
gap&gt; QD16 := GroupRing( Rationals, D16 );
&lt;algebra-with-one over Rationals, with 4 generators&gt;
gap&gt; a:=QD16.1;b:=QD16.2;
(1)*f1
(1)*f2
gap&gt; e := PrimitiveCentralIdempotentsByStrongSP( QD16)[3];;
gap&gt; Centralizer( D16, a);
Group([ f1, f4 ])
gap&gt; Centralizer( D16, b);
Group([ f2 ])
gap&gt; Centralizer( D16, a+b);
Group([ f4 ])
gap&gt; Centralizer( D16, e);
Group([ f1, f2 ])

</pre></td></tr></table>

<p><a id="X7FE417DD837987B4" name="X7FE417DD837987B4"></a></p>

<h5>6.2-2 OnPoints</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; OnPoints</code>( <var class="Arg">x, g</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; \^</code>( <var class="Arg">x, g</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p><b>Returns: </b>An element of a group ring.</p>

<p>The input should be formed by an element <var class="Arg">x</var> of a group ring FG and an element <var class="Arg">g</var> in the underlying group G of FG.</p>

<p>Returns the conjugate x^g = g^-1 x g of <var class="Arg">x</var> by <var class="Arg">g</var>. Usage of <code class="code">x^g</code> produces the same output.</p>

<p>This operation adds a new method to the operation that already exists in <strong class="pkg">GAP</strong>.</p>

<p>The following example is a continuation of the example from the description of <code class="func">Centralizer</code> (<a href="chap6.html#X7A2BF4527E08803C"><b>6.2-1</b></a>).</p>


<table class="example">
<tr><td><pre>

gap&gt; List(D16,x-&gt;a^x=a);
[ true, true, false, false, true, false, false, true, false, false, false,
  false, false, false, false, false ]
gap&gt; List(D16,x-&gt;e^x=e);
[ true, true, true, true, true, true, true, true, true, true, true, true,
  true, true, true, true ]
gap&gt; ForAll(D16,x-&gt;a^x=a);
false
gap&gt; ForAll(D16,x-&gt;e^x=e);
true

</pre></td></tr></table>

<p><a id="X798CEA1F80D355EE" name="X798CEA1F80D355EE"></a></p>

<h5>6.2-3 AverageSum</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; AverageSum</code>( <var class="Arg">RG, X</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p><b>Returns: </b>An element of a group ring.</p>

<p>The input must be composed of a group ring <var class="Arg">RG</var> and a finite subset <var class="Arg">X</var> of the underlying group G of <var class="Arg">RG</var>. The order of <var class="Arg">X</var> must be invertible in the coefficient ring R of <var class="Arg">RG</var>.</p>

<p>Returns the element of the group ring <var class="Arg">RG</var> that is equal to the sum of all elements of <var class="Arg">X</var> divided by the order of <var class="Arg">X</var>.</p>

<p>If <var class="Arg">X</var> is a subgroup of G then the output is an idempotent of RG which is central if and only if <var class="Arg">X</var> is normal in G.</p>


<table class="example">
<tr><td><pre>

gap&gt; G:=DihedralGroup(16);;               
gap&gt; QG:=GroupRing( Rationals, G );;
gap&gt; FG:=GroupRing( GF(5), G );;
gap&gt; e:=AverageSum( QG, DerivedSubgroup(G) );
(1/4)*&lt;identity&gt; of ...+(1/4)*f3+(1/4)*f4+(1/4)*f3*f4
gap&gt; f:=AverageSum( FG, DerivedSubgroup(G) ); 
(Z(5)^2)*&lt;identity&gt; of ...+(Z(5)^2)*f3+(Z(5)^2)*f4+(Z(5)^2)*f3*f4
gap&gt; G=Centralizer(G,e);
true
gap&gt; H:=Subgroup(G,[G.1]);
Group([ f1 ])
gap&gt; e:=AverageSum( QG, H );
(1/2)*&lt;identity&gt; of ...+(1/2)*f1
gap&gt; G=Centralizer(G,e);
false
gap&gt; IsNormal(G,H);
false

</pre></td></tr></table>

<p><a id="X7AAB3882785C04E0" name="X7AAB3882785C04E0"></a></p>

<h4>6.3 <span class="Heading">Cyclotomic classes</span></h4>

<p><a id="X7D7BDF5087C8F4C6" name="X7D7BDF5087C8F4C6"></a></p>

<h5>6.3-1 CyclotomicClasses</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; CyclotomicClasses</code>( <var class="Arg">q, n</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p><b>Returns: </b>A partition of [ 0 .. n ].</p>

<p>The input should be formed by two relatively prime positive integers.</p>

<p>Returns the list <var class="Arg">q</var>-<em>cyclotomic classes </em> (<a href="chap7.html#X800D8C5087D79DC8"><b>7.17</b></a>) modulo <var class="Arg">n</var>.</p>


<table class="example">
<tr><td><pre>

gap&gt; CyclotomicClasses( 2, 21 );
[ [ 0 ], [ 1, 2, 4, 8, 16, 11 ], [ 3, 6, 12 ], [ 5, 10, 20, 19, 17, 13 ],
  [ 7, 14 ], [ 9, 18, 15 ] ]
gap&gt; CyclotomicClasses( 10, 21 );
[ [ 0 ], [ 1, 10, 16, 13, 4, 19 ], [ 2, 20, 11, 5, 8, 17 ],
  [ 3, 9, 6, 18, 12, 15 ], [ 7 ], [ 14 ] ]

</pre></td></tr></table>

<p><a id="X7FA101AE7BC33671" name="X7FA101AE7BC33671"></a></p>

<h5>6.3-2 IsCyclotomicClass</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; IsCyclotomicClass</code>( <var class="Arg">q, n, C</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>The input should be formed by two relatively prime positive integers <var class="Arg">q</var> and <var class="Arg">n</var> and a sublist <var class="Arg">C</var> of [ 0 .. n ].</p>

<p>Returns <code class="keyw">true</code> if <var class="Arg">C</var> is a <var class="Arg">q</var>-<em>cyclotomic class</em> (<a href="chap7.html#X800D8C5087D79DC8"><b>7.17</b></a>) modulo <var class="Arg">n</var> and <code class="keyw">false</code> otherwise.</p>


<table class="example">
<tr><td><pre>

gap&gt; IsCyclotomicClass( 2, 7, [1,2,4] );
true
gap&gt; IsCyclotomicClass( 2, 21, [1,2,4] );
false
gap&gt; IsCyclotomicClass( 2, 21, [3,6,12] );
true

</pre></td></tr></table>

<p><a id="X7B16423A7FBED034" name="X7B16423A7FBED034"></a></p>

<h4>6.4 <span class="Heading">Other commands</span></h4>

<p><a id="X872510997A7AF31D" name="X872510997A7AF31D"></a></p>

<h5>6.4-1 InfoWedderga</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; InfoWedderga</code></td><td class="tdright">( info class )</td></tr></table></div>
<p><code class="code">InfoWedderga</code> is a special Info class for <strong class="pkg">Wedderga</strong> algorithms. It has 3 levels: 0, 1 (default) and 2. To change the info level to <code class="code">k</code>, use the command <code class="code">SetInfoLevel(InfoWedderga, k)</code>.</p>

<p>In the example below we use this mechanism to see more details about the Wedderburn components each time when we call <code class="code">WedderburnDecomposition</code>.</p>


<table class="example">
<tr><td><pre>

gap&gt; SetInfoLevel(InfoWedderga, 2);   
gap&gt; WedderburnDecomposition( GroupRing( CF(5), DihedralGroup( 16 ) ) );
#I  Info version : [ [ 1, CF(5) ], [ 1, CF(5) ], [ 1, CF(5) ], [ 1, CF(5) ],
  [ 2, CF(5) ], [ 1, NF(40,[ 1, 31 ]), 8, [ 2, 7, 0 ] ] ]
[ CF(5), CF(5), CF(5), CF(5), ( CF(5)^[ 2, 2 ] ), 
  &lt;crossed product with center NF(40,[ 1, 31 ]) over AsField( NF(40,
    [ 1, 31 ]), CF(40) ) of a group of size 2&gt; ]

</pre></td></tr></table>

<p><a id="X8176F6DA7C8C057D" name="X8176F6DA7C8C057D"></a></p>

<h5>6.4-2 WEDDERGABuildManual</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; WEDDERGABuildManual</code>( <var class="Arg"></var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>This function is used to build the manual in the following formats: DVI, PDF, PS, HTML and text for online help. We recommend that the user should have a recent and fairly complete TeX distribution. Since <strong class="pkg">Wedderga</strong> is distributed together with its manual, it is not necessary for the user to use this function. Normally it is intended to be used by the developers only. This is the only function of <strong class="pkg">Wedderga</strong> which requires a UNIX/Linux environment.</p>

<p><a id="X7B530E317C4CB2EC" name="X7B530E317C4CB2EC"></a></p>

<h5>6.4-3 WEDDERGABuildManualHTML</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; WEDDERGABuildManualHTML</code>( <var class="Arg"></var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>This fuction is used to build the manual only in HTML format. This does not depend on the availability of the TeX installation and works under Windows and MacOS as well. Since <strong class="pkg">Wedderga</strong> is distributed together with its manual, it is not necessary for the user to use this function. Normally it is intended to be used by the developers only.</p>


<div class="chlinkprevnextbot">&nbsp;<a href="chap0.html">Top of Book</a>&nbsp;  &nbsp;<a href="chap5.html">Previous Chapter</a>&nbsp;  &nbsp;<a href="chap7.html">Next Chapter</a>&nbsp;  </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="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chap7.html">7</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>