<!-- ------------------------------------------------------------------- --> <!-- --> <!-- gp4objmap.xml XMod documentation Chris Wensley --> <!-- --> <!-- Copyright (C) 1996-2025, Chris Wensley et al, --> <!-- --> <!-- ------------------------------------------------------------------- -->
<?xmlversion="1.0"encoding="UTF-8"?>
<Chapter Label="chap-obj4">
<Heading>Cat<M>^3</M>-groups and Crossed cubes</Heading>
<Index>4d-group</Index>
<Index>4d-domain</Index>
<Index>cat<M>^3</M>-group</Index>
The term <E>4d-group</E> refers to a set of equivalent categories
of which the ones we are most interested are the categories of
<E>crossed cubes</E> and <E>cat<M>^3</M>-groups</E>.
A <E>4d-mapping</E> is a function between two 4d-groups which preserves
all the structure.
<P/>
The material in this chapter should be considered very experimental.
As yet there are no functions for crossed cubes.
<Section Label="sect-cat3-functions">
<Heading>Functions for (pre-)cat<M>^3</M>-groups</Heading>
We shall use the following standard orientation of a cat<M>^3</M>-group
<M>\calE</M> on a group <M>G</M>.
<M>\calE</M> contains <M>8</M> groups; <M>12</M> cat<M>^1</M>-groups
and <M>6</M> cat<M>^2</M>-groups forming the vertices; edges and faces
of a cube, as shown in the following diagram.
<Display>
<![CDATA[
\vcenter{\xymatrix{
& H \ar[dddd] <+0.5ex> \ar[dddd] <+0.0ex>
\ar[rrrr] <+0.5ex> \ar[rrrr] <+0.0ex>
\ar[dr] <+0.6ex>
& & & & N \ar[llll] <+0.6ex>
\ar[dddd] <+0.6ex> \ar[dddd] <+0.0ex>
\ar[dr] <+0.6ex>
& \\
& & G \ar[dddd] <+0.5ex> \ar[dddd] <+0.0ex>
\ar[rrrr] <+0.5ex> \ar[rrrr] <+0.0ex>
\ar[ul] <+0.5ex> \ar[ul] <+0.0ex>
& & & & R \ar[llll] <+0.6ex>
\ar[dddd] <+0.5ex> \ar[dddd] <+0.0ex>
\ar[ul] <+0.5ex> \ar[ul] <+0.0ex> \\
& & & & & & \\
& & & & & & \\
& M \ar[uuuu] <+0.6ex>
\ar[rrrr] <+0.5ex> \ar[rrrr] <+0.0ex>
\ar[dr] <+0.6ex>
& & & & L \ar[uuuu] <+0.6ex>
\ar[llll] <+0.6ex>
\ar[dr] <+0.6ex>
& \\
& & Q \ar[uuuu] <+0.6ex>
\ar[rrrr] <+0.5ex> \ar[rrrr] <+0.0ex>
\ar[ul] <+0.5ex> \ar[ul] <+0.0ex>
& & & & P \ar[uuuu] <+0.6ex>
\ar[llll] <+0.6ex>
\ar[ul] <+0.5ex> \ar[ul] <+0.0ex> \\
}}
]]>
</Display>
<P/>
By definition, <M>\calE</M> is generated by three commuting cat<M>^1</M>-groups
<M>(G \Rightarrow R), (G \Rightarrow Q)</M> and <M>(G \Rightarrow H)</M>,
but it is more convenient to think of <M>\calE</M> as generated by
two cat<M>^2</M>-groups
<List>
<Item>
<E>front</E><M>(\calE)</M>, generated by <M>(G \Rightarrow R)</M>
and <M>(G \Rightarrow Q)</M>;
</Item>
<Item>
<E>left</E><M>(\calE)</M>, generated by <M>(G \Rightarrow Q)</M>
and <M>(G \Rightarrow H)</M>.
</Item>
</List>
Because the tail, head and embedding maps all commute,
it follows that <E>up</E><M>(\calE)</M>,
generated by <M>(G \Rightarrow H)</M> and <M>(G \Rightarrow R)</M>,
is a third cat<M>^2</M>-group.
The three remaining faces (cat<M>^2</M>-groups) <E>right</E><M>(\calE)</M>,
<E>down</E><M>(\calE)</M> and <E>back</E><M>(\calE)</M>
are then easily constructed.
We shall always use the order [<E>front, left, up, right, down, back</E>]
for the six faces.
<P/>
<ManSection Label="cat3-group">
<Func Name="Cat3Group"
Arg="args" />
<Func Name="PreCat3Group"
Arg="args" />
<Prop Name="IsCat3Group"
Arg="C" />
<Oper Name="PreCat3GroupByPreCat2Groups"
Arg="L" />
<Description>
The global functions <C>Cat3Group</C> and <C>PreCat3Group</C>
normally take as arguments a pair of cat<M>^2</M>-groups
[<E>front, left</E>], or a trio of cat<M>^1</M>-groups
[<E>front-up, front-left = left-up, left-left</E>].
<P/>
In subsection <Ref Oper="AllCat2GroupsIterator"/> the list of pairs
<C>CatnGroupLists(d12).pairs</C> contains the three entries
<C>[6,8],[8,11]</C> and <C>[6,11]</C>.
It follows that the sixth, eighth and eleventh cat<M>^1</M>-groups
for <C>d12</C> generate a cat<M>^3</M>-group.
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
gap> alld12 := AllCat1Groups( d12 );;
gap> C68 := Cat2Group( alld12[6], alld12[8] );;
gap> C811 := Cat2Group( alld12[8], alld12[11] );;
gap> C3Ga := Cat3Group( C68, C811 );
cat3-group with generating (pre-)cat1-groups:
1 : [d12 => Group( [ (), (1,6)(2,5)(3,4) ] )]
2 : [d12 => Group( [ (1,4)(2,5)(3,6), (1,3)(4,6) ] )]
3 : [d12 => Group( [ (1,5,3)(2,6,4), (1,4)(2,3)(5,6) ] )]
gap> C3Gb := Cat3Group( alld12[6], alld12[8], alld12[11] );;
gap> C3Ga = C3Gb;
true
]]>
</Example>
<ManSection>
<Attr Name="Front3DimensionalGroup"
Arg="C3" Label="for cat3-groups" />
<Attr Name="Left3DimensionalGroup"
Arg="C3" Label="for cat3-groups" />
<Attr Name="Up3DimensionalGroup"
Arg="C3" Label="for cat3-groups" />
<Attr Name="Right3DimensionalGroup"
Arg="C3" Label="for cat3-groups" />
<Attr Name="Down3DimensionalGroup"
Arg="C3" Label="for cat3-groups" />
<Attr Name="Back3DimensionalGroup"
Arg="C3" Label="for cat3-groups" />
<Description>
The six faces of a cat<M>^3</M>-group are stored as these attributes.
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
gap> C116 := Cat2Group( alld12[11], alld12[6] );;
gap> Up3DimensionalGroup( C3Ga ) = C116;
true
]]>
</Example>
</Section>
<Section Label="sect-allcat3">
<Heading>Enumerating cat<M>^3</M>-groups with a given source</Heading>
Once the list <C>CatnGroupLists(G).pairs</C> has been obtained
we may seek all triples <M>[i,j],[j,k]</M> and <M>[k,i]</M>
or <M>[i,k]</M> of pairs in this list and then, for each such triple,
construct a cat<M>^3</M>-group generated by the <M>i</M>-th, <M>j</M>-th
and <M>k</M>-th cat<M>^1</M>-group on <M>G</M>.
<P/>
<ManSection>
<Oper Name="AllCat3GroupTriples"
Arg="G" />
<Attr Name="AllCat3GroupsNumber"
Arg="G" />
<Oper Name="AllCat3Groups"
Arg="G" />
<Description>
The list of triples returned by the operation <C>AllCat3GroupTriples</C>
is saved as <C>CatnGroupLists(G).cat3triples</C>.
The length of this list is the number of cat<M>^3</M>-groups on <M>G</M>,
and is saved as <C>CatnGroupNumbers(G).cat3</C>.
<P/>
As yet there is no operation <C>AllCat3GroupsUpToIsomorphism(G)</C>.
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
gap> triples := AllCat3GroupTriples( d12 );;
gap> CatnGroupNumbers( d12 ).cat3;
94
gap> triples[46];
[ 5, 7, 11 ]
gap> alld12 := AllCat1Groups( d12 );;
gap> Cat3Group( alld12[5], alld12[7], alld12[11] );
cat3-group with generating (pre-)cat1-groups:
1 : [d12 => Group( [ (), (1,4)(2,3)(5,6) ] )]
2 : [d12 => Group( [ (1,4)(2,5)(3,6), (2,6)(3,5) ] )]
3 : [d12 => Group( [ (1,5,3)(2,6,4), (1,4)(2,3)(5,6) ] )]
]]>
</Example>
</Section>
<Section Label="sect-catn-definitions">
<Heading>
Definition and constructions for cat<M>^n</M>-groups and their morphisms
</Heading>
<Index>cat<M>^n</M>-group</Index>
In this chapter and the previous one we are interested in cat<M>^2</M>-groups
and cat<M>^3</M>-groups, and it is convenient in this section to give
the more general definition.
There are three equivalent descriptions of a cat<M>^n</M>-group.
<P/>
A <E>cat<M>^n</M>-group</E> consists of the following.
<List>
<Item>
<M>2^n</M> groups <M>G_A</M>, one for each subset <M>A</M> of <M>[n]</M>,
the <E>vertices</E> of an <M>n</M>-cube.
</Item>
<Item>
Group homomorphisms forming <M>n2^{n-1}</M> commuting cat<M>^1</M>-groups,
<Display>
\calC_{A,i} ~=~ (e_{A,i};\; t_{A,i},\; h_{A,i} \ :\
G_A \to G_{A \setminus \{i\}}),
\quad\mbox{for all} \quad A \subseteq [n],~ i \in A,
</Display>
the <E>edges</E> of the cube.
</Item>
<Item>
These cat<M>^1</M>-groups combine (in sets of <M>4</M>)
to form <M>n(n-1)2^{n-3}</M> cat<M>^2</M>-groups <M>\calC_{A,\{i,j\}}</M>
for all <M>\{i,j\} \subseteq A \subseteq [n],~ i \neq j</M>,
the <E>faces</E> of the cube.
</Item>
</List>
Note that, since the <M>t_{A,i}, h_{A,i}</M> and <M>e_{A,i}</M> commute,
composite homomorphisms
<M>t_{A,B}, h_{A,B} : G_A \to G_{A \setminus B}</M> and
<M>e_{A,B} : G_{A \setminus B} \to G_A</M>
are well defined for all <M>B \subseteq A \subseteq [n]</M>.
<P/>
Secondly, we give the simplest of the three descriptions,
again adapted from Ellis-Steiner <Cite Key="ell:st"/>.
<P/>
A cat<M>^n</M>-group <M>\calC</M> consists of <M>2^n</M> groups
<M>G_A</M>, one for each subset <M>A</M> of <M>[n]</M>,
and <M>3n</M> homomorphisms
<Display>
t_{[n],i}, h_{[n],i} : G_{[n]} \to G_{[n] \setminus \{i\}},~
e_{[n],i} : G_{[n] \setminus \{i\}} \to G_{[n]},
</Display>
satisfying the following axioms for all <M>1 \leqslant i \leqslant n</M>,}
<List>
<Item>
the
<M>\calC_{[n],i} ~=~ (e_{[n],i};\; t_{[n],i},\; h_{[n],i} \ :\
G_{[n]} \to G_{[n] \setminus \{i\}})~</M>
are <E>commuting</E> cat<M>^1</M>-groups, so that:
</Item>
<Item>
<M>
(e_1 \circ t_1) \circ (e_2 \circ t_2) = (e_2 \circ t_2) \circ (e_1 \circ t_1), \quad
(e_1 \circ h_1) \circ (e_2 \circ h_2) = (e_2 \circ h_2) \circ (e_1 \circ h_1),
</M>
</Item>
<Item>
<M>
(e_1 \circ t_1) \circ (e_2 \circ h_2) = (e_2 \circ h_2) \circ (e_1 \circ t_1), \quad
(e_2 \circ t_2) \circ (e_1 \circ h_1) = (e_1 \circ h_1) \circ (e_2 \circ t_2).
</M>
</Item>
</List>
Our third description defines a cat<M>^n</M>-group as a "cat^1-group of cat^{(n-1)}-groups".
<P/>
A <E>cat<M>^n</M>-group</E> <M>\calC</M>
consists of two cat<M>^{(n-1)}</M>-groups:
<List>
<Item>
<M>\calA</M> with groups <M>G_A,\; A \subseteq [n-1]</M>,
and homomorphisms <M>\ddot{t}_{A,i}, \ddot{h}_{A,i}, \ddot{e}_{A,i}</M>,
</Item>
<Item>
<M>\calB</M> with groups <M>H_B,\; B \subseteq [n-1]</M>,
and homomorphisms <M>\dot{t}_{B,i}, \dot{h}_{B,i}, \dot{e}_{B,i}</M>, and
</Item>
<Item>
cat<M>^{(n-1)}</M>-morphisms <M>t,h : \calA \to \calB</M>
and <M>e : \calB \to \calA</M>
subject to the following conditions:
<Display>
(t \circ e) ~\mbox{and}~ (h \circ e)
~\mbox{are the identity mapping on}~ \calB, \qquad
[\ker t, \ker h] = \{ 1_{\calA} \}.
</Display>
</Item>
</List>
<ManSection>
<Oper Name="PreCatnGroup"
Arg="L" />
<Oper Name="CatnGroup"
Arg="L" />
<Description>
The operation <C>(Pre)CatnGroup</C> expects as input a list of
cat<M>^1</M>-groups.
For our group <C>d12</C> we may construct various cat<M>^4</M>-groups,
and here is one of them.
<P/>
</Description>
</ManSection>
<P/>
<Example>
<![CDATA[
gap> PC4 := PreCatnGroup( [ alld12[5], alld12[7], alld12[11], alld12[12] ] );
(pre-)cat4-group with generating (pre-)cat1-groups:
1 : [d12 => Group( [ (), (1,4)(2,3)(5,6) ] )]
2 : [d12 => Group( [ (1,4)(2,5)(3,6), (2,6)(3,5) ] )]
3 : [d12 => Group( [ (1,5,3)(2,6,4), (1,4)(2,3)(5,6) ] )]
4 : [d12 => Group( [ (1,2,3,4,5,6), (2,6)(3,5) ] )]
gap> IsCatnGroup( PC4 );
true
gap> HigherDimension( PC4 );
5
]]>
</Example>
For a cat<M>^5</M>-group we may start with the cyclic group whose order
is the product of the first five primes.
With this group we may form <M>32</M> cat<M>^1</M>-groups and
<M>528</M> cat<M>^2</M>-groups.
<P/>
<Example>
<![CDATA[
gap> G := Group( (1,2), (3,4,5), (6,7,8,9,10), (11,12,13,14,15,16,17),
> (20,21,22,23,24,25,26,27,28,29,30) );;
gap> SetName( G, "C2310" );
gap> all1 := AllCat1Groups( G );;
gap> Print( "G has ", CatnGroupNumbers( G ).cat1, " cat1-groups\n" );
G has 32 cat1-groups
gap> PC5 := PreCatnGroup( [ all1[2], all1[5], all1[13], all1[25], all1[32] ] );
(pre-)cat5-group with generating (pre-)cat1-groups:
1 : [C2310 => Group( [ (), (), (), (), (1,2) ] )]
2 : [C2310 => Group( [ (), (), (), (3,4,5), (1,2) ] )]
3 : [C2310 => Group( [ (), (), ( 6, 7, 8, 9,10), (3,4,5), (1,2) ] )]
4 : [C2310 => Group( [ (), (11,12,13,14,15,16,17), ( 6, 7, 8, 9,10), (3,4,5),
(1,2) ] )]
5 : [C2310 => Group( [ (20,21,22,23,24,25,26,27,28,29,30),
(11,12,13,14,15,16,17), ( 6, 7, 8, 9,10), (3,4,5), (1,2) ] )]
gap> HigherDimension( PC5 );
6
]]>
</Example>
</Section>
</Chapter>
¤ Dauer der Verarbeitung: 0.13 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.