Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Ind
 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 

2 Basic functionality for \(\mathbb ZG\)-resolutions and group cohomology
 2.1 Resolutions
 2.2 Algebras \(\longrightarrow \) (Co)chain Complexes
 2.3 Resolutions \(\longrightarrow \) (Co)chain Complexes
 2.4 Cohomology rings
 2.5 Group Invariants
 2.6 \(\mathbb F_p\)-modules

2 Basic functionality for \(\mathbb ZG\)-resolutions and group cohomology

This page covers the functions used in chapter 3 of the book An Invitation to Computational Homotopy.

2.1 Resolutions

2.1-1 EquivariantChainMap
‣ EquivariantChainMap( R, S, f )( function )

Inputs a free \(\mathbb ZG\)-resolution \(R\) of \(\mathbb Z\), a free \(\mathbb ZQ\)-resolution \(S\) of \(\mathbb Z\), and a group homomorphism \(f\colon G \rightarrow Q\). It returns the induced \(f\)-equivariant chain map \(F\colon R \rightarrow S\).

Examples: 1 , 2 , 3 , 4 

2.1-2 FreeGResolution
‣ FreeGResolution( P, n )( function )

Inputs a non-free \(\mathbb ZG\)-resolution \(P_\ast\) and a positive integer \(n\). It attempts to return \(n\) terms of a free \(\mathbb ZG\)-resolution of \(\mathbb Z\). However, the stabilizer groups in the non-free resolution must be such that HAP can construct free resolutions with contracting homotopies for them.

The contracting homotopy on the resolution was implemented by Bui Anh Tuan.

Examples: 1 , 2 , 3 , 4 , 5 , 6 , 7 

2.1-3 ResolutionBieberbachGroup
‣ ResolutionBieberbachGroup( G )( function )
‣ ResolutionBieberbachGroup( G, v )( function )

Inputs a torsion free crystallographic group \(G\), also known as a Bieberbach group, represented using AffineCrystGroupOnRight as in the GAP package Cryst. It also optionally inputs a choice of vector \(v\) in the Euclidean space \(\mathbb R^n\) on which \(G\) acts freely. The function returns \(n+1\) terms of the free ZG-resolution of \(\mathbb Z\) arising as the cellular chain complex of the tessellation of \(\mathbb R^n\) by the Dirichlet-Voronoi fundamental domain determined by \(v\). No contracting homotopy is returned with the resolution.

This function is part of the HAPcryst package written by Marc Roeder and thus requires the HAPcryst package to be loaded.

The function requires the use of Polymake software.

Examples: 1 

2.1-4 ResolutionCubicalCrystGroup
‣ ResolutionCubicalCrystGroup( G, k )( function )

Inputs a crystallographic group \(G\) represented using AffineCrystGroupOnRight as in the GAP package \(Cryst\) together with an integer \(k \ge 1\). The function tries to find a cubical fundamental domain in the Euclidean space \(\mathbb R^n\) on which \(G\) acts. If it succeeds it uses this domain to return \(k+1\) terms of a free ZG-resolution of \(\mathbb Z\).

This function was written by Bui Anh Tuan.

Examples: 1 , 2 

2.1-5 ResolutionFiniteGroup
‣ ResolutionFiniteGroup( G, k )( function )

Inputs a finite group \(G\) and an integer \(k \ge 1\). It returns \(k+1\) terms of a free ZG-resolution of \(\mathbb Z\).

Examples: 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 

2.1-6 ResolutionNilpotentGroup
‣ ResolutionNilpotentGroup( G, k )( function )

Inputs a nilpotent group \(G\) (which can be infinite) and an integer \(k \ge 1\). It returns \(k+1\) terms of a free \(\mathbb ZG\)-resolution of \(\mathbb Z\).

Examples: 1 , 2 , 3 , 4 , 5 

2.1-7 ResolutionNormalSeries
‣ ResolutionNormalSeries( L, k )( function )

Inputs a a list \(L\) consisting of a chain $\(1=N_1 \le N_2 \le \cdots \le N_n =G\) of normal subgroups of \(G\), together with an integer \(k \ge 1\). It returns \(k+1\) terms of a free ZG-resolution of \(\mathbb Z\).

Examples: 1 , 2 , 3 , 4 , 5 , 6 , 7 

2.1-8 ResolutionPrimePowerGroup
‣ ResolutionPrimePowerGroup( G, k )( function )

Inputs a finite \(p\)-group \(G\) and an integer \(k \ge 1\). It returns \(k+1\) terms of a minimal free \(\mathbb FG\)-resolution of the field \(\mathbb F\) of \(p\) elements.

Examples: 1 , 2 , 3 , 4 , 5 , 6 

2.1-9 ResolutionSL2Z
‣ ResolutionSL2Z( m, k )( function )

Inputs positive integers \(m, n\) and returns \(n\) terms of a free \(\mathbb ZG\)-resolution of \(\mathbb Z\) for the group \(G=SL_2(\mathbb Z[1/m])\).

This function is joint work with Bui Anh Tuan.

Examples: 1 , 2 , 3 

2.1-10 ResolutionSmallGroup
‣ ResolutionSmallGroup( G, k )( function )
‣ ResolutionSmallGroup( G, k )( function )

Inputs a small group \(G\) and an integer \(k \ge 1\). It returns \(k+1\) terms of a free ZG-resolution of \(\mathbb Z\).

If \(G\) is a finitely presented group then up to degree \(2\) the resolution coincides with cellular chain complex of the universal cover of the \(2\) complex associated to the presentation of \(G\). Thus the boundaries of the generators in degree \(3\) provide a generating set for the module of identities of the presentation.

This function was written by Irina Kholodna.

Examples: 1 , 2 

2.1-11 ResolutionSubgroup
‣ ResolutionSubgroup( R, H )( function )

Inputs a free ZG-resolution of \(\mathbb Z\) and a finite index subgroup \(H \le G\). It returns a free ZH-resolution of \(\mathbb Z\).

Examples: 1 , 2 , 3 

2.2 Algebras \(\longrightarrow \) (Co)chain Complexes

2.2-1 LeibnizComplex
‣ LeibnizComplex( g, n )( function )

Inputs a Leibniz algebra, or Lie algebra, \(\mathfrak{g}\) over a ring \(\mathbb K\) together with an integer \(n\ge 0\). It returns the first \(n\) terms of the Leibniz chain complex over \(\mathbb K\). The complex was implemented by Pablo Fernandez Ascariz.

Examples:

2.3 Resolutions \(\longrightarrow \) (Co)chain Complexes

2.3-1 HomToIntegers
‣ HomToIntegers( C )( function )
‣ HomToIntegers( R )( function )
‣ HomToIntegers( F )( function )

Inputs a chain complex \(C\) of free abelian groups and returns the cochain complex \(Hom_{\mathbb Z}(C,\mathbb Z)\).

Inputs a free \(\mathbb ZG\)-resolution \(R\) in characteristic \(0\) and returns the cochain complex \(Hom_{\mathbb ZG}(R,\mathbb Z)\).

Inputs an equivariant chain map \(F\colon R\rightarrow S\) of resolutions and returns the induced cochain map \(Hom_{\mathbb ZG}(S,\mathbb Z) \longrightarrow Hom_{\mathbb ZG}(R,\mathbb Z)\).

Examples: 1 , 2 , 3 , 4 , 5 , 6 , 7 

2.3-2 HomToIntegralModule
‣ HomToIntegralModule( R, A )( function )

Inputs a free \(\mathbb ZG\)-resolution \(R\) in characteristic \(0\) and a group homomorphism \(A\colon G \rightarrow {\rm GL}_n(\mathbb Z)\). The homomorphism \(A\) can be viewed as the \(\mathbb ZG\)-module with underlying abelian group \(\mathbb Z^n\) on which \(G\) acts via the homomorphism \(A\). It returns the cochain complex \(Hom_{\mathbb ZG}(R,A)\).

Examples: 1 , 2 

2.3-3 TensorWithIntegers
‣ TensorWithIntegers( R )( function )
‣ TensorWithIntegers( F )( function )

Inputs a free \(\mathbb ZG\)-resolution \(R\) of characteristic \(0\) and returns the chain complex \(R \otimes_{\mathbb ZG} {\mathbb Z}\).

Inputs an equivariant chain map \(F\colon R \rightarrow S\) in characteristic \(0\) and returns the induced chain map \(F\otimes_{\mathbb ZG}\mathbb Z \colon R \otimes_{\mathbb ZG} {\mathbb Z} \longrightarrow S \otimes_{\mathbb ZG} {\mathbb Z}\).

Examples: 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 

2.3-4 TensorWithIntegersModP
‣ TensorWithIntegersModP( C, p )( function )
‣ TensorWithIntegersModP( R, p )( function )
‣ TensorWithIntegersModP( F, p )( function )

Inputs a chain complex \(C\) of characteristic \(0\) and a prime integer \(p\). It returns the chain complex \(C \otimes_{\mathbb Z} {\mathbb Z}_p\) of characteristic \(p\).

Inputs a free \(\mathbb ZG\)-resolution \(R\) of characteristic \(0\) and a prime integer \(p\). It returns the chain complex \(R \otimes_{\mathbb ZG} {\mathbb Z}_p\) of characteristic \(p\).

Inputs an equivariant chain map \(F\colon R \rightarrow S\) in characteristic \(0\) a prime integer \(p\). It returns the induced chain map \(F\otimes_{\mathbb ZG}\mathbb Z_p \colon R \otimes_{\mathbb ZG} {\mathbb Z}_p \longrightarrow S \otimes_{\mathbb ZG} {\mathbb Z}_p\).

Examples: 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 

2.4 Cohomology rings

2.4-1 AreIsomorphicGradedAlgebras
‣ AreIsomorphicGradedAlgebras( A, B )( function )

Inputs two freely presented graded algebras \(A=\mathbb F[x_1, \ldots, x_m]/I\) and \(B=\mathbb F[y_1, \ldots, y_n]/J\) and returns true if they are isomorphic, and false otherwise. This function was implemented by Paul Smith.

Examples:

2.4-2 HAPDerivation
‣ HAPDerivation( R, I, L )( function )

Inputs a polynomial ring \(R=\mathbb F[x_1,\ldots,x_m]\) over a field \(\mathbb F\) together with a list \(I\) of generators for an ideal in \(R\) and a list \(L=[y_1,\ldots,y_m]\subset R\). It returns the derivation \(d\colon E \rightarrow E\) for \(E=R/I\) defined by \(d(x_i)=y_i\). This function was written by Paul Smith. It uses the Singular commutative algebra package.

Examples:

2.4-3 HilbertPoincareSeries
‣ HilbertPoincareSeries( E )( function )

Inputs a presentation \(E=\mathbb F[x_1,\ldots,x_m]/I\) of a graded algebra and returns its Hilbert–Poincaré series. This function was written by Paul Smith and uses the Singular commutative algebra package. It is essentially a wrapper for Singular's Hilbert–Poincaré series.

Examples: 1 

2.4-4 HomologyOfDerivation
‣ HomologyOfDerivation( d )( function )

Inputs a derivation \(d\colon E \rightarrow E\) on a quotient \(E=R/I\) of a polynomial ring \(R=\mathbb F[x_1,\ldots,x_m]\) over a field \(\mathbb F\). It returns a list \([S,J,h]\) where \(S\) is a polynomial ring and \(J\) is a list of generators for an ideal in \(S\) such that there is an isomorphism \(\alpha\colon S/J \rightarrow \ker d/{\rm im~} d\). This isomorphism lifts to the ring homomorphism \(h\colon S \rightarrow \ker d\). This function was written by Paul Smith. It uses the Singular commutative algebra package.

Examples:

2.4-5 IntegralCohomologyGenerators
‣ IntegralCohomologyGenerators( R, n )( function )

Inputs at least \(n+1\) terms of a free \(\mathbb ZG\)-resolution of \(\mathbb Z\) and the integer \( n \ge 1\). It returns a minimal list of cohomology classes in \(H^n(G,\mathbb Z)\) which, together with all cup products of lower degree classes, generate the group \(H^n(G,\mathbb Z)\) . (Let \(a_i\) be the \(i\)-th canonical generator of the \(d\)-generator abelian group \(H^n(G,Z)\). The cohomology class \(n_1a_1 + ... +n_da_d\) is represented by the integer vector \(u=(n_1, ..., n_d)\). )

Examples:

2.4-6 LHSSpectralSequence
‣ LHSSpectralSequence( G, N, r )( function )

Inputs a finite \(2\)-group \(G\), and normal subgroup \(N\) and an integer \(r\). It returns a list of length \(r\) whose \(i\)-th term is a presentation for the \(i\)-th page of the Lyndon-Hochschild-Serre spectral sequence. This function was written by Paul Smith. It uses the Singular commutative algebra package.

Examples:

2.4-7 LHSSpectralSequenceLastSheet
‣ LHSSpectralSequenceLastSheet( G, N )( function )

Inputs a finite \(2\)-group \(G\) and normal subgroup \(N\). It returns presentation for the \(E_\infty\) page of the Lyndon-Hochschild-Serre spectral sequence. This function was written by Paul Smith. It uses the Singular commutative algebra package.

Examples:

2.4-8 ModPCohomologyGenerators
‣ ModPCohomologyGenerators( G, n )( function )
‣ ModPCohomologyGenerators( R )( function )

Inputs either a \(p\)-group \(G\) and positive integer \(n\), or else \(n+1\) terms of a minimal \(\mathbb FG\)-resolution \(R\) of the field \(\mathbb F\) of \(p\) elements. It returns a pair whose first entry is a minimal list of homogeneous generators for the cohomology ring \(A=H^\ast(G,\mathbb F)\) modulo all elements in degree greater than \(n\). The second entry of the pair is a function deg which, when applied to a minimal generator, yields its degree. WARNING: the following rule must be applied when multiplying generators \(x_i\) together. Only products of the form \(x_1*(x_2*(x_3*(x_4*...)))\) with \(deg(x_i) \le deg(x_{i+1})\) should be computed (since the \(x_i\) belong to a structure constant algebra with only a partially defined structure constants table).

Examples: 1 

2.4-9 ModPCohomologyRing
‣ ModPCohomologyRing( R )( function )
‣ ModPCohomologyRing( R, level )( function )
‣ ModPCohomologyRing( G, n )( function )
‣ ModPCohomologyRing( G, n, level )( function )

Inputs either a \(p\)-group \(G\) and positive integer \(n\), or else \(n\) terms of a minimal \(\mathbb FG\)-resolution \(R\) of the field \(\mathbb F\) of \(p\) elements. It returns the cohomology ring \(A=H^\ast(G,\mathbb F)\) modulo all elements in degree greater than \(n\). The ring is returned as a structure constant algebra \(A\). The ring \(A\) is graded. It has a component A!.degree(x) which is a function returning the degree of each (homogeneous) element \(x\) in GeneratorsOfAlgebra(A). An optional input variable \("level"\) can be set to one of the strings \("medium"\) or \("high"\). These settings determine parameters in the algorithm. The default setting is \("medium"\). When \("level"\) is set to \("high"\) the ring \(A\) is returned with a component A!.niceBasis. This component is a pair \([Coeff,Bas]\). Here \(Bas\) is a list of integer lists; a "nice" basis for the vector space \(A\) can be constructed using the command List(Bas,x->Product(List(x,i->Basis(A)[i])). The coefficients of the canonical basis element Basis(A)[i] are stored as Coeff[i]. If the ring \(A\) is computed using the setting \("level"="medium"\) then the component A!.niceBasis can be added to \(A\) using the command A:=ModPCohomologyRing_part_2(A).

Examples: 1 , 2 

2.4-10 Mod2CohomologyRingPresentation
‣ Mod2CohomologyRingPresentation( G )( function )
‣ Mod2CohomologyRingPresentation( G, n )( function )
‣ Mod2CohomologyRingPresentation( A )( function )
‣ Mod2CohomologyRingPresentation( R )( function )

When applied to a finite \(2\)-group \(G\) this function returns a presentation for the mod-\(2\) cohomology ring \(H^\ast(G,\mathbb F)\). The Lyndon-Hochschild-Serre spectral sequence is used to prove that the presentation is complete. When the function is applied to a \(2\)-group G and positive integer \(n\) the function first constructs \(n+1\) terms of a free \(\mathbb FG\)-resolution \(R\), then constructs the finite-dimensional graded algebra \(A=H^{(\ast \le n)}(G,\mathbb F)\), and finally uses \(A\) to approximate a presentation for \(H^*(G,\mathbb F)\). For "sufficiently large" \(n\) the approximation will be a correct presentation for \(H^\ast(G,\mathbb F)\). Alternatively, the function can be applied directly to either the resolution \(R\) or graded algebra \(A\). This function was written by Paul Smith. It uses the Singular commutative algebra package to handle the Lyndon-Hochschild-Serre spectral sequence.

Examples: 1 , 2 

2.5 Group Invariants

2.5-1 GroupCohomology
‣ GroupCohomology( G, k )( function )
‣ GroupCohomology( G, k, p )( function )

Inputs a group \(G\) and integer \(k \ge 0\). The group \(G\) should either be finite or else lie in one of a range of classes of infinite groups (such as nilpotent, crystallographic, Artin etc.). The function returns the list of abelian invariants of \(H^k(G,\mathbb Z)\).

If a prime \(p\) is given as an optional third input variable then the function returns the list of abelian invariants of \(H^k(G,\mathbb Z_p)\). In this case each abelian invariant will be equal to \(p\) and the length of the list will be the dimension of the vector space \(H^k(G,\mathbb Z_p)\).

Examples: 1 

2.5-2 GroupHomology
‣ GroupHomology( G, k )( function )
‣ GroupHomology( G, k, p )( function )

Inputs a group \(G\) and integer \(k \ge 0\). The group \(G\) should either be finite or else lie in one of a range of classes of infinite groups (such as nilpotent, crystallographic, Artin etc.). The function returns the list of abelian invariants of \(H_k(G,\mathbb Z)\).

If a prime \(p\) is given as an optional third input variable then the function returns the list of abelian invariants of \(H_k(G,\mathbb Z_p)\). In this case each abelian invariant will be equal to \(p\) and the length of the list will be the dimension of the vector space \(H_k(G,\mathbb Z_p)\).

Examples: 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 

2.5-3 PrimePartDerivedFunctor
‣ PrimePartDerivedFunctor( G, R, A, k )( function )

Inputs a group \(G\), an integer \(k \ge 0\), at least \(k+1\) terms of a free \(\mathbb ZP\)-resolution of \(\mathbb Z\) for \(P\) a Sylow \(p\)-subgroup of \(G\). A function such as A=TensorWithIntegers is also entered. The abelian invariants of the \(p\)-primary part \(H_k(G,A)_{(p)}\) of the homology with coefficients in \(A\) is returned.

Examples: 1 , 2 , 3 , 4 

2.5-4 PoincareSeries
‣ PoincareSeries( G, n )( function )
‣ PoincareSeries( G )( function )
‣ PoincareSeries( R, n )( function )
‣ PoincareSeries( L, n )( function )

Inputs a finite \(p\)-group \(G\) and a positive integer \(n\). It returns a quotient of polynomials \(f(x)=P(x)/Q(x)\) whose expansion has coefficient of \(x^k\) equal to the rank of the vector space \(H_k(G,\mathbb F_p)\) for all \(k\) in the range \(1 \le k \le n\). (The second input variable can be omitted, in which case the function tries to choose a `reasonable' value for \(n\). For 2-groups the function PoincareSeriesLHS(G) can be used to produce an \(f(x)\) that is correct in all degrees.) In place of the group \(G\) the function can also input (at least \(n\) terms of) a minimal mod-\(p\) resolution \(R\) for \(G\). Alternatively, the first input variable can be a list \(L\) of integers. In this case the coefficient of \(x^k\) in \(f(x)\) is equal to the \((k+1)\)st term in the list.

Examples: 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 

2.5-5 PoincareSeries
‣ PoincareSeries( G, n )( function )
‣ PoincareSeries( G )( function )
‣ PoincareSeries( R, n )( function )
‣ PoincareSeries( L, n )( function )

Inputs a finite \(p\)-group \(G\) and a positive integer \(n\). It returns a quotient of polynomials \(f(x)=P(x)/Q(x)\) whose expansion has coefficient of \(x^k\) equal to the rank of the vector space \(H_k(G,\mathbb F_p)\) for all \(k\) in the range \(1 \le k \le n\). (The second input variable can be omitted, in which case the function tries to choose a `reasonable' value for \(n\). For 2-groups the function PoincareSeriesLHS(G) can be used to produce an \(f(x)\) that is correct in all degrees.) In place of the group \(G\) the function can also input (at least \(n\) terms of) a minimal mod-\(p\) resolution \(R\) for \(G\). Alternatively, the first input variable can be a list \(L\) of integers. In this case the coefficient of \(x^k\) in \(f(x)\) is equal to the \((k+1)\)st term in the list.

Examples: 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 

2.5-6 RankHomologyPGroup
‣ RankHomologyPGroup( G, P, n )( function )

Inputs a \(p\)-group \(G\), a rational function \(P\) representing the Poincaré series of the mod-\(p\) cohomology of \(G\) and a positive integer \(n\). It returns the minimum number of generators for the finite abelian \(p\)-group \(H_n(G,\mathbb Z)\).

Examples: 1 

2.6 \(\mathbb F_p\)-modules

2.6-1 GroupAlgebraAsFpGModule
‣ GroupAlgebraAsFpGModule( G )( function )

Inputs a finite \(p\)-group \(G\) and returns the modular group algebra \(\mathbb F_pG\) in the form of an \(\mathbb F_pG\)-module.

Examples:

2.6-2 Radical
‣ Radical( M )( function )

Inputs an \(\mathbb F_pG\)-module and returns its radical.

Examples:

2.6-3 RadicalSeries
‣ RadicalSeries( M )( function )
‣ RadicalSeries( R )( function )

Inputs an \(\mathbb F_pG\)-module \(M\) and returns its radical series as a list of \(\mathbb F_pG\)-modules.

Inputs a free \(\mathbb F_pG\)-resolution R and returns the filtered chain complex \(\cdots Rad_2(\mathbb F_pG)R \le Rad_1(\mathbb F_pG)R \le R\).

Examples:

 [Top of Book]  [Contents]   [Previous Chapter]   [Next Chapter] 
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Ind

generated by GAPDoc2HTML