GAP (HAP commands) - Chapter 2: Basic functionality for ZG-resolutions and group cohomology

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]

[MathJax on]

2 Basic functionality for ZG-resolutions and group cohomology
2.1 Resolutions
2.1-1 EquivariantChainMap
2.1-2 FreeGResolution
2.1-3 ResolutionBieberbachGroup
2.1-4 ResolutionCubicalCrystGroup
2.1-5 ResolutionFiniteGroup
2.1-6 ResolutionNilpotentGroup
2.1-7 ResolutionNormalSeries
2.1-8 ResolutionPrimePowerGroup
2.1-9 ResolutionSL2Z
2.1-10 ResolutionSmallGroup
2.1-11 ResolutionSubgroup
2.2 Algebras ⟶ (Co)chain Complexes
2.2-1 LeibnizComplex
2.3 Resolutions ⟶ (Co)chain Complexes
2.3-1 HomToIntegers
2.3-2 HomToIntegralModule
2.3-3 TensorWithIntegers
2.3-4 TensorWithIntegersModP
2.4 Cohomology rings
2.4-1 AreIsomorphicGradedAlgebras
2.4-2 HAPDerivation
2.4-3 HilbertPoincareSeries
2.4-4 HomologyOfDerivation
2.4-5 IntegralCohomologyGenerators
2.4-6 LHSSpectralSequence
2.4-7 LHSSpectralSequenceLastSheet
2.4-8 ModPCohomologyGenerators
2.4-9 ModPCohomologyRing
2.4-10 Mod2CohomologyRingPresentation
2.5 Group Invariants
2.5-1 GroupCohomology
2.5-2 GroupHomology
2.5-3 PrimePartDerivedFunctor
2.5-4 PoincareSeries
2.5-5 PoincareSeries
2.5-6 RankHomologyPGroup
2.6 F_p-modules
2.6-1 GroupAlgebraAsFpGModule
2.6-2 Radical
2.6-3 RadicalSeries

### 2 Basic functionality for 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 ZG-resolution R of Z, a free ZQ-resolution S of Z, and a group homomorphism f: G → Q. It returns the induced f-equivariant chain map F: R → S.

Examples: 1 , 2 , 3 , 4

##### 2.1-2 FreeGResolution

`‣ FreeGResolution`( P, n ) | ( function )

Inputs a non-free ZG-resolution P_∗ and a positive integer n. It attempts to return n terms of a free ZG-resolution of 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 R^n on which G acts freely. The function returns n+1 terms of the free ZG-resolution of Z arising as the cellular chain complex of the tessellation of 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 ≥ 1. The function tries to find a cubical fundamental domain in the Euclidean space R^n on which G acts. If it succeeds it uses this domain to return k+1 terms of a free ZG-resolution of 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 ≥ 1. It returns k+1 terms of a free ZG-resolution of Z.

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

##### 2.1-6 ResolutionNilpotentGroup

`‣ ResolutionNilpotentGroup`( G, k ) | ( function )

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

Examples: 1 , 2 , 3 , 4

##### 2.1-7 ResolutionNormalSeries

`‣ ResolutionNormalSeries`( L, k ) | ( function )

Inputs a a list L consisting of a chain $1=N_1 ≤ N_2 ≤ ⋯ ≤ N_n =G of normal subgroups of G, together with an integer k ≥ 1. It returns k+1 terms of a free ZG-resolution of 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 ≥ 1. It returns k+1 terms of a minimal free FG-resolution of the field F of p elements.

Examples: 1 , 2 , 3 , 4 , 5

##### 2.1-9 ResolutionSL2Z

`‣ ResolutionSL2Z`( m, k ) | ( function )

Inputs positive integers m, n and returns n terms of a free ZG-resolution of Z for the group G=SL_2( 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 ≥ 1. It returns k+1 terms of a free ZG-resolution of 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 Z and a finite index subgroup H ≤ G. It returns a free ZH-resolution of Z.

Examples: 1 , 2 , 3

#### 2.2 Algebras ⟶ (Co)chain Complexes

##### 2.2-1 LeibnizComplex

`‣ LeibnizComplex`( g, n ) | ( function )

Inputs a Leibniz algebra, or Lie algebra, mathfrakg over a ring K together with an integer n≥ 0. It returns the first n terms of the Leibniz chain complex over K. The complex was implemented by Pablo Fernandez Ascariz.

Examples:

#### 2.3 Resolutions ⟶ (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_ Z(C, Z).

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

Inputs an equivariant chain map F: R→ S of resolutions and returns the induced cochain map Hom_ ZG(S, Z) ⟶ Hom_ ZG(R, Z).

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

##### 2.3-2 HomToIntegralModule

`‣ HomToIntegralModule`( R, A ) | ( function )

Inputs a free ZG-resolution R in characteristic 0 and a group homomorphism A: G → GL_n( Z). The homomorphism A can be viewed as the ZG-module with underlying abelian group Z^n on which G acts via the homomorphism A. It returns the cochain complex Hom_ ZG(R,A).

Examples: 1 , 2

##### 2.3-3 TensorWithIntegers

`‣ TensorWithIntegers`( R ) | ( function )

`‣ TensorWithIntegers`( F ) | ( function )

Inputs a free ZG-resolution R of characteristic 0 and returns the chain complex R ⊗_ ZG Z.

Inputs an equivariant chain map F: R → S in characteristic 0 and returns the induced chain map F⊗_ ZG Z : R ⊗_ ZG Z ⟶ S ⊗_ ZG 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 ⊗_ Z Z_p of characteristic p.

Inputs a free ZG-resolution R of characteristic 0 and a prime integer p. It returns the chain complex R ⊗_ ZG Z_p of characteristic p.

Inputs an equivariant chain map F: R → S in characteristic 0 a prime integer p. It returns the induced chain map F⊗_ ZG Z_p : R ⊗_ ZG Z_p ⟶ S ⊗_ ZG 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= F[x_1, ..., x_m]/I and B= F[y_1, ..., 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= F[x_1,...,x_m] over a field F together with a list I of generators for an ideal in R and a list L=[y_1,...,y_m]⊂ R. It returns the derivation d: E → 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= F[x_1,...,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:

##### 2.4-4 HomologyOfDerivation

`‣ HomologyOfDerivation`( d ) | ( function )

Inputs a derivation d: E → E on a quotient E=R/I of a polynomial ring R= F[x_1,...,x_m] over a field 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 α: S/J → ker d/ im~ d. This isomorphism lifts to the ring homomorphism h: S → 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 ZG-resolution of Z and the integer n ≥ 1. It returns a minimal list of cohomology classes in H^n(G, Z) which, together with all cup products of lower degree classes, generate the group H^n(G, 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_∞ 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 FG-resolution R of the field F of p elements. It returns a pair whose first entry is a minimal list of homogeneous generators for the cohomology ring A=H^∗(G, 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) ≤ 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 FG-resolution R of the field F of p elements. It returns the cohomology ring A=H^∗(G, 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.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^∗(G, 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 FG-resolution R, then constructs the finite-dimensional graded algebra A=H^(∗ ≤ n)(G, F), and finally uses A to approximate a presentation for H^*(G, F). For "sufficiently large" n the approximation will be a correct presentation for H^∗(G, 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 ≥ 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, 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, 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, Z_p).

Examples: 1

##### 2.5-2 GroupHomology

`‣ GroupHomology`( G, k ) | ( function )

`‣ GroupHomology`( G, k, p ) | ( function )

Inputs a group G and integer k ≥ 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, 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, 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, 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 ≥ 0, at least k+1 terms of a free ZP-resolution of 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, F_p) for all k in the range 1 ≤ k ≤ 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

##### 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, F_p) for all k in the range 1 ≤ k ≤ 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

##### 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, Z).

Examples: 1

#### 2.6 F_p-modules

##### 2.6-1 GroupAlgebraAsFpGModule

`‣ GroupAlgebraAsFpGModule`( G ) | ( function )

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

Examples:

##### 2.6-2 Radical

`‣ Radical`( M ) | ( function )

Inputs an F_pG-module and returns its radical.

Examples:

##### 2.6-3 RadicalSeries

`‣ RadicalSeries`( M ) | ( function )

`‣ RadicalSeries`( R ) | ( function )

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

Inputs a free F_pG-resolution R and returns the filtered chain complex ⋯ Rad_2( F_pG)R ≤ Rad_1( F_pG)R ≤ 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