This chapter describes morphisms of (pre-)crossed modules and (pre-)cat1-groups.
Source(
map ) A
Range(
map ) A
SourceHom(
map ) A
RangeHom(
map ) A
Morphisms of 2dObjects
are implemented as 2dMappings
.
These have a pair of 2d-objects as source and range, together with two
group homomorphisms mapping between corresponding source and range groups.
These functions return fail
when invalid data is supplied.
IsPreXModMorphism(
map ) P
IsXModMorphism(
map ) P
IsPreCat1Morphism(
map ) P
IsCat1Morphism(
map ) P
A morphism between two pre-crossed modules X1 = (¶1 : S1 ® R1) and X2 = (¶2 : S2 ® R2) is a pair (s, r), where s: S1 ® S2 and r: R1 ® R2 commute with the two boundary maps and are morphisms for the two actions:
|
Thus s is the SourceHom
and r is the RangeHom
.
When X1 = X2
and s, r are automorphisms then
(s, r) is an automorphism of X1.
The group of automorphisms is denoted
by Aut(X1 )·
IsInjective(
map ) P
IsSurjective(
map ) P
IsSingleValued(
map ) P
IsTotal(
map ) P
IsBijective(
map ) P
IsEndomorphism2dObject(
map ) P
IsAutomorphism2dObject(
map ) P
The usual properties of mappings are easily checked.
It is usually sufficient to verify that both the SourceHom
and the
RangeHom
have the required property.
Constructors for morphisms of pre-crossed and crossed modules include:
PreXModMorphism(
args ) F
XModMorphism(
args ) F
PreXModMorphismByHoms(
P1, P2, sigma, rho ) O
XModMorphismByHoms(
X1, X2, sigma, rho ) O
InclusionMorphism2dObjects(
X1, S1 ) O
InnerAutomorphismXMod(
X1, r ) O
IdentityMapping(
X1 ) A
IsomorphismPermObject(
obj ) F
In the following example we construct a simple automorphism of
the crossed module X1
constructed in the previous chapter.
gap> sigma1 := GroupHomomorphismByImages( c5, c5, [ (5,6,7,8,9) ] [ (5,9,8,7,6) ] );; gap> rho1 := IdentityMapping( Range( X1 ) ); IdentityMapping( PAut(c5) ) gap> mor1 := XModMorphism( X1, X1, sigma1, rho1 ); [[c5->PAut(c5))] => [c5->PAut(c5))]] gap> Display( mor1 ); Morphism of crossed modules :- : Source = [c5->PAut(c5))] with generating sets: [ (5,6,7,8,9) ] [ (1,2,4,3) ] : Range = Source : Source Homomorphism maps source generators to: [ (5,9,8,7,6) ] : Range Homomorphism maps range generators to: [ (1,2,4,3) ] gap> IsAutomorphism2dObject( mor1 ); true gap> Print( RepresentationsOfObject(mor1), "\n" ); [ "IsComponentObjectRep", "IsAttributeStoringRep", "Is2dMappingRep" ] gap> Print( KnownPropertiesOfObject(mor1), "\n" ); [ "IsTotal", "IsSingleValued", "IsInjective", "IsSurjective", "Is2dMapping", "IsPreXModMorphism", "IsXModMorphism", "IsEndomorphism2dObject", "IsAutomorphism2dObject" ] gap> Print( KnownAttributesOfObject(mor1), "\n" ); [ "Name", "Range", "Source", "SourceHom", "RangeHom" ]
A morphism of pre-cat1-groups from C1 = (e1;t1,h1 : G1 ® R1) to C2 = (e2;t2,h2 : G2 ® R2) is a pair (g, r) where g: G1 ® G2 and r: R1 ® R2 are homomorphisms satisfying
|
PreCat1Morphism(
args ) F
Cat1Morphism(
args ) F
PreCat1MorphismByHoms(
P1, P2, gamma, rho ) O
Cat1MorphismByHoms(
C1, C2, gamma, rho ) O
InclusionMorphism2dObjects(
C1, S1 ) O
InnerAutomorphismCat1(
C1, r ) O
IdentityMapping(
C1 ) A
IsomorphismPermObject(
obj ) F
SmallerDegreePerm2dObject(
obj ) F
The global function IsomorphismPermObject
calls IsomorphismPermPreCat1
which constructs a morphism whose SourceHom
and RangeHom
are calculated
using IsomorphismPermGroup
on the source and range.
Similarly SmallerDegreePermutationRepresentation
is used on the
two groups to obtain SmallerDegreePerm2dObject
.
Names are assigned automatically.
gap> iso2 := IsomorphismPermObject( C2 ); [[s3c4=>s3] => [Ps3c4=>Ps3]] gap> Display( iso2 ); Morphism of cat1-groups :- : Source = [s3c4=>s3] with generating sets: [ f1, f2, f3, f4 ] [ f1, f2 ] : Range = [Ps3c4=>Ps3] with generating sets: [ ( 5, 9)( 6,10)( 7,11)( 8,12), ( 1, 5, 9)( 2, 6,10)( 3, 7,11)( 4, 8,12), ( 1, 3, 2, 4)( 5, 7, 6, 8)( 9,11,10,12), ( 1, 2)( 3, 4)( 5, 6)( 7, 8)( 9,10) (11,12) ] [ (2,3), (1,2,3) ] : Source Homomorphism maps source generators to: [ ( 5, 9)( 6,10)( 7,11)( 8,12), ( 1, 5, 9)( 2, 6,10)( 3, 7,11)( 4, 8,12), ( 1, 3, 2, 4)( 5, 7, 6, 8)( 9,11,10,12), ( 1, 2)( 3, 4)( 5, 6)( 7, 8)( 9,10) (11,12) ] : Range Homomorphism maps range generators to: [ (2,3), (1,2,3) ]
Order(
auto ) A
CompositionMorphism(
map2, map1 ) O
Composition of morphisms, written (
map1 *
map2)
for maps acting of the right,
calls the CompositionMorphism
function for maps acting on the left,
applied to the appropriate type of 2d-mapping.
gap> Order( mor1 ); 2 gap> GeneratorsOfGroup( d16 ); [ (11,12,13,14,15,16,17,18), (12,18)(13,17)(14,16) ] gap> d8 := Subgroup( d16, [ c^2, d ] );; gap> c4 := Subgroup( d8, [ c^2 ] );; gap> SetName( d8, "d8" ); SetName( c4, "c4" ); gap> X16 := XModByNormalSubgroup( d16, d8 ); [d8->d16] gap> X8 := XModByNormalSubgroup( d8, c4 ); [c4->d8] gap> IsSubXMod( X16, X8 ); true gap> inc8 := InclusionMorphism2dObjects( X16, X8 ); [[c4->d8] => [d8->d16]] gap> rho := GroupHomomorphismByImages( d16, d16, [c,d], [c,d^(c^2)] );; gap> sigma := GroupHomomorphismByImages( d8, d8, [c^2,d], [c^2,d^(c^2)] );; gap> mor := XModMorphismByHoms( X16, X16, sigma, rho ); [[d8->d16] => [d8->d16]] gap> comp := inc8 * mor; [[c4->d8] => [d8->d16]] gap> comp = CompositionMorphism( mor, inc8 ); true
Kernel(
map ) O
Kernel2dMapping(
map ) A
The kernel of a morphism of crossed modules is a normal subcrossed module whose groups are the kernels of the source and target homomorphisms. The inclusion of the kernel is a standard example of a crossed square, but these have not yet been implemented.
gap> c2 := Group( (19,20) );; gap> i2 := Subgroup( c2, [()] );; gap> X9 := XModByNormalSubgroup( c2, i2 );; gap> sigma9 := GroupHomomorphismByImages( c4, i2, [c^2], [()] );; gap> rho9 := GroupHomomorphismByImages( d8, c2, [c^2,d], [(),(19,20)] );; gap> mor9 := XModMorphism( X8, X9, sigma9, rho9 ); [[c4->d8] => [..]] gap> K9 := Kernel( mor9 ); [Group( [ (11,13,15,17)(12,14,16,18) ] )->Group( [ (11,13,15,17)(12,14,16,18) ] )]
[Up] [Previous] [Next] [Index]
XMod manual