<Chapter><Heading> Commutator and nonabelian tensor computations</Heading> <Table Align="|l|" > <Row> <Item> <Index> BaerInvariant</Index> <C> BaerInvariant(G,c) </C> <P/> Inputs a nilpotent group <M>G</M> and integer <M>c</M>&tgt;<M>0</M>. It returns the Baer invariant <M>M^(c)(G)</M> defined as follows. For an arbitrary group <M>G</M> let <M>L^*_{c+1}(G)</M> be the <M>(c+1)</M>-st term of the upper central series of the group <M>U=F/[[[R,F],F]...]</M> (with <M>c</M> copies of <M>F</M> in the denominator) where <M>F/R</M> is any free presentation of <M>G</M>. This is an invariant of <M>G</M> and we define <M>M^{(c)}(G)</M> to be the kernel of the canonical homomorphism <M>M^{(c)}(G) \longrightarrow G</M>. For <M>c=1</M> the Baer invariant <M>M^(1)(G)</M> is isomorphic to the second integral homology <M>H_2(G,Z)</M>. <P/> This function requires the NQ package. </Item> </Row> <Row> <Item> <Index> Coclass</Index> <C> Coclass(G) </C> <P/> Inputs a group <M>G</M> of prime-power order <M>p^n</M> and nilpotency class <M>c</M> say. It returns the integer <M>r=n-c</M> . </Item> </Row> <Row> <Item> <Index> EpiCentre</Index> <C> EpiCentre(G,N) </C> <Br/> <C> EpiCentre(G)</C> <P/> Inputs a finite group <M>G</M> and normal subgroup <M>N</M> and returns a subgroup <M>Z^\ast(G,N)</M> of the centre of <M>N</M>. The group <M>Z^\ast(G,N)</M> is trivial if and only if there is a crossed module <M>d:E \longrightarrow G</M> with <M>N=Image(d)</M> and with <M>Ker(d)</M> equal to the subgroup of <M>E</M> consisting of those elements on which <M>G</M> acts trivially. <P/> If no value for <M>N</M> is entered then it is assumed that <M>N=G</M>. In this case the group <M>Z^\ast(G,G)</M> is trivial if and only if <M>G</M> is isomorphic to a quotient <M>G=E/Z(E)</M> of some group <M>E</M> by the centre of <M>E</M>. (See also the command <M>UpperEpicentralSeries(G,c)</M>. ) </Item> </Row> <Row> <Item> <Index> NonabelianExteriorProduct</Index> <C> NonabelianExteriorProduct(G,N) </C> <P/> Inputs a finite group <M>G</M> and normal subgroup <M>N</M>. It returns a record <M>E</M> with the following components. <List> <Item> <M>E.homomorphism</M> is a group homomorphism <M>µ : (G \wedge N) \longrightarrow G</M> from the nonabelian exterior product <M>(G \wedge N)</M> to <M>G</M>. The kernel of <M>µ</M> is the relative Schur multiplier. </Item> <Item> <M>E.pairing(x,y)</M> is a function which inputs an element <M>x</M> in <M>G</M> and an element <M>y</M> in <M>N</M> and returns <M>(x \wedge y)</M> in the exterior product <M>(G \wedge N)</M> . </Item> </List> This function should work for reasonably small nilpotent groups or extremely small non-nilpotent groups. </Item> </Row> <Row> <Item> <Index> NonabelianSymmetricKernel</Index> <C> NonabelianSymmetricKernel(G) </C> <Br/> <C> NonabelianSymmetricKernel(G,m) </C> <P/> Inputs a finite or nilpotent infinite group <M>G</M> and returns the abelian invariants of the Fourth homotopy group <M>SG</M> of the double suspension <M>SSK(G,1)</M> of the Eilenberg-Mac Lane space <M>K(G,1)</M>. <P/> For non-nilpotent groups the implementation of the function <M>NonabelianSymmetricKernel(G)</M> is far from optimal and will soon be improved. As a temporary solution to this problem, an optional second variable <M>m</M> can be set equal to <M>0</M>, and then the function efficiently returns the abelian invariants of groups <M>A</M> and <M>B</M> such that there is an exact sequence <M>0 \longrightarrow B \longrightarrow SG \longrightarrow A \longrightarrow 0</M>. <P/> Alternatively, the optional second varible <M>m</M> can be set equal to a positive multiple of the order of the symmetric square <M>(G \tilde\otimes G)</M>. In this case the function returns the abelian invariants of <M>SG</M>. This might help when <M>G</M> is solvable but not nilpotent (especially if the estimated upper bound <M>m</M> is reasonable accurate). </Item> </Row> <Row> <Item> <Index> NonabelianSymmetricSquare</Index> <C> NonabelianSymmetricSquare(G) </C> <Br/> <C> NonabelianSymmetricSquare(G,m) </C> <P/> Inputs a finite or nilpotent infinite group <M>G</M> and returns a record <M>T</M> with the following components. <List> <Item> <M>T.homomorphism</M> is a group homomorphism <M>µ : (G \tilde\otimes G) \longrightarrow G</M> from the nonabelian symmetric square of <M>G</M> to <M>G</M>. The kernel of <M>µ</M> is isomorphic to the fourth homotopy group of the double suspension <M>SSK(G,1)</M> of an Eilenberg-Mac Lane space. </Item> <Item> <M>T.pairing(x,y)</M> is a function which inputs two elements <M>x, y</M> in <M>G</M> and returns the tensor <M>(x \otimes y)</M> in the symmetric square <M>(G \otimes G)</M> . </Item> </List> An optional second varible <M>m</M> can be set equal to a multiple of the order of the symmetric square <M>(G \tilde\otimes G)</M>. This might help when <M>G</M> is solvable but not nilpotent (especially if the estimated upper bound <M>m</M> is reasonable accurate) as the bound is used in the solvable quotient algorithm. <P/> The optional second variable <M>m</M> can also be set equal to <M>0</M>. In this case the Todd-Coxeter procedure will be used to enumerate the symmetric square even when <M>G</M> is solvable. <P/> This function should work for reasonably small solvable groups or extremely small non-solvable groups. </Item> </Row> <Row> <Item> <Index> NonabelianTensorProduct</Index> <C> NonabelianTensorProduct(G,N) </C> <P/> Inputs a finite group <M>G</M> and normal subgroup <M>N</M>. It returns a record <M>E</M> with the following components. <List> <Item> <M>E.homomorphism</M> is a group homomorphism <M>µ : (G \otimes N ) \longrightarrow G</M> from the nonabelian exterior product <M>(G \otimes N)</M> to <M>G</M>. </Item> <Item> <M>E.pairing(x,y)</M> is a function which inputs an element <M>x</M> in <M>G</M> and an element <M>y</M> in <M>N</M> and returns <M>(x \otimes y)</M> in the tensor product <M>(G \otimes N)</M> . </Item> </List> This function should work for reasonably small nilpotent groups or extremely small non-nilpotent groups. </Item> </Row> <Row> <Item> <Index> NonabelianTensorSquare</Index> <C> NonabelianTensorSquare(G) </C> <Br/> <C> NonabelianTensorSquare(G,m) </C> <P/> Inputs a finite or nilpotent infinite group <M>G</M> and returns a record <M>T</M> with the following components. <List> <Item> <M>T.homomorphism</M> is a group homomorphism <M>µ : (G \otimes G) \longrightarrow G</M> from the nonabelian tensor square of <M>G</M> to <M>G</M>. The kernel of <M>µ</M> is isomorphic to the third homotopy group of the suspension <M>SK(G,1)</M> of an Eilenberg-Mac Lane space. </Item> <Item> <M>T.pairing(x,y)</M> is a function which inputs two elements <M>x, y</M> in <M>G</M> and returns the tensor <M>(x \otimes y)</M> in the tensor square <M>(G \otimes G)</M> . </Item> </List> An optional second varible <M>m</M> can be set equal to a multiple of the order of the tensor square <M>(G \otimes G)</M>. This might help when <M>G</M> is solvable but not nilpotent (especially if the estimated upper bound <M>m</M> is reasonable accurate) as the bound is used in the solvable quotient algorithm. <P/> The optional second variable <M>m</M> can also be set equal to <M>0</M>. In this case the Todd-Coxeter procedure will be used to enumerate the tensor square even when <M>G</M> is solvable. <P/> This function should work for reasonably small solvable groups or extremely small non-solvable groups. </Item> </Row> <Row> <Item> <Index> RelativeSchurMultiplier</Index> <C> RelativeSchurMultiplier(G,N) </C> <P/> Inputs a finite group <M>G</M> and normal subgroup <M>N</M>. It returns the homology group <M>H_2(G,N,Z)</M> that fits into the exact sequence <P/> <M>\ldots\longrightarrow H_3(G,Z) \longrightarrow H_3(G/N,Z) \longrightarrow H_2(G,N,Z) \longrightarrow H_3(G,Z) \longrightarrow H_3(G/N,Z) \longrightarrow \ldots. </M> <P/> This function should work for reasonably small nilpotent groups <M>G</M> or extremely small non-nilpotent groups. </Item> </Row> <Row> <Item> <Index> TensorCentre</Index> <C> TensorCentre(G) </C> <P/> Inputs a group <M>G</M> and returns the largest central subgroup <M>N</M> such that the induced homomorphism of nonabelian tensor squares <M>(G \otimes G) \longrightarrow (G/N \otimes G/N)</M> is an isomorphism. Equivalently, <M>N</M> is the largest central subgroup such that <M>\pi_3(SK(G,1)) \longrightarrow \pi_3(SK(G/N,1))</M> is injective. </Item> </Row> <Row> <Item> <Index> ThirdHomotopyGroupOfSuspensionB</Index> <C> ThirdHomotopyGroupOfSuspensionB(G) </C> <Br/> <C> ThirdHomotopyGroupOfSuspensionB(G,m) </C> <P/> Inputs a finite or nilpotent infinite group <M>G</M> and returns the abelian invariants of the third homotopy group <M>JG</M> of the suspension <M>SK(G,1)</M> of the Eilenberg-Mac Lane space <M>K(G,1)</M>. <P/> For non-nilpotent groups the implementation of the function <M>ThirdHomotopyGroupOfSuspensionB(G)</M> is far from optimal and will soon be improved. As a temporary solution to this problem, an optional second variable <M>m</M> can be set equal to <M>0</M>, and then the function efficiently returns the abelian invariants of groups <M>A</M> and <M>B</M> such that there is an exact sequence <M>0 \longrightarrow B \longrightarrow JG \longrightarrow A \longrightarrow 0</M>. <P/> Alternatively, the optional second varible <M>m</M> can be set equal to a positive multiple of the order of the tensor square <M>(G \otimes G)</M>. In this case the function returns the abelian invariants of <M>JG</M>. This might help when <M>G</M> is solvable but not nilpotent (especially if the estimated upper bound <M>m</M> is reasonable accurate). </Item> </Row> <Row> <Item> <Index> UpperEpicentralSeries</Index> <C> UpperEpicentralSeries(G,c) </C> <P/> Inputs a nilpotent group <M>G</M> and an integer <M>c</M>. It returns the <M>c</M>-th term of the upper epicentral series <M>1</M> &tlt; <M> Z_1^\ast(G)</M> &tlt; <M >Z_2^\ast(G)</M> &tlt; <M> \ldots </M>. <P/> The upper epicentral series is defined for an arbitrary group <M>G</M>. The group <M>Z_c^\ast (G)</M> is the image in <M>G</M> of the <M>c</M>-th term <M>Z_c(U)</M> of the upper central series of the group <M>U=F/[[[R,F],F] \ldots ]</M> (with <M>c</M> copies of <M>F</M> in the denominator) where <M>F/R</M> is any free presentation of <M>G</M>. <P/> This functions requires the NQ package. </Item> </Row> </Table> </Chapter>