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> Homology and cohomology groups</Heading>12<Table Align="|l|" >345<Row>6<Item> <Index> Cohomology </Index>7<C>Cohomology(X,n) </C>8<P/>9Inputs either a cochain complex <M>X=C</M> (or G-cocomplex C)10or a cochain map <M>X=(C \longrightarrow11D)</M> in characteristic <M>p</M> together with a non-negative intereg <M>n</M>.121314<List>15<Item>If <M>X=C</M> and <M>p=0</M> then the torsion coefficients of <M>H^n(C)</M>16are retuned. If <M>X=C</M> and <M>p</M> is prime then the dimension of <M>H^n(C)</M>17are retuned. </Item>18<Item>If <M>X=(C \longrightarrow19D)</M> then the induced homomorphism <M>H^n(C)\longrightarrow20H^n(D)</M> is returned as a homomorphism21of finitely presented groups. </Item>22</List>23A <M>G</M>-cocomplex <M>C</M> can also be input. The cohomology groups of such a complex may not be abelian. <B>Warning:</B> in this case Cohomology(C,n) returns the abelian invariants of the <M>n</M>-th cohomology group of <M>C</M>.2425</Item>26</Row>2728<Row>29<Item> <Index> CohomologyModule </Index>30<C>CohomologyModule(C,n) </C>31<P/>32Inputs a <M>G</M>-cocomplex <M>C</M>33together with a non-negative integer <M>n</M>.34It returns the cohomology <M>H^n(C)</M> as a <M>G</M>-outer group.35If <M>C</M> was constructed from a resolution <M>R</M> by homing to an abelian36<M>G</M>-outer group <M>A</M> then, for each x in H:=CohomologyModule(C,n),37there is a function f:=H!.representativeCocycle(x) which is a38standard n-cocycle corresponding to the cohomology class x. (At present this works only for n=1,2,3.)394041</Item>42</Row>4344<Row>45<Item>46<Index>CohomologyPrimePart</Index>47<C>CohomologyPrimePart(C,n,p)</C>48<P/>4950Inputs a cochain complex <M>C</M> in characteristic 0,51a positive integer <M>n</M>, and a prime <M>p</M>. It returns a list of52those torsion coefficients of <M>H^n(C)</M> that are positive powers of <M>p</M>.5354The function uses the EDIM package by Frank Luebeck.55</Item>56</Row>575859<Row>60<Item>61<Index>GroupCohomology</Index>62<C>GroupCohomology(X,n) </C>63<C>GroupCohomology(X,n,p)</C>64<P/>6566Inputs a positive integer <M>n</M> and either67<List>68<Item> a finite group <M>X=G</M> </Item>69<Item> or a nilpotent Pcp-group <M>X=G</M> </Item>70<Item> or a space group <M>X=G</M> </Item>71<Item> or a list <M>X=D</M> representing a graph of groups</Item>72<Item>or a pair <M>X=["Artin",D]</M> where <M>D</M> is a Coxeter diagram representing an infinite Artin group <M>G</M>.</Item>73<Item>or a pair <M>X=["Coxeter",D]</M> where <M>D</M> is a Coxeter diagram representing a finite Coxeter group <M>G</M>.</Item>74</List>75It returns the torsion coefficients of the integral cohomology <M>H^n(G,Z)</M>.76<P/>7778There is an optional third argument which, when set equal to a prime <M>p</M>,79causes the function to return the the mod <M>p</M> cohomology <M>H^n(G,Z_p)</M>80as a list of length equal to its rank.81<P/>8283This function is a composite of more basic functions, and makes choices84for a number of parameters. For a particular group you would almost85certainly be better using the more basic functions and making the choices86yourself!87</Item>88</Row>8990<Row>91<Item>92<Index> GroupHomology</Index>93<C>GroupHomology(X,n)</C>94<C>GroupHomology(X,n,p)</C>95<P/>9697Inputs a positive integer <M>n</M> and either98<List>99<Item> a finite group <M>X=G</M> </Item>100<Item> or a nilpotent Pcp-group <M>X=G</M> </Item>101<Item> or a space group <M>X=G</M> </Item>102<Item> or a list <M>X=D</M> representing a graph of groups</Item>103<Item>or a pair <M>X=["Artin",D]</M> where <M>D</M> is a Coxeter diagram representing an infinite Artin group <M>G</M>.</Item>104<Item>or a pair <M>X=["Coxeter",D]</M> where <M>D</M> is a Coxeter diagram representing a finite Coxeter group <M>G</M>.</Item>105</List>106107It returns the torsion coefficients of the integral homology <M>H_n(G,Z)</M>.108<P/>109There is an optional third argument which, when set equal to a prime <M>p</M>,110causes the function to return the mod <M>p</M> homology <M>H_n(G,Z_p)</M>111as a list of lenth equal to its rank.112<P/>113This function is a composite of more basic functions,114and makes choices for a number of parameters.115For a particular group you would almost certainly be better116using the more basic functions and making the choices yourself!117</Item>118</Row>119120<Row>121<Item>122<Index> PersistentHomologyOfQuotientGroupSeries</Index>123<C>PersistentHomologyOfQuotientGroupSeries(S,n)</C>124<C>PersistentHomologyOfQuotientGroupSeries(S,n,p,Resolution_Algorithm)</C>125<P/>126127Inputs a positive integer <M>n</M> and a decreasing chain <M>S=[S_1, S_2, ..., S_k]</M> of normal subgroups in a finite <M>p</M>-group128<M>G=S_1</M>.129130It returns the bar code of the persistent mod <M>p</M> homology in degree <M>n</M> of the sequence of quotient homomorphisms131<M>G \rightarrow G/S_k \rightarrow G/S_{k-1} \rightarrow ... \rightarrow G/S_2 </M>. The bar code is returned as a matrix containing the dimensions of the images of the induced homology maps.132133<P/>134If one sets <M>p=0</M> then the integral persitent homology bar code is returned. This is a matrix whose entries are pairs of the lists: the list of abelian invariants of the images of the induced homology maps and the cokernels of the induced homology maps. (The matrix probably does not uniquely determine the induced homology maps.)135136<P/>137Non prime-power (and possibly infinite) groups <M>G</M> can also be handled; in this case the prime must be entered as a third argument, and the resolution algorithm (e.g. ResolutionNilpotentGroup) can be entered as a fourth argument. (The default algorithm is ResolutionFiniteGroup, so this must be changed for infinite groups.)138</Item>139</Row>140141<Row>142<Item>143<Index> PersistentCohomologyOfQuotientGroupSeries</Index>144<C>PersistentCohomologyOfQuotientGroupSeries(S,n)</C>145<C>PersistentCohomologyOfQuotientGroupSeries(S,n,p,Resolution_Algorithm)</C>146<P/>147148Inputs a positive integer <M>n</M> and a decreasing chain <M>S=[S_1, S_2, ..., S_k]</M> of normal subgroups in a finite <M>p</M>-group149<M>G=S_1</M>.150151It returns the bar code of the persistent mod <M>p</M> cohomology in degree <M>n</M> of the sequence of quotient homomorphisms152<M>G \rightarrow G/S_k \rightarrow G/S_{k-1} \rightarrow ... \rightarrow G/S_2 </M>. The bar code is returned as a matrix containing the dimensions of the images of the induced homology maps.153154<P/>155If one sets <M>p=0</M> then the integral persitent cohomology bar code is returned. This is a matrix whose entries are pairs of the lists: the list of abelian invariants of the images of the induced cohomology maps and the cokernels of the induced156cohomology maps. (The matrix probably does not uniquely determine the induced homology maps.)157158<P/>159Non prime-power (and possibly infinite) groups <M>G</M> can also be handled; in this case the prime must be entered as a third argument, and the resolution algorithm (e.g. ResolutionNilpotentGroup) can be entered as a fourth argument. (The default algorithm is ResolutionFiniteGroup, so this must be changed for infinite groups.)160161<P/>162(The implementation is possibly a little less efficient than that of the corresponding persistent homology function.)163164</Item>165</Row>166167<Row>168<Item>169<Index>UniversalBarCode</Index>170<C>UniversalBarCode("UpperCentralSeries",n,d)</C>171<C>UniversalBarCode("UpperCentralSeries",n,d,k)</C>172<P/>173174Inputs integers <M>n,d</M> that identify a prime power group G=SmallGroup(n,d), together with one of the strings "UpperCentralSeries",175LowerCentralSeries", "DerivedSeries", "UpperPCentralSeries", "LowerPCentralSeries".176The function returns a matrix of rational functions; the coefficients of <M>x^k</M> in their expansions yield the persistence matrix for the degree <M>k</M> homology with trivial mod p coefficients associated to the quotients of <M>G</M> by the terms of the given series.177178<P/>179If the additional integer argument <M>k</M> is supplied then the function returns the degree k homology persistence matrix.180</Item>181</Row>182183184<Row>185<Item>186<Index>PersistentHomologyOfSubGroupSeries</Index>187<C>PersistentHomologyOfSubGroupSeries(S,n)</C>188<C>PersistentHomologyOfSubGroupSeries(S,n,p,Resolution_Algorithm)</C>189<P/>190191Inputs a positive integer <M>n</M> and a decreasing chain <M>S=[S_1, S_2, ..., S_k]</M> of subgroups in a finite <M>p</M>-group192<M>G=S_1</M>.193194It returns the bar code of the persistent mod <M>p</M> homology in degree <M>n</M> of the sequence of inclusion195homomorphisms196<M>S_k \rightarrow S_{k-1} \rightarrow ... \rightarrow S_1=G </M>. The bar code is returned as a binary matrix.197<P/>198Non prime-power (and possibly infinite) groups <M>G</M> can also be handled; in this case the prime must be entered as a third argument, and the resolution algorithm (e.g. ResolutionNilpotentGroup) must be entered as a fourth argument.199</Item>200</Row>201202203204<Row>205<Item>206<Index> PersistentHomologyOfFilteredChainComplex </Index>207<C>PersistentHomologyOfFilteredChainComplex(C,n,p) </C>208<P/>209210Inputs a filtered chain complex <M>C</M> (of characteristic <M>0</M> or <M>p</M>) together with a positive integer <M>n</M> and prime <M>p</M>.211212It returns the bar code of the persistent mod <M>p</M> homology in degree <M>n</M> of the213filtered chain complex <M>C</M>.214(This function needs a more efficient implementation. Its fine as it stands for investigation in group homology, but not sufficiently efficient for the homology of large complexes arising in applied topology.)215216</Item>217</Row>218219220<Row>221<Item>222<C>PersistentHomologyOfCommutativeDiagramOfPGroups(D,n) </C>223<P/>224225Inputs a commutative diagram <M>D</M> of finite <M>p</M>-groups and a positive integer <M>n</M>. It226returns a list containing, for each homomorphism in the nerve of <M>D</M>,227a triple <M>[k,l,m]</M> where <M>k</M> is228the dimension of the source of the induced mod <M>p</M> homology map in degree <M>n</M>, <M>l</M> is the dimension of the image, and <M>m</M> is229the dimension of the cokernel.230</Item>231</Row>232233<Row>234<Item>235<Index>PersistentHomologyOfFilteredPureCubicalComplex </Index>236<C>PersistentHomologyOfFilteredPureCubicalComplex(M,n)</C>237<P/>238Inputs a filtered pure cubical complex <M>M</M> and a239non-negative integer <M>n</M>. It returns the degree <M>n</M> persistent240homology of <M> M</M> with rational coefficients.241</Item> </Row>242243244<Row>245<Item>246<Index> PersistentHomologyOfPureCubicalComplex</Index>247<C>PersistentHomologyOfPureCubicalComplex(L,n,p)</C>248<P/>249250Inputs a positive integer <M>n</M>, a prime <M>p</M> and an increasing chain <M>L=[L_1, L_2, ..., L_k]</M> of subcomplexes251in a pure cubical complex <M>L_k</M>.252253It returns the bar code of the persistent mod <M>p</M> homology in degree <M>n</M> of the sequence of inclusion254maps.255The bar code is returned as a matrix. (This function is extremely inefficient and it is better to use PersistentHomologyOFilteredfPureCubicalComplex.256<P/>257</Item>258</Row>259260<Row>261<Item>262<Index>ZZPersistentHomologyOfPureCubicalComplex</Index>263<C>ZZPersistentHomologyOfPureCubicalComplex(L,n,p)</C>264<P/>265266Inputs a positive integer <M>n</M>, a prime <M>p</M> and any sequence <M>L=[L_1, L_2, ..., L_k]</M> of subcomplexes267of some pure cubical complex.268269It returns the bar code of the zig-zag persistent mod <M>p</M> homology in degree <M>n</M> of the sequence of270maps <M>L_1 \rightarrow L_1 \cup L_2 \leftarrow L_2 \rightarrow L_2 \cup L_3 \leftarrow L_4 \rightarrow ... \leftarrow L_k</M>.271The bar code is returned as a matrix.272<P/>273</Item>274</Row>275276277<Row>278<Item>279<Index>RipsHomology </Index>280<C>RipsHomology(G,n)</C>281<C>RipsHomology(G,n,p)</C>282283<P/>284Inputs a graph <M>G</M>, a non-negative integer <M>n</M> (and optionally a prime number <M>p</M>). It returns the integral homology (or mod p homology) in degree <M>n</M> of the Rips complex of <M>G</M>.285286</Item>287</Row>288289290291<Row>292<Item>293<Index> BarCode </Index>294<C>BarCode(P)</C>295<P/>296Inputs an integer persistence matrix P and returns the same information in the form of a binary matrix (corresponding to the usual bar code).297298</Item>299</Row>300301<Row>302<Item>303<Index> BarCodeDisplay </Index>304<Index> BarCodeCompactDisplay </Index>305<C>BarCodeDisplay(P)</C>306<C>BarCodeDisplay(P,"mozilla")</C>307<C>BarCodeCompactDisplay(P)</C>308<C>BarCodeCompactDisplay(P,"mozilla")</C>309<P/>310Inputs an integer persistence matrix P, and an optional string specifying a viewer/browser. It displays a picture of the bar code (using GraphViz software).311The compact display is better for large bar codes.312</Item>313</Row>314315316317<Row>318<Item>319<Index> Homology </Index>320<C>Homology(X,n)</C>321<P/>322323Inputs either a chain complex <M>X=C</M> or a chain map324<M>X=(C \longrightarrow D)</M>.325<List>326<Item>If <M>X=C</M> then the torsion coefficients of <M>H_n(C)</M>327are retuned.</Item>328<Item> If <M>X=(C \longrightarrow D)</M> then the induced homomorphism329<M>H_n(C) \longrightarrow H_n(D)</M> is returned as a homomorphism of330finitely presented groups. </Item>331</List>332A <M>G</M>-complex <M>C</M> can also be input. The homology groups of such a complex may not be abelian. <B>Warning:</B> in this case Homology(C,n) returns the abelian invariants of the <M>n</M>-th homology group of <M>C</M>.333</Item>334</Row>335336<Row>337<Item>338<Index> HomologyPb </Index>339<C>HomologyPb(C,n)</C>340<P/>341342This is a back-up function which might work in some instances343where <M>Homology(C,n)</M> fails.344It is most useful for chain complexes whose boundary homomorphisms are sparse.345<P/>346It inputs a chain complex <M>C</M> in characteristic <M>0</M>347and returns the torsion coefficients of <M>H_n(C)</M> .348There is a small probability that an incorrect answer could be returned.349The computation relies on probabilistic Smith Normal Form350algorithms implemented in the Simplicial Homology GAP package.351This package therefore needs to be loaded.352The computation is stored as a component of <M>C</M> so, when called a second353time for a given <M>C</M> and <M>n</M>, the calculation354is recalled without rerunning the algorithm.355356<P/>357The choice of probabalistic algorithm can be changed using the command358359<P/> SetHomologyAlgorithm(HomologyAlgorithm[i]);<P/>360361where i = 1,2,3 or 4. The upper limit for the probability of an362incorrect answer can be set to any rational number <M>0</M>&tlt;<M>e</M>&tlt;=363<M>1</M> using the following command.364365<P/>SetUncertaintyTolerence(e);<P/>366367See the Simplicial Homology package manual for further details.368</Item>369</Row>370371<Row>372<Item>373<Index> HomologyVectorSpace </Index>374<C>HomologyVectorSpace(X,n)</C>375<P/>376377Inputs either a chain complex <M>X=C</M> or a chain map378<M>X=(C \longrightarrow D)</M> in prime characteristic.379<List>380<Item>If <M>X=C</M> then <M>H_n(C)</M>381is retuned as a vector space.</Item>382<Item> If <M>X=(C \longrightarrow D)</M> then the induced homomorphism383<M>H_n(C) \longrightarrow H_n(D)</M> is returned as a homomorphism of384vector spaces. </Item>385</List>386</Item>387</Row>388389390<Row>391<Item>392<Index>HomologyPrimePart</Index>393<C>HomologyPrimePart(C,n,p)</C>394<P/>395396Inputs a chain complex <M>C</M> in characteristic 0,397a positive integer <M>n</M>, and a prime <M>p</M>. It returns a list of398those torsion coefficients of <M>H_n(C)</M> that are positive powers of <M>p</M>.399400The function uses the EDIM GAP package by Frank Luebeck.401</Item>402</Row>403404<Row>405<Item>406<Index> LeibnizAlgebraHomology</Index>407<C>LeibnizAlgebraHomology(A,n)</C>408<P/>409410Inputs a Lie or Leibniz algebra <M>X=A</M>411(over the ring of integers <M>Z</M> or over a field <M>K</M>),412together with a positive integer <M>n</M>.413It returns the <M>n</M>-dimensional Leibniz homology of <M>A</M>.414</Item>415</Row>416417<Row>418<Item>419<Index> LieAlgebraHomology </Index>420<C>LieAlgebraHomology(A,n)</C>421<P/>422423Inputs a Lie algebra <M>A</M> (over the integers or a field)424and a positive integer <M>n</M>.425It returns the homology <M>H_n(A,k)</M> where <M>k</M>426denotes the ground ring.427</Item>428</Row>429430431<Row>432<Item>433<Index> PrimePartDerivedFunctor </Index>434<C>PrimePartDerivedFunctor(G,R,F,n)</C>435<P/>436437Inputs a finite group <M>G</M>, a positive integer <M>n</M>,438at least <M>n+1</M> terms of a <M>ZP</M>-resolution for a Sylow subgroup439<M>P</M>&tlt;<M>G</M> and a "mathematically suitable" covariant additive functor440<M>F</M> such as TensorWithIntegers . It returns the abelian invariants of the441<M>p</M>-component of the homology <M>H_n(F(R))</M> .442<P/>443Warning: All calculations are assumed to be in characteristic 0.444The function should not be used if the coefficient module is over the field of445<M>p</M> elements.446<P/>447"Mathematically suitable" means that the Cartan-Eilenberg double coset formula must hold.448</Item>449</Row>450451<Row>452<Item>453<Index> RankHomologyPGroup</Index>454<C>RankHomologyPGroup(G,n)</C>455<C>RankHomologyPGroup(R,n)</C>456<C>RankHomologyPGroup(G,n,"empirical")</C>457<P/>458459Inputs a (smallish) <M>p</M>-group <M>G</M>, or <M>n</M>460terms of a minimal <M>Z_pG</M>-resolution <M>R</M> of <M>Z_p</M> ,461together with a positive integer <M>n</M>. It returns the minimal462number of generators of the integral homology group <M>H_n(G,Z)</M>.463<P/>464If an option third string argument "empirical" is included then an465empirical algorithm will be used. This is one which always seems466to yield the right answer but which we can't prove yields the467correct answer.468</Item>469</Row>470471<Row>472<Item>473<Index> RankPrimeHomology</Index>474<C>RankPrimeHomology(G,n)</C>475<P/>476477Inputs a (smallish) <M>p</M>-group <M>G</M>478together with a positive integer <M>n</M>.479It returns a function <M>dim(k)</M> which gives the rank of the480vector space481<M>H_k(G,Z_p)</M> for all <M>0</M> &tlt;= <M>k</M> &tlt;= <M>n</M>.482</Item>483</Row>484</Table>485</Chapter>486487488489490