Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 4183461[1X10 [33X[0;0YUtility functions[133X[101X23[33X[0;0YBy a utility function we mean a [5XGAP[105X function which is[133X45[30X [33X[0;6Yneeded by other functions in this package,[133X67[30X [33X[0;6Ynot (as far as we know) provided by the standard [5XGAP[105X library,[133X89[30X [33X[0;6Ymore suitable for inclusion in the main library than in this package.[133X1011[33X[0;0YSections on [13XPrinting Lists[113X and [13XDistinct and Common Representatives[113X were12moved to the [5XUtils[105X package with version 2.56.[133X131415[1X10.1 [33X[0;0YInclusion and Restriction Mappings[133X[101X1617[33X[0;0YThese functions have been moved to the [5Xgpd[105X package, but are still documented18here.[133X1920[1X10.1-1 InclusionMappingGroups[101X2122[29X[2XInclusionMappingGroups[102X( [3XG[103X, [3XH[103X ) [32X operation23[29X[2XMappingToOne[102X( [3XG[103X, [3XH[103X ) [32X operation2425[33X[0;0YThis set of utilities concerns mappings. The map [10Xincd8[110X is the inclusion of26[10Xd8[110X in [10Xd16[110X used in Section [14X3.4[114X. [10XMappingToOne(G,H)[110X maps the whole of [22XG[122X to the27identity element in [22XH[122X.[133X2829[4X[32X Example [32X[104X30[4X[28X[128X[104X31[4X[25Xgap>[125X [27XPrint( incd8, "\n" );[127X[104X32[4X[28X[ (11,13,15,17)(12,14,16,18), (11,18)(12,17)(13,16)(14,15) ] ->[128X[104X33[4X[28X[ (11,13,15,17)(12,14,16,18), (11,18)(12,17)(13,16)(14,15) ][128X[104X34[4X[25Xgap>[125X [27Ximd8 := Image( incd8 );;[127X[104X35[4X[25Xgap>[125X [27XMappingToOne( c4, imd8 );[127X[104X36[4X[28X[ (11,13,15,17)(12,14,16,18) ] -> [ () ][128X[104X37[4X[28X[128X[104X38[4X[32X[104X3940[1X10.1-2 InnerAutomorphismsByNormalSubgroup[101X4142[29X[2XInnerAutomorphismsByNormalSubgroup[102X( [3XG[103X, [3XN[103X ) [32X operation43[29X[2XIsGroupOfAutomorphisms[102X( [3XA[103X ) [32X property4445[33X[0;0YInner automorphisms of a group [10XG[110X by the elements of a normal subgroup [10XN[110X are46calculated with the first of these functions, usually with [10XG[110X = [10XN[110X.[133X4748[4X[32X Example [32X[104X49[4X[28X[128X[104X50[4X[25Xgap>[125X [27Xautd8 := AutomorphismGroup( d8 );;[127X[104X51[4X[25Xgap>[125X [27Xinnd8 := InnerAutomorphismsByNormalSubgroup( d8, d8 );;[127X[104X52[4X[25Xgap>[125X [27XGeneratorsOfGroup( innd8 );[127X[104X53[4X[28X[ ^(1,2,3,4), ^(1,3) ][128X[104X54[4X[25Xgap>[125X [27XIsGroupOfAutomorphisms( innd8 );[127X[104X55[4X[28Xtrue[128X[104X56[4X[28X[128X[104X57[4X[32X[104X585960[1X10.2 [33X[0;0YAbelian Modules[133X[101X6162[1X10.2-1 AbelianModuleObject[101X6364[29X[2XAbelianModuleObject[102X( [3Xgrp[103X, [3Xact[103X ) [32X operation65[29X[2XIsAbelianModule[102X( [3Xobj[103X ) [32X property66[29X[2XAbelianModuleGroup[102X( [3Xobj[103X ) [32X attribute67[29X[2XAbelianModuleAction[102X( [3Xobj[103X ) [32X attribute6869[33X[0;0YAn abelian module is an abelian group together with a group action. These70are used by the crossed module constructor [10XXModByAbelianModule[110X.[133X7172[33X[0;0YThe resulting [10XXabmod[110X is isomorphic to the output from73[10XXModByAutomorphismGroup( k4 );[110X.[133X7475[4X[32X Example [32X[104X76[4X[28X[128X[104X77[4X[25Xgap>[125X [27Xx := (6,7)(8,9);; y := (6,8)(7,9);; z := (6,9)(7,8);;[127X[104X78[4X[25Xgap>[125X [27Xk4a := Group( x, y );; SetName( k4a, "k4a" );[127X[104X79[4X[25Xgap>[125X [27Xgens3a := [ (1,2), (2,3) ];;[127X[104X80[4X[25Xgap>[125X [27Xs3a := Group( gens3a );; SetName( s3a, "s3a" );[127X[104X81[4X[25Xgap>[125X [27Xalpha := GroupHomomorphismByImages( k4a, k4a, [x,y], [y,x] );;[127X[104X82[4X[25Xgap>[125X [27Xbeta := GroupHomomorphismByImages( k4a, k4a, [x,y], [x,z] );;[127X[104X83[4X[25Xgap>[125X [27Xauta := Group( alpha, beta );;[127X[104X84[4X[25Xgap>[125X [27Xacta := GroupHomomorphismByImages( s3a, auta, gens3a, [alpha,beta] );;[127X[104X85[4X[25Xgap>[125X [27Xabmod := AbelianModuleObject( k4a, acta );;[127X[104X86[4X[25Xgap>[125X [27XXabmod := XModByAbelianModule( abmod );[127X[104X87[4X[28X[k4a->s3a][128X[104X88[4X[25Xgap>[125X [27XDisplay( Xabmod );[127X[104X89[4X[28X[128X[104X90[4X[28XCrossed module [k4a->s3a] :- [128X[104X91[4X[28X: Source group k4a has generators:[128X[104X92[4X[28X [ (6,7)(8,9), (6,8)(7,9) ][128X[104X93[4X[28X: Range group s3a has generators:[128X[104X94[4X[28X [ (1,2), (2,3) ][128X[104X95[4X[28X: Boundary homomorphism maps source generators to:[128X[104X96[4X[28X [ (), () ][128X[104X97[4X[28X: Action homomorphism maps range generators to automorphisms:[128X[104X98[4X[28X (1,2) --> { source gens --> [ (6,8)(7,9), (6,7)(8,9) ] }[128X[104X99[4X[28X (2,3) --> { source gens --> [ (6,7)(8,9), (6,9)(7,8) ] }[128X[104X100[4X[28X These 2 automorphisms generate the group of automorphisms.[128X[104X101[4X[28X[128X[104X102[4X[28X[128X[104X103[4X[32X[104X104105106107