| products/Sources/formale Sprachen/GAP/pkg/xmodalg/doc/chap3.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 3: Cat1-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" />
< script src= "manual.js" type= "text/javascript"></ script>
< script type= "text/javascript">overwriteStyle();</ script>
</ head>
< body class= "chap3" 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="chap2.html">[Previous Chapter]</a> <a href="chap4.html">[Next Chapter]</a> </div>
<p id="mathjaxlink" class="pcenter"><a href="chap3_mj.html">[MathJax on]</a></p>
<p><a id="X85527BA8786CB7FC" name="X85527BA8786CB7FC"></a></p>
<div class="ChapSects"><a href="chap3.html#X85527BA8786CB7FC">3 <span class="Heading">Cat1-algebras</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X811B6B0F8203F972">3.1 <span class="Heading">Definitions and examples</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X7B761CD9812972F6">3.1-1 Cat1Algebra</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X7F9561168414C58F">3.1-2 Source</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X82EC94BA7E7F8DEA">3.1-3 Cat1AlgebraSelect</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X86E99B197E920C21">3.1-4 SubCat1Algebra</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3.html#X7DA775CA8296A7D8">3.2 <span class="Heading">Cat<span class="SimpleMath">^1-</span>algebra morphisms</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X860E29147DA143B5">3.2-1 Cat1AlgebraMorphism</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X7A218A0C7DBA8B63">3.2-2 Source</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3.html#X78AE603C857E4EBD">3.2-3 ImagesSource2DimensionalMapping</a></span>
</div></div>
</div>
<h3>3 <span class="Heading">Cat1-algebras</span></h3>
<p><a id="X811B6B0F8203F972" name="X811B6B0F8203F972"></a></p>
<h4>3.1 <span class="Heading">Definitions and examples</span></h4>
<p>Algebraic structures which are equivalent to crossed modules of algebras include :</p>
<ul>
<li><p>cat<span class="SimpleMath">^1</span>-algebras, (Ellis, <a href="chapBib.html#biBellis1">[Ell88]</a>);</p>
</li>
<li><p>simplicial algebras with Moore complex of length 1, (Z. Arvasi and T.Porter, <a href="chapBib.html#biBarvasi2">[AP96]</a>);</p>
</li>
<li><p>algebra-algebroids, (Gaffar Musa's Ph.D. thesis, <a href="chapBib.html#biBmosa">[Mos86]</a>).</p>
</li>
</ul>
<p>In this section we describe an implementation of cat<span class="SimpleMath">^1</span>-algebras and their morphisms.</p>
<p>The notion of a cat<span class="SimpleMath">^1</span>-group was defined as an algebraic model of <span class="SimpleMath">2</span>-types by Loday in <a href="chapBib.html#biBloday">[Lod82]</a>. Then Ellis defined cat<span class="SimpleMath">^1</span>-algebras in <a href="chapBib.html#biBellis1">[Ell88]</a>.</p>
<p>Let <span class="SimpleMath">A</span> and <span class="SimpleMath">R</span> be <span class="SimpleMath">k</span>-algebras, let <span class="SimpleMath">t,h:A→ R</span> be surjections, and let <span class="SimpleMath">e:R→ A</span> be an inclusion.</p>
<p class="pcenter">
\xymatrix@R=50pt@C=50pt{ A \ar@{->}@<-1.5pt>[d]_{t}
\ar@{->}@<1.5pt>[d]^{h} \\ R \ar@/^1.5pc/[u]^{e}
}
</p>
<p>If the conditions,</p>
<p class="pcenter">
\mathbf{Cat1Alg1:} \quad te = id_{R} = he,
\qquad
\mathbf{Cat1Alg2:} \quad (\ker t)(\ker h) = \{0_{A}\}
</p>
<p>are satisfied, then the algebraic system <span class="SimpleMath">mathcalC := (e;t,h : A → R)</span> is called a <em>cat<span class="SimpleMath">^1</span>-algebra</em>. A system which satisfies the condition <span class="SimpleMath">mathbfCat1Alg1</span> is called a <em>precat<span class="SimpleMath">^1</span>-algebra</em>. The homomorphisms <span class="SimpleMath">t,h</span> and <span class="SimpleMath">e</span> are called the <em>tail map</em>, <em>head map</em> and <em>range embedding</em> homomorphisms, respectively.</p>
<p><a id="X7B761CD9812972F6" name="X7B761CD9812972F6"></a></p>
<h5>3.1-1 Cat1Algebra</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Cat1Algebra</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">an style='color: green'>8227; PreCat1AlgebraByEndomorphisms</code>( <var class="Arg">t</var>, <var class="Arg">h</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">an style='color: green'>8227; PreCat1AlgebraByTailHeadEmbedding</code>( <var class="Arg">t</var>, <var class="Arg">h</var>, <var class="Arg">e</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">an style='color: green'>8227; PreCat1Algebra</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">an style='color: green'>8227; IsIdentityCat1Algebra</code>( <var class="Arg">C</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">an style='color: green'>8227; IsCat1Algebra</code>( <var class="Arg">C</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">an style='color: green'>8227; IsPreCat1Algebra</code>( <var class="Arg">C</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>The operations <code class="code">PreCat1AlgebraByEndomorphisms</code> and <code class="code">PreCat1AlgebraByTailHeadEmbedding</code> are used with particular choices of algebra homomorphisms. The operations listed above are used for the construction of precat<span class="SimpleMath">^1</span>- and cat<span class="SimpleMath">^1</span>-algebras. The functions <code class="code">PreCat1Algebra</code> and <code class="code">Cat1Algebra</code> select the appropriate operation to suit the user's input.</p>
<p><a id="X7F9561168414C58F" name="X7F9561168414C58F"></a></p>
<h5>3.1-2 Source</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Source</code>( <var class="Arg">C</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">an style='color: green'>8227; Range</code>( <var class="Arg">C</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">an style='color: green'>8227; TailMap</code>( <var class="Arg">C</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">an style='color: green'>8227; HeadMap</code>( <var class="Arg">C</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">an style='color: green'>8227; RangeEmbedding</code>( <var class="Arg">C</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">an style='color: green'>8227; Kernel</code>( <var class="Arg">C</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">an style='color: green'>8227; KernelEmbedding</code>( <var class="Arg">C</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">an style='color: green'>8227; Boundary</code>( <var class="Arg">C</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">an style='color: green'>8227; Size2d</code>( <var class="Arg">C</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">an style='color: green'>8227; Dimension</code>( <var class="Arg">C</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>These are the nine main attributes of a pre-cat<span class="SimpleMath">^1</span>-algebra.</p>
<p>In the example we use homomorphisms between <code class="code">A2c6</code> and <code class="code">I2c6</code> constructed in section <a href="chap2.html#X7960904E7A0536A8"><span class="RefLink">2.6</span></a>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">t4 := homAR[8]; </span>
[ (Z(2)^0)*(1,6,5,4,3,2) ] -> [ (Z(2)^0)*(7,9,8) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">e4 := homRA[8];</span>
[ (Z(2)^0)*(7,8,9) ] -> [ (Z(2)^0)*(1,5,3)(2,6,4) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">C4 := PreCat1AlgebraByTailHeadEmbedding( t4, t4, e4 );</span>
[AlgebraWithOne( GF(2), [ (Z(2)^0)*(1,2,3,4,5,6)
] ) -> AlgebraWithOne( GF(2), [ (Z(2)^0)*(7,8,9) ] )]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsCat1Algebra( C4 );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Size2d( C4 );</span>
[ 64, 8 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Dimension( C4 );</span>
[ 6, 3 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( C4 );</span>
Cat1-algebra [..=>..] :-
: source algebra has generators:
[ (Z(2)^0)*(), (Z(2)^0)*(1,2,3,4,5,6) ]
: range algebra has generators:
[ (Z(2)^0)*(), (Z(2)^0)*(7,8,9) ]
: tail homomorphism maps source generators to:
[ (Z(2)^0)*(), (Z(2)^0)*(7,8,9) ]
: head homomorphism maps source generators to:
[ (Z(2)^0)*(), (Z(2)^0)*(7,8,9) ]
: range embedding maps range generators to:
[ (Z(2)^0)*(), (Z(2)^0)*(1,5,3)(2,6,4) ]
: kernel has generators:
[ (Z(2)^0)*()+(Z(2)^0)*(1,4)(2,5)(3,6), (Z(2)^0)*(1,2,3,4,5,6)+(Z(2)^0)*
(1,5,3)(2,6,4), (Z(2)^0)*(1,3,5)(2,4,6)+(Z(2)^0)*(1,6,5,4,3,2) ]
: boundary homomorphism maps generators of kernel to:
[ <zero> of ..., <zero> of ..., <zero> of ... ]
: kernel embedding maps generators of kernel to:
[ (Z(2)^0)*()+(Z(2)^0)*(1,4)(2,5)(3,6), (Z(2)^0)*(1,2,3,4,5,6)+(Z(2)^0)*
(1,5,3)(2,6,4), (Z(2)^0)*(1,3,5)(2,4,6)+(Z(2)^0)*(1,6,5,4,3,2) ]
</pre></div>
<p><a id="X82EC94BA7E7F8DEA" name="X82EC94BA7E7F8DEA"></a></p>
<h5>3.1-3 Cat1AlgebraSelect</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Cat1AlgebraSelect</code>( <var class="Arg">GFnum</var>, <var class="Arg">gpsize</var>, <var class="Arg">gpnum</var>, <var class="Arg">num</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>The <code class="func">Cat1Algebra</code> (<a href="chap3.html#X7B761CD9812972F6"><span class="RefLink">3.1-1</span></a>) function may also be used to select certain cat<span class="SimpleMath">^1</span>-group-algebras from the data file included with this package. Data for these cat<span class="SimpleMath">^1</span>-structures on commutative group algebras is stored in a list in file <code class="file">cat1algdata.g</code>. This data is read into the list <code class="code">CAT1ALG_LIST</code> only when this function is called.</p>
<p>The function <code class="code">Cat1AlgebraSelect</code> may be used in four ways:</p>
<ul>
<li><p><code class="code">Cat1AlgebraSelect( n )</code> returns the list of possible group orders when Galois field <span class="SimpleMath">GF(n)</span>, with <span class="SimpleMath">n ∈ [2,3,4,5,7]</span>, is used to form cat<span class="SimpleMath">^1</span>-group-algebra structures.</p>
</li>
<li><p><code class="code">Cat1AlgebraSelect( n, m )</code> returns the list of available group numbers of size <span class="SimpleMath">m</span> with which to form cat<span class="SimpleMath">^1</span>-group-algebra structures with given Galois field <span class="SimpleMath">GF(n)</span>.</p>
</li>
<li><p><code class="code">Cat1AlgebraSelect( n, m, k )</code> prints the list of possible cat<span class="SimpleMath">^1</span>-group-algebra structures with given Galois field <span class="SimpleMath">GF(n)</span> and group number <span class="SimpleMath">k</span> of size <span class="SimpleMath">m</span>. The number of these structures is returned.</p>
</li>
<li><p><code class="code">Cat1AlgebraSelect( n, m, k, j )</code> (or simply <code class="code">Cat1Algebra( n, m, k, j )</code>) returns the <span class="SimpleMath">j</span>-th cat<span class="SimpleMath">^1</span>-group-algebra structure with these other parameters.</p>
</li>
</ul>
<p>Now, we give examples of the use of this function.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">C := Cat1AlgebraSelect( 11 );</span>
|--------------------------------------------------------|
| 11 is invalid value for the Galois Field (GFnum) |
| Available values for GFnum in the data : |
|--------------------------------------------------------|
[ 2, 3, 4, 5, 7 ]
Usage: Cat1Algebra( GFnum, gpsize, gpnum, num );
fail
<span class="GAPprompt">gap></span> <span class="GAPinput">C := Cat1AlgebraSelect( 4, 12 );</span>
|--------------------------------------------------------|
| 12 is invalid value for size of group (gpsize) |
| Available values for gpsize with GF(4) in the data: |
|--------------------------------------------------------|
Usage: Cat1Algebra( GFnum, gpsize, gpnum, num );
[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">C := Cat1AlgebraSelect( 2, 6, 3 );</span>
|--------------------------------------------------------|
| 3 is invalid value for groups of order 6 |
| Available values for gpnum for groups of size 6 : |
|--------------------------------------------------------|
Usage: Cat1Algebra( GFnum, gpsize, gpnum, num );
[ 1, 2 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">C := Cat1AlgebraSelect( 2, 6, 2 );</span>
There are 4 cat1-structures for the group algebra GF(2)_c6.
Range Alg Tail Head
|--------------------------------------------------------|
| GF(2)_c6 identity map identity map |
| ----- [ 2, 10 ] [ 2, 10 ] |
| ----- [ 2, 14 ] [ 2, 14 ] |
| ----- [ 2, 50 ] [ 2, 50 ] |
|--------------------------------------------------------|
Usage: Cat1Algebra( GFnum, gpsize, gpnum, num );
Algebra has generators [ (Z(2)^0)*(), (Z(2)^0)*(1,2,3)(4,5) ]
4
</pre></div>
<p>The algebra <code class="code">GF(n)_gp</code> has a list of <span class="SimpleMath">n^|gp|</span> elements. The <code class="code">[2, 10]</code> in the second structure above indicates that the tail map, and also the head map, of the cat<span class="SimpleMath">^1</span>-algebra maps the two generators of <code class="code">c6</code> to the second and tenth elements of this algebra respectively.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">C0 := Cat1AlgebraSelect( 4, 6, 2, 2 );</span>
[GF(2^2)_c6 -> Algebra( GF(2^2),
[ (Z(2)^0)*(), (Z(2)^0)*()+(Z(2)^0)*(1,3,5)(2,4,6)+(Z(2)^0)*(1,4)(2,5)(3,6)+(
Z(2)^0)*(1,5,3)(2,6,4)+(Z(2)^0)*(1,6,5,4,3,2) ] )]
<span class="GAPprompt">gap></span> <span class="GAPinput">Size2d( C0 ); </span>
[ 4096, 1024 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Dimension( C0 );</span>
[ 6, 5 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( C0 ); </span>
Cat1-algebra [GF(2^2)_c6=>..] :-
: source algebra has generators:
[ (Z(2)^0)*(), (Z(2)^0)*(1,2,3,4,5,6) ]
: range algebra has generators:
[ (Z(2)^0)*(), (Z(2)^0)*()+(Z(2)^0)*(1,3,5)(2,4,6)+(Z(2)^0)*(1,4)(2,5)
(3,6)+(Z(2)^0)*(1,5,3)(2,6,4)+(Z(2)^0)*(1,6,5,4,3,2) ]
: tail homomorphism maps source generators to:
[ (Z(2)^0)*(), (Z(2)^0)*()+(Z(2)^0)*(1,3,5)(2,4,6)+(Z(2)^0)*(1,4)(2,5)
(3,6)+(Z(2)^0)*(1,5,3)(2,6,4)+(Z(2)^0)*(1,6,5,4,3,2) ]
: head homomorphism maps source generators to:
[ (Z(2)^0)*(), (Z(2)^0)*()+(Z(2)^0)*(1,3,5)(2,4,6)+(Z(2)^0)*(1,4)(2,5)
(3,6)+(Z(2)^0)*(1,5,3)(2,6,4)+(Z(2)^0)*(1,6,5,4,3,2) ]
: range embedding maps range generators to:
[ (Z(2)^0)*(), (Z(2)^0)*()+(Z(2)^0)*(1,3,5)(2,4,6)+(Z(2)^0)*(1,4)(2,5)
(3,6)+(Z(2)^0)*(1,5,3)(2,6,4)+(Z(2)^0)*(1,6,5,4,3,2) ]
: kernel has generators:
[ (Z(2)^0)*()+(Z(2)^0)*(1,2,3,4,5,6)+(Z(2)^0)*(1,3,5)(2,4,6)+(Z(2)^0)*(1,4)
(2,5)(3,6)+(Z(2)^0)*(1,5,3)(2,6,4)+(Z(2)^0)*(1,6,5,4,3,2) ]
: boundary homomorphism maps generators of kernel to:
[ <zero> of ... ]
: kernel embedding maps generators of kernel to:
[ (Z(2)^0)*()+(Z(2)^0)*(1,2,3,4,5,6)+(Z(2)^0)*(1,3,5)(2,4,6)+(Z(2)^0)*(1,4)
(2,5)(3,6)+(Z(2)^0)*(1,5,3)(2,6,4)+(Z(2)^0)*(1,6,5,4,3,2) ]
</pre></div>
<p><a id="X86E99B197E920C21" name="X86E99B197E920C21"></a></p>
<h5>3.1-4 SubCat1Algebra</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; SubCat1Algebra</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">an style='color: green'>8227; SubPreCat1Algebra</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">an style='color: green'>8227; IsSubCat1Algebra</code>( <var class="Arg">alg</var>, <var class="Arg">sub</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">an style='color: green'>8227; IsSubPreCat1Algebra</code>( <var class="Arg">alg</var>, <var class="Arg">sub</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Let <span class="SimpleMath">mathcalC = (e;t,h:A→ R)</span> be a cat<span class="SimpleMath">^1</span>-algebra, and let <span class="SimpleMath">A^'</span>, <span class="SimpleMath">R^'</span> be subalgebras of <span class="SimpleMath">A</span> and <span class="SimpleMath">R</span> respectively. If the restriction morphisms</p>
<p class="pcenter">
t^{\prime} = t|_{A^{\prime}} : A^{\prime}\rightarrow R^{\prime},
\qquad
h^{\prime} = h|_{A^{\prime}} : A^{\prime}\rightarrow R^{\prime},
\qquad
e^{\prime} = e|_{R^{\prime}} : R^{\prime}\rightarrow A^{\prime}
</p>
<p>satisfy the <span class="SimpleMath">mathbfCat1Alg1</span> and <span class="SimpleMath">mathbfCat1Alg2</span> conditions, then the system <span class="SimpleMath">mathcalC^' = (e^';t^',h^' : A^' → R^')</span> is called a <em>subcat<span class="SimpleMath">^1</span>-algebra</em> of <span class="SimpleMath">mathcalC = (e;t,h:A→ R)</span>.</p>
<p>If the morphisms satisfy only the <span class="SimpleMath">mathbfCat1Alg1</span> condition then <span class="SimpleMath">mathcalC^'</span> is called a <em>sub-precat<span class="SimpleMath">^1</span>-algebra</em> of <span class="SimpleMath">mathcalC</span>.</p>
<p>The operations in this subsection are used for constructing subcat<span class="SimpleMath">^1</span>-algebras of a given cat<span class="SimpleMath">^1</span>-algebra.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">C6 := Cat1AlgebraSelect( 2, 6, 2, 4 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">A6 := Source( C6 );</span>
GF(2)_c6
<span class="GAPprompt">gap></span> <span class="GAPinput">B6 := Range( C6 );</span>
<algebra of dimension 3 over GF(2)>
<span class="GAPprompt">gap></span> <span class="GAPinput">eA6 := Elements( A6 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">eB6 := Elements( B6 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SA6 := Subalgebra( A6, [ eA6[1], eA6[2], eA6[3] ] );</span>
<algebra over GF(2), with 3 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">[ Size(A6), Size(SA6) ]; </span>
[ 64, 4 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">SB6 := Subalgebra( B6, [ eB6[1], eB6[2] ] ); </span>
<algebra over GF(2), with 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">[ Size(B6), Size(SB6) ]; </span>
[ 8, 2 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">SC6 := SubCat1Algebra( C6, SA6, SB6 );</span>
[Algebra( GF(2), [ <zero> of ..., (Z(2)^0)*(), (Z(2)^0)*()+(Z(2)^0)*(4,5)
] ) -> Algebra( GF(2), [ <zero> of ..., (Z(2)^0)*() ] )]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( SC6 );</span>
Cat1-algebra [..=>..] :-
: source algebra has generators:
[ <zero> of ..., (Z(2)^0)*(), (Z(2)^0)*()+(Z(2)^0)*(4,5) ]
: range algebra has generators:
[ <zero> of ..., (Z(2)^0)*() ]
: tail homomorphism maps source generators to:
[ <zero> of ..., (Z(2)^0)*(), <zero> of ... ]
: head homomorphism maps source generators to:
[ <zero> of ..., (Z(2)^0)*(), <zero> of ... ]
: range embedding maps range generators to:
[ <zero> of ..., (Z(2)^0)*() ]
: kernel has generators:
[ <zero> of ..., (Z(2)^0)*()+(Z(2)^0)*(4,5) ]
: boundary homomorphism maps generators of kernel to:
[ <zero> of ..., <zero> of ... ]
: kernel embedding maps generators of kernel to:
[ <zero> of ..., (Z(2)^0)*()+(Z(2)^0)*(4,5) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSubCat1Algebra( C6, SC6 );</span>
true
</pre></div>
<p><a id="X7DA775CA8296A7D8" name="X7DA775CA8296A7D8"></a></p>
<h4>3.2 <span class="Heading">Cat<span class="SimpleMath">^1-</span>algebra morphisms</span></h4>
<p>Let <span class="SimpleMath">mathcalC = (e;t,h:A→ R)</span>, <span class="SimpleMath">mathcalC^' = (e^'; t^' , h^' : A^' → R^')</span> be cat<span class="SimpleMath">^1</span>-algebras, and let <span class="SimpleMath">ϕ : A→ A^'</span> and <span class="SimpleMath">φ : R → R^'</span> be algebra homomorphisms. If the diagram</p>
<p class="pcenter">
\xymatrix@R=50pt@C=50pt{ A \ar@{->}@<-1.5pt>[d]_{t}
\ar@{->}@<1.5pt>[d]^{h} \ar@{->}[r]^{\phi} & A' \ar@{->}@<-1.5pt>[d]_{t'}
\ar@{->}@<1.5pt>[d]^{h'} \\ R \ar@/^1.5pc/[u]^{e} \ar@{->}[r]_{\varphi} & R' \ar@/_1.5pc/[u]_{e'}
}
</p>
<p>commutes, (i.e. <span class="SimpleMath">t^' ∘ ϕ = φ ∘ t</span>, <span class="SimpleMath">h^' ∘ ϕ = φ ∘ h</span> and <span class="SimpleMath">e^' ∘ φ = ϕ ∘ e</span>), then the pair <span class="SimpleMath">(ϕ ,φ )</span> is called a cat<span class="SimpleMath">^1</span>-algebra morphism.</p>
<p><a id="X860E29147DA143B5" name="X860E29147DA143B5"></a></p>
<h5>3.2-1 Cat1AlgebraMorphism</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Cat1AlgebraMorphism</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">an style='color: green'>8227; PreCat1AlgebraMorphism</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">an style='color: green'>8227; IdentityMapping</code>( <var class="Arg">C</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">an style='color: green'>8227; PreCat1AlgebraMorphismByHoms</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">an style='color: green'>8227; Cat1AlgebraMorphismByHoms</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">an style='color: green'>8227; IsPreCat1AlgebraMorphism</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">an style='color: green'>8227; IsCat1AlgebraMorphism</code>( <var class="Arg">mor</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p>These operations are used for constructing cat<span class="SimpleMath">^1</span>-algebra morphisms. Details of the implementations can be found in <a href="chapBib.html#biBaodabas1">[Oda09]</a>.</p>
<p><a id="X7A218A0C7DBA8B63" name="X7A218A0C7DBA8B63"></a></p>
<h5>3.2-2 Source</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Source</code>( <var class="Arg">m</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">an style='color: green'>8227; Range</code>( <var class="Arg">m</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">an style='color: green'>8227; IsTotal</code>( <var class="Arg">m</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">an style='color: green'>8227; IsSingleValued</code>( <var class="Arg">m</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">an style='color: green'>8227; Name</code>( <var class="Arg">m</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">an style='color: green'>8227; Boundary</code>( <var class="Arg">m</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>These are the six main attributes of a cat<span class="SimpleMath">^1</span>-algebra morphism.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">C1 := Cat1AlgebraSelect( 2, 1, 1, 1 );</span>
[GF(2)_triv -> GF(2)_triv]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( C1 );</span>
Cat1-algebra [GF(2)_triv=>GF(2)_triv] :-
: source algebra has generators:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: range algebra has generators:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: tail homomorphism maps source generators to:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: head homomorphism maps source generators to:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: range embedding maps range generators to:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: the kernel is trivial.
<span class="GAPprompt">gap></span> <span class="GAPinput">C2 := Cat1AlgebraSelect( 2, 2, 1, 2 );</span>
[GF(2)_c2 -> GF(2)_triv]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( C2 ); </span>
Cat1-algebra [GF(2)_c2=>GF(2)_triv] :-
: source algebra has generators:
[ (Z(2)^0)*(), (Z(2)^0)*(1,2) ]
: range algebra has generators:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: tail homomorphism maps source generators to:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: head homomorphism maps source generators to:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: range embedding maps range generators to:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: kernel has generators:
[ (Z(2)^0)*()+(Z(2)^0)*(1,2) ]
: boundary homomorphism maps generators of kernel to:
[ <zero> of ... ]
: kernel embedding maps generators of kernel to:
[ (Z(2)^0)*()+(Z(2)^0)*(1,2) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">C1 = C2;</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">SC1 := Source( C1 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SC2 := Source( C2 );</span>
GF(2)_c2
<span class="GAPprompt">gap></span> <span class="GAPinput">RC1 := Range( C1 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">RC2 := Range( C2 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">gSC1 := GeneratorsOfAlgebra( SC1 );</span>
[ (Z(2)^0)*(), (Z(2)^0)*() ]
<span class="GAPprompt">gap></span> <span class="GAPinput">gSC2 := GeneratorsOfAlgebra( SC2 );</span>
[ (Z(2)^0)*(), (Z(2)^0)*(1,2) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">gRC1 := GeneratorsOfAlgebra( RC1 );</span>
[ (Z(2)^0)*(), (Z(2)^0)*() ]
<span class="GAPprompt">gap></span> <span class="GAPinput">gRC2 := GeneratorsOfAlgebra( RC2 );</span>
[ (Z(2)^0)*(), (Z(2)^0)*() ]
<span class="GAPprompt">gap></span> <span class="GAPinput">imS := [ gSC2[1], gSC2[1] ];</span>
[ (Z(2)^0)*(), (Z(2)^0)*() ]
<span class="GAPprompt">gap></span> <span class="GAPinput">homS := AlgebraHomomorphismByImages( SC1, SC2, gSC1, imS );</span>
[ (Z(2)^0)*(), (Z(2)^0)*() ] -> [ (Z(2)^0)*(), (Z(2)^0)*() ]
<span class="GAPprompt">gap></span> <span class="GAPinput">imR := [ gRC2[1], gRC2[1] ];</span>
[ (Z(2)^0)*(), (Z(2)^0)*() ]
<span class="GAPprompt">gap></span> <span class="GAPinput">homR := AlgebraHomomorphismByImages( RC1, RC2, gRC1, imR );</span>
[ (Z(2)^0)*(), (Z(2)^0)*() ] -> [ (Z(2)^0)*(), (Z(2)^0)*() ]
<span class="GAPprompt">gap></span> <span class="GAPinput">m12 := Cat1AlgebraMorphism( C1, C2, homS, homR );</span>
[[GF(2)_triv=>GF(2)_triv] => [GF(2)_c2=>GF(2)_triv]]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( m12 );</span>
Morphism of cat1-algebras :-
: Source = [GF(2)_triv=>GF(2)_triv] with generating sets:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: Range = [GF(2)_c2=>GF(2)_triv] with generating sets:
[ (Z(2)^0)*(), (Z(2)^0)*(1,2) ]
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: Source Homomorphism maps source generators to:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: Range Homomorphism maps range generators to:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
## gap> Image2dAlgMapping( m12 );
## [GF(3)_c2^3=>GF(3)_c2^3]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSurjective( m12 );</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">IsInjective( m12 );</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsBijective( m12 );</span>
false
</pre></div>
<p><a id="X78AE603C857E4EBD" name="X78AE603C857E4EBD"></a></p>
<h5>3.2-3 ImagesSource2DimensionalMapping</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; ImagesSource2DimensionalMapping</code>( <var class="Arg">m</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>When <span class="SimpleMath">(θ,φ)</span> is a homomorphism of cat1-algebras (or crossed modules) this operation returns the image crossed module.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">im12 := ImagesSource2DimensionalMapping( m12 );;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display( im12 ); </span>
Cat1-algebra [..=>..] :-
: source algebra has generators:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: range algebra has generators:
[ (Z(2)^0)*() ]
: tail homomorphism maps source generators to:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: head homomorphism maps source generators to:
[ (Z(2)^0)*(), (Z(2)^0)*() ]
: range embedding maps range generators to:
[ (Z(2)^0)*() ]
: the kernel is trivial.
</pre></div>
<div class="chlinkprevnextbot"> <a href="chap0.html">[Top of Book]</a> <a href="chap0.html#contents">[Contents]</a> <a href="chap2.html">[Previous Chapter]</a> <a href="chap4.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>
¤ Dauer der Verarbeitung: 0.4 Sekunden
(vorverarbeitet am 2026-11-04)
¤
*© Formatika GbR, Deutschland
|
|