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[1X4 [33X[0;0YIsoclinism of groups and crossed modules[133X[101X23[33X[0;0YThis chapter describes some functions written by Alper Odabaş and Enver4Uslu, and reported in their paper [IOU16]. Section [14X4.1[114X contains some5additional basic functions for crossed modules, constructing quotients,6centres, centralizers and normalizers. In Sections [14X4.2[114X and [14X4.3[114X there are7functions dealing specifically with isoclinism for groups and for crossed8modules. Since these functions represent a recent addition to the package9(as of November 2015), the function names are liable to change in future10versions. The notion of isoclinism has been crucial to the enumeration of11groups of prime power order, see for example James, Newman and O'Brien,12[JNO90].[133X131415[1X4.1 [33X[0;0YMore operations for crossed modules[133X[101X1617[1X4.1-1 FactorPreXMod[101X1819[29X[2XFactorPreXMod[102X( [3XX1[103X, [3XX2[103X ) [32X operation20[29X[2XNaturalMorphismByNormalSubPreXMod[102X( [3XX1[103X, [3XX2[103X ) [32X operation2122[33X[0;0YWhen [22XmathcalX_2 = (∂_2 : S_2 -> R_2)[122X is a normal sub-precrossed module of23[22XmathcalX_1 = (∂_1 : S_1 -> R_1)[122X, then the quotient precrossed module is [22X(∂ :24S_2/S_1 -> R_2/R_1)[122X with the induced boundary and action maps. Quotienting a25precrossed module by it's Peiffer subgroup is a special case of this26construction.[133X2728[4X[32X Example [32X[104X29[4X[28X[128X[104X30[4X[25Xgap>[125X [27Xd24 := DihedralGroup(24);; SetName( d24, "d24" );[127X[104X31[4X[25Xgap>[125X [27XX24 := XModByAutomorphismGroup( d24 );; Size(X24);[127X[104X32[4X[28X[ 24, 48 ][128X[104X33[4X[25Xgap>[125X [27Xnsx := NormalSubXMods( X24 );; [127X[104X34[4X[25Xgap>[125X [27Xids := List( nsx, n -> IdGroup(n) );; [127X[104X35[4X[25Xgap>[125X [27Xpos1 := Position( ids, [ [4,1], [8,3] ] );;[127X[104X36[4X[25Xgap>[125X [27XXn1 := nsx[pos1]; [127X[104X37[4X[28X[Group( [ f2*f4^2, f3*f4 ] )->Group( [ f3, f4, f5 ] )][128X[104X38[4X[25Xgap>[125X [27Xnat1 := NaturalMorphismByNormalSubPreXMod( X24, Xn1 ); [127X[104X39[4X[28X[[d24->PAut(d24)] => [..]][128X[104X40[4X[25Xgap>[125X [27XQn1 := FactorPreXMod( X24, Xn1 );; [127X[104X41[4X[25Xgap>[125X [27X[ Size(Xn1), Size(Qn1) ];[127X[104X42[4X[28X[ [ 4, 8 ], [ 6, 6 ] ][128X[104X43[4X[28X[128X[104X44[4X[32X[104X4546[1X4.1-2 IntersectionSubXMods[101X4748[29X[2XIntersectionSubXMods[102X( [3XX0[103X, [3XX1[103X, [3XX2[103X ) [32X operation4950[33X[0;0YWhen [10XX1,X2[110X are subcrossed modules of [10XX0[110X, then the source and range of their51intersection are the intersections of the sources and ranges of [10XX1[110X and [10XX2[110X52respectively.[133X5354[4X[32X Example [32X[104X55[4X[28X[128X[104X56[4X[25Xgap>[125X [27Xpos2 := Position( ids, [ [24,6], [12,4] ] );;[127X[104X57[4X[25Xgap>[125X [27XXn2 := nsx[pos2]; [127X[104X58[4X[28X[d24->Group( [ f1*f3, f2, f5 ] )][128X[104X59[4X[25Xgap>[125X [27Xpos3 := Position( ids, [ [12,2], [24,5] ] );;[127X[104X60[4X[25Xgap>[125X [27XXn3 := nsx[pos3]; [127X[104X61[4X[28X[Group( [ f2, f3, f4 ] )->Group( [ f1, f2, f4, f5 ] )][128X[104X62[4X[25Xgap>[125X [27XXn23 := IntersectionSubXMods( X24, Xn2, Xn3 );[127X[104X63[4X[28X[Group( [ f2, f3, f4 ] )->Group( [ f2, f5, f2^2, f2*f5, f2^2*f5 ] )][128X[104X64[4X[25Xgap>[125X [27X[ Size(Xn2), Size(Xn3), Size(Xn23) ];[127X[104X65[4X[28X[ [ 24, 12 ], [ 12, 24 ], [ 12, 6 ] ][128X[104X66[4X[28X[128X[104X67[4X[32X[104X6869[1X4.1-3 Displacement[101X7071[29X[2XDisplacement[102X( [3Xalpha[103X, [3Xr[103X, [3Xs[103X ) [32X operation72[29X[2XDisplacementSubgroup[102X( [3XX0[103X ) [32X attribute7374[33X[0;0YCommutators may be written [22X[r,q] = r^-1q^-1rq = (q^-1)^rq = r^-1r^q[122X, and75satisfy identities[133X767778[24X[33X[0;6Y[r,q]^p = [r^p,q^p], \qquad [pr,q] = [p,q]^r[r,q], \qquad [r,pq] =79[r,q][r,p]^q, \qquad [r,q]^{-1} = [q,r].[133X8081[124X8283[33X[0;0YIn a similar way, when a group [22XR[122X acts on a group [22XS[122X, the [13Xdisplacement[113X of [22Xs ∈84S[122X by [22Xr ∈ R[122X is defined to be [22X⟨ r,s ⟩ := (s^-1)^rs ∈ S[122X. When [22XmathcalX = (∂ : S85-> R)[122X is a pre-crossed module, the first crossed module axiom requires [22X∂⟨86r,s ⟩ = [r,∂ s][122X. For a given action [22Xα[122X the [10XDisplacement[110X function may be used87to calculate [22X⟨ r,s ⟩[122X. Displacements satisfy the following identities, where88[22Xs,t ∈ S,~ p,q,r ∈ R[122X:[133X899091[24X[33X[0;6Y\langle r,s \rangle^p = \langle r^p,s^p \rangle, \qquad \langle qr,s \rangle92= \langle q,s \rangle^r \langle r,s \rangle, \qquad \langle r,st \rangle =93\langle r,t \rangle \langle r,s \rangle^t, \qquad \langle r,s \rangle^{-1} =94\langle r^{-1},s^r \rangle.[133X9596[124X9798[33X[0;0YThe [10XDisplacementSubgroup[110X of [22XmathcalX[122X is the subgroup [22XDisp(mathcalX)[122X of [22XS[122X99generated by these displacements. The identities imply [22X⟨ r,s ⟩^t = ⟨100r,st^r^-1} ⟩ ⟨ r^-1,t ⟩[122X, so [22XDisp(mathcalX)[122X is normal in [22XS[122X.[133X101102[4X[32X Example [32X[104X103[4X[28X[128X[104X104[4X[25Xgap>[125X [27Xpos4 := Position( ids, [ [6,2], [24,14] ] );;[127X[104X105[4X[25Xgap>[125X [27XXn4 := nsx[pos4];; [127X[104X106[4X[25Xgap>[125X [27XSn4 := Source(Xn4);; [127X[104X107[4X[25Xgap>[125X [27XRn4 := Range(Xn4);; [127X[104X108[4X[25Xgap>[125X [27Xr := Rn4.1;; s := Sn4.1;; [127X[104X109[4X[25Xgap>[125X [27Xd := Displacement( XModAction(Xn4), r, s );[127X[104X110[4X[28Xf4[128X[104X111[4X[25Xgap>[125X [27Xbn4 := Boundary( Xn4 );;[127X[104X112[4X[25Xgap>[125X [27XImage( bn4, d ) = Comm( r, Image( bn4, s ) ); [127X[104X113[4X[28Xtrue[128X[104X114[4X[25Xgap>[125X [27XDisplacementSubgroup( Xn4 );[127X[104X115[4X[28XGroup([ f4 ])[128X[104X116[4X[28X[128X[104X117[4X[32X[104X118119[1X4.1-4 CommutatorSubXMod[101X120121[29X[2XCommutatorSubXMod[102X( [3XX[103X, [3XX1[103X, [3XX2[103X ) [32X operation122[29X[2XCrossActionSubgroup[102X( [3XX[103X, [3XX1[103X, [3XX2[103X ) [32X operation123124[33X[0;0YWhen [22XmathcalX_1 = (N -> Q), mathcalX_2 = (M -> P)[122X are two normal subcrossed125modules of [22XmathcalX = (∂ : S -> R)[122X, the displacements [22X⟨ p,n ⟩[122X and [22X⟨ q,m ⟩[122X126all map by [22X∂[122X into [22X[Q,P][122X. These displacements form a normal subgroup of [22XS[122X,127called the [10XCrossActionSubgroup[110X. The [10XCommutatorSubXMod[110X128[22X[mathcalX_1,mathcalX_2][122X has this subgroup as source and [22X[P,Q][122X as range, and129is normal in [22XmathcalX[122X.[133X130131[4X[32X Example [32X[104X132[4X[28X[128X[104X133[4X[25Xgap>[125X [27XCrossActionSubgroup( X24, Xn2, Xn3 );[127X[104X134[4X[28XGroup([ f2 ])[128X[104X135[4X[25Xgap>[125X [27XCn23 := CommutatorSubXMod( X24, Xn2, Xn3 );[127X[104X136[4X[28X[Group( [ f2 ] )->Group( [ f2, f5 ] )][128X[104X137[4X[25Xgap>[125X [27XSize(Cn23);[127X[104X138[4X[28X[ 12, 6 ][128X[104X139[4X[25Xgap>[125X [27XXn23 = Cn23;[127X[104X140[4X[28Xtrue[128X[104X141[4X[28X[128X[104X142[4X[32X[104X143144[1X4.1-5 DerivedSubXMod[101X145146[29X[2XDerivedSubXMod[102X( [3XX0[103X ) [32X attribute147148[33X[0;0YThe [10XDerivedSubXMod[110X of [22XmathcalX[122X is the normal subcrossed module149[22X[mathcalX,mathcalX] = (∂' : Disp(mathcalX) -> [R,R])[122X where [22X∂'[122X is the150restriction of [22X∂[122X (see page 66 of Norrie's thesis [Nor87]).[133X151152[4X[32X Example [32X[104X153[4X[28X[128X[104X154[4X[25Xgap>[125X [27XDXn4 := DerivedSubXMod( Xn4 ); [127X[104X155[4X[28X[Group( [ f4 ] )->Group( [ f2 ] )][128X[104X156[4X[28X[128X[104X157[4X[32X[104X158159[1X4.1-6 FixedPointSubgroupXMod[101X160161[29X[2XFixedPointSubgroupXMod[102X( [3XX0[103X, [3XT[103X, [3XQ[103X ) [32X operation162[29X[2XStabilizerSubgroupXMod[102X( [3XX0[103X, [3XT[103X, [3XQ[103X ) [32X operation163164[33X[0;0YThe [10XFixedPointSubgroupXMod(X,T,Q)[110X for [22XmathcalX=(∂ : S -> R)[122X is the subgroup165[22XFix(mathcalX,T,Q)[122X of elements [22Xt ∈ T leqslant S[122X individually fixed under the166action of [22XQ leqslant R[122X.[133X167168[33X[0;0YThe [10XStabilizerSubgroupXMod(X,T,Q)[110X for [22XmathcalX[122X is the subgroup169[22XStab(mathcalX,T,Q)[122X of [22XQ leqslant R[122X whose elements act trivially on the whole170of [22XT leqslant S[122X (see page 19 of Norrie's thesis [Nor87]).[133X171172[4X[32X Example [32X[104X173[4X[28X[128X[104X174[4X[25Xgap>[125X [27Xfix := FixedPointSubgroupXMod( Xn4, Sn4, Rn4 );[127X[104X175[4X[28XGroup([ f3*f4 ])[128X[104X176[4X[25Xgap>[125X [27Xstab := StabilizerSubgroupXMod( Xn4, Sn4, Rn4 );[127X[104X177[4X[28XGroup([ f5, f2*f3 ])[128X[104X178[4X[28X[128X[104X179[4X[32X[104X180181[1X4.1-7 CentreXMod[101X182183[29X[2XCentreXMod[102X( [3XX0[103X ) [32X attribute184[29X[2XCentralizer[102X( [3XX[103X, [3XY[103X ) [32X operation185[29X[2XNormalizer[102X( [3XX[103X, [3XY[103X ) [32X operation186187[33X[0;0YThe [13Xcentre[113X [22XZ(mathcalX)[122X of [22XmathcalX = (∂ : S -> R)[122X has as source the fixed188point subgroup [22XFix(mathcalX,S,R)[122X. The range is the intersection of the189centre [22XZ(R)[122X with the stabilizer subgroup.[133X190191[33X[0;0YWhen [22XmathcalY = (T -> Q)[122X is a subcrossed module of [22XmathcalX = (∂ : S -> R)[122X,192the [13Xcentralizer[113X [22XC_mathcalX}(mathcalY)[122X of [22XmathcalY[122X has as source the fixed193point subgroup [22XFix(mathcalX,S,Q)[122X. The range is the intersection of the194centralizer [22XC_R(Q)[122X with [22XStab(mathcalX,T,R)[122X.[133X195196[33X[0;0YThe [13Xnormalizer[113X [22XN_mathcalX}(mathcalY)[122X of [22XmathcalY[122X has as source the subgroup197of [22XS[122X consisting of the displacements [22X⟨ s,q ⟩[122X which lie in [22XS[122X.[133X198199[4X[32X Example [32X[104X200[4X[28X[128X[104X201[4X[25Xgap>[125X [27XZXn4 := CentreXMod( Xn4 ); [127X[104X202[4X[28X[Group( [ f3*f4 ] )->Group( [ f3, f5 ] )][128X[104X203[4X[25Xgap>[125X [27XIdGroup( ZXn4 );[127X[104X204[4X[28X[ [ 2, 1 ], [ 4, 2 ] ][128X[104X205[4X[25Xgap>[125X [27XCDXn4 := Centralizer( Xn4, DXn4 );[127X[104X206[4X[28X[Group( [ f3*f4 ] )->Group( [ f2 ] )][128X[104X207[4X[25Xgap>[125X [27XIdGroup( CDXn4 ); [127X[104X208[4X[28X[ [ 2, 1 ], [ 3, 1 ] ][128X[104X209[4X[25Xgap>[125X [27XNDXn4 := Normalizer( Xn4, DXn4 ); [127X[104X210[4X[28X[Group( <identity> of ... )->Group( [ f5, f2*f3 ] )][128X[104X211[4X[25Xgap>[125X [27XIdGroup( NDXn4 );[127X[104X212[4X[28X[ [ 1, 1 ], [ 12, 5 ] ][128X[104X213[4X[28X[128X[104X214[4X[32X[104X215216[1X4.1-8 CentralQuotient[101X217218[29X[2XCentralQuotient[102X( [3XG[103X ) [32X attribute219220[33X[0;0YThe [10XCentralQuotient[110X of a group [22XG[122X is the crossed module [22X(G -> G/Z(G))[122X with221the natural homomorphism as the boundary map. This is a special case of222[10XXModByCentralExtension[110X (see [14X2.1[114X).[133X223224[33X[0;0YSimilarly, the central quotient of a crossed module [22XmathcalX[122X is the crossed225square [22X(mathcalX ⇒ mathcalX/Z(mathcalX)[122X (see section [14X8.2[114X).[133X226227[4X[32X Example [32X[104X228[4X[28X[128X[104X229[4X[25Xgap>[125X [27XQ24 := CentralQuotient( d24 ); Size( Q24 ); [127X[104X230[4X[28X[d24->Group( [ f1, f2, f3 ] )][128X[104X231[4X[28X[ 24, 12 ][128X[104X232[4X[28X[128X[104X233[4X[32X[104X234235[1X4.1-9 IsAbelian2DimensionalGroup[101X236237[29X[2XIsAbelian2DimensionalGroup[102X( [3XX0[103X ) [32X property238[29X[2XIsAspherical2DimensionalGroup[102X( [3XX0[103X ) [32X property239[29X[2XIsSimplyConnected2DimensionalGroup[102X( [3XX0[103X ) [32X property240[29X[2XIsFaithful2DimensionalGroup[102X( [3XX0[103X ) [32X property241242[33X[0;0YA crossed module is [13Xabelian[113X if it equal to its centre. This is the case when243the range group is abelian and the action is trivial.[133X244245[33X[0;0YA crossed module is [13Xaspherical[113X if the boundary has trivial kernel.[133X246247[33X[0;0YA crossed module is [13Xsimply connected[113X if the boundary has trivial cokernel.[133X248249[33X[0;0YA crossed module is [13Xfaithful[113X if the action is faithful.[133X250251[4X[32X Example [32X[104X252[4X[28X[128X[104X253[4X[25Xgap>[125X [27X[ IsAbelian2DimensionalGroup(Xn4), IsAbelian2DimensionalGroup(X24) ];254[127X[104X255[4X[28X[ false, false ][128X[104X256[4X[25Xgap>[125X [27Xpos7 := Position( ids, [ [3,1], [6,1] ] );;257[127X[104X258[4X[25Xgap>[125X [27X[ IsAspherical2DimensionalGroup(nsx[pos7]), IsAspherical2DimensionalGroup(X24) ];259[127X[104X260[4X[28X[ true, false ]261[128X[104X262[4X[25Xgap>[125X [27X[ IsSimplyConnected2DimensionalGroup(Xn4), IsSimplyConnected2DimensionalGroup(X24) ];[127X[104X263[4X[28X[ true, true ][128X[104X264[4X[25Xgap>[125X [27X[ IsFaithful2DimensionalGroup(Xn4), IsFaithful2DimensionalGroup(X24) ]; [127X[104X265[4X[28X[ false, true ] [128X[104X266[4X[28X[128X[104X267[4X[32X[104X268269[1X4.1-10 LowerCentralSeriesOfXMod[101X270271[29X[2XLowerCentralSeriesOfXMod[102X( [3XX0[103X ) [32X attribute272[29X[2XIsNilpotent2DimensionalGroup[102X( [3XX0[103X ) [32X property273[29X[2XNilpotencyClass2DimensionalGroup[102X( [3XX0[103X ) [32X attribute274275[33X[0;0YLet [22XmathcalY[122X be a subcrossed module of [22XmathcalX[122X. A [13X series of length[113X [22Xn[122X from276[22XmathcalX[122X to [22XmathcalY[122X has the form[133X277278279[24X[33X[0;6Y\mathcal{X} ~=~ \mathcal{X}_0 ~\unrhd~ \mathcal{X}_1 ~\unrhd~ \cdots280~\unrhd~ \mathcal{X}_i ~\unrhd~ \cdots ~\unrhd~ \mathcal{X}_n ~=~281\mathcal{Y} \quad (1 \leqslant i \leqslant n).[133X282283[124X284285[33X[0;0YThe quotients [22XmathcalF_i = mathcalX_i / mathcalX_i-1[122X are the [13Xfactors[113X of the286series.[133X287288[33X[0;0YA factor [22XmathcalF_i[122X is [13Xcentral[113X if [22XmathcalX_i-1 ⊴ mathcalX[122X and [22XmathcalF_i[122X is289a subcrossed module of the centre of [22XmathcalX / mathcalX_i-1[122X.[133X290291[33X[0;0YA series is [13Xcentral[113X if all its factors are central.[133X292293[33X[0;0Y[22XmathcalX[122X is [13Xsoluble[113X if it has a series all of whose factors are abelian.[133X294295[33X[0;0Y[22XmathcalX[122X is [13Xnilpotent[113X is it has a series all of whose factors are central296factors of [22XmathcalX[122X.[133X297298[33X[0;0YThe [13Xlower central series[113X of [22XmathcalX[122X is the sequence (see [Nor87], p.77):[133X299300301[24X[33X[0;6Y\mathcal{X} ~=~ \Gamma_1(\mathcal{X}) ~\unrhd~ \Gamma_2(\mathcal{X})302~\unrhd~ \cdots \qquad \mbox{where} \qquad \Gamma_j(\mathcal{X}) ~=~ [303\Gamma_{j-1}(\mathcal{X}), \mathcal{X}].[133X304305[124X306307[33X[0;0YIf [22XmathcalX[122X is nilpotent, then its lower central series is its most rapidly308descending central series.[133X309310[33X[0;0YThe least integer [22Xc[122X such that [22XΓ_c+1(mathcalX)[122X is the trivial crossed module311is the [13Xnilpotency class[113X of [22XmathcalX[122X.[133X312313[4X[32X Example [32X[104X314[4X[28X[128X[104X315[4X[25Xgap>[125X [27XLowerCentralSeries(X24); [127X[104X316[4X[28X[ [d24->PAut(d24)], [Group( [ f2 ] )->Group( [ f2, f5 ] )], [128X[104X317[4X[28X [Group( [ f3*f4^2 ] )->Group( [ f2 ] )], [Group( [ f4 ] )->Group( [ f2 ] )] [128X[104X318[4X[28X ][128X[104X319[4X[25Xgap>[125X [27XIsNilpotent2DimensionalGroup(X24); [127X[104X320[4X[28Xfalse[128X[104X321[4X[25Xgap>[125X [27XNilpotencyClassOf2DimensionalGroup(X24);[127X[104X322[4X[28X0[128X[104X323[4X[28X[128X[104X324[4X[32X[104X325326[1X4.1-11 AllXMods[101X327328[29X[2XAllXMods[102X( [3Xargs[103X ) [32X function329330[33X[0;0YThe global function [10XAllXMods[110X may be called in three ways: as [10XAllXMods(S,R)[110X331to compute all crossed modules with chosen source and range groups; as332[10XAllXMods([n,m])[110X to compute all crossed modules with a given size; or as333[10XAllXMods(ord)[110X to compute all crossed modules whose associated cat1-groups334have a given size [10Xord[110X.[133X335336[33X[0;0YIn the example we see that there are [22X4[122X crossed modules [22X(C_6 -> S_3)[122X; forming337a subset of the [22X17[122X crossed modules with size [10X[6,6][110X; and that these form a338subset of the [22X205[122X crossed modules whose cat1-group has size [22X36[122X. There are [22X40[122X339precrossed modules with size [10X[6,6][110X.[133X340341[4X[32X Example [32X[104X342[4X[28X[128X[104X343[4X[25Xgap>[125X [27Xxc6s3 := AllXMods( SmallGroup(6,2), SmallGroup(6,1) );; [127X[104X344[4X[25Xgap>[125X [27XLength( xc6s3 ); [127X[104X345[4X[28X4[128X[104X346[4X[25Xgap>[125X [27Xx66 := AllXMods( [6,6] );; [127X[104X347[4X[25Xgap>[125X [27XLength( x66 );[127X[104X348[4X[28X17[128X[104X349[4X[25Xgap>[125X [27Xx36 := AllXMods( 36 );; [127X[104X350[4X[25Xgap>[125X [27XLength( x36 ); [127X[104X351[4X[28X205[128X[104X352[4X[25Xgap>[125X [27Xsize36 := List( x36, x -> [ Size(Source(x)), Size(Range(x)) ] );;[127X[104X353[4X[25Xgap>[125X [27XCollected( size36 );[127X[104X354[4X[28X[ [ [ 1, 36 ], 14 ], [ [ 2, 18 ], 7 ], [ [ 3, 12 ], 21 ], [ [ 4, 9 ], 14 ], [128X[104X355[4X[28X [ [ 6, 6 ], 17 ], [ [ 9, 4 ], 102 ], [ [ 12, 3 ], 8 ], [ [ 18, 2 ], 18 ], [128X[104X356[4X[28X [ [ 36, 1 ], 4 ] ][128X[104X357[4X[28X[128X[104X358[4X[32X[104X359360[1X4.1-12 IsomorphismXMods[101X361362[29X[2XIsomorphismXMods[102X( [3XX1[103X, [3XX2[103X ) [32X operation363[29X[2XAllXModsUpToIsomorphism[102X( [3Xlist[103X ) [32X operation364365[33X[0;0YThe function [10XIsomorphismXMods[110X computes an isomorphism [22Xμ : mathcalX_1 ->366mathcalX_2[122X, provided one exists, or else returns [10Xfail[110X. In the example below367we see that the [22X17[122X crossed modules of size [10X[6,6][110X in [10Xx66[110X (see the previous368subsection) fall into [22X9[122X isomorphism classes.[133X369370[33X[0;0YThe function [10XAllXModsUpToIsomorphism[110X takes a list of crossed modules and371partitions them into isomorphism classes.[133X372373[4X[32X Example [32X[104X374[4X[28X[128X[104X375[4X[25Xgap>[125X [27XIsomorphismXMods( x66[1], x66[2] );[127X[104X376[4X[28X[[Group( [ f1, f2 ] )->Group( [ f1, f2 ] )] => [Group( [ f1, f2 ] )->Group( [128X[104X377[4X[28X[ f1, f2 ] )]][128X[104X378[4X[25Xgap>[125X [27Xiso66 := AllXModsUpToIsomorphism( x66 );; Length( iso66 ); [127X[104X379[4X[28X9 [128X[104X380[4X[28X[128X[104X381[4X[32X[104X382383384[1X4.2 [33X[0;0YIsoclinism for groups[133X[101X385386[1X4.2-1 Isoclinism[101X387388[29X[2XIsoclinism[102X( [3XG[103X, [3XH[103X ) [32X operation389[29X[2XAreIsoclinicDomains[102X( [3XG[103X, [3XH[103X ) [32X operation390391[33X[0;0YLet [22XG,H[122X be groups with central quotients [22XQ(G)[122X and [22XQ(H)[122X and derived subgroups392[22X[G,G][122X and [22X[H,H][122X respectively. Let [22Xc_G : G/Z(G) × G/Z(G) -> [G,G][122X and [22Xc_H :393H/Z(H) × H/Z(H) -> [H,H][122X be the two commutator maps. An [13Xisoclinism[113X [22XG ∼ H[122X is394a pair of isomorphisms [22X(η,ξ)[122X where [22Xη : G/Z(G) -> H/Z(H)[122X and [22Xξ : [G,G] ->395[H,H][122X such that [22Xc_G * ξ = (η × η) * c_H[122X. Isoclinism is an equivalence396relation, and all abelian groups are isoclinic to the trivial group.[133X397398[4X[32X Example [32X[104X399[4X[28X[128X[104X400[4X[25Xgap>[125X [27XG := SmallGroup( 64, 6 );; StructureDescription( G ); [127X[104X401[4X[28X"(C8 x C4) : C2"[128X[104X402[4X[25Xgap>[125X [27XQG := CentralQuotient( G );; IdGroup( QG );[127X[104X403[4X[28X[ [ 64, 6 ], [ 8, 3 ] ][128X[104X404[4X[25Xgap>[125X [27XH := SmallGroup( 32, 41 );; StructureDescription( H );[127X[104X405[4X[28X"C2 x Q16"[128X[104X406[4X[25Xgap>[125X [27XQH := CentralQuotient( H );; IdGroup( QH );[127X[104X407[4X[28X[ [ 32, 41 ], [ 8, 3 ] ][128X[104X408[4X[25Xgap>[125X [27XIsoclinism( G, H );[127X[104X409[4X[28X[ [ f1, f2, f3 ] -> [ f1, f2*f3, f3 ], [ f3, f5 ] -> [ f4*f5, f5 ] ][128X[104X410[4X[25Xgap>[125X [27XK := SmallGroup( 32, 43 );; StructureDescription( K );[127X[104X411[4X[28X"(C2 x D8) : C2"[128X[104X412[4X[25Xgap>[125X [27XQK := CentralQuotient( K );; IdGroup( QK ); [127X[104X413[4X[28X[ [ 32, 43 ], [ 16, 11 ] ][128X[104X414[4X[25Xgap>[125X [27XAreIsoclinicDomains( G, K );[127X[104X415[4X[28Xfalse[128X[104X416[4X[28X[128X[104X417[4X[32X[104X418419[1X4.2-2 IsStemDomain[101X420421[29X[2XIsStemDomain[102X( [3XG[103X ) [32X property422[29X[2XIsoclinicStemDomain[102X( [3XG[103X ) [32X attribute423[29X[2XAllStemGroupIds[102X( [3Xn[103X ) [32X operation424[29X[2XAllStemGroupFamilies[102X( [3Xn[103X ) [32X operation425426[33X[0;0YA group [22XG[122X is a [13Xstem group[113X if [22XZ(G) ≤ [G,G][122X. Every group is isoclinic to a427stem group, but distinct stem groups may be isoclinic. For example, groups428[22XD_8, Q_8[122X are two isoclinic stem groups.[133X429430[33X[0;0YThe function [10XIsoclinicStemDomain [110X returns a stem group isoclinic to [22XG[122X.[133X431432[33X[0;0YThe function [10XAllStemGroupIds[110X returns the [10XIdGroup[110X list of the stem groups of433a specified size, while [10XAllStemGroupFamilies[110X splits this list into434isoclinism classes.[133X435436[4X[32X Example [32X[104X437[4X[28X[128X[104X438[4X[25Xgap>[125X [27XDerivedSubgroup(G); [127X[104X439[4X[28XGroup([ f3, f5 ])[128X[104X440[4X[25Xgap>[125X [27XIsStemDomain( G );[127X[104X441[4X[28Xfalse[128X[104X442[4X[25Xgap>[125X [27XIsoclinicStemDomain( G );[127X[104X443[4X[28X<pc group of size 16 with 4 generators>[128X[104X444[4X[25Xgap>[125X [27XAllStemGroupIds( 32 );[127X[104X445[4X[28X[ [ 32, 6 ], [ 32, 7 ], [ 32, 8 ], [ 32, 18 ], [ 32, 19 ], [ 32, 20 ], [128X[104X446[4X[28X [ 32, 27 ], [ 32, 28 ], [ 32, 29 ], [ 32, 30 ], [ 32, 31 ], [ 32, 32 ], [128X[104X447[4X[28X [ 32, 33 ], [ 32, 34 ], [ 32, 35 ], [ 32, 43 ], [ 32, 44 ], [ 32, 49 ], [128X[104X448[4X[28X [ 32, 50 ] ][128X[104X449[4X[25Xgap>[125X [27XAllStemGroupFamilies( 32 );[127X[104X450[4X[28X[ [ [ 32, 6 ], [ 32, 7 ], [ 32, 8 ] ], [ [ 32, 18 ], [ 32, 19 ], [ 32, 20 ] ],[128X[104X451[4X[28X [ [ 32, 27 ], [ 32, 28 ], [ 32, 29 ], [ 32, 30 ], [ 32, 31 ], [ 32, 32 ], [128X[104X452[4X[28X [ 32, 33 ], [ 32, 34 ], [ 32, 35 ] ], [ [ 32, 43 ], [ 32, 44 ] ], [128X[104X453[4X[28X [ [ 32, 49 ], [ 32, 50 ] ] ][128X[104X454[4X[28X[128X[104X455[4X[32X[104X456457[1X4.2-3 IsoclinicRank[101X458459[29X[2XIsoclinicRank[102X( [3XG[103X ) [32X attribute460[29X[2XIsoclinicMiddleLength[102X( [3XG[103X ) [32X attribute461462[33X[0;0YLet [22XG[122X be a finite [22Xp[122X-group. Then [22Xlog_p |[G,G] / (Z(G) ∩ [G,G])|[122X is called the463[13Xmiddle length[113X of [22XG[122X. Also [22Xlog_p |Z(G) ∩ [G,G]| + log_p |G/Z(G)|[122X is called the464[13Xrank[113X of [22XG[122X. These invariants appear in the tables of isoclinism families of465groups of order 128 in [JNO90].[133X466467[4X[32X Example [32X[104X468[4X[28X[128X[104X469[4X[25Xgap>[125X [27XIsoclinicMiddleLength(G);[127X[104X470[4X[28X1[128X[104X471[4X[25Xgap>[125X [27XIsoclinicRank(G);[127X[104X472[4X[28X4[128X[104X473[4X[28X[128X[104X474[4X[32X[104X475476477[1X4.3 [33X[0;0YIsoclinism for crossed modules[133X[101X478479[1X4.3-1 Isoclinism[101X480481[29X[2XIsoclinism[102X( [3XX0[103X, [3XY0[103X ) [32X operation482[29X[2XAreIsoclinicDomains[102X( [3XX0[103X, [3XY0[103X ) [32X operation483484[33X[0;0YLet [22XmathcalX,mathcalY[122X be crossed modules with central quotients [22XQ(mathcalX)[122X485and [22XQ(mathcalY)[122X, and derived subcrossed modules [22X[mathcalX,mathcalX][122X and486[22X[mathcalY,mathcalY][122X respectively. Let [22Xc_mathcalX : Q(mathcalX) × Q(mathcalX)487-> [mathcalX,mathcalX][122X and [22Xc_mathcalY : Q(mathcalY) × Q(mathcalY) ->488[mathcalY,mathcalY][122X be the two commutator maps. An [13Xisoclinism[113X [22XmathcalX ∼489mathcalY[122X is a pair of bijective morphisms [22X(η,ξ)[122X where [22Xη : Q(mathcalX) ->490Q(mathcalY)[122X and [22Xξ : [mathcalX,mathcalX] -> [mathcalY,mathcalY][122X such that491[22Xc_mathcalX * ξ = (η × η) * c_mathcalY[122X. Isoclinism is an equivalence492relation, and all abelian crossed modules are isoclinic to the trivial493crossed module.[133X494495[4X[32X Example [32X[104X496[4X[28X[128X[104X497[4X[25Xgap>[125X [27XC8 := Cat1(16,8,1);;[127X[104X498[4X[25Xgap>[125X [27XX8 := XMod(C8); IdGroup( X8 );[127X[104X499[4X[28X[Group( [ f1*f2*f3, f3, f4 ] )->Group( [ f2, f2 ] )][128X[104X500[4X[28X[ [ 8, 1 ], [ 2, 1 ] ][128X[104X501[4X[25Xgap>[125X [27XC9 := Cat1(32,9,1);[127X[104X502[4X[28X[(C8 x C2) : C2=>Group( [ f2, f2 ] )][128X[104X503[4X[25Xgap>[125X [27XX9 := XMod( C9 ); IdGroup( X9 );[127X[104X504[4X[28X[Group( [ f1*f2*f3, f3, f4, f5 ] )->Group( [ f2, f2 ] )][128X[104X505[4X[28X[ [ 16, 5 ], [ 2, 1 ] ][128X[104X506[4X[25Xgap>[125X [27XAreIsoclinicDomains( X8, X9 );[127X[104X507[4X[28Xtrue[128X[104X508[4X[25Xgap>[125X [27Xism89 := Isoclinism( X8, X9 );;[127X[104X509[4X[25Xgap>[125X [27XDisplay( ism89 );[127X[104X510[4X[28X[ [[Group( [ f1 ] )->Group( [ f2 ] )] => [Group( [ f1 ] )->Group( [ f2 ] )]], [128X[104X511[4X[28X [[Group( [ f3 ] )->Group( <identity> of ... )] => [Group( [128X[104X512[4X[28X [ f3 ] )->Group( <identity> of ... )]] ][128X[104X513[4X[28X[128X[104X514[4X[32X[104X515516[1X4.3-2 IsStemDomain[101X517518[29X[2XIsStemDomain[102X( [3XX0[103X ) [32X property519[29X[2XIsoclinicStemDomain[102X( [3XX0[103X ) [32X property520521[33X[0;0YA crossed module [22XmathcalX[122X is a [13Xstem crossed module[113X if [22XZ(mathcalX) ≤522[mathcalX,mathcalX][122X. Every crossed module is isoclinic to a stem crossed523module, but distinct stem crossed modules may be isoclinic.[133X524525[33X[0;0YA method for [10XIsoclinicStemDomain[110X has yet to be implemented.[133X526527[4X[32X Example [32X[104X528[4X[28X[128X[104X529[4X[25Xgap>[125X [27XIsStemDomain(X8);[127X[104X530[4X[28Xtrue[128X[104X531[4X[25Xgap>[125X [27XIsStemDomain(X9);[127X[104X532[4X[28Xfalse[128X[104X533[4X[28X[128X[104X534[4X[32X[104X535536[1X4.3-3 IsoclinicRank[101X537538[29X[2XIsoclinicRank[102X( [3XX0[103X ) [32X attribute539[29X[2XIsoclinicMiddleLength[102X( [3XX0[103X ) [32X attribute540541[33X[0;0YThe formulae in subsection [14X4.2-3[114X are applied to the crossed module.[133X542543[4X[32X Example [32X[104X544[4X[28X[128X[104X545[4X[25Xgap>[125X [27XIsoclinicMiddleLength(X8);[127X[104X546[4X[28X[ 1, 0 ][128X[104X547[4X[25Xgap>[125X [27XIsoclinicRank(X8); [127X[104X548[4X[28X[ 3, 1 ][128X[104X549[4X[28X[128X[104X550[4X[32X[104X551552553554