Sophie

Sophie

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

gap-system-packages-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 (HAPprime Datatypes) - Chapter 3: Graded algebras</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="chap8.html">8</a>  <a href="chap9.html">9</a>  <a href="chap10.html">10</a>  <a href="chapInd.html">Ind</a>  </div>

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

<p><a id="X8074AAF07A3E7D2C" name="X8074AAF07A3E7D2C"></a></p>
<div class="ChapSects"><a href="chap3.html#X8074AAF07A3E7D2C">3 <span class="Heading">Graded algebras</span></a>
<div class="ContSect"><span class="nocss">&nbsp;</span><a href="chap3.html#X844F0654822DAFCC">3.1 <span class="Heading">Graded algebras in <strong class="pkg">HAP</strong> (and <strong class="pkg">HAPprime</strong>)</span></a>
</div>
<div class="ContSect"><span class="nocss">&nbsp;</span><a href="chap3.html#X7DE3278D7E5DEE03">3.2 <span class="Heading">Data access functions</span></a>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X78ED069183AD3EEA">3.2-1 ModPRingGeneratorDegrees</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X780F21707FB7EFF4">3.2-2 ModPRingNiceBasis</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X7F40E8DA7AEC5CDC">3.2-3 ModPRingNiceBasisAsPolynomials</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X7E72445386B555DD">3.2-4 ModPRingBasisAsPolynomials</a></span>
</div>
<div class="ContSect"><span class="nocss">&nbsp;</span><a href="chap3.html#X87C3D1B984960984">3.3 <span class="Heading">Other functions</span></a>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X79C71A2F878358BB">3.3-1 PresentationOfGradedStructureConstantAlgebra</a></span>
</div>
<div class="ContSect"><span class="nocss">&nbsp;</span><a href="chap3.html#X790D62E37AA53C39">3.4 <span class="Heading">Example: Graded algebras and mod-p cohomology rings</span></a>
</div>
</div>

<h3>3 <span class="Heading">Graded algebras</span></h3>

<p>A graded algebra A is a ring that has a direct sum decomposition into Abelian additive groups (called degrees)</p>

<p class="pcenter">
      A = A_1 + A_2 + A_3 + ...
    </p>

<p>and where multiplication of elements follows a grading such that</p>

<p class="pcenter">
      A_s  x  A_r --&gt; A_s+r
    </p>

<p>This means that for any elements x in A_s and y in A_r, the product lies in degree r+s, i.e. xy in A_s+r.</p>

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

<h4>3.1 <span class="Heading">Graded algebras in <strong class="pkg">HAP</strong> (and <strong class="pkg">HAPprime</strong>)</span></h4>

<p>Small finite algebras can be represented explicitly in <strong class="pkg">GAP</strong> using a basis and a structure constant table <a href="../../../../../gap4r4/doc/htm/tut/CHAP006.htm#SECT002"><b>Tutorial: Algebras</b></a>, which specifies all products of basis elements. <strong class="pkg">HAP</strong> extends this definition to provide a finite approximation to a graded algebra, storing all basis elements and products up to a given degree, n. The graded algebras used by <strong class="pkg">HAP</strong> add a new component to the algebra object <code class="code">A</code>, the function <code class="code">A!.degree(e)</code> which returns the degree of an algebra element <code class="code">e</code>.</p>

<p><strong class="pkg">HAPprime</strong> uses this <strong class="pkg">HAP</strong> algebra object and adds some attributes, providing information on the basis and generators of the algebra. A ring presentation for this algebra can also be computed and represented using the <code class="keyw">GradedAlgebraPresentation</code> datatype (see Section <a href="chap4.html#X7CF4153B7903F639"><b>4</b></a>).</p>

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

<h4>3.2 <span class="Heading">Data access functions</span></h4>

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

<h5>3.2-1 ModPRingGeneratorDegrees</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; ModPRingGeneratorDegrees</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><b>Returns: </b>List</p>

<p>Returns a list containing the degree of each generator in a minimal generating set for the mod-p cohomology ring <var class="Arg">A</var>. The ith degree in the list corresponds to the ith generator returned by <code class="func">ModPRingGenerators</code> (<a href="/home/pas/GAP/pkg/Hap1.8/doc/chap8.html#X7A9561E47A4994F5"><b>HAP: ModPRingGenerators</b></a>)</p>

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

<h5>3.2-2 ModPRingNiceBasis</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; ModPRingNiceBasis</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><b>Returns: </b>List</p>

<p>Returns the information needed to convert the basis for <var class="Arg">A</var> (see <code class="func">Basis</code> (<a href="../../../../../gap4r4/doc/htm/ref/CHAP059.htm#SECT004"><b>Reference: Basis</b></a>)) into a nicer basis consisting of only products of ring generators. The function returns a pair of lists <code class="code">[Coeff, Bas]</code>. The list <code class="code">Coeff</code> is a change-of-basis matrix, where the ith row gives the standard basis element i in terms of the nice basis. The list <code class="code">Bas</code> can be used to form the new basis and is a list of integers where the ith 'nice basis' element is given by <code class="code">Product(List(Bas[i], x-&gt;Basis(A)[x]))</code>.</p>

<p>This attribute returns exactly the same list as is provided by component <code class="code">A!.niceBasis</code> (see <code class="func">ModPCohomologyRing</code> (<a href="/home/pas/GAP/pkg/Hap1.8/doc/chap8.html#X7A9561E47A4994F5"><b>HAP: ModPCohomologyRing</b></a>), but automatically constructs this list if it is not available.</p>

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

<h5>3.2-3 ModPRingNiceBasisAsPolynomials</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; ModPRingNiceBasisAsPolynomials</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><b>Returns: </b>List</p>

<p>A list which gives the 'nice basis' of the algebra <var class="Arg">A</var> (as returned by the second element of <code class="func">ModPRingNiceBasis</code> (<a href="chap3.html#X780F21707FB7EFF4"><b>3.2-2</b></a>)) in terms of products of the indeterminates in the ring presentation (as given by <code class="func">PresentationOfGradedStructureConstantAlgebra</code> (<a href="chap3.html#X79C71A2F878358BB"><b>3.3-1</b></a>)). The ith entry in the list corresponds to the ith basis element returned by <code class="func">ModPRingNiceBasis</code> (<a href="chap3.html#X780F21707FB7EFF4"><b>3.2-2</b></a>).</p>

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

<h5>3.2-4 ModPRingBasisAsPolynomials</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; ModPRingBasisAsPolynomials</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><b>Returns: </b>List</p>

<p>A list which gives the basis of the algebra <var class="Arg">A</var> (as returned by <code class="code">Basis(A)</code>) in terms of sums of products of the indeterminates in the ring presentation (as given by <code class="func">PresentationOfGradedStructureConstantAlgebra</code> (<a href="chap3.html#X79C71A2F878358BB"><b>3.3-1</b></a>)). The ith entry in the list corresponds to the ith basis element returned by <code class="func">Basis</code> (<a href="../../../../../gap4r4/doc/htm/ref/CHAP059.htm#SECT004"><b>Reference: Basis</b></a>).</p>

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

<h4>3.3 <span class="Heading">Other functions</span></h4>

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

<h5>3.3-1 PresentationOfGradedStructureConstantAlgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; PresentationOfGradedStructureConstantAlgebra</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><b>Returns: </b><code class="keyw">GradedAlgebraPresentation</code></p>

<p>Returns a ring presentation for the graded algebra <var class="Arg">A</var>. The ring <var class="Arg">A</var> must be a structure constant algebra with embedded degrees, such as is returned by <code class="func">ModPCohomologyRing</code> (<a href="/home/pas/GAP/pkg/Hap1.8/doc/chap8.html#X7A9561E47A4994F5"><b>HAP: ModPCohomologyRing</b></a>). The generators of the <code class="keyw">GradedAlgebraPresentation</code> (as returned by <code class="func">IndeterminatesOfGradedAlgebraPresentation</code> (<a href="chap4.html#X844BB80282EA3EBA"><b>4.3-3</b></a>) are in one-to-one correspondance with the generators of <var class="Arg">A</var> as returned by <code class="func">ModPRingGenerators</code> (<a href="/home/pas/GAP/pkg/Hap1.8/doc/chap8.html#X7A9561E47A4994F5"><b>HAP: ModPRingGenerators</b></a>) (ignoring the first generator, which is in degree zero).</p>

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

<h4>3.4 <span class="Heading">Example: Graded algebras and mod-p cohomology rings</span></h4>

<p>The mod-p cohomology ring of a p-group is a graded algebra (see <a href="/home/pas/GAP/pkg/happrime-0.3.2/doc/userguide/chap2.html#X78EE4D0386321E3B"><b>HAPprime: Computing mod-p cohomology rings and their Poincaré series</b></a>). As an example, we use the <strong class="pkg">HAP</strong> function <code class="func">ModPCohomologyRing</code> (<a href="/home/pas/GAP/pkg/Hap1.8/doc/chap8.html#X7A9561E47A4994F5"><b>HAP: ModPCohomologyRing</b></a>) to compute this algebra for the quaternion group Q_8 up to and including degree five. We can display its generators and basis (and degrees), and the information to construct a 'nice basis'</p>


<table class="example">
<tr><td><pre>
gap&gt; A := ModPCohomologyRing(SmallGroup(8, 4), 5);
&lt;algebra of dimension 9 over GF(2)&gt;
gap&gt; Display(Basis(A));
CanonicalBasis( Algebra( GF(2), [ v.1, v.2, v.3, v.4, v.5, v.6, v.7, v.8, v.9
 ] ) )
gap&gt; List(Basis(A), i-&gt;A!.degree(i));
[ 0, 1, 1, 2, 2, 3, 4, 5, 5 ]
gap&gt; ModPRingGenerators(A);
[ v.1, v.2, v.3, v.7 ]
gap&gt; ModPRingGeneratorDegrees(A);
[ 0, 1, 1, 4 ]
gap&gt; ModPRingNiceBasis(A);
[ [ [ 1, 0, 0, 0, 0, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0, 0, 0, 0 ],
      [ 0, 0, 1, 0, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 1, 0, 0, 0 ],
      [ 0, 0, 0, 0, 1, 1, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 0, 1 ],
      [ 0, 0, 0, 1, 0, 0, 0, 0, 0 ], [ 0, 0, 0, 0, 0, 0, 0, 1, 0 ],
      [ 0, 0, 0, 0, 0, 0, 1, 1, 0 ] ],
  [ [ 1, 1, 1 ], [ 1, 1, 2 ], [ 1, 1, 3 ], [ 1, 1, 7 ], [ 1, 2, 2 ],
      [ 1, 2, 3 ], [ 1, 2, 7 ], [ 1, 3, 7 ], [ 2, 2, 3 ] ] ]
</pre></td></tr></table>

<p>A presentation for this algebra can be constructed using <code class="func">PresentationOfGradedStructureConstantAlgebra</code> (<a href="chap3.html#X79C71A2F878358BB"><b>3.3-1</b></a>), which (see below) returns the presentation to be</p>

<p class="pcenter">
        H^*(G, F) = F[x_1, x_2, x_3] / (x_1^2 + x_1x_2 + x_2^2, x_2^3)
      </p>

<p>where x_1 and x_2 have degree one and x_3 is degree four. The 'nice basis' referred to above is monomials of degree up to five in this polynomial ring, and is not necessarily the same as the basis of the algebra given by <code class="func">Basis</code> (<a href="../../../../../gap4r4/doc/htm/ref/CHAP059.htm#SECT004"><b>Reference: Basis</b></a>), as demonstrated below.</p>


<table class="example">
<tr><td><pre>
gap&gt; A := ModPCohomologyRing(SmallGroup(8, 4), 5);;
gap&gt; PresentationOfGradedStructureConstantAlgebra(A);
Graded algebra GF(2)[ x_1, x_2, x_3 ] / [ x_1^2+x_1*x_2+x_2^2, x_2^3
 ] with indeterminate degrees [ 1, 1, 4 ]

gap&gt; ModPRingNiceBasisAsPolynomials(A);
[ Z(2)^0, x_1, x_2, x_3, x_1^2, x_1*x_2, x_1*x_3, x_2*x_3, x_1^2*x_2 ]
gap&gt; ModPRingBasisAsPolynomials(A);
[ Z(2)^0, x_1, x_2, x_1*x_2, x_1^2+x_1*x_2, x_1^2*x_2, x_3, x_2*x_3,
  x_1*x_3+x_2*x_3 ]</pre></td></tr></table>


<div class="chlinkprevnextbot">&nbsp;<a href="chap0.html">Top of Book</a>&nbsp;  &nbsp;<a href="chap2.html">Previous Chapter</a>&nbsp;  &nbsp;<a href="chap4.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="chap8.html">8</a>  <a href="chap9.html">9</a>  <a href="chap10.html">10</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>