Resolutions
EquivariantChainMap(R,S,f):: FreeResolution, FreeResolution, GroupHomomorphisms --> EquiChainMap 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. |
FreeGResolution(P,n):: NonFreeResolution, Int --> FreeResolution Inputs a non-free $\mathbb ZG$-resolution $P_\ast$ 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. |
ResolutionBieberbachGroup(G):: MatrixGroup --> FreeResolution ResolutionBieberbachGroup(G,v):: MatrixGroup, List --> FreeResolution 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. |
ResolutionCubicalCrustGroup(G,k):: MatrixGroup, Int --> FreeResolution 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 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. |
ResolutionFiniteGroup(G,k):: Group, Int --> FreeResolution Inputs a finite group G and an integer k ge 1. It returns k+1 terms of a free ZG-resolution of Z. |
ResolutionNilpotentGroup(G,k):: Group, Int --> FreeResolution Inputs a nilpotent group G (which can be infinite) and an integer k ge 1. It returns k+1 terms of a free ZG-resolution of Z. |
ResolutionNormalSeries(L,k):: List, Int --> FreeResolution Inputs a a list L consisting of a chain $1=N_1 le N_2 le ⋯ 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 Z. |
ResolutionPrimePowerGroup(G,k):: Group, Int --> FreeResolution Inputs a finite p-group G and an integer k ge 1. It returns k+1 terms of a minimal free FG-resolution of the field F of p elements. |
ResolutionSL2Z(m,k):: Int, Int --> FreeResolution 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. |
ResolutionSmallGroup(G,k):: Group, Int --> FreeResolution ResolutionSmallGroup(G,k):: FpGroup, Int --> FreeResolution Inputs a small group G and an integer k ge 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. |
ResolutionSubgroup(R,H):: FreeResolution, Group --> FreeResolution Inputs a free ZG-resolution of Z and a finite index subgroup H le G. It returns a free ZH-resolution of Z. |
Algebras ⟶ (Co)chain Complexes
LeibnizComplex(g,n):: LeibnizAlgebra, Int --> ChainComplex Inputs a Leibniz algebra, or Lie algebra, mathfrakg over a ring K together with an integer nge 0. It returns the first n terms of the Leibniz chain complex over K. The complex was implemented by Pablo Fernandez Ascariz. |
Resolutions ⟶ (Co)chain Complexes
HomToIntegers(C):: ChainComplex --> CochainComplex HomToIntegers(R):: FreeResolution --> CochainComplex HomToIntegers(F):: EquiChainMap --> CochainMap 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). |
HomToIntegralModule(R,A):: FreeResolution, GroupHomomorphism --> CochainComplex 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). |
TensorWithIntegers(R):: FreeResolution --> ChainComplex TensorWithIntegers(F):: EquiChainMap --> ChainMap 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. |
TensorWithIntegersModP(C,p):: ChainComplex, Int --> ChainComplex TensorWithIntegersModP(R,p):: FreeResolution, Int --> ChainComplex TensorWithIntegersModP(F,p):: EquiChainMap, Int --> ChainMap 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. |
Cohomology rings
AreIsomorphicGradedAlgebras(A,B):: PresentedGradedAlgebra, PresentedGradedAlgebra --> Boolean 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. |
HAPDerivation(R,I,L):: PolynomialRing, List, List --> Derivation 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. |
HilbertPoincareSeries::PresentedGradedAlgebra --> RationalFunction Inputs a presentation E= F[x_1,...,x_m]/I of a graded algebra and returns its Hilbert-Poincar\'e series. This function was written by Paul Smith and uses the Singular commutative algebra package. It is essentially a wrapper for Singular's Hilbert-Poincare series. |
HomologyOfDerivation(d):: Derivation --> List 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. |
IntegralCohomologyGenerators(R,n):: FreeResolution, Int --> List Inputs at least n+1 terms of a free ZG-resolution of Z and the integer n ge 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). ) |
LHSSpectralSequence(G,N,r):: Group, Int, Int --> List 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. |
LHSSpectralSequenceLastSheet(G,N):: Group, Int --> List 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. |
ModPCohomologyGenerators(G,n):: Group, Int --> List ModPCohomologyGenerators(R):: FreeResolution --> List 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) 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). |
ModPCohomologyRing(R):: FreeResolution --> SCAlgebra ModPCohomologyRing(R,level):: FreeResolution, String --> SCAlgebra ModPCohomologyRing(G,n):: Group, Int --> SCAlgebra ModPCohomologyRing(G,n,level):: Group, Int, String --> SCAlgebra 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). |
Mod2CohomologyRingPresentation(G):: Group --> PresentedGradedAlgebra Mod2CohomologyRingPresentation(G,n):: Group --> PresentedGradedAlgebra Mod2CohomologyRingPresentation(A):: Group --> PresentedGradedAlgebra Mod2CohomologyRingPresentation(R):: Group --> PresentedGradedAlgebra 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^(∗ le 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. |
Group Invariants
GroupCohomology(G,k):: Group, Int --> List GroupCohomology(G,k,p):: Group, Int, Int --> List 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, 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). |
GroupHomology(G,k):: Group, Int --> List GroupHomology(G,k,p):: Group, Int, Int --> List 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, 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). |
PrimePartDerivedFunctor(G,R,A,k):: Group, FreeResolution, Function, Int --> List Inputs a group G, an integer k ge 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. |
PoincareSeries(G,n):: Group, Int --> RationalFunction PoincareSeries(G):: Group --> RationalFunction PoincareSeries(R,n):: Group, Int --> RationalFunction PoincareSeries(L,n):: Group, Int --> RationalFunction 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 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. |
PoincareSeries(G,n):: Group, Int --> RationalFunction PoincareSeries(G):: Group --> RationalFunction PoincareSeries(R,n):: Group, Int --> RationalFunction PoincareSeries(L,n):: Group, Int --> RationalFunction 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 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. |
RankHomologyPGroup(G,P,n):: Group, RationalFunction, Int --> Int Inputs a p-group G, a rational function P representing the Poincar\'e 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_nG, Z). |
F_p-modules
GroupAlgebraAsFpGModule:: Group --> FpGModule Inputs a finite p-group G and returns the modular group algebra F_pG in the form of an F_pG-module. |
Radical:: FpGModule --> FpGModule Inputs an F_pG-module and returns its radical. |
RadicalSeries(M):: FpGModule --> List RadicalSeries(R):: Resolution --> FilteredSparseChainComplex 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 le Rad_1( F_pG)R le R. |
generated by GAPDoc2HTML