Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 418346<Chapter><Heading>Resolutions of the ground ring</Heading>123<Table Align="|l|" >45<Row>6<Item>7<Index>TietzeReducedResolution</Index>8<C>TietzeReducedResolution(R)</C>9<P/>1011Inputs a <M>\mathbb ZG</M>-resolution <M>R</M> and returns a <M>\mathbb ZG</M>-resolution <M>S</M> which is obtained from <M>R</M> by applying "Tietze like operations" in each dimension. The hope is that <M>S</M> has fewer free generators than <M>R</M>.12</Item>13</Row>1415<Row>16<Item>17<Index> ResolutionArithmeticGroup</Index>18<C>ResolutionArithmeticGroup("PSL(4,Z)",n)</C>19<P/>20Inputs a positive integer <M>n</M> and one of the following strings: <Br/><Br/>21"SL(2,Z)" , "SL(3,Z)" , "PGL(3,Z[i])" , "PGL(3,Eisenstein_Integers)" ,22"PSL(4,Z)" , "PSL(4,Z)_b" , "PSL(4,Z)_c" , "PSL(4,Z)_d" ,23"Sp(4,Z)"24<Br/><Br/>25or the string <Br/><Br/>26"GL(2,O(-d))"27<Br/><Br/>28for d=1, 2, 3, 5, 6, 7, 10, 11, 13, 14, 15, 17, 19, 21, 22, 23, 26, 4329<Br/><Br/>30or the string <Br/><Br/>31"SL(2,O(-d))"32<Br/><Br/>33for d=2, 3, 5, 7, 10, 11, 13, 14, 15, 17, 19, 21, 22, 23, 26, 43, 67, 16334<Br/><Br/>35or the string <Br/><Br/>36"SL(2,O(-d))_a"37<Br/><Br/>38for d=2, 7, 11, 19.39<Br/><Br/>4041It42returns <M>n</M> terms of a free ZG-resolution for the group <M>G</M> described by the string. Here O(-d) denotes the ring of integers of Q(sqrt(-d)) and43subscripts _a, _b , _c , _d denote alternative non-free ZG-resolutions for a given group G.<Br/><Br/>4445Data for the first list of resolutions was provided provided by <B>Mathieu Dutour</B>. Data for GL(2,O(-d)) was provided by <B>Sebastian Schoenennbeck</B>. Data for SL(2,O(-d)) was provided by<B>Sebastian Schoennenbeck</B> for d <= 26 and by <B>Alexander Rahm</B> for d>26 and for the alternative complexes.</Item>46</Row>474849<Row>50<Item>51<Index>FreeGResolution</Index>52<C>FreeGResolution(P,n)</C>53<C>FreeGResolution(P,n,p)</C>54<P/>5556Inputs a non-free <M>ZG</M>-resolution <M>P</M> with finite stabilizer groups,57and58a positive integer <M>n</M>. It returns a free59<M>ZG</M>-resolution of length equal to the minimum of n and the length of <M>P</M>.60If one requires only a mod <M>p</M> resolution then the prime <M>p</M> can be entered as an optional third argument.6162<P/> The free resolution is returned without a contracting homotopy.63</Item>64</Row>6566<Row>67<Item>68<Index>ResolutionGTree</Index>69<C>ResolutionGTree(P,n)</C>70<P/>7172Inputs a non-free <M>ZG</M>-resolution <M>P</M> of dimension 1 (i.e. a G-tree)73with finite stabilizer groups,74and75a positive integer <M>n</M>. It returns a free76<M>ZG</M>-resolution of length equal to n.7778<P/> If <M>P</M> has a contracting homotopy then the free resolution is returned with a contracting homotopy.7980<P/> This function was written by <B> Bui Anh Tuan</B>.81</Item>82</Row>8384<Row>85<Item>86<Index>ResolutionSL2Z</Index>87<C>ResolutionSL2Z(p,n)</C>88<P/>8990Inputs positive91integers <M>m, n</M> and92returns <M>n</M> terms of a93<M>ZG</M>-resolution for the group <M>G=SL(2,Z[1/m])</M> .94<P/>9596<P/> This function is joint work with <B>Bui Anh Tuan</B>.97</Item>98</Row>99100101102103<Row>104<Item>105<Index>ResolutionAbelianGroup</Index>106<C>ResolutionAbelianGroup(L,n)</C>107<C>ResolutionAbelianGroup(G,n)</C>108<P/>109110Inputs a list <M>L:=[m_1,m_2, ..., m_d]</M> of nonnegative integers,111and a positive integer <M>n</M>. It returns <M>n</M> terms of a112<M>{\mathbb Z}G</M>-resolution for the abelian group <M>G=Z_{L[1]}+Z_{L[2]}+���+{Z_L[d]}</M> .113<P/>114If <M>G</M> is finite then the first argument can also be the abelian115group <M>G</M> itself.116</Item>117</Row>118119<Row>120<Item>121<Index>ResolutionAlmostCrystalGroup</Index>122<C>ResolutionAlmostCrystalGroup(G,n)</C>123<P/>124125Inputs a positive integer <M>n</M> and an almost crystallographic pcp group126<M>G</M>. It returns <M>n</M> terms of a free <M>ZG</M>-resolution.127(A group is almost crystallographic if it is nilpotent-by-finite and has no128non-trivial finite normal subgroup. Such groups can be constructed using the129ACLIB package.)130</Item>131</Row>132133<Row>134<Item>135<Index>ResolutionAlmostCrystalQuotient</Index>136<C>ResolutionAlmostCrystalQuotient(G,n,c)</C>137<C>ResolutionAlmostCrystalQuotient(G,n,c,false)</C>138<P/>139140An almost crystallographic group <M>G</M> is an extension of a finite group141<M>P</M> by a nilpotent group <M>T</M>, and has no non-trivial finite142normal subgroup. We define the relative lower central series by setting143<M>T_1=T</M> and <M>T_{i+1}=[T_i,G]</M>.<P/>144145This function inputs an almost crystallographic group <M>G</M> together146with positive integers <M>n</M> and <M>c</M>. It returns <M>n</M> terms of147a free <M>ZQ</M>-resolution <M>R</M> for the group <M>Q=G/T_c</M> .<P/>148149In addition to the usual components, the resolution <M>R</M> has the150component <M>R.quotientHomomorphism</M> which gives the quotient151homomorphism <M>G \longrightarrow Q </M>.<P/>152153If a fourth optional variable is set equal to "false" then the function154omits to test whether <M>Q</M> is finite and a "more canonical"155resolution is constructed.156</Item>157</Row>158159<Row>160<Item>161<Index>ResolutionArtinGroup</Index>162<C>ResolutionArtinGroup(D,n)</C>163<P/>164Inputs a Coxeter diagram <M>D</M> and an integer <M>n>1</M>. It returns165<M>n</M> terms of a free <M>ZG</M>-resolution <M>R</M> where <M>G</M> is166the Artin monoid associated to <M>D</M>. It is conjectured that167<M>R</M> is also a free resolution for the Artin group <M>G</M>.168The conjecture is known to hold in169<URL Text="certain cases">../www/SideLinks/About/aboutArtinGroups.html</URL>.<P/>170171<M>G=R.group</M> is infinite and returned as a finitely presented group.172The list <M>R.elts</M> is a partial listing of the elements of <M>G</M>173which grows as <M>R</M> is used. Initially <M>R.elts</M> is empty and then,174any time the boundary of a resolution generator is called, <M>R.elts</M>175is updated to include elements of <M>G</M> involved in the boundary.<P/>176177The contracting homotopy on <M>R</M> has not yet been implemented!178Furthermore, the group <M>G</M> is currently returned only as a finitely179presented group (without any method for solving the word problem).180</Item>181</Row>182183<Row>184<Item>185<Index> ResolutionAsphericalPresentation</Index>186<C>ResolutionAsphericalPresentation(F,R,n)</C>187<P/>188Inputs a free group <M>F</M>, a set <M>R</M> of words in <M>F</M>189which constitute an aspherical presentation for a group <M>G</M>, and a190positive integer <M>n</M>. (Asphericity can be a difficult property to191verify. The function <M>IsAspherical(F,R)</M> could be of help.)<P/>192193The function returns n terms of a free <M>ZG</M>-resolution <M>R</M>194which has generators in dimensions &tlt; 3 only.195No contracting homotopy on196<M>R</M> will be returned.197</Item>198</Row>199200<Row>201<Item>202<Index>ResolutionBieberbachGroup (HAPcryst)</Index>203<C>ResolutionBieberbachGroup( G ) </C>204<C>ResolutionBieberbachGroup( G, v ) </C>205<P/>206Inputs a torsion free crystallographic group <M>G</M>, also known as a Bieberbach group, represented using207AffineCrystGroupOnRight as208in the GAP package Cryst. It also optionally inputs a choice of209vector <M>v</M> in the euclidean space <M>R^n</M>210on which <M>G</M> acts freely. The function returns <M>n+1</M> terms of211the free <M>ZG</M>-resolution of <M>Z</M> arising as the212cellular chain complex of the tesselation of <M>R^n</M>213by the Dirichlet-Voronoi fundamental domain determined by <M>v</M>.214215<P/>216This function is part of the217HAPcryst package written by <B>Marc Roeder</B> and thus requires the HAPcryst package to be loaded.218219220<P/>221The function requires the use of Polymake software.222</Item>223</Row>224225<Row>226<Item>227<Index>ResolutionCoxeterGroup</Index>228<C>ResolutionCoxeterGroup(D,n)</C>229<P/>230Inputs a Coxeter diagram <M>D</M> and an integer <M>n>1</M>. It returns231<M>k</M> terms of a free <M>ZG</M>-resolution <M>R</M> where <M>G</M> is232the Coxeter group associated to <M>D</M>. Here <M>k</M>233is the maximum of n and the number of vertices in the Coxeter diagram.234At present the implementation is only for finite Coxeter groups and the group <M>G</M> is returned as a permutation group.235236The contracting homotopy on <M>R</M> has not yet been implemented!237</Item>238</Row>239240<Row>241<Item>242<Index>ResolutionDirectProduct </Index>243<C>ResolutionDirectProduct(R,S) </C>244<C>ResolutionDirectProduct(R,S,"internal")</C>245<P/>246247Inputs a <M>ZG</M>-resolution <M>R</M> and <M>ZH</M>-resolution <M>S</M>.248It outputs a <M>ZD</M>-resolution for the direct product <M>D=G x H</M>.<P/>249250If <M>G</M> and <M>H</M> lie in a common group <M>K</M>, and if they251commute and have trivial intersection, then an optional third variable252"internal" can be used. This will force <M>D</M> to be the subgroup253<M>GH</M> in <M>K</M>.254</Item>255</Row>256257<Row>258<Item>259<Index>ResolutionExtension </Index>260<C>ResolutionExtension(g,R,S) </C>261<C>ResolutionExtension(g,R, S,"TestFiniteness")</C>262<C>ResolutionExtension(g,R,S,"NoTest",GmapE)</C>263<P/>264Inputs a surjective group homomorphism <M>g:E \longrightarrow G</M>265with kernel <M>N</M>. It also inputs a <M>ZN</M>-resolution <M>R</M>266and a <M>ZG</M>-resolution <M>S</M>. It returns a <M>ZE</M>-resolution.267The groups <M>E</M> and <M>G</M> can be infinite.<P/>268269If an optional fourth argument is set equal to "TestFiniteness" then the270groups <M>N</M> and <M>G</M> will be tested to see if they are finite. If271they are finite then some speed saving routines will be invoked.<P/>272273If the homomorphism <M>g</M> is such that the GAP function274<M>PreImagesElement(g,x)</M> doesn't work, then a function <M>GmapE()</M>275should be included as a fifth input. For any <M>x</M> in <M>G</M> this276function should return an element <M>GmapE(x)</M> in <M>E</M> which277gets mapped onto <M>x</M> by <M>g</M>.<P/>278279The contracting homotopy on the <M>ZE</M>-resolution has not yet been280fully implemented for infinite groups!281</Item>282</Row>283284285<Row>286<Item>287<Index>ResolutionFiniteDirectProduct</Index>288<C>ResolutionFiniteDirectProduct(R,S) </C>289<C>ResolutionFiniteDirectProduct(R,S, "internal")</C>290<P/>291292Inputs a <M>ZG</M>-resolution <M>R</M> and <M>ZH</M>-resolution293<M>S</M> where <M>G</M> and <M>H</M> are finite groups. It outputs a294<M>ZD</M>-resolution for the direct product <M>D=G�H</M>.<P/>295296If <M>G</M> and <M>H</M> lie in a common group <M>K</M>, and if they297commute and have trivial intersection, then an optional third variable298"internal" can be used. This will force <M>D</M> to be the subgroup299<M>GH</M> in <M>K</M>.300</Item>301</Row>302303304<Row>305<Item>306<Index>ResolutionFiniteExtension</Index>307<C>ResolutionFiniteExtension(gensE,gensG,R,n)</C>308<C>ResolutionFiniteExtension(gensE,gensG,R,n,true) </C>309<C>ResolutionFiniteExtension(gensE,gensG,R,n,false,S) </C>310<P/>311312Inputs: a set <M>gensE</M> of generators for a finite group313<M>E</M>; a set <M>gensG</M> equal to the image of <M>gensE</M> in314a quotient group <M>G</M> of <M>E</M>; a <M>ZG</M>-resolution315<M>R</M> up to dimension at least <M>n</M>; a positive integer <M>n</M>.316It uses the <M>TwistedTensorProduct()</M> construction to return317<M>n</M> terms of a <M>ZE</M>-resolution.<P/>318319The function has an optional fourth argument which, when set equal to "true",320invokes tietze reductions in the construction of a resolution for the kernel of <M>E \longrightarrow G</M>.<P/>321322If a <M>ZN</M>-resolution <M>S</M> is available, where <M>N</M> is the323kernel of the quotient <M>E \longrightarrow G</M>, then this can be incorporated into the computations using an optional fifth argument.324</Item>325</Row>326327<Row>328<Item>329<Index>ResolutionFiniteGroup</Index>330<C>ResolutionFiniteGroup(gens,n)</C>331<C>ResolutionFiniteGroup(gens,n,true)</C>332<C>ResolutionFiniteGroup(gens,n,false,p) </C>333<C>ResolutionFiniteGroup(gens,n,false,0,"extendible") </C>334<P/>335336Inputs a set <M>gens</M> of generators for a finite group <M>G</M> and337a positive integer <M>n</M>. It outputs <M>n</M> terms of a338<M>ZG</M>-resolution.<P/>339340The function has an optional third argument which, when set equal to341<M>true</M>, invokes tietze reductions in the construction of the342resolution. <P/>343344The function has an optional fourth345argument which, when set equal to a prime <M>p</M>, records the346fact that the resolution will only be used for mod <M>p</M>347calculations. This could speed up subsequent constructions.348<P/>349350The function has an optional fifth351argument which, when set equal to "extendible", returns a resolution whose length can be increased using the command R!.extend() .352353</Item></Row>354355356357<Row>358<Item>359<Index> ResolutionFiniteSubgroup</Index>360<C>ResolutionFiniteSubgroup(R,K)</C>361<C>ResolutionFiniteSubgroup(R,gensG,gensK)</C>362<P/>363364Inputs a <M>ZG</M>-resolution for a finite group <M>G</M> and a subgroup365<M>K</M> of index <M>|G:K|</M>. It returns a free366<M>ZK</M>-resolution whose <M>ZK</M>-rank is <M>|G:K|</M>367times the <M>ZG</M>-rank368in each dimension.<P/>369370Generating sets <M>gensG</M>, <M>gensK</M> for <M>G</M> and <M>K</M>371can also be input to the function (though the method does not depend on372a choice of generators).<P/>373374This <M>ZK</M>-resolution is not reduced. ie. it has more than one375generator in dimension <M>0</M>.376</Item>377</Row>378379<Row>380<Item>381<Index>ResolutionGraphOfGroups </Index>382<C>ResolutionGraphOfGroups(D,n) </C>383<C>ResolutionGraphOfGroups(D,n,L) </C>384<P/>385386Inputs a graph of groups <M>D</M> and a positive integer <M>n</M>.387It returns <M>n</M> terms of a free <M>ZG</M>-resolution for388the fundamental group <M>G</M> of <M>D</M>.<P/>389390An optional third argument <M>L=[R_1 , \ldots , R_t]</M>391can be used to list (in any order) free resolutions for some/all of392the vertex and edge groups in <M>D</M>.393If for some vertex or edge group no resolution is listed in <M>L</M>394then the function <M>ResolutionFiniteGroup()</M> will be used to try395to construct the resolution. <P/>396397The <M>ZG</M>-resolution is usually not reduced.398i.e. it has more than one generator in dimension 0.<P/>399400401The contracting homotopy on the <M>ZG</M>-resolution has402not yet been implemented! Furthermore, the group <M>G</M>403is currently returned only as a finitely presented group404(without any method for solving the word problem).405</Item>406</Row>407408409<Row>410<Item>411<Index>ResolutionNilpotentGroup </Index>412<C>ResolutionNilpotentGroup(G,n) </C>413<C>ResolutionNilpotentGroup(G,n,"TestFiniteness")</C>414<P/>415416Inputs a nilpotent group <M>G</M> and positive integer <M>n</M>.417It returns <M>n</M> terms of a free <M>ZG</M>-resolution.418The resolution is computed using a divide-and-conquer419technique involving the lower central series.<P/>420421This function can be applied to infinite groups <M>G</M>.422For finite groups the function <M>ResolutionNormalSeries()</M>423probably gives better results.<P/>424425If an optional third argument is set equal to426"TestFiniteness" then the groups <M>N</M> and <M>G</M>427will be tested to see if they are finite. If they are finite then428some speed saving routines will be invoked.<P/>429430The contracting homotopy on the <M>ZE</M>-resolution has not431yet been fully implemented for infinite groups.432</Item>433</Row>434435<Row>436<Item>437<Index> ResolutionNormalSeries </Index>438<C>ResolutionNormalSeries(L,n) </C>439<C>ResolutionNormalSeries(L,n,true)</C>440<C>ResolutionNormalSeries(L,n,false,p)</C>441<P/>442443Inputs a positive integer <M>n</M> and a list444<M>L = [L_1 , ..., L_k]</M> of normal subgroups <M>L_i</M>445of a finite group <M>G</M> satisfying <M>G = L_1</M> &tgt; <M>L2</M>446&tgt;<M> \ldots </M>447&tgt;<M> L_k</M>. Alternatively, <M>L = [gensL_1, ... gensL_k]</M>448can be a list of generating sets for the <M>L_i</M>449(and these particular generators will be used in the450construction of resolutions). It returns a <M>ZG</M>-resolution451by repeatedly using the function <M>ResolutionFiniteExtension()</M>.<P/>452453The function has an optional third argument which, if set equal to true,454invokes tietze reductions in the construction of resolutions.<P/>455456The function has an optional fourth argument which,457if set equal to p &tgt; 0,458produces a resolution which is only valid for mod <M>p</M> calculations.459</Item>460</Row>461462<Row>463<Item>464<Index>ResolutionPrimePowerGroup </Index>465<C>ResolutionPrimePowerGroup(P,n) </C>466<C>ResolutionPrimePowerGroup(G,n,p)</C>467<P/>468469Inputs a <M>p</M>-group <M>P</M> and integer <M>n</M>&tgt;<M>0</M>.470It uses GAP's standard linear algebra functions over the field <M>F</M>471of p elements472to construct a free <M>FP</M>-resolution for mod <M>p</M>473calculations only. The resolution is minimal -474meaning that the number of generators of <M>R_n</M>475equals the rank of <M>H_n(P,F)</M>.476<P/>477478The function can also be used to obtain a free non-minimal <M>FG</M>-resolution479of a small group <M>G</M> of non-prime-power order. In this case the prime <M>p</M> must be entered as480the third input variable. (In the non-prime-power case the algorithm is naive and not very good.)481</Item>482</Row>483484<Row>485<Item>486<Index>ResolutionSmallFpGroup </Index>487<C>ResolutionSmallFpGroup(G,n) </C>488<C>ResolutionSmallFpGroup(G,n,p) </C>489<P/>490491Inputs a small finitely presented group <M>G</M> and an integer492<M>n</M>&tgt;<M>0</M>. It returns <M>n</M> terms of a <M>ZG</M>-resolution493which, in dimensions 1 and 2, corresponds to the494given presentation for <M>G</M>.495The method returns no contracting homotopy for the resolution.<P/>496497The function has an optional fourth argument which,498when set equal to a prime <M>p</M>,499records the fact that the resolution will only be used for mod <M>p</M>500calculations. This could speed up subsequent constructions.501<P/>502503This function was written by Irina Kholodna.504</Item>505</Row>506507<Row>508<Item>509<Index>ResolutionSubgroup</Index>510<C>ResolutionSubgroup(R,K)</C>511<P/>512513Inputs a <M>ZG</M>-resolution for an (infinite) group <M>G</M> and a514subgroup <M>K</M> of finite index <M>|G:K|</M>. It returns a free515<M>ZK</M>-resolution whose <M>ZK</M>-rank is <M>|G:K|</M> times516the <M>ZG</M>-rank in each dimension.<P/>517518If <M>G</M> is finite then the function519<M>ResolutionFiniteSubgroup(R,G,K)</M> will probably work better.520In particular, resolutions from this function521probably won't work with the function <M>EquivariantChainMap()</M>.522523This <M>ZK</M>-resolution is not reduced. i.e.524it has more than one generator in dimension 0.525</Item>526</Row>527528529<Row>530<Item>531<Index>ResolutionSubnormalSeries </Index>532<C>ResolutionSubnormalSeries(L,n) </C>533<P/>534535Inputs a positive integer n and a list <M>L = [L_1 , \ldots , L_k]</M>536of subgroups <M>L_i</M> of a finite group <M>G=L_1</M> such that537<M>L_1</M> &tgt; <M>L2 \ldots </M> &tgt; <M>L_k</M> is a subnormal series in538<M>G</M> (meaning that each <M>L_{i+1}</M> must be normal in <M>L_i</M>).539It returns a <M>ZG</M>-resolution by repeatedly using the function540<M>ResolutionFiniteExtension()</M>.<P/>541542If <M>L</M> is a series of normal subgroups in <M>G</M>543then the function <M>ResolutionNormalSeries(L,n)</M>544will possibly work more efficiently.545</Item>546</Row>547548<Row>549<Item>550<Index> TwistedTensorProduct</Index>551<C>TwistedTensorProduct(R,S,EhomG,GmapE,NhomE,NEhomN,EltsE,Mult,InvE)</C>552<P/>553554Inputs a <M>ZG</M>-resolution <M>R</M>, a <M>ZN</M>-resolution555<M>S</M>, and other data relating to a short exact sequence556<M>1 \longrightarrow N \longrightarrow557E \longrightarrow558G \longrightarrow 1</M>.559It uses a perturbation technique of CTC Wall to construct a560<M>ZE</M>-resolution <M>F</M>. Both <M>G</M> and <M>N</M>561could be infinite. The "length" of <M>F</M> is equal to the562minimum of the "length"s of <M>R</M> and <M>S</M>.563The resolution <M>R</M> needs no contracting homotopy if no such homotopy564is requied for <M>F</M>.565</Item>566</Row>567568<Row>569<Item>570<Index> ConjugatedResolution</Index>571<C>ConjugatedResolution(R,x)</C>572<P/>573574Inputs a ZG-resoluton <M>R</M> and an element <M>x</M> from some group containing <M>G</M>. It returns a <M>ZG^x</M>-resolution <M>S</M> where the group <M>G^x</M>575is the conjugate of <M>G</M> by <M>x</M>. (The component <M>S!.elts</M> will be a pseudolist rather than a list.)576</Item>577</Row>578579580<Row>581<Item>582<Index> RecalculateIncidenceNumbers</Index>583<C>RecalculateIncidenceNumbers(R)</C>584<P/>585586Inputs a ZG-resoluton <M>R</M> 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 <M>R</M>. If it is applied to a resolution that is not regular then a wrong answer may be returned.587</Item>588</Row>589590</Table>591</Chapter>592593594595