GAP (XMod) - Chapter 7: Crossed squares and their morphisms

Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 Bib Ind
[Top of Book] [Contents] [Previous Chapter] [Next Chapter]

7 Crossed squares and their morphisms
7.1 Constructions for crossed squares
7.1-1 XSq
7.1-2 IsXSq
7.1-3 Up2dGroup
7.2 Morphisms of crossed squares
7.2-1 Source
7.2-2 IsXSqMorphism

### 7 Crossed squares and their morphisms

Crossed squares were introduced by Guin-Wal\'ery and Loday (see, for example, [BL87]) as fundamental crossed squares of commutative squares of spaces, but are also of purely algebraic interest. We denote by [n] the set {1,2,...,n}. We use the n=2 version of the definition of crossed n-cube as given by Ellis and Steiner [ES87].

A crossed square mathcalS consists of the following:

- Groups S_J for each of the four subsets J ⊆ [2];

- a commutative diagram of group homomorphisms:

  \ddot{\partial}_1 : S_{[2]} \to S_{\{2\}}, \quad \ddot{\partial}_2 : S_{[2]} \to S_{\{1\}}, \quad \dot{\partial}_1 : S_{\{1\}} \to S_{\emptyset}, \quad \dot{\partial}_2 : S_{\{2\}} \to S_{\emptyset};

- actions of S_∅ on S_{1}, S_{2} and S_[2] which determine actions of S_{1} on S_{2} and S_[2] via dot∂_1 and actions of S_{2} on S_{1} and S_[2] via dot∂_2~;

- a function ⊠ : S_{1} × S_{2} -> S_[2].

The following axioms must be satisfied for all l ∈ S_[2], m,m_1,m_2 ∈ S_{1}, n,n_1,n_2 ∈ S_{2}, p ∈ S_∅:

- the homomorphisms ddot∂_1, ddot∂_2 preserve the action of S_∅~;

- each of

  \ddot{\mathcal{S}}_1 = (\ddot{\partial}_1 : S_{[2]} \to S_{\{2\}}), \ddot{\mathcal{S}}_2 = (\ddot{\partial}_2 : S_{[2]} \to S_{\{1\}}), \dot{\mathcal{S}}_1 = (\dot{\partial}_1 : S_{\{1\}} \to S_{\emptyset}), \dot{\mathcal{S}}_2 = (\dot{\partial}_2 : S_{\{2\}} \to S_{\emptyset}),

  and the diagonal

  \mathcal{S}_{12} = (\partial_{12} := \dot{\partial}_1\ddot{\partial}_2 = \dot{\partial}_2\ddot{\partial}_1 : S_{[2]} \to S_{\emptyset})

  are crossed modules (with actions via S_∅);

- ⊠ is a crossed pairing:

  - (m_1m_2 ⊠ n) = (m_1 ⊠ n)^m_2 (m_2 ⊠ n),

  - (m ⊠ n_1n_2) = (m ⊠ n_2) (m ⊠ n_1)^n_2,

  - (m ⊠ n)^p = (m^p ⊠ n^p);

- ddot∂_1 (m ⊠ n) = (n^-1)^m n \quad \mbox{and} \quad ddot∂_2 (m ⊠ n) = m^-1 m^n,

- (m ⊠ ddot∂_1 l) = (l^-1)^m l \quad \mbox{and} \quad (ddot∂_2 l ⊠ n) = l^-1 l^n.

Note that the actions of S_{1} on S_{2} and S_{2} on S_{1} via S_∅ are compatible since

{m_1}^{(n^m)} \;=\; {m_1}^{\dot{\partial}_2(n^m)} \;=\; {m_1}^{m^{-1}(\dot{\partial}_2 n)m} \;=\; (({m_1}^{m^{-1}})^n)^m.

#### 7.1 Constructions for crossed squares

Analogously to the data structure used for crossed modules, crossed squares are implemented as `3d-groups`. When times allows, cat2-groups will also be implemented, with conversion between the two types of structure. Some standard constructions of crossed squares are listed below. At present, a limited number of constructions are implemented. Morphisms of crossed squares have also been implemented, though there is a lot still to do.

##### 7.1-1 XSq

`‣ XSq`( args ) | ( function )

`‣ XSqByNormalSubgroups`( P, N, M, L ) | ( operation )

`‣ ActorXSq`( X0 ) | ( operation )

`‣ Transpose3dGroup`( S0 ) | ( attribute )

`‣ Name`( S0 ) | ( attribute )

Here are some standard examples of crossed squares.

- If M, N are normal subgroups of a group P, and L = M ∩ N, then the four inclusions, L -> N,~ L -> M,~ M -> P,~ N -> P, together with the actions of P on M, N and L given by conjugation, and the crossed pairing

  \boxtimes \;:\; M \times N \to M\cap N, \quad (m,n) \mapsto [m,n] \,=\, m^{-1}n^{-1}mn \,=\,(n^{-1})^mn \,=\, m^{-1}m^n

  is a crossed square. This construction is implemented as `XSqByNormalSubgroups(P,N,M,L);`.

- The actor mathcalA(mathcalX_0) of a crossed module mathcalX_0 has been described in Chapter 5. The crossed pairing is given by

  \boxtimes \;:\; R \times W \,\to\, S, \quad (r,\chi) \,\mapsto\, \chi r~.

  This is implemented as `ActorXSq( X0 );`.

- The transpose of mathcalS is the crossed square tildemathcalS} obtained by interchanging S_{1} with S_{2}, ddot∂_1 with ddot∂_2, and dot∂_1 with dot∂_2. The crossed pairing is given by

  \tilde{\boxtimes} \;:\; S_{\{2\}} \times S_{\{1\}} \to S_{[2]}, \quad (n,m) \;\mapsto\; n\,\tilde{\boxtimes}\,m := (m \boxtimes n)^{-1}~.

    gap> c := (11,12,13,14,15,16);;
    gap> d := (12,16)(13,15);;
    gap> cd := c*d;;
    gap> d12 := Group( [ c, d ] );;
    gap> s3a := Subgroup( d12, [ c^2, d ] );;
    gap> s3b := Subgroup( d12, [ c^2, cd ] );;
    gap> c3 := Subgroup( d12, [ c^2 ] );;
    gap> SetName( d12, "d12");  SetName( s3a, "s3a" );
    gap> SetName( s3b, "s3b" );  SetName( c3, "c3" );
    gap> XSconj := XSqByNormalSubgroups( d12, s3b, s3a, c3 );
    [  c3 -> s3b ]
    [  |      |  ]
    [ s3a -> d12 ]
    gap> Name( XSconj );
    "[c3->s3b,s3a->d12]"
    gap> XStrans := Transpose3dGroup( XSconj );
    [  c3 -> s3a ]
    [  |      |  ]
    [ s3b -> d12 ]
    gap> X12 := XModByNormalSubgroup( d12, s3a );
    [s3a->d12]
    gap> XSact := ActorXSq( X12 );
    crossed square with:
          up = Whitehead[s3a->d12]
        left = [s3a->d12]
        down = Norrie[s3a->d12]
       right = Actor[s3a->d12]

##### 7.1-2 IsXSq

`‣ IsXSq`( obj ) | ( property )

`‣ Is3dObject`( obj ) | ( property )

`‣ IsPerm3dObject`( obj ) | ( property )

`‣ IsPc3dObject`( obj ) | ( property )

`‣ IsFp3dObject`( obj ) | ( property )

`‣ IsPreXSq`( obj ) | ( property )

These are the basic properties for 3d-groups, and crossed squares in particular.

##### 7.1-3 Up2dGroup

`‣ Up2dGroup`( XS ) | ( attribute )

`‣ Left2dGroup`( XS ) | ( attribute )

`‣ Down2dGroup`( XS ) | ( attribute )

`‣ Right2dGroup`( XS ) | ( attribute )

`‣ DiagonalAction`( XS ) | ( attribute )

`‣ XPair`( XS ) | ( attribute )

`‣ ImageElmXPair`( XS, pair ) | ( operation )

In this implementation the attributes used in the construction of a crossed square `XS` are the four crossed modules (2d-groups) on the sides of the square; the diagonal action of P on L, and the crossed pairing.

The GAP development team have suggested that crossed pairings should be implemented as a special case of `BinaryMappings` -- a structure which does not yet exist in GAP. As a temporary measure, crossed pairings have been implemented using `Mapping2ArgumentsByFunction`.

    gap> Up2dGroup( XSconj );
    [c3->s3b]
    gap> Right2dGroup( XSact );
    Actor[s3a->d12]
    gap> xpconj := XPair( XSconj );;
    gap> ImageElmXPair( xpconj, [ (12,16)(13,15), (11,16)(12,15)(13,14) ] );
    (11,15,13)(12,16,14)
    gap> diag := DiagonalAction( XSact );
    [ (2,3)(5,6), (1,2)(4,6) ] ->
    [ [ (11,13,15)(12,14,16), (12,16)(13,15) ] -> [ (11,15,13)(12,16,14),
          (12,16)(13,15) ], [ (11,13,15)(12,14,16), (12,16)(13,15) ] ->
        [ (11,15,13)(12,16,14), (11,13)(14,16) ] ]

#### 7.2 Morphisms of crossed squares

This section describes an initial implementation of morphisms of (pre-)crossed squares.

##### 7.2-1 Source

`‣ Source`( map ) | ( attribute )

`‣ Range`( map ) | ( attribute )

`‣ Up2dMorphism`( map ) | ( attribute )

`‣ Left2dMorphism`( map ) | ( attribute )

`‣ Down2dMorphism`( map ) | ( attribute )

`‣ Right2dMorphism`( map ) | ( attribute )

Morphisms of `3dObjects` are implemented as `3dMappings`. These have a pair of 3d-groups as source and range, together with four 2d-morphisms mapping between the four pairs of crossed modules on the four sides of the squares. These functions return `fail` when invalid data is supplied.

##### 7.2-2 IsXSqMorphism

`‣ IsXSqMorphism`( map ) | ( property )

`‣ IsPreXSqMorphism`( map ) | ( property )

`‣ IsBijective`( mor ) | ( property )

`‣ IsEndomorphism3dObject`( mor ) | ( property )

`‣ IsAutomorphism3dObject`( mor ) | ( property )

A morphism `mor` between two pre-crossed squares mathcalS_1 and mathcalS_2 consists of four crossed module morphisms `Up2dMorphism( mor )`, mapping the `Up2dGroup` of mathcalS_1 to that of mathcalS_2, `Left2dMorphism( mor )`, `Down2dMorphism( mor )` and `Right2dMorphism( mor )`. These four morphisms are required to commute with the four boundary maps and to preserve the rest of the structure. The current version of `IsXSqMorphism` does not perform all the required checks.

    gap> ad12 := GroupHomomorphismByImages( d12, d12, [c,d], [c,d^c] );;
    gap> as3a := GroupHomomorphismByImages( s3a, s3a, [c^2,d], [c^2,d^c] );;
    gap> as3b := GroupHomomorphismByImages( s3b, s3b, [c^2,cd], [c^2,cd^c] );;
    gap> idc3 := IdentityMapping( c3 );;
    gap> upconj := Up2dGroup( XSconj );;
    gap> leftconj := Left2dGroup( XSconj );;
    gap> downconj := Down2dGroup( XSconj );;
    gap> rightconj := Right2dGroup( XSconj );;
    gap> up := XModMorphismByHoms( upconj, upconj, idc3, as3b );
    [[c3->s3b] => [c3->s3b]]
    gap> left := XModMorphismByHoms( leftconj, leftconj, idc3, as3a );
    [[c3->s3a] => [c3->s3a]]
    gap> down := XModMorphismByHoms( downconj, downconj, as3a, ad12 );
    [[s3a->d12] => [s3a->d12]]
    gap> right := XModMorphismByHoms( rightconj, rightconj, as3b, ad12 );
    [[s3b->d12] => [s3b->d12]]
    gap> autoconj := XSqMorphism( XSconj, XSconj, up, left, down, right );;
    gap> ord := Order( autoconj );;
    gap> Display( autoconj );
    Morphism of crossed squares :-
    :    Source = [c3->s3b,s3a->d12]
    :     Range = [c3->s3b,s3a->d12]
    :     order = 3
    :    up-left: [ [ (11,13,15)(12,14,16) ], [ (11,13,15)(12,14,16) ] ]
    :   up-right: [ [ (11,13,15)(12,14,16), (11,16)(12,15)(13,14) ],
      [ (11,13,15)(12,14,16), (11,12)(13,16)(14,15) ] ]
    :  down-left: [ [ (11,13,15)(12,14,16), (12,16)(13,15) ],
      [ (11,13,15)(12,14,16), (11,13)(14,16) ] ]
    : down-right: [ [ (11,12,13,14,15,16), (12,16)(13,15) ],
      [ (11,12,13,14,15,16), (11,13)(14,16) ] ]
    gap> KnownPropertiesOfObject( autoconj );
    [ "IsTotal", "IsSingleValued", "IsInjective", "IsSurjective", "Is3dMapping",
      "IsPreXSqMorphism", "IsXSqMorphism", "IsEndomorphism3dObject" ]
    gap> IsAutomorphism3dObject( autoconj );
    true

[Top of Book] [Contents] [Previous Chapter] [Next Chapter]
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 Bib Ind

generated by GAPDoc2HTML