GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
############################################################################## ## #W gp2up.gd GAP4 package `XMod' Chris Wensley #W & Murat Alp ## ## This file contains declarations for UpMappings, Derivations and Sections ## #Y Copyright (C) 2001-2017, Chris Wensley et al, #Y School of Computer Science, Bangor University, U.K. ############################################################################## ## #C IsUp2DimensionalMapping( <map> ) #R IsUp2DimensionalMappingRep( <map> ) ## ## A section|derivation is determined by a cat1-group|xmod + generator images ## DeclareCategory( "IsUp2DimensionalMapping", IsGeneralMapping ); DeclareRepresentation( "IsUp2DimensionalMappingRep", IsUp2DimensionalMapping and IsAttributeStoringRep, [ "Object2d", "UpGeneratorImages", "UpHomomorphism", "UpImagePositions" ] ); ############################################################################# ## #C IsUp2DimensionalMappingCollection . . . . category of colls of up-2d-maps #C IsUp2DimensionalMappingCollColl . . . . . . . category of colls of colls #C IsUp2DimensionalMappingCollCollColl . . . category of colls, colls, colls #V Up2DimensionalMappingFamily . . . . . family for derivations and sections #T Up2DimensionalMappingType( <map> ) ## DeclareCategoryCollections( "IsUp2DimensionalMapping" ); DeclareCategoryCollections( "IsUp2DimensionalMappingCollection" ); DeclareCategoryCollections( "IsUp2DimensionalMappingCollColl" ); BindGlobal( "Up2DimensionalMappingFamily", NewFamily( "Up2DimensionalMappingFamily", IsUp2DimensionalMapping, CanEasilySortElements, CanEasilySortElements ) ); BindGlobal( "Up2DimensionalMappingType", NewType( Up2DimensionalMappingFamily, IsUp2DimensionalMappingRep ) ); ############################################################################## ## #A Object2d( <map> ) #A UpHomomorphism( <map> ) #A UpGeneratorImages( <map> ) #A UpImagePositions( <map> ) ## DeclareAttribute( "Object2d", IsUp2DimensionalMapping ); DeclareAttribute( "UpHomomorphism", IsUp2DimensionalMapping ); DeclareAttribute( "UpGeneratorImages", IsUp2DimensionalMapping ); DeclareAttribute( "UpImagePositions", IsUp2DimensionalMapping ); ############################################################################# ## #P IsDerivation( <map> ) #P IsSection( <map> ) ## DeclareProperty( "IsDerivation", IsUp2DimensionalMapping ); DeclareProperty( "IsSection", IsUp2DimensionalMapping ); ############################################################################## ## Derivations ## ############################################################################## ############################################################################## ## #O DerivationByImages sets up the mapping #O DerivationByImagesNC sets up the mapping ## DeclareOperation( "DerivationByImages", [ Is2DimensionalDomain, IsHomogeneousList ] ); DeclareOperation( "DerivationByImagesNC", [ Is2DimensionalDomain, IsHomogeneousList ] ); ## usage: DerivationByImages( XM, im, [, true|false ] ) ############################################################################## ## #O DerivationImage image of r \in R by the derivation chi ## DeclareOperation( "DerivationImage", [ IsDerivation, IsObject ] ); ############################################################################### ## #O DerivationBySection construct an XMod derivation from a cat1-group section ## DeclareOperation( "DerivationBySection", [ IsSection ] ); ############################################################################## ## #O PrincipalDerivation derivation determined by choice of s in S #A PrincipalDerivations list of principal derivations ## DeclareOperation( "PrincipalDerivation", [ IsXMod, IsObject ] ); DeclareAttribute( "PrincipalDerivations", IsXMod ); ############################################################################## ## #O CompositeDerivation Whitehead composite of two derivations ## DeclareOperation( "CompositeDerivation", [ IsDerivation, IsDerivation ] ); ############################################################################## ## #P IsRegularDerivation so an element of the Whitehead group ## DeclareProperty( "IsRegularDerivation", IsDerivation ); ############################################################################## ## #A SourceEndomorphism upmapping determines endomorphism of source group #A RangeEndomorphism upmapping determines endomorphism of range group #A Object2dEndomorphism upmapping determines endomorphism of xmod or cat1 ## DeclareAttribute( "SourceEndomorphism", IsUp2DimensionalMapping ); DeclareAttribute( "RangeEndomorphism", IsUp2DimensionalMapping ); DeclareAttribute( "Object2dEndomorphism", IsUp2DimensionalMapping ); ############################################################################# ## #O InverseDerivations Finds all semigroup inverses XJ for derivation Xi ## i.e. XiXjXi=Xi & XjXiXj=Xj DeclareOperation( "InverseDerivations", [ IsDerivation ] ); ############################################################################## ## #O ListInverseDerivations List all inverses for each derivation ## DeclareOperation( "ListInverseDerivations", [ IsXMod ] ); ############################################################################## ## Sections ## ############################################################################## ############################################################################## ## #O SectionByImages sets up GroupHomByImages #O SectionByImagesNC sets up GroupHomByImages ## DeclareOperation( "SectionByImages", [ Is2DimensionalDomain, IsGroupHomomorphism ] ); DeclareOperation( "SectionByImagesNC", [ Is2DimensionalDomain, IsGroupHomomorphism ] ); ## usage: SectionByImages( C, im, [, true|false ] ) ############################################################################## ## #O SectionByDerivation the cat1-group section determined by a derivation ## DeclareOperation( "SectionByDerivation", [ IsDerivation ] ); ############################################################################## ## #O CompositeSection Whitehead composite of two sections ## DeclareOperation( "CompositeSection", [ IsSection, IsSection ] ); ############################################################################# ## Monoids of Derivations or Sections ## ############################################################################# ############################################################################# ## #P IsMonoidOfUp2DimensionalMappings( <obj> ) #R IsMonoidOfUp2DimensionalMappingsObj( <obj> ) ## ## An Up2DimensionalMappings record stores images lists and composition table ## DeclareProperty( "IsMonoidOfUp2DimensionalMappings", IsObject ); DeclareRepresentation( "IsMonoidOfUp2DimensionalMappingsObj", IsMonoidOfUp2DimensionalMappings and IsAttributeStoringRep, [ "Object2d", "ImagesList" ] ); ############################################################################## ## #A ImagesList returns list of DerivationImages #A AllOrRegular type of derivations record #A ImagesTable returns lists of image lists ## DeclareAttribute( "ImagesList", IsMonoidOfUp2DimensionalMappings ); DeclareAttribute( "AllOrRegular", IsMonoidOfUp2DimensionalMappings ); DeclareAttribute( "ImagesTable", IsMonoidOfUp2DimensionalMappings ); ############################################################################# ## #O MonoidOfUp2DimensionalMappingsObj( <obj>, <images>, <str> ) #F MonoidOfUp2DimensionalMappingsFamily . . . family for up-mappings monoid #T MonoidOfUp2DimensionalMappingsType . . . . . type for up-mappings monoid #P IsMonoidOfDerivations #P IsMonoidOfSections ## DeclareOperation( "MonoidOfUp2DimensionalMappingsObj", [ Is2DimensionalDomain, IsHomogeneousList, IsString ] ); MonoidOfUp2DimensionalMappingsFamily := CollectionsFamily( Up2DimensionalMappingFamily ); BindGlobal( "MonoidOfUp2DimensionalMappingsType", NewType( MonoidOfUp2DimensionalMappingsFamily, IsMonoidOfUp2DimensionalMappingsObj ) ); DeclareProperty( "IsMonoidOfDerivations", IsMonoidOfUp2DimensionalMappings ); DeclareProperty( "IsMonoidOfSections", IsMonoidOfUp2DimensionalMappings ); ############################################################################## ## #A RegularDerivations find all invertible derivations for a crossed module #A AllDerivations find all derivations for a crossed module #A RegularSections find all invertible sections for a cat1-group #A AllSections find all sections for a cat1-group ## DeclareAttribute( "RegularDerivations", IsXMod ); DeclareAttribute( "AllDerivations", IsXMod ); DeclareAttribute( "RegularSections", IsCat1Group ); DeclareAttribute( "AllSections", IsCat1Group ); ############################################################################## ## #O BacktrackDerivationsJ recursive function for BacktrackDerivations #O BacktrackDerivations recursive construction for all derivations #O BacktrackSectionsJ recursion used by RegularSections & AllSections ## DeclareOperation( "BacktrackDerivationsJ", [ IsXMod, IsHomogeneousList, IsHomogeneousList, IsHomogeneousList, IsInt, IsString ] ); DeclareOperation( "BacktrackDerivations", [ IsXMod, IsString ] ); DeclareOperation( "BacktrackSectionsJ", [ IsRecord, IsInt, IsObject, IsInt ] ); ############################################################################# ## #A WhiteheadMonoidTable( XM ) Table of products of derivations #A WhiteheadGroupTable( XM ) Table of products of regular derivations ## ## ?? should these refer just to 2DimensionalDomains ?? ## DeclareAttribute( "WhiteheadMonoidTable", IsXMod ); DeclareAttribute( "WhiteheadGroupTable", IsXMod ); ############################################################################# ## #A WhiteheadPermGroup( XM ) a permutation representation #A WhiteheadGroupGeneratingDerivations generators for W(X) #A WhiteheadGroupGeneratorPositions positions of generators for W(X) #A WhiteheadTransMonoid( XM ) a transformation representation ## DeclareAttribute( "WhiteheadPermGroup", IsXMod ); DeclareAttribute( "WhiteheadGroupGeneratingDerivations", IsXMod ); DeclareAttribute( "WhiteheadGroupGeneratorPositions", IsXMod ); DeclareAttribute( "WhiteheadTransMonoid", IsXMod ); ############################################################################### ## #E gp2up.gd . . . . . . . . . . . . . . . . . . . . . . . . . . . . ends here