[1X3 Functions for Homological Algebra[0X [1X3.1 Resolutions[0X [1X3.1-1 ResolutionPrimePowerGroup[0X [2X> ResolutionPrimePowerGroupRadical( [0X[3XG, n[0X[2X ) ________________________[0Xoperation [2X> ResolutionPrimePowerGroupGF( [0X[3XG, n[0X[2X ) _____________________________[0Xoperation [2X> ResolutionPrimePowerGroupAutoMem( [0X[3XG, n[0X[2X ) ________________________[0Xoperation [2X> ResolutionPrimePowerGroupGF2( [0X[3XG, n[0X[2X ) ____________________________[0Xoperation [2X> ResolutionPrimePowerGroupRadical( [0X[3XM, n[0X[2X ) ________________________[0Xoperation [2X> ResolutionPrimePowerGroupGF( [0X[3XM, n[0X[2X ) _____________________________[0Xoperation [2X> ResolutionPrimePowerGroupAutoMem( [0X[3XM, n[0X[2X ) ________________________[0Xoperation [2X> ResolutionPrimePowerGroupGF2( [0X[3XM, n[0X[2X ) ____________________________[0Xoperation [6XReturns:[0X [9XHAPResolution[0m Returns [3Xn[0m terms of a minimal free FG-resolution for either the ground ring of a prime power group [3XG[0m or of a module [3XM[0m. For the module version, [3XM[0m must be passed as an [9XFpGModuleGF[0m object - see [14X'HAPprime Datatypes: FG-modules'[0m in the [5XHAPprime[0m datatypes reference manual. Three versions of this function are provided: [8X[9XResolutionPrimePowerGroupRadical[0m[8X[0m uses the same resolution-building method as the [5XHAP[0m function [2XResolutionPrimePowerGroup[0m ([14XHAP: ResolutionPrimePowerGroup[0m), but stores the resolution in a different format that takes only about half the memory of the [5XHAP[0m version. [8X[9XResolutionPrimePowerGroupGF[0m[8X[0m calculates the resolution using [5XHAPprime[0m's G-generator form of modules, which reduces memory use by around a factor of two over [9XResolutionPrimePowerGroupRadical[0m, but is slower by an order of magnitude. [8X[9XResolutionPrimePowerGroupAutoMem[0m[8X[0m automatically switches between the two previous versions based on the available memory. It uses the [10XRadical[0m version until it gets close to the limit of the available memory, and then switches to the [10XGF[0m version. [8X[9XResolutionPrimePowerGroupGF2[0m[8X[0m calculates the resolution by FG-matrix partitioning. The amount of partitioning is governed by the [14X'Reference: Options Stack'[0m option [10XMaxFGExpansionSize[0m. The default value means that until the boundary map takes about 128Mb, the method is equivalent to [9XResolutionPrimePowerGroupRadical[0m, and then it tends towards [9XResolutionPrimePowerGroupGF[0m in terms of time, but saves less memory. See the [5XHAPprime[0m datatypes reference manual for details of the different algorithms, in particular the chapters on the G-generator form of FG-modules [14X'HAPprime Datatypes: FG-modules'[0m and FG-module homomorphisms [14X'HAPprime Datatypes: FG-module homomorphisms'[0m and on resolutions [14X'HAPprime Datatypes: Resolutions'[0m. [1X3.1-2 ExtendResolutionPrimePowerGroup[0X [2X> ExtendResolutionPrimePowerGroupRadical( [0X[3XR[0X[2X ) _____________________[0Xoperation [2X> ExtendResolutionPrimePowerGroupGF( [0X[3XR[0X[2X ) __________________________[0Xoperation [2X> ExtendResolutionPrimePowerGroupAutoMem( [0X[3XR[0X[2X ) _____________________[0Xoperation [2X> ExtendResolutionPrimePowerGroupGF2( [0X[3XR[0X[2X ) _________________________[0Xoperation [6XReturns:[0X [9XHAPResolution[0m Returns the resolution [3XR[0m extended by one term. The three variants offer a choice between memory and speed, and correspond to the different versions of [9XResolutionPrimePowerGroup[0m in [5XHAPprime[0m. See the documentation ([14X3.1-1[0m) for those functions for a description of the different variants. [1X3.2 Poincaré Series[0X [1X3.2-1 PoincareSeriesLHS[0m [2X> PoincareSeriesLHS( [0X[3XG[0X[2X ) __________________________________________[0Xattribute [6XReturns:[0X Rational function For a finite p-group [3XG[0m, this function calculates and returns a quotient of polynomials f(x) = P(x)/Q(x) (i.e. the Poincaré series) whose coefficient of x^k equals the rank of the vector space H_k(G, F_p) for all k in the range k=1 to k=n. This function computes a Lyndon-Hoschild-Serre spectral sequence for the p-group G. The last sheet of this sequence will have the same additive structure as the mod-p group cohomology ring of G, and thus the same Poincaré series, which is returned by this function. See Section [14X2.2-3[0m for an example and more description. [1X3.3 Cohomology Ring structure[0X [1X3.3-1 ModPCohomologyRingPresentation[0m [2X> ModPCohomologyRingPresentation( [0X[3XG[0X[2X ) _____________________________[0Xattribute [2X> ModPCohomologyRingPresentation( [0X[3XG, n[0X[2X ) __________________________[0Xoperation [2X> ModPCohomologyRingPresentation( [0X[3XR[0X[2X ) _____________________________[0Xoperation [2X> ModPCohomologyRingPresentation( [0X[3XA[0X[2X ) _____________________________[0Xoperation [6XReturns:[0X [9XGradedAlgebraPresentation[0m Calculates and returns a cohomology ring presentation for the group G. See [14X'HAPprime Datatypes: Presentations of graded algebras'[0m in the datatypes reference manual for details of the [9XGradedAlgebraPresentation[0m type. If the only argument is a p-group [3XG[0m then this function computes and returns the provably-correct cohomology ring presentation. This version first computes the Lyndon-Hoschild-Serre Spectral Sequence until convergence to find the additive structure of the cohomology ring, and then computes the cohomology ring up to and including the maximum necessary generator or relation, using the [10X(G, n)[0m method described below. For certain groups, the cohomology ring is returned without computation: the known mod-p cohomology ring presentation for cyclic groups is returned without calculation, and for groups which can be expressed as a direct product, the cohomology ring is computed as a tensor product of its direct factors (thus the cohomology ring of all Abelian groups are also returned with minimal computation.) When given a p-group [3XG[0m and integer [3Xn[0m, this function computes the presentation modulo all elements of degree greater [3Xn[0m. Alternatively, a minimal resolution [3XR[0m (with [3Xn[0m terms) can be input, or a structure constant algebra [3XA[0m with embedded degrees (from [2XModPCohomologyRing[0m ([14XHAP: ModPCohomologyRing[0m)). See Section [14X2.2-1[0m and [14X2.2-2[0m for examples and more description. See also [2XLHSSpectralSequence[0m ([14XHAPprime Datatypes: LHSSpectralSequence[0m) for details of options that can be used to guide the spectral sequence computation.