Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/GAP/pkg/xmodalg/doc/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 11.3.2025 mit Größe 35 kB image not shown  

SSL chap4.html   Interaktion und
PortierbarkeitHTML

 
 products/sources/formale Sprachen/GAP/pkg/xmodalg/doc/chap4.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 (XModAlg) - Chapter 4: Crossed modules</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="chap4"  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="chap5.html">5</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="chap3.html">[Previous Chapter]</a>    <a href="chap5.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap4_mj.html">[MathJax on]</a></p>
<p><a id="X808C6B357F8BADC1" name="X808C6B357F8BADC1"></a></p>
<div class="ChapSects"><a href="chap4.html#X808C6B357F8BADC1">4 <span class="Heading">Crossed modules</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap4.html#X7BB9D67179296AA0">4.1 <span class="Heading">Definition and Examples</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4.html#X813D94F97D8E71A8">4.1-1 XModAlgebra</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4.html#X7B31475D7C030075">4.1-2 XModAlgebraByIdeal</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4.html#X7CD49D5A84FB05FC">4.1-3 AugmentationXMod</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4.html#X83C5D98B828DD1DD">4.1-4 Source</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4.html#X814C89667B997FE8">4.1-5 XModAlgebraByMultiplierAlgebra</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4.html#X824D4DD88323EF70">4.1-6 XModAlgebraBySurjection</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4.html#X7AB09A158148290F">4.1-7 XModAlgebraByBoundaryAndAction</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4.html#X78400B837A2C8FB9">4.1-8 XModAlgebraByModule</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4.html#X7CA213397B334CBC">4.1-9 SubXModAlgebra</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap4.html#X866610BC7C41E1EC">4.2 <span class="Heading">(Pre-)Crossed Module Morphisms</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4.html#X7D575D07810640EB">4.2-1 XModAlgebraMorphism</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4.html#X83F45A3E8554ABE9">4.2-2 Kernel</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4.html#X87F4D35A826599C6">4.2-3 Image</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap4.html#X7B7975DA7E870690">4.2-4 SourceHom</a></span>
</div></div>
</div>

<h3>4 <span class="Heading">Crossed modules</span></h3>

<p>In this chapter we will present the notion of crossed modules of commutative algebras and their implementation in this package.</p>

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

<h4>4.1 <span class="Heading">Definition and Examples</span></h4>

<p>A <em>crossed module</em> is a <strong class="button">k</strong>-algebra morphism <span class="SimpleMath">mathcalX:=(∂:S→ R)</span> with a left action of <span class="SimpleMath">R</span> on <span class="SimpleMath">S</span> satisfying</p>

<p class="pcenter">
{\bf XModAlg\ 1} ~:~  \partial(r \cdot s) 
   = r(\partial s),
\qquad
{\bf XModAlg\ 2} ~:~  (\partial s) \cdot s^{\prime} = ss^{\prime}, 
</p>

<p>for all <span class="SimpleMath">s,s^' ∈ S, r∈ R. The morphism is called the boundary map of mathcalX



<p>Note that, although in this definition we have used a left action, in the category of commutative algebras left and right actions coincide.</p>

<p>When only the first axiom is satisfied, it is a <em>precrossed module</em> which is constructed.</p>

<p>The details of these implementations can be found in <a href="chapBib.html#biBaodabas1">[Oda09]</a>.</p>

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

<h5>4.1-1 XModAlgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ XModAlgebra</code>( <var class="Arg">args</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">‣ PreXModAlgebra</code>( <var class="Arg">args</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">‣ IsXModAlgebra</code>( <var class="Arg">X0</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsPreXModAlgebra</code>( <var class="Arg">X0</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>These two global function call one of the following six operations, depending on the arguments supplied. The two properties listed are assigned as appropriate to the resulting structures.</p>

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

<h5>4.1-2 XModAlgebraByIdeal</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ XModAlgebraByIdeal</code>( <var class="Arg">A</var>, <var class="Arg">I</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Let <span class="SimpleMath">A</span> be an algebra and <span class="SimpleMath">I</span> an ideal of <span class="SimpleMath">A</span>. Then <span class="SimpleMath">mathcalX = (inc:I→ A)</span> is a crossed module whose action is left multiplication of <span class="SimpleMath">A</span> on <span class="SimpleMath">I</span>. Conversely, given a crossed module <span class="SimpleMath">mathcalX = (∂ : S → R)</span>, it is the case that <span class="SimpleMath">∂(S)</span> is an ideal of <span class="SimpleMath">R</span>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">F5 := GF(5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">id5 := One( F5 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">two := Z(5);; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">z5 := Zero( F5 );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">n0 := [ [id5,z5,z5], [z5,id5,z5], [z5,z5,id5] ];; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">n1 := [ [z5,id5,two^3], [z5,z5,id5], [z5,z5,z5] ];;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">n2 := [ [z5,z5,id5], [z5,z5,z5], [z5,z5,z5] ];; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">An := Algebra( F5, [ n0, n1 ] );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( An, "An" ); </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Bn := Subalgebra( An, [ n1 ] );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( Bn, "Bn" ); </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsIdeal( An, Bn ); </span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">actn := AlgebraActionByMultipliers( An, Bn, An );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Xn := XModAlgebraByIdeal( An, Bn ); </span>
[ Bn -> An ]
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( Xn, "Xn" ); </span>

</pre></div>

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

<h5>4.1-3 AugmentationXMod</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ AugmentationXMod</code>( <var class="Arg">A</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>As a special case of the previous operation, the attribute <code class="code">AugmentationXMod(A)</code> of a group algebra <span class="SimpleMath">A</span> is the <code class="code">XModAlgebraByIdeal</code> formed using the <code class="code">AugmentationIdeal</code> of the group algebra.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">Ak4 := GroupRing( GF(5), DihedralGroup(4) );</span>
<algebra-with-one over GF(5), with 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size( Ak4 );</span>
625
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( Ak4, "GF5[k4]" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IAk4 := AugmentationIdeal( Ak4 );</span>
<two-sided ideal in GF5[k4], (2 generators)>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size( IAk4 );</span>
125
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( IAk4, "I(GF5[k4])" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">XIAk4 := XModAlgebraByIdeal( Ak4, IAk4 );</span>
[ I(GF5[k4]) -> GF5[k4] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( XIAk4 );</span>
Crossed module [I(GF5[k4])->GF5[k4]] :- 
Source algebra I(GF5[k4]) has generators:
  [ (Z(5)^2)*<identity> of ...+(Z(5)^0)*f1, (Z(5)^2)*<identity> of ...+(Z(5)^
    0)*f2 ]
: Range algebra GF5[k4] has generators:
  [ (Z(5)^0)*<identity> of ..., (Z(5)^0)*f1, (Z(5)^0)*f2 ]
: Boundary homomorphism maps source generators to:
  [ (Z(5)^2)*<identity> of ...+(Z(5)^0)*f1, (Z(5)^2)*<identity> of ...+(Z(5)^
    0)*f2 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Size2d( XIAk4 );</span>
[ 125, 625 ]

</pre></div>

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

<h5>4.1-4 Source</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Source</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Range</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Boundary</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ XModAlgebraAction</code>( <var class="Arg">X0</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>These four attributes are used in the construction of a crossed module <span class="SimpleMath">mathcalX</span> where:</p>


<ul>
<li><p><code class="code">Source(X)</code> and <code class="code">Range(X)</code> are the <em>source</em> and the <em>range</em> of the boundary map respectively;</p>

</li>
<li><p><code class="code">Boundary(X)</code> is the boundary map of the crossed module <span class="SimpleMath">mathcalX</span>;</p>

</li>
<li><p><code class="code">XModAlgebraAction(X)</code> is the action used in the crossed module. This is an algebra homomorphism from <code class="code">Range(X)</code> to an algebra of endomorphisms of <code class="code">Source(X)</code>.</p>

</li>
</ul>
<p>The following standard <strong class="pkg">GAP</strong> operations have special <strong class="pkg">XModAlg</strong> implementations:</p>


<ul>
<li><p><code class="code">Display(X)</code> is used to list the components of <span class="SimpleMath">mathcalX</span>;</p>

</li>
<li><p><code class="code">Size2d(X)</code> for a crossed module <span class="SimpleMath">mathcalX</span> returns a <span class="SimpleMath">2</span>-element list, the sizes of the source and range,</p>

</li>
<li><p><code class="code">Dimension(X)</code> for a crossed module <span class="SimpleMath">mathcalX</span> returns a <span class="SimpleMath">2</span>-element list, the dimensions of the source and range,</p>

</li>
<li><p><code class="code">Name(X)</code> is used for giving a name to the crossed module <span class="SimpleMath">mathcalX</span> by associating the names of source and range algebras.</p>

</li>
</ul>
<p>In the following example, we construct a crossed module by using the algebra <span class="SimpleMath">GF_5D_4</span> and its augmentation ideal. We also show usage of the attributes listed above.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">RepresentationsOfObject( XIAk4 );</span>
"IsComponentObjectRep""IsAttributeStoringRep""IsPreXModAlgebraObj" ]
<span class="GAPprompt">gap></span> <span class="GAPinput">KnownPropertiesOfObject( XIAk4 );</span>
"CanEasilyCompareElements""CanEasilySortElements""IsDuplicateFree"
  "IsLeftActedOnByDivisionRing""IsAdditivelyCommutative""IsLDistributive",
  "IsRDistributive""IsPreXModDomain""Is2dAlgebraObject"
  "IsPreXModAlgebra""IsXModAlgebra" ]
<span class="GAPprompt">gap></span> <span class="GAPinput">KnownAttributesOfObject( XIAk4 );</span>
"Name""LeftActingDomain""Range""Source""Boundary""Size2d"
  "XModAlgebraAction" ]

</pre></div>

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

<h5>4.1-5 XModAlgebraByMultiplierAlgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ XModAlgebraByMultiplierAlgebra</code>( <var class="Arg">A</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>When <span class="SimpleMath">A</span> is an algebra with multiplier algebra <span class="SimpleMath">M</span>, then the map <span class="SimpleMath">A -> M, ~ a ↦ μ_a</span> is the boundary of a crossed module in which the action is the identity map on <span class="SimpleMath">M</span>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">XAn := XModAlgebraByMultiplierAlgebra( An );</span>
[ An -> <algebra of dimension 3 over GF(5)> ]
<span class="GAPprompt">gap></span> <span class="GAPinput">XModAlgebraAction( XAn );</span>
IdentityMapping( <algebra of dimension 3 over GF(5)> )

</pre></div>

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

<h5>4.1-6 XModAlgebraBySurjection</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ XModAlgebraBySurjection</code>( <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Let <span class="SimpleMath">∂ : S→ R</span> be a surjective algebra homomorphism whose kernel lies in the annihilator of <span class="SimpleMath">S</span>. Define the action of <span class="SimpleMath">R</span> on <span class="SimpleMath">S</span> by <span class="SimpleMath">r⋅ s = widetilders</span> where <span class="SimpleMath">widetilder ∈ ∂^-1(r)</span>, as described in section <code class="func">AlgebraActionBySurjection</code> (<a href="chap2.html#X7EAF09677CAE12D5"><span class="RefLink">2.2-3</span></a>). Then <span class="SimpleMath">mathcalX=(∂ : S→ R)</span> is a crossed module with the defined action.</p>

<p>Continuing with the example in that section,</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">X2 := XModAlgebraBySurjection( nat2 );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( X2 ); </span>
Crossed module [A2->Q2] :- 
Source algebra A2 has generators:
  [ [ [ 0, 1, 2, 3 ], [ 0, 0, 1, 2 ], [ 0, 0, 0, 1 ], [ 0, 0, 0, 0 ] ] ]
: Range algebra Q2 has generators:
  [ v.1, v.2 ]
: Boundary homomorphism maps source generators to:
  [ v.1 ]

</pre></div>

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

<h5>4.1-7 XModAlgebraByBoundaryAndAction</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ XModAlgebraByBoundaryAndAction</code>( <var class="Arg">bdy</var>, <var class="Arg">act</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">‣ PreXModAlgebraByBoundaryAndAction</code>( <var class="Arg">bdy</var>, <var class="Arg">act</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>When a suitable pair of algebra homomorphisms are available, these operations may be used. The example uses the algebra action created in section <a href="chap2.html#X8530E1B27BC2FBB7"><span class="RefLink">2.2-4</span></a>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">bdy3 := AlgebraHomomorphismByImages( Rc3, A3, [ g3 ], [ m3 ] );</span>
[ (1)*(1,2,3) ] -> [ [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 1, 0, 0 ] ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">X3 := XModAlgebraByBoundaryAndAction( bdy3, actg3 );</span>
[ GR(c3) -> A3 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( X3 );</span>
Crossed module [GR(c3) -> A3] :- 
Source algebra GR(c3) has generators:
  [ (1)*(), (1)*(1,2,3) ]
: Range algebra A3 has generators:
  [ [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 1, 0, 0 ] ] ]
: Boundary homomorphism maps source generators to:
  [ [ [ 1, 0, 0 ], [ 0, 1, 0 ], [ 0, 0, 1 ] ], 
  [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 1, 0, 0 ] ] ]

</pre></div>

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

<h5>4.1-8 XModAlgebraByModule</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ XModAlgebraByModule</code>( <var class="Arg">alg</var>, <var class="Arg">leftmod</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Let <span class="SimpleMath">M</span> be an <span class="SimpleMath">A</span>-module. Then <span class="SimpleMath">mathcalX = (0 : A(M) → A)</span> is a crossed module, where <span class="SimpleMath">A(M)</span> is <span class="SimpleMath">M</span> considered as an algebra with zero products (see section <a href="chap2.html#X83A1091782FF581C"><span class="RefLink">2.3-1</span></a>). The example uses the action <code class="code">act3</code> constructed in section <a href="chap2.html#X7C1C8B987B2167B9"><span class="RefLink">2.3-4</span></a>.</p>

<p>Conversely, given a crossed module <span class="SimpleMath">mathcalX = (∂ :M→ R)</span>, one can get that <span class="SimpleMath">ker∂</span> is a <span class="SimpleMath">(R/∂ M)</span>-module.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">Y3 := XModAlgebraByModule( A3, M3 );</span>
[ A(M3) -> A3 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Image( XModAlgebraAction( Y3 ), m3 ) = Image( act3, m3 ); </span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( Y3 );</span>
Crossed module [A(M3) -> A3] :- 
Source algebra A(M3) has generators:  [ [[ 1, 0, 0 ]], [[ 0, 1, 0 ]], 
  [[ 0, 0, 1 ]] ]
: Range algebra A3 has generators:  
[ [ [ 0, 1, 0 ], [ 0, 0, 1 ], [ 1, 0, 0 ] ] ]
: Boundary homomorphism maps source generators to:
[ [ [ 0, 0, 0 ], [ 0, 0, 0 ], [ 0, 0, 0 ] ], 
  [ [ 0, 0, 0 ], [ 0, 0, 0 ], [ 0, 0, 0 ] ], 
  [ [ 0, 0, 0 ], [ 0, 0, 0 ], [ 0, 0, 0 ] ] ]

</pre></div>

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

<h5>4.1-9 SubXModAlgebra</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SubXModAlgebra</code>( <var class="Arg">alg</var>, <var class="Arg">src</var>, <var class="Arg">rng</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">‣ IsSubXModAlgebra</code>( <var class="Arg">alg</var>, <var class="Arg">sub</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>A crossed module <span class="SimpleMath">mathcalX^' = (∂ ^' :S^'→ R^' )</span> is a subcrossed module of the crossed module <span class="SimpleMath">mathcalX = (∂ :S→ R)</span> if <span class="SimpleMath">S^' ≤ S, R^'≤ R</span>, <span class="SimpleMath">∂^' = ∂|_S^' }</span>, and the action of <span class="SimpleMath">S^' on R^'</span> is induced by the action of <span class="SimpleMath">R</span> on <span class="SimpleMath">S</span>. The operation <code class="code">SubXModAlgebra</code> is used to construct a subcrossed module of a given crossed module.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">e4 := Elements( IAk4 )[4];</span>
(Z(5)^0)*<identity> of ...+(Z(5)^0)*f1+(Z(5)^2)*f2+(Z(5)^2)*f1*f2
<span class="GAPprompt">gap></span> <span class="GAPinput">Je4 := Ideal( IAk4, [e4] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( Je4, "<e4>" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Ke4 := Subalgebra( Ak4, [e4] );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">[ Size( Je4 ), Size( Ke4 ) ];</span>
[ 5, 5 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Se4 := SubXModAlgebra( XIAk4, Je4, Ke4 );</span>
[ <e4> -> <algebra of dimension 1 over GF(5)> ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSubXModAlgebra( XIAk4, Se4 ); </span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( Se4 );</span>
Crossed module [<e4> -> ..] :- 
Source algebra <e4> has generators:  
[ (Z(5)^0)*<identity> of ...+(Z(5)^0)*f1+(Z(5)^2)*f2+(Z(5)^2)*f1*f2 ]
: Range algebra has generators:  
[ (Z(5)^0)*<identity> of ...+(Z(5)^0)*f1+(Z(5)^2)*f2+(Z(5)^2)*f1*f2 ]
: Boundary homomorphism maps source generators to:
[ (Z(5)^0)*<identity> of ...+(Z(5)^0)*f1+(Z(5)^2)*f2+(Z(5)^2)*f1*f2 ]

</pre></div>

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

<h4>4.2 <span class="Heading">(Pre-)Crossed Module Morphisms</span></h4>

<p>Let <span class="SimpleMath">mathcalX = (∂:S→ R)</span> and <span class="SimpleMath">mathcalX^' = (∂^' :S^' → R^' )</span> be (pre)crossed modules and let <span class="SimpleMath">θ :S→ S^', φ : R→ R^'</span> be algebra homomorphisms. Then if</p>

<p class="pcenter">
\varphi \circ \partial = \partial ^{\prime } \circ \theta, 
\qquad 
\theta (r\cdot s)=\varphi(r) \cdot \theta (s), 
</p>

<p>for all <span class="SimpleMath">r∈ R</span>, <span class="SimpleMath">s∈ S,</span> the pair <span class="SimpleMath">(θ ,φ )</span> is called a morphism between <span class="SimpleMath">mathcalX</span> and <span class="SimpleMath">mathcalX^'



<p>The conditions can be thought as the commutativity of the following diagrams:</p>

<p class="pcenter">
\xymatrix@R=40pt@C=40pt{
  S \ar[d]_{\partial} \ar[r]^{\theta}
                & S^{\prime } \ar[d]^{\partial^{\prime }}  \\
  R  \ar[r]_{\varphi}
                & R^{\prime }  
} \ \ \ \
\xymatrix@R=40pt@C=40pt{
  R \times S \ar[d] \ar[r]^{ \varphi \times \theta }
                &  R^{\prime } \times S^{\prime } \ar[d]  \\
  S  \ar[r]_{ \theta } & S^{\prime }.       }
</p>

<p>In <strong class="pkg">GAP</strong> we define the morphisms between algebraic structures such as cat<span class="SimpleMath">^1</span>-algebras and crossed modules and they are investigated by the function <code class="code">Make2dAlgebraMorphism</code>.</p>

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

<h5>4.2-1 XModAlgebraMorphism</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ XModAlgebraMorphism</code>( <var class="Arg">arg</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">‣ IdentityMapping</code>( <var class="Arg">Xalg</var> )</td><td class="tdright">( method )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PreXModAlgebraMorphismByHoms</code>( <var class="Arg">src</var>, <var class="Arg">rng</var>, <var class="Arg">srchom</var>, <var class="Arg">rnghom</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">‣ XModAlgebraMorphismByHoms</code>( <var class="Arg">src</var>, <var class="Arg">rng</var>, <var class="Arg">srchom</var>, <var class="Arg">rnghom</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">‣ IsPreXModAlgebraMorphism</code>( <var class="Arg">mor</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsXModAlgebraMorphism</code>( <var class="Arg">mor</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Source</code>( <var class="Arg">mor</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Range</code>( <var class="Arg">mor</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsTotal</code>( <var class="Arg">mor</var> )</td><td class="tdright">( method )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSingleValued</code>( <var class="Arg">m0r</var> )</td><td class="tdright">( method )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Name</code>( <var class="Arg">mor</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>These operations construct crossed module homomorphisms, which may have the attributes listed.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">c4 := CyclicGroup( 4 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Ac4 := GroupRing( GF(2), c4 );</span>
<algebra-with-one over GF(2), with 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( Ac4, "GF2[c4]" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IAc4 := AugmentationIdeal( Ac4 );</span>
<two-sided ideal in GF2[c4], (dimension 3)>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( IAc4, "I(GF2[c4])" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">XIAc4 := XModAlgebra( Ac4, IAc4 );</span>
[ I(GF2[c4]) -> GF2[c4] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Bk4 := GroupRing( GF(2), SmallGroup( 4, 2 ) );</span>
<algebra-with-one over GF(2), with 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( Bk4, "GF2[k4]" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IBk4 := AugmentationIdeal( Bk4 );</span>
<two-sided ideal in GF2[k4], (dimension 3)>
<span class="GAPprompt">gap></span> <span class="GAPinput">SetName( IBk4, "I(GF2[k4])" );</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">XIBk4 := XModAlgebra( Bk4, IBk4 );</span>
[ I(GF2[k4]) -> GF2[k4] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IAc4 = IBk4;</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">homIAIB := AllAlgebraHomomorphisms( IAc4, IBk4 );; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">theta := homIAIB[3];; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">homAB := AllAlgebraHomomorphisms( Ac4, Bk4 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">phi := homAB[7];; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">mor := XModAlgebraMorphism( XIAc4, XIBk4, theta, phi );</span>
[[I(GF2[c4])->GF2[c4]] => [I(GF2[k4])->GF2[k4]]]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( mor );</span>

Morphism of crossed modules :- 
Source = [I(GF2[c4])->GF2[c4]]
:  Range = [I(GF2[k4])->GF2[k4]]
Source Homomorphism maps source generators to:
  [ <zero> of ..., (Z(2)^0)*<identity> of ...+(Z(2)^0)*f1+(Z(2)^0)*f2+(Z(2)^
    0)*f1*f2, (Z(2)^0)*<identity> of ...+(Z(2)^0)*f1+(Z(2)^0)*f2+(Z(2)^
    0)*f1*f2 ]
: Range Homomorphism maps range generators to:
  [ (Z(2)^0)*<identity> of ..., (Z(2)^0)*f1+(Z(2)^0)*f2+(Z(2)^0)*f1*f2, 
  (Z(2)^0)*<identity> of ... ]

<span class="GAPprompt">gap></span> <span class="GAPinput">IsTotal( mor );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSingleValued( mor );</span>
true

</pre></div>

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

<h5>4.2-2 Kernel</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Kernel</code>( <var class="Arg">mor</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Let <span class="SimpleMath">(θ,φ) : mathcalX = (∂ : S → R) → mathcalX^' = (∂^' : S^' → R^')</span> be a crossed module homomorphism. Then the crossed module</p>

<p class="pcenter">
\ker(\theta,\varphi) = (\partial| : \ker\theta \rightarrow \ker\varphi )
</p>

<p>is called the <em>kernel</em> of <span class="SimpleMath">(θ,φ)</span>. Also, <span class="SimpleMath">ker(θ ,φ )</span> is an ideal of <span class="SimpleMath">mathcalX</span>. An example is given below.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">Xmor := Kernel( mor );</span>
[ <algebra of dimension 2 over GF(2)> -> <algebra of dimension 2 over GF(2)> ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsXModAlgebra( Xmor );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Size2d( Xmor );</span>
[ 4, 4 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSubXModAlgebra( XIAc4, Xmor );</span>
true

</pre></div>

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

<h5>4.2-3 Image</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Image</code>( <var class="Arg">mor</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Let <span class="SimpleMath">(θ,φ) : mathcalX = (∂ : S → R) → mathcalX^' = (∂^' : S^' → R^')</span> be a crossed module homomorphism. Then the crossed module</p>

<p class="pcenter"
\Im(\theta,\varphi) = (\partial^{\prime}| : 
\Im\theta \rightarrow \Im\varphi)
</p>

<p>is called the image of <span class="SimpleMath">(θ,φ)</span>. Further, <span class="SimpleMath">ℑ(θ,φ)</span> is a subcrossed module of <span class="SimpleMath">(S^',R^',∂^').



<p>In this package, the image of a crossed module homomorphism can be obtained by the command <code class="code">ImagesSource</code>. The operation <code class="code">Sub2dAlgObject</code> is effectively used for finding the kernel and image crossed modules induced from a given crossed module homomorphism.</p>

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

<h5>4.2-4 SourceHom</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SourceHom</code>( <var class="Arg">mor</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ RangeHom</code>( <var class="Arg">mor</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsInjective</code>( <var class="Arg">mor</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsSurjective</code>( <var class="Arg">mor</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsBijjective</code>( <var class="Arg">mor</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>Let <span class="SimpleMath">(θ,φ)</span> be a homomorphism of crossed modules. If the homomorphisms <span class="SimpleMath">θ</span> and <span class="SimpleMath">φ</span> are injective (surjective) then <span class="SimpleMath">(θ,φ)</span> is injective (surjective).</p>

<p>The attributes <code class="code">SourceHom</code> and <code class="code">RangeHom</code> store the two algebra homomorphisms <span class="SimpleMath">θ</span> and <span class="SimpleMath">φ</span>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">ic4 := One( Ac4 );;                                      </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">e1 := ic4*c4.1 + ic4*c4.2;</span>
(Z(2)^0)*f1+(Z(2)^0)*f2
<span class="GAPprompt">gap></span> <span class="GAPinput">ImageElm( theta, e1 );  </span>
(Z(2)^0)*<identity> of ...+(Z(2)^0)*f1+(Z(2)^0)*f2+(Z(2)^0)*f1*f2
<span class="GAPprompt">gap></span> <span class="GAPinput">e2 := ic4*c4.1;</span>
(Z(2)^0)*f1
<span class="GAPprompt">gap></span> <span class="GAPinput">ImageElm( phi, e2 );</span>
(Z(2)^0)*f1+(Z(2)^0)*f2+(Z(2)^0)*f1*f2
<span class="GAPprompt">gap></span> <span class="GAPinput">IsInjective( mor );</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSurjective( mor );</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">immor := ImagesSource2DimensionalMapping( mor );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( immor );</span>

Crossed module [..->..] :- 
Source algebra has generators:
  [ (Z(2)^0)*<identity> of ...+(Z(2)^0)*f1+(Z(2)^0)*f2+(Z(2)^0)*f1*f2 ]
: Range algebra has generators:
  [ (Z(2)^0)*f1+(Z(2)^0)*f2+(Z(2)^0)*f1*f2, (Z(2)^0)*<identity> of ... ]
: Boundary homomorphism maps source generators to:
  [ (Z(2)^0)*<identity> of ...+(Z(2)^0)*f1+(Z(2)^0)*f2+(Z(2)^0)*f1*f2 ]


</pre></div>


<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a>   <a href="chap0.html#contents">[Contents]</a>    <a href="chap3.html">[Previous Chapter]</a>    <a href="chap5.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="chap5.html">5</a>  <a href="chapBib.html">Bib</a>  <a href="chapInd.html">Ind</a>  </div>

<hr />
<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>

98%


¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.23Angebot  Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können  ¤

*Eine klare Vorstellung vom Zielzustand






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.