</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>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 <spanclass="SimpleMath">e</span> are called the <em>tail map</em>, <em>headmap</em> and <em>range embedding</em> homomorphisms, respectively.</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="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 headmap, 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) ]
<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
<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.
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.