GAP (HAP commands) - Chapter 5: Resolutions of the ground ring

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 off]

5 Resolutions of the ground ring
5.1
5.1-1 TietzeReducedResolution
5.1-2 ResolutionArithmeticGroup
5.1-3 FreeGResolution
5.1-4 ResolutionGTree
5.1-5 ResolutionSL2Z
5.1-6 ResolutionAbelianGroup
5.1-7 ResolutionAlmostCrystalGroup
5.1-8 ResolutionAlmostCrystalQuotient
5.1-9 ResolutionArtinGroup
5.1-10 ResolutionAsphericalPresentation
5.1-11 ResolutionBieberbachGroup
5.1-12 ResolutionCoxeterGroup
5.1-13 ResolutionDirectProduct
5.1-14 ResolutionExtension
5.1-15 ResolutionFiniteDirectProduct
5.1-16 ResolutionFiniteExtension
5.1-17 ResolutionFiniteGroup
5.1-18 ResolutionFiniteSubgroup
5.1-19 ResolutionGraphOfGroups
5.1-20 ResolutionNilpotentGroup
5.1-21 ResolutionNormalSeries
5.1-22 ResolutionPrimePowerGroup
5.1-23 ResolutionSmallFpGroup
5.1-24 ResolutionSubgroup
5.1-25 ResolutionSubnormalSeries
5.1-26 TwistedTensorProduct
5.1-27 ConjugatedResolution
5.1-28 RecalculateIncidenceNumbers

### 5 Resolutions of the ground ring

#### 5.1

##### 5.1-1 TietzeReducedResolution

`‣ TietzeReducedResolution`( R ) | ( function )

Inputs a \(\mathbb ZG\)-resolution \(R\) and returns a \(\mathbb ZG\)-resolution \(S\) which is obtained from \(R\) by applying "Tietze like operations" in each dimension. The hope is that \(S\) has fewer free generators than \(R\).

Examples:

##### 5.1-2 ResolutionArithmeticGroup

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

Inputs a positive integer \(n\) and a string \(P\) equal to one of the following:
"SL(2,Z)" , "SL(3,Z)" , "PGL(3,Z[i])" , "PGL(3,Eisenstein_Integers)" , "PSL(4,Z)" , "PSL(4,Z)_b" , "PSL(4,Z)_c" , "PSL(4,Z)_d" , "Sp(4,Z)"
or the string
"GL(2,O(-d))"
for d=1, 2, 3, 5, 6, 7, 10, 11, 13, 14, 15, 17, 19, 21, 22, 23, 26, 43
or the string
"SL(2,O(-d))"
for d=2, 3, 5, 7, 10, 11, 13, 14, 15, 17, 19, 21, 22, 23, 26, 43, 67, 163
or the string
"SL(2,O(-d))_a"
for d=2, 7, 11, 19.
It returns \(n\) terms of a free ZG-resolution for the group \(G\) described by the string. Here O(-d) denotes the ring of integers of Q(sqrt(-d)) and subscripts _a, _b , _c , _d denote alternative non-free ZG-resolutions for a given group G.
Data for the first list of resolutions was provided provided by Mathieu Dutour. Data for GL(2,O(-d)) was provided by Sebastian Schoenennbeck. Data for SL(2,O(-d)) was provided bySebastian Schoennenbeck for d <= 26 and by Alexander Rahm for d>26 and for the alternative complexes.

Examples:

##### 5.1-3 FreeGResolution

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

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

Inputs a non-free \(ZG\)-resolution \(P\) with finite stabilizer groups, and a positive integer \(n\). It returns a free \(ZG\)-resolution of length equal to the minimum of n and the length of \(P\). If one requires only a mod \(p\) resolution then the prime \(p\) can be entered as an optional third argument.

The free resolution is returned without a contracting homotopy.

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

##### 5.1-4 ResolutionGTree

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

Inputs a non-free \(ZG\)-resolution \(P\) of dimension 1 (i.e. a G-tree) with finite stabilizer groups, and a positive integer \(n\). It returns a free \(ZG\)-resolution of length equal to n.

If \(P\) has a contracting homotopy then the free resolution is returned with a contracting homotopy.

This function was written by Bui Anh Tuan.

Examples:

##### 5.1-5 ResolutionSL2Z

`‣ ResolutionSL2Z`( p, n ) | ( function )

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

This function is joint work with Bui Anh Tuan.

Examples: 1 , 2 , 3

##### 5.1-6 ResolutionAbelianGroup

`‣ ResolutionAbelianGroup`( L, n ) | ( function )

`‣ ResolutionAbelianGroup`( G, n ) | ( function )

Inputs a list \(L:=[m_1,m_2, ..., m_d]\) of nonnegative integers, and a positive integer \(n\). It returns \(n\) terms of a \({\mathbb Z}G\)-resolution for the abelian group \(G=Z_{L[1]}+Z_{L[2]}+···+{Z_L[d]}\) .

If \(G\) is finite then the first argument can also be the abelian group \(G\) itself.

Examples: 1 , 2 , 3

##### 5.1-7 ResolutionAlmostCrystalGroup

`‣ ResolutionAlmostCrystalGroup`( G, n ) | ( function )

Inputs a positive integer \(n\) and an almost crystallographic pcp group \(G\). It returns \(n\) terms of a free \(ZG\)-resolution. (A group is almost crystallographic if it is nilpotent-by-finite and has no non-trivial finite normal subgroup. Such groups can be constructed using the ACLIB package.)

Examples: 1 , 2

##### 5.1-8 ResolutionAlmostCrystalQuotient

`‣ ResolutionAlmostCrystalQuotient`( G, n, c ) | ( function )

`‣ ResolutionAlmostCrystalQuotient`( G, n, c, false ) | ( function )

An almost crystallographic group \(G\) is an extension of a finite group \(P\) by a nilpotent group \(T\), and has no non-trivial finite normal subgroup. We define the relative lower central series by setting \(T_1=T\) and \(T_{i+1}=[T_i,G]\).

This function inputs an almost crystallographic group \(G\) together with positive integers \(n\) and \(c\). It returns \(n\) terms of a free \(ZQ\)-resolution \(R\) for the group \(Q=G/T_c\) .

In addition to the usual components, the resolution \(R\) has the component \(R.quotientHomomorphism\) which gives the quotient homomorphism \(G \longrightarrow Q \).

If a fourth optional variable is set equal to "false" then the function omits to test whether \(Q\) is finite and a "more canonical" resolution is constructed.

Examples: 1

##### 5.1-9 ResolutionArtinGroup

`‣ ResolutionArtinGroup`( D, n ) | ( function )

Inputs a Coxeter diagram \(D\) and an integer \(n>1\). It returns \(n\) terms of a free \(ZG\)-resolution \(R\) where \(G\) is the Artin monoid associated to \(D\). It is conjectured that \(R\) is also a free resolution for the Artin group \(G\). The conjecture is known to hold in certain cases.

\(G=R.group\) is infinite and returned as a finitely presented group. The list \(R.elts\) is a partial listing of the elements of \(G\) which grows as \(R\) is used. Initially \(R.elts\) is empty and then, any time the boundary of a resolution generator is called, \(R.elts\) is updated to include elements of \(G\) involved in the boundary.

The contracting homotopy on \(R\) has not yet been implemented! Furthermore, the group \(G\) is currently returned only as a finitely presented group (without any method for solving the word problem).

Examples: 1 , 2 , 3 , 4 , 5

##### 5.1-10 ResolutionAsphericalPresentation

`‣ ResolutionAsphericalPresentation`( F, R, n ) | ( function )

Inputs a free group \(F\), a set \(R\) of words in \(F\) which constitute an aspherical presentation for a group \(G\), and a positive integer \(n\). (Asphericity can be a difficult property to verify. The function \(IsAspherical(F,R)\) could be of help.)

The function returns n terms of a free \(ZG\)-resolution \(R\) which has generators in dimensions < 3 only. No contracting homotopy on \(R\) will be returned.

Examples: 1 , 2 , 3

##### 5.1-11 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 tesselation of \(R^n\) by the Dirichlet-Voronoi fundamental domain determined by \(v\).

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

##### 5.1-12 ResolutionCoxeterGroup

`‣ ResolutionCoxeterGroup`( D, n ) | ( function )

Inputs a Coxeter diagram \(D\) and an integer \(n>1\). It returns \(k\) terms of a free \(ZG\)-resolution \(R\) where \(G\) is the Coxeter group associated to \(D\). Here \(k\) is the maximum of n and the number of vertices in the Coxeter diagram. At present the implementation is only for finite Coxeter groups and the group \(G\) is returned as a permutation group. The contracting homotopy on \(R\) has not yet been implemented!

Examples: 1 , 2 , 3

##### 5.1-13 ResolutionDirectProduct

`‣ ResolutionDirectProduct`( R, S ) | ( function )

`‣ ResolutionDirectProduct`( R, S, str ) | ( function )

Inputs a \(ZG\)-resolution \(R\) and \(ZH\)-resolution \(S\). It outputs a \(ZD\)-resolution for the direct product \(D=G x H\).

If \(G\) and \(H\) lie in a common group \(K\), and if they commute and have trivial intersection, then an optional third variable \(str\)="internal" can be used. This will force \(D\) to be the subgroup \(GH\) in \(K\).

Examples: 1

##### 5.1-14 ResolutionExtension

`‣ ResolutionExtension`( g, R, S ) | ( function )

`‣ ResolutionExtension`( g, R, S, str ) | ( function )

`‣ ResolutionExtension`( g, R, S, str, GmapE ) | ( function )

Inputs a surjective group homomorphism \(g:E \longrightarrow G\) with kernel \(N\). It also inputs a \(ZN\)-resolution \(R\) and a \(ZG\)-resolution \(S\). It returns a \(ZE\)-resolution. The groups \(E\) and \(G\) can be infinite.

If an optional fourth argument \(str\)is set equal to "TestFiniteness" then the groups \(N\) and \(G\) will be tested to see if they are finite. If they are finite then some speed saving routines will be invoked. One can also set \(str\)="NoTest".

If the homomorphism \(g\) is such that the GAP function \(PreImagesElement(g,x)\) doesn't work, then a function \(GmapE()\) should be included as a fifth input. For any \(x\) in \(G\) this function should return an element \(GmapE(x)\) in \(E\) which gets mapped onto \(x\) by \(g\).

The contracting homotopy on the \(ZE\)-resolution has not yet been fully implemented for infinite groups!

Examples: 1 , 2

##### 5.1-15 ResolutionFiniteDirectProduct

`‣ ResolutionFiniteDirectProduct`( R, S ) | ( function )

`‣ ResolutionFiniteDirectProduct`( R, S, str ) | ( function )

Inputs a \(ZG\)-resolution \(R\) and \(ZH\)-resolution \(S\) where \(G\) and \(H\) are finite groups. It outputs a \(ZD\)-resolution for the direct product \(D=G×H\).

If \(G\) and \(H\) lie in a common group \(K\), and if they commute and have trivial intersection, then an optional third variable \(str\)="internal" can be used. This will force \(D\) to be the subgroup \(GH\) in \(K\).

Examples:

##### 5.1-16 ResolutionFiniteExtension

`‣ ResolutionFiniteExtension`( gensE, gensG, R, n ) | ( function )

`‣ ResolutionFiniteExtension`( gensE, gensG, R, n, true ) | ( function )

`‣ ResolutionFiniteExtension`( gensE, gensG, R, n, false, S ) | ( function )

Inputs: a set \(gensE\) of generators for a finite group \(E\); a set \(gensG\) equal to the image of \(gensE\) in a quotient group \(G\) of \(E\); a \(ZG\)-resolution \(R\) up to dimension at least \(n\); a positive integer \(n\). It uses the \(TwistedTensorProduct()\) construction to return \(n\) terms of a \(ZE\)-resolution.

The function has an optional fourth argument which, when set equal to "true", invokes tietze reductions in the construction of a resolution for the kernel of \(E \longrightarrow G\).

If a \(ZN\)-resolution \(S\) is available, where \(N\) is the kernel of the quotient \(E \longrightarrow G\), then this can be incorporated into the computations using an optional fifth argument.

Examples: 1 , 2

##### 5.1-17 ResolutionFiniteGroup

`‣ ResolutionFiniteGroup`( gens, n ) | ( function )

`‣ ResolutionFiniteGroup`( gens, n, true ) | ( function )

`‣ ResolutionFiniteGroup`( gens, n, false, p ) | ( function )

`‣ ResolutionFiniteGroup`( gens, n, false, 0, str ) | ( function )

Inputs a set \(gens\) of generators for a finite group \(G\) and a positive integer \(n\). It outputs \(n\) terms of a \(ZG\)-resolution.

The function has an optional third argument which, when set equal to \(true\), invokes tietze reductions in the construction of the resolution.

The function has an optional fourth argument which, when set equal to a prime \(p\), records the fact that the resolution will only be used for mod \(p\) calculations. This could speed up subsequent constructions.

The function has an optional fifth argument \(str\) which, when set equal to "extendible", returns a resolution whose length can be increased using the command R!.extend() .

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

##### 5.1-18 ResolutionFiniteSubgroup

`‣ ResolutionFiniteSubgroup`( R, K ) | ( function )

`‣ ResolutionFiniteSubgroup`( R, gensG, gensK ) | ( function )

Inputs a \(ZG\)-resolution for a finite group \(G\) and a subgroup \(K\) of index \(|G:K|\). It returns a free \(ZK\)-resolution whose \(ZK\)-rank is \(|G:K|\) times the \(ZG\)-rank in each dimension.

Generating sets \(gensG\), \(gensK\) for \(G\) and \(K\) can also be input to the function (though the method does not depend on a choice of generators).

This \(ZK\)-resolution is not reduced. ie. it has more than one generator in dimension \(0\).

Examples: 1 , 2 , 3

##### 5.1-19 ResolutionGraphOfGroups

`‣ ResolutionGraphOfGroups`( D, n ) | ( function )

`‣ ResolutionGraphOfGroups`( D, n, L ) | ( function )

Inputs a graph of groups \(D\) and a positive integer \(n\). It returns \(n\) terms of a free \(ZG\)-resolution for the fundamental group \(G\) of \(D\).

An optional third argument \(L=[R_1 , \ldots , R_t]\) can be used to list (in any order) free resolutions for some/all of the vertex and edge groups in \(D\). If for some vertex or edge group no resolution is listed in \(L\) then the function \(ResolutionFiniteGroup()\) will be used to try to construct the resolution.

The \(ZG\)-resolution is usually not reduced. i.e. it has more than one generator in dimension 0.

The contracting homotopy on the \(ZG\)-resolution has not yet been implemented! Furthermore, the group \(G\) is currently returned only as a finitely presented group (without any method for solving the word problem).

Examples: 1 , 2 , 3

##### 5.1-20 ResolutionNilpotentGroup

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

`‣ ResolutionNilpotentGroup`( G, n, str ) | ( function )

Inputs a nilpotent group \(G\) and positive integer \(n\). It returns \(n\) terms of a free \(ZG\)-resolution. The resolution is computed using a divide-and-conquer technique involving the lower central series.

This function can be applied to infinite groups \(G\). For finite groups the function \(ResolutionNormalSeries()\) probably gives better results.

If an optional third argument \(str\) is set equal to "TestFiniteness" then the groups \(N\) and \(G\) will be tested to see if they are finite. If they are finite then some speed saving routines will be invoked.

The contracting homotopy on the \(ZE\)-resolution has not yet been fully implemented for infinite groups.

Examples: 1 , 2 , 3 , 4

##### 5.1-21 ResolutionNormalSeries

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

`‣ ResolutionNormalSeries`( L, n, true ) | ( function )

`‣ ResolutionNormalSeries`( L, n, false, p ) | ( function )

Inputs a positive integer \(n\) and a list \(L = [L_1 , ..., L_k]\) of normal subgroups \(L_i\) of a finite group \(G\) satisfying \(G = L_1\) > \(L2\) >\( \ldots \) >\( L_k\). Alternatively, \(L = [gensL_1, ... gensL_k]\) can be a list of generating sets for the \(L_i\) (and these particular generators will be used in the construction of resolutions). It returns a \(ZG\)-resolution by repeatedly using the function \(ResolutionFiniteExtension()\).

The function has an optional third argument which, if set equal to true, invokes tietze reductions in the construction of resolutions.

The function has an optional fourth argument which, if set equal to p > 0, produces a resolution which is only valid for mod \(p\) calculations.

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

##### 5.1-22 ResolutionPrimePowerGroup

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

`‣ ResolutionPrimePowerGroup`( G, n, p ) | ( function )

Inputs a \(p\)-group \(P\) and integer \(n\)>\(0\). It uses GAP's standard linear algebra functions over the field \(F\) of p elements to construct a free \(FP\)-resolution for mod \(p\) calculations only. The resolution is minimal - meaning that the number of generators of \(R_n\) equals the rank of \(H_n(P,F)\).

The function can also be used to obtain a free non-minimal \(FG\)-resolution of a small group \(G\) of non-prime-power order. In this case the prime \(p\) must be entered as the third input variable. (In the non-prime-power case the algorithm is naive and not very good.)

Examples: 1 , 2 , 3 , 4 , 5

##### 5.1-23 ResolutionSmallFpGroup

`‣ ResolutionSmallFpGroup`( G, n ) | ( function )

`‣ ResolutionSmallFpGroup`( G, n, p ) | ( function )

Inputs a small finitely presented group \(G\) and an integer \(n\)>\(0\). It returns \(n\) terms of a \(ZG\)-resolution which, in dimensions 1 and 2, corresponds to the given presentation for \(G\). The method returns no contracting homotopy for the resolution.

The function has an optional fourth argument which, when set equal to a prime \(p\), records the fact that the resolution will only be used for mod \(p\) calculations. This could speed up subsequent constructions.

This function was written by Irina Kholodna.

Examples: 1 , 2

##### 5.1-24 ResolutionSubgroup

`‣ ResolutionSubgroup`( R, K ) | ( function )

Inputs a \(ZG\)-resolution for an (infinite) group \(G\) and a subgroup \(K\) of finite index \(|G:K|\). It returns a free \(ZK\)-resolution whose \(ZK\)-rank is \(|G:K|\) times the \(ZG\)-rank in each dimension.

If \(G\) is finite then the function \(ResolutionFiniteSubgroup(R,G,K)\) will probably work better. In particular, resolutions from this function probably won't work with the function \(EquivariantChainMap()\). This \(ZK\)-resolution is not reduced. i.e. it has more than one generator in dimension 0.

Examples: 1 , 2 , 3

##### 5.1-25 ResolutionSubnormalSeries

`‣ ResolutionSubnormalSeries`( L, n ) | ( function )

Inputs a positive integer n and a list \(L = [L_1 , \ldots , L_k]\) of subgroups \(L_i\) of a finite group \(G=L_1\) such that \(L_1\) > \(L2 \ldots \) > \(L_k\) is a subnormal series in \(G\) (meaning that each \(L_{i+1}\) must be normal in \(L_i\)). It returns a \(ZG\)-resolution by repeatedly using the function \(ResolutionFiniteExtension()\).

If \(L\) is a series of normal subgroups in \(G\) then the function \(ResolutionNormalSeries(L,n)\) will possibly work more efficiently.

Examples: 1 , 2

##### 5.1-26 TwistedTensorProduct

`‣ TwistedTensorProduct`( R, S, EhomG, GmapE, NhomE, NEhomN, EltsE, Mult, InvE ) | ( function )

Inputs a \(ZG\)-resolution \(R\), a \(ZN\)-resolution \(S\), and other data relating to a short exact sequence \(1 \longrightarrow N \longrightarrow E \longrightarrow G \longrightarrow 1\). It uses a perturbation technique of CTC Wall to construct a \(ZE\)-resolution \(F\). Both \(G\) and \(N\) could be infinite. The "length" of \(F\) is equal to the minimum of the "length"s of \(R\) and \(S\). The resolution \(R\) needs no contracting homotopy if no such homotopy is requied for \(F\).

Examples: 1

##### 5.1-27 ConjugatedResolution

`‣ ConjugatedResolution`( R, x ) | ( function )

Inputs a ZG-resoluton \(R\) and an element \(x\) from some group containing \(G\). It returns a \(ZG^x\)-resolution \(S\) where the group \(G^x\) is the conjugate of \(G\) by \(x\). (The component \(S!.elts\) will be a pseudolist rather than a list.)

Examples:

##### 5.1-28 RecalculateIncidenceNumbers

`‣ RecalculateIncidenceNumbers`( R ) | ( function )

Inputs a ZG-resoluton \(R\) which arises as the cellular chain complex of a regular CW-complex. (Thus the boundary of any cell is a list of distinct cells.) It recalculates the incidence numbers for \(R\). If it is applied to a resolution that is not regular then a wrong answer may be returned.

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