<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">\(\mathcal{X}:=(\partial:S\rightarrow R)\)</span> with a left action of <span class="SimpleMath">\(R\)</span> on <span class="SimpleMath">\(S\)</span> satisfying</p>
<p>for all <span class="SimpleMath">\(s,s^{\prime }\in S, \ r\in R\)</span>. The morphism <span class="SimpleMath">\(\partial\)</span> is called the <em>boundary map</em> of <span class="SimpleMath">\(\mathcal{X}\)</span></p>
<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_mj.html#biBaodabas1">[Oda09]</a>.</p>
<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>
<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">\(\mathcal{X} = (inc:I\rightarrow 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">\(\mathcal{X} = (\partial : S \rightarrow R)\)</span>, it is the case that <span class="SimpleMath">\({\partial(S)}\)</span> is an ideal of <span class="SimpleMath">\(R\)</span>.</p>
<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="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">\(\mathcal{X}\)</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">\(\mathcal{X}\)</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">\(\mathcal{X}\)</span>;</p>
</li>
<li><p><code class="code">Size2d(X)</code> for a crossed module <span class="SimpleMath">\(\mathcal{X}\)</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">\(\mathcal{X}\)</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">\(\mathcal{X}\)</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_{5}D_{4}\)</span> and its augmentation ideal. We also show usage of the attributes listed above.</p>
<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 \to M, ~ a \mapsto \mu_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)> )
<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">\(\partial : S\rightarrow 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\cdot s = \widetilde{r}s\)</span> where <span class="SimpleMath">\(\widetilde{r} \in \partial^{-1}(r)\)</span>, as described in section <code class="func">AlgebraActionBySurjection</code> (<a href="chap2_mj.html#X7EAF09677CAE12D5"><span class="RefLink">2.2-3</span></a>). Then <span class="SimpleMath">\(\mathcal{X}=(\partial : S\rightarrow R)\)</span> is a crossed module with the defined action.</p>
<p>Continuing with the example in that section,</p>
<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">\(\mathcal{X} = (0 : A(M) \rightarrow 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_mj.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_mj.html#X7C1C8B987B2167B9"><span class="RefLink">2.3-4</span></a>.</p>
<p>Conversely, given a crossed module <span class="SimpleMath">\(\mathcal{X} = (\partial :M\rightarrow R)\)</span>, one can get that <span class="SimpleMath">\(\ker\partial\)</span> is a <span class="SimpleMath">\((R/\partial M)\)</span>-module.</p>
<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">\(\mathcal{X}^{\prime } = (\partial ^{\prime }:S^{\prime}\rightarrow R^{\prime })\)</span> is a subcrossed module of the crossed module <span class="SimpleMath">\(\mathcal{X} = (\partial :S\rightarrow R)\)</span> if <span class="SimpleMath">\(S^{\prime }\leq S\)</span>, <span class="SimpleMath">\(R^{\prime}\leq R\)</span>, <span class="SimpleMath">\(\partial^{\prime } = \partial|_{S^{\prime }}\)</span>, and the action of <span class="SimpleMath">\(S^{\prime }\)</span> on <span class="SimpleMath">\(R^{\prime }\)</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>
<p>for all <span class="SimpleMath">\(r\in R\)</span>, <span class="SimpleMath">\(s\in S,\)</span> the pair <span class="SimpleMath">\((\theta ,\varphi )\)</span> is called a morphism between <span class="SimpleMath">\(\mathcal{X}\)</span> and <span class="SimpleMath">\(\mathcal{X}^{\prime } \)</span></p>
<p>The conditions can be thought as the commutativity of the following diagrams:</p>
<p class="center">\[
\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>
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
<p>is called the <em>kernel</em> of <span class="SimpleMath">\((\theta,\varphi)\)</span>. Also, <span class="SimpleMath">\(\ker(\theta ,\varphi )\)</span> is an ideal of <span class="SimpleMath">\(\mathcal{X}\)</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
<p>is called the image of <span class="SimpleMath">\((\theta,\varphi)\)</span>. Further, <span class="SimpleMath">\(\Im(\theta,\varphi)\)</span> is a subcrossed module of <span class="SimpleMath">\((S^{\prime},R^{\prime},\partial^{\prime})\)</span>.</p>
<p>In this package, the image of a crossed module homomorphism can be obtained by the command <codeclass="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>The attributes <code class="code">SourceHom</code> and <code class="code">RangeHom</code> store the two algebra homomorphisms <span class="SimpleMath">\(\theta\)</span> and <span class="SimpleMath">\(\varphi\)</span>.</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.