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 33 kB image not shown  

Quelle  chap3.html   Sprache: HTML

 
 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, [Mos86]).



</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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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</codeselect the appropriate operation to suit the user's input.



<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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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^', 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^' is called a sub-precat^1-algebra of mathcalC.



<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^' and φ : 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, h^' ∘ ϕ = φ ∘ h</span> and <span class="SimpleMath">e^' ∘ φ = ϕ ∘ e), then the pair (ϕ ,φ ) is called a cat^1-algebra morphism.



<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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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">‣ 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>

99%


¤ Dauer der Verarbeitung: 0.26 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






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.