<!-- ------------------------------------------------------------------- --> <!-- --> <!-- cat1.xml XModAlg documentation Z. Arvasi --> <!-- & A. Odabas --> <!-- Copyright (C) 2014-2025, Z. Arvasi & A. Odabas, --> <!-- Osmangazi University, Eskisehir, Turkey --> <!-- --> <!-- ------------------------------------------------------------------- -->
<?xmlversion="1.0"encoding="UTF-8"?>
<Chapter Label="chap-cat1">
<Heading>Cat1-algebras</Heading>
<Section>
<Heading>Definitions and examples</Heading>
<Index>cat1-group</Index>
Algebraic structures which are equivalent to crossed modules of algebras include :
<List>
<Item>
cat<M>^{1}</M>-algebras, (Ellis, <Cite Key="ellis1"/>);
</Item>
<Item>
simplicial algebras with Moore complex of length 1,
(Z. Arvasi and T.Porter, <Cite Key="arvasi2"/>);
</Item>
<Item>
algebra-algebroids, (Gaffar Musa's Ph.D. thesis, ).
</Item>
</List>
In this section we describe an implementation of cat<M>^{1}</M>-algebras
and their morphisms.
<P/>
The notion of a cat<M>^{1}</M>-group was defined as an algebraic model
of <M>2</M>-types by Loday in <Cite Key="loday"/>.
Then Ellis defined cat<M>^{1}</M>-algebras in <Cite Key="ellis1"/>.
<P/>
Let <M>A</M> and <M>R</M> be <M>k</M>-algebras,
let <M>t,h:A\rightarrow R</M> be surjections,
and let <M>e:R\rightarrow A</M> be an inclusion.
<Display>
\xymatrix@R=50pt@C=50pt{ A \ar@{->}@<-1.5pt>[d]_{t}
\ar@{->}@<1.5pt>[d]^{h} \\ R \ar@/^1.5pc/[u]^{e}
}
</Display>
If the conditions,
<Display>
\mathbf{Cat1Alg1:} \quad te = id_{R} = he,
\qquad
\mathbf{Cat1Alg2:} \quad (\ker t)(\ker h) = \{0_{A}\}
</Display>
are satisfied, then the algebraic system
<M>\mathcal{C} := (e;t,h : A \rightarrow R)</M>
is called a <E>cat<M>^{1}</M>-algebra</E>.
A system which satisfies the condition
<M>\mathbf{Cat1Alg1}</M> is called a <E>precat<M>^{1}</M>-algebra</E>.
The homomorphisms <M>t,h</M> and <M>e</M> are called the <E>tail map</E>,
<E>head map</E> and <E>range embedding</E> homomorphisms, respectively.
<ManSection>
<Func Name="Cat1Algebra"
Arg="args" />
<Oper Name="PreCat1AlgebraByEndomorphisms"
Arg="t h" />
<Oper Name="PreCat1AlgebraByTailHeadEmbedding"
Arg="t h e" />
<Func Name="PreCat1Algebra"
Arg="args" />
<Prop Name="IsIdentityCat1Algebra"
Arg="C" />
<Prop Name="IsCat1Algebra"
Arg="C" />
<Prop Name="IsPreCat1Algebra"
Arg="C" />
<Description>
The operations <C>PreCat1AlgebraByEndomorphisms</C>
and <C>PreCat1AlgebraByTailHeadEmbedding</C>
are used with particular choices of algebra homomorphisms.
The operations listed above are used for the construction of
precat<M>^{1}</M>- and cat<M>^{1}</M>-algebras.
The functions <C>PreCat1Algebra</C> and <C>Cat1Algebra</C>
select the appropriate operation to suit the user's input.
</Description>
</ManSection>
<ManSection>
<Attr Name="Source" Label="for cat1-algebras"
Arg="C" />
<Attr Name="Range" Label="for cat1-algebras"
Arg="C" />
<Attr Name="TailMap" Label="for cat1-algebras"
Arg="C" />
<Attr Name="HeadMap" Label="for cat1-algebras"
Arg="C" />
<Attr Name="RangeEmbedding" Label="for cat1-algebras"
Arg="C" />
<Meth Name="Kernel" Label="for cat1-algebras"
Arg="C" />
<Attr Name="KernelEmbedding" Label="for cat1-algebras"
Arg="C" />
<Attr Name="Boundary" Label="for cat1-algebras"
Arg="C" />
<Attr Name="Size2d" Label="for 2d-algebras"
Arg="C" />
<Attr Name="Dimension" Label="for 2d-algebras"
Arg="C" />
<Description>
These are the nine main attributes of a pre-cat<M>^{1}</M>-algebra.
<P/>
In the example we use homomorphisms between <C>A2c6</C> and <C>I2c6</C>
constructed in section <Ref Sect="algebra-homomorphism-lists"/>.
</Description>
</ManSection>
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) ]
]]>
</Example>
<ManSection>
<Oper Name="Cat1AlgebraSelect"
Arg="GFnum gpsize gpnum num" />
<Description>
The <Ref Oper="Cat1Algebra"/> function may also be used to select certain
cat<M>^{1}</M>-group-algebras from the data file included with this package.
Data for these cat<M>^{1}</M>-structures on commutative group algebras is
stored in a list in file <File>cat1algdata.g</File>.
This data is read into the list <C>CAT1ALG_LIST</C>
only when this function is called.
<P/>
The function <C>Cat1AlgebraSelect</C> may be used in four ways:
<List>
<Item>
<C>Cat1AlgebraSelect( n )</C> returns the list of possible group orders when
Galois field <M>GF(n)</M>, with <M>n \in [2,3,4,5,7]</M>,
is used to form cat<M>^1</M>-group-algebra structures.
</Item>
<Item>
<C>Cat1AlgebraSelect( n, m )</C> returns the list of available
group numbers of size <M>m</M> with which to form
cat<M>^1</M>-group-algebra structures with given Galois field <M>GF(n)</M>.
</Item>
<Item>
<C>Cat1AlgebraSelect( n, m, k )</C> prints the list of possible
cat<M>^{1}</M>-group-algebra structures with given Galois field <M>GF(n)</M>
and group number <M>k</M> of size <M>m</M>.
The number of these structures is returned.
</Item>
<Item>
<C>Cat1AlgebraSelect( n, m, k, j )</C>
(or simply <C>Cat1Algebra( n, m, k, j )</C>) returns the
<M>j</M>-th cat<M>^{1}</M>-group-algebra structure with these other parameters.
</Item>
</List>
Now, we give examples of the use of this function.
<P/>
</Description>
</ManSection>
<Example>
<![CDATA[
gap> C := Cat1AlgebraSelect( 11 );
|--------------------------------------------------------|
| 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
gap> C := Cat1AlgebraSelect( 4, 12 );
|--------------------------------------------------------|
| 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 ]
gap> C := Cat1AlgebraSelect( 2, 6, 3 );
|--------------------------------------------------------|
| 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 ]
gap> C := Cat1AlgebraSelect( 2, 6, 2 );
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
]]>
</Example>
The algebra <C>GF(n)_gp</C> has a list of <M>n^{|gp|}</M> elements.
The <C>[2, 10]</C> in the second structure above
indicates that the tail map, and also the head map,
of the cat<M>^1</M>-algebra maps the two generators of <C>c6</C>
to the second and tenth elements of this algebra respectively.
<Example>
<![CDATA[
gap> C0 := Cat1AlgebraSelect( 4, 6, 2, 2 );
[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) ] )]
gap> Size2d( C0 );
[ 4096, 1024 ]
gap> Dimension( C0 );
[ 6, 5 ]
gap> Display( C0 );
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) ]
]]>
</Example>
<ManSection>
<Oper Name="SubCat1Algebra"
Arg="alg src rng" />
<Oper Name="SubPreCat1Algebra"
Arg="alg src rng" />
<Oper Name="IsSubCat1Algebra"
Arg="alg sub" />
<Oper Name="IsSubPreCat1Algebra"
Arg="alg sub" />
<Description>
Let <M>\mathcal{C} = (e;t,h:A\rightarrow R)</M>
be a cat<M>^{1}</M>-algebra, and let <M>A^{\prime}</M>,
<M>R^{\prime}</M> be subalgebras of <M>A</M> and <M>R</M> respectively.
If the restriction morphisms
<Display>
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}
</Display>
satisfy the <M>\mathbf{Cat1Alg1}</M> and <M>\mathbf{Cat1Alg2}</M>
conditions, then the system
<M>\mathcal{C}^{\prime } = (e^{\prime};t^{\prime},h^{\prime}
: A^{\prime} \rightarrow R^{\prime})</M>
is called a <E>subcat<M>^{1}</M>-algebra</E> of
<M>\mathcal{C} = (e;t,h:A\rightarrow R)</M>.
<P/>
If the morphisms satisfy only the <M>\mathbf{Cat1Alg1}</M> condition
then <M>\mathcal{C}^{\prime }</M> is called a
<E>sub-precat<M>^{1}</M>-algebra</E> of <M>\mathcal{C}</M>.
<P/>
The operations in this subsection are used for constructing
subcat<M>^{1}</M>-algebras of a given cat<M>^{1}</M>-algebra.
</Description>
</ManSection>
<Example>
<![CDATA[
gap> C6 := Cat1AlgebraSelect( 2, 6, 2, 4 );;
gap> A6 := Source( C6 );
GF(2)_c6
gap> B6 := Range( C6 );
<algebra of dimension 3 over GF(2)>
gap> eA6 := Elements( A6 );;
gap> eB6 := Elements( B6 );;
gap> SA6 := Subalgebra( A6, [ eA6[1], eA6[2], eA6[3] ] );
<algebra over GF(2), with 3 generators>
gap> [ Size(A6), Size(SA6) ];
[ 64, 4 ]
gap> SB6 := Subalgebra( B6, [ eB6[1], eB6[2] ] );
<algebra over GF(2), with 2 generators>
gap> [ Size(B6), Size(SB6) ];
[ 8, 2 ]
gap> SC6 := SubCat1Algebra( C6, SA6, SB6 );
[Algebra( GF(2), [ <zero> of ..., (Z(2)^0)*(), (Z(2)^0)*()+(Z(2)^0)*(4,5)
] ) -> Algebra( GF(2), [ <zero> of ..., (Z(2)^0)*() ] )]
gap> Display( SC6 );
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) ]
gap> IsSubCat1Algebra( C6, SC6 );
true
]]>
</Example>
Let <M>\mathcal{C} = (e;t,h:A\rightarrow R)</M>,
<M>\mathcal{C}^{\prime } = (e^{\prime}; t^{\prime }, h^{\prime }
: A^{\prime} \rightarrow R^{\prime})</M>
be cat<M>^{1}</M>-algebras,
and let <M>\phi : A\rightarrow A^{\prime}</M>
and <M>\varphi : R \rightarrow R^{\prime}</M> be algebra homomorphisms.
If the diagram
<Display>
\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'}
}
</Display>
commutes, (i.e. <M>t^{\prime} \circ \phi = \varphi \circ t</M>,
<M>h^{\prime} \circ \phi = \varphi \circ h</M> and
<M>e^{\prime } \circ \varphi = \phi \circ e</M>),
then the pair <M>(\phi ,\varphi )</M> is called
a cat<M>^{1}</M>-algebra morphism.
<ManSection>
<Func Name="Cat1AlgebraMorphism"
Arg="arg" />
<Func Name="PreCat1AlgebraMorphism"
Arg="arg" />
<Meth Name="IdentityMapping" Label="for cat1-algebras"
Arg="C" />
<Oper Name="PreCat1AlgebraMorphismByHoms"
Arg="src rng srchom rnghom" />
<Oper Name="Cat1AlgebraMorphismByHoms"
Arg="src rng srchom rnghom" />
<Prop Name="IsPreCat1AlgebraMorphism"
Arg="mor" />
<Prop Name="IsCat1AlgebraMorphism"
Arg="mor" />
<Description>
These operations are used for constructing cat<M>^{1}</M>-algebra morphisms.
Details of the implementations can be found in <Cite Key="aodabas1"/>.
</Description>
</ManSection>
<ManSection>
<Attr Name="Source" Label="for morphisms of cat1-algebras"
Arg="m" />
<Attr Name="Range" Label="for morphisms of cat1-algebras"
Arg="m" />
<Meth Name="IsTotal" Label="for morphisms of cat1-algebras"
Arg="m" />
<Meth Name="IsSingleValued" Label="for morphisms of cat1-algebras"
Arg="m" />
<Meth Name="Name" Label="for morphisms of cat1-algebras"
Arg="m" />
<Attr Name="Boundary" Label="for morphisms of cat1-algebras"
Arg="m" />
<Description>
These are the six main attributes of a cat<M>^{1}</M>-algebra morphism.
</Description>
</ManSection>
<ManSection>
<Oper Name="ImagesSource2DimensionalMapping"
Arg="m" />
<Description>
When <M>(\theta,\varphi)</M> is a homomorphism of cat1-algebras
(or crossed modules)
this operation returns the image crossed module.
</Description>
</ManSection>
<Example>
<![CDATA[
gap> im12 := ImagesSource2DimensionalMapping( m12 );;
gap> Display( im12 );
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.
]]>
</Example>
</Section>
</Chapter>
¤ Dauer der Verarbeitung: 0.2 Sekunden
(vorverarbeitet)
¤
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.