<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IntegralCupProduct</code>( <var class="Arg">R</var>, <var class="Arg">u</var>, <var class="Arg">v</var>, <var class="Arg">p</var>, <var class="Arg">q</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">‣ IntegralCupProduct</code>( <var class="Arg">R</var>, <var class="Arg">u</var>, <var class="Arg">v</var>, <var class="Arg">p</var>, <var class="Arg">q</var>, <var class="Arg">P</var>, <var class="Arg">Q</var>, <var class="Arg">N</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>(Various functions used to construct the cup product are also <span class="URL"><a href="../www/SideLinks/CR_functions.html">available</a></span>.)</p>
<p>Inputs a <span class="SimpleMath">\(ZG\)</span>-resolution <span class="SimpleMath">\(R\)</span>, a vector <span class="SimpleMath">\(u\)</span> representing an element in <span class="SimpleMath">\(H^p(G,Z)\)</span>, a vector <span class="SimpleMath">\(v\)</span> representing an element in <span class="SimpleMath">\(H^q(G,Z)\)</span> and the two integers <span class="SimpleMath">\(p,q\)</span> ><span class="SimpleMath">\( 0\)</span>. It returns a vector <span class="SimpleMath">\(w\)</span> representing the cup product <span class="SimpleMath">\(u\cdot v\)</span> in <span class="SimpleMath">\(H^{p+q}(G,Z)\)</span>. This product is associative and <span class="SimpleMath">\(u\cdot v = (-1)pqv\cdot u\)</span> . It provides <span class="SimpleMath">\(H^\ast(G,Z)\)</span> with the structure of an anti-commutative graded ring. This function implements the cup product for characteristic 0 only.</p>
<p>The resolution <span class="SimpleMath">\(R\)</span> needs a contracting homotopy.</p>
<p>To save the function from having to calculate the abelian groups <span class="SimpleMath">\(H^n(G,Z)\)</span> additional input variables can be used in the form <span class="SimpleMath">\(IntegralCupProduct(R,u,v,p,q,P,Q,N)\)</span> , where</p>
<ul>
<li><p><span class="SimpleMath">\(P\)</span> is the output of the command <span class="SimpleMath">\(CR_CocyclesAndCoboundaries(R,p,true)\)</span></p>
</li>
<li><p><span class="SimpleMath">\(Q\)</span> is the output of the command <span class="SimpleMath">\(CR_CocyclesAndCoboundaries(R,q,true)\)</span></p>
</li>
<li><p><span class="SimpleMath">\(N\)</span> is the output of the command <span class="SimpleMath">\(CR_CocyclesAndCoboundaries(R,p+q,true)\)</span> .</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IntegralRingGenerators</code>( <var class="Arg">R</var>, <var class="Arg">n</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs at least <span class="SimpleMath">\(n+1\)</span> terms of a <span class="SimpleMath">\(ZG\)</span>-resolution and integer <span class="SimpleMath">\(n\)</span>> <span class="SimpleMath">\(0\)</span>. It returns a minimal list of cohomology classes in <span class="SimpleMath">\(H^n(G,Z)\)</span> which, together with all cup products of lower degree classes, generate the group <span class="SimpleMath">\(H^n(G,Z)\)</span> .</p>
<p>(Let <span class="SimpleMath">\(a_i\)</span> be the <span class="SimpleMath">\(i\)</span>-th canonical generator of the <span class="SimpleMath">\(d\)</span>-generator abelian group <span class="SimpleMath">\(H^n(G,Z)\)</span>. The cohomology class <span class="SimpleMath">\(n_1a_1 + ... +n_da_d\)</span> is represented by the integer vector <span class="SimpleMath">\(u=(n_1, ..., n_d)\)</span>. )</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ModPCohomologyGenerators</code>( <var class="Arg">G</var>, <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">‣ ModPCohomologyGenerators</code>( <var class="Arg">R</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs either a <span class="SimpleMath">\(p\)</span>-group <span class="SimpleMath">\(G\)</span> and positive integer <span class="SimpleMath">\(n\)</span>, or else <span class="SimpleMath">\(n\)</span> terms of a minimal <span class="SimpleMath">\(Z_pG\)</span>-resolution <span class="SimpleMath">\(R\)</span> of <span class="SimpleMath">\(Z_p\)</span>. It returns a pair whose first entry is a minimal set of homogeneous generators for the cohomology ring <span class="SimpleMath">\(A=H^*(G,Z_p)\)</span> modulo all elements in degree greater than <span class="SimpleMath">\(n\)</span>. The second entry of the pair is a function <span class="SimpleMath">\(deg\)</span> which, when applied to a minimal generator, yields its degree.</p>
<p>WARNING: the following rule must be applied when multiplying generators <span class="SimpleMath">\(x_i\)</span> together. Only products of the form <span class="SimpleMath">\(x_1*(x_2*(x_3*(x_4*...)))\)</span> with <span class="SimpleMath">\(deg(x_i) \le deg(x_{i+1})\)</span> should be computed (since the <span class="SimpleMath">\(x_i\)</span> belong to a structure constant algebra with only a partially defined structure constants table).</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ModPCohomologyRing</code>( <var class="Arg">G</var>, <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">‣ ModPCohomologyRing</code>( <var class="Arg">G</var>, <var class="Arg">n</var>, <var class="Arg">level</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">‣ ModPCohomologyRing</code>( <var class="Arg">R</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">‣ ModPCohomologyRing</code>( <var class="Arg">R</var>, <var class="Arg">level</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs either a <span class="SimpleMath">\(p\)</span>-group <span class="SimpleMath">\(G\)</span> and positive integer <span class="SimpleMath">\(n\)</span>, or else <span class="SimpleMath">\(n\)</span> terms of a minimal <span class="SimpleMath">\(Z_pG\)</span>-resolution <span class="SimpleMath">\(R\)</span> of <span class="SimpleMath">\(Z_p\)</span>. It returns the cohomology ring <span class="SimpleMath">\(A=H^*(G,Z_p)\)</span> modulo all elements in degree greater than <span class="SimpleMath">\(n\)</span>.</p>
<p>The ring is returned as a structure constant algebra <span class="SimpleMath">\(A\)</span>.</p>
<p>The ring <span class="SimpleMath">\(A\)</span> is graded. It has a component <span class="SimpleMath">\(A!.degree(x)\)</span> which is a function returning the degree of each (homogeneous) element <span class="SimpleMath">\(x\)</span> in <span class="SimpleMath">\(GeneratorsOfAlgebra(A)\)</span>.</p>
<p>An optional input variable "level" can be set to one of the strings "medium" or "high". These settings determine parameters in the algorithm. The default setting is "medium".</p>
<p>When "level" is set to "high" the ring <span class="SimpleMath">\(A\)</span> is returned with a component <span class="SimpleMath">\(A!.niceBasis\)</span>. This component is a pair <span class="SimpleMath">\([Coeff,Bas]\)</span>. Here <span class="SimpleMath">\(Bas\)</span> is a list of integer lists; a "nice" basis for the vector space <span class="SimpleMath">\(A\)</span> can be constructed using the command <span class="SimpleMath">\(List(Bas,x->Product(List(x,i->Basis(A)[i]))\)</span>. The coefficients of the canonical basis element <span class="SimpleMath">\(Basis(A)[i]\)</span> are stored as <span class="SimpleMath">\(Coeff[i]\)</span>.</p>
<p>If the ring <span class="SimpleMath">\(A\)</span> is computed using the setting "level"="medium" then the component <span class="SimpleMath">\(A!.niceBasis\)</span> can be added to <span class="SimpleMath">\(A\)</span> using the command <span class="SimpleMath">\( A:=ModPCohomologyRing_part_2(A) \)</span>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ModPRingGenerators</code>( <var class="Arg">A</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Inputs a mod <span class="SimpleMath">\(p\)</span> cohomology ring <span class="SimpleMath">\(A\)</span> (created using the preceeding function). It returns a minimal generating set for the ring <span class="SimpleMath">\(A\)</span>. Each generator is homogeneous.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Mod2CohomologyRingPresentation</code>( <var class="Arg">G</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">‣ Mod2CohomologyRingPresentation</code>( <var class="Arg">G</var>, <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">‣ Mod2CohomologyRingPresentation</code>( <var class="Arg">A</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">‣ Mod2CohomologyRingPresentation</code>( <var class="Arg">R</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>When applied to a finite <span class="SimpleMath">\(2\)</span>-group <span class="SimpleMath">\(G\)</span> this function returns a presentation for the mod 2 cohomology ring <span class="SimpleMath">\(H^*(G,Z_2)\)</span>. The Lyndon-Hochschild-Serre spectral sequence is used to prove that the presentation is correct.</p>
<p>When the function is applied to a <span class="SimpleMath">\(2\)</span>-group <span class="SimpleMath">\(G\)</span> and positive integer <span class="SimpleMath">\(n\)</span> the function first constructs <span class="SimpleMath">\(n\)</span> terms of a free <span class="SimpleMath">\(Z_2G\)</span>-resolution <span class="SimpleMath">\(R\)</span>, then constructs the finite-dimensional graded algebra <span class="SimpleMath">\(A=H^(*\le n)(G,Z_2)\)</span>, and finally uses <span class="SimpleMath">\(A\)</span> to approximate a presentation for <span class="SimpleMath">\(H^*(G,Z_2)\)</span>. For "sufficiently large" the approximation will be a correct presentation for <span class="SimpleMath">\(H^*(G,Z_2)\)</span>.</p>
<p>Alternatively, the function can be applied directly to either the resolution <span class="SimpleMath">\(R\)</span> or graded algebra <span class="SimpleMath">\(A\)</span>.</p>
<p>This function was written by <strong class="button">Paul Smith</strong>. It uses the Singular commutative algebra package to handle the Lyndon-Hochschild-Serre spectral sequence.</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 ist noch experimentell.