<Chapter><Heading> Simplicial Complexes</Heading> <Section><Heading> &nbsp;</Heading> 
<ManSection> <Func Name="Homology" Arg="T,n"/> <Func Name="Homology" Arg="T"/> <Description> <P/> Inputs a pure cubical complex, or cubical complex, or simplicial complex <M>T</M> and a non-negative integer <M>n</M>. It returns the n-th integral homology of <M>T</M> as a list of torsion integers. If no value of <M>n</M> is input then the list of all homologies of <M>T</M> in dimensions 0 to Dimension(T) is returned . <P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap2.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap3.html</Link><LinkText>3</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap4.html</Link><LinkText>4</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap5.html</Link><LinkText>5</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap6.html</Link><LinkText>6</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap7.html</Link><LinkText>7</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap9.html</Link><LinkText>8</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap10.html</Link><LinkText>9</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap11.html</Link><LinkText>10</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap12.html</Link><LinkText>11</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap13.html</Link><LinkText>12</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap14.html</Link><LinkText>13</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutLinks.html</Link><LinkText>14</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutArithmetic.html</Link><LinkText>15</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>16</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutArtinGroups.html</Link><LinkText>17</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutAspherical.html</Link><LinkText>18</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutParallel.html</Link><LinkText>19</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutBredon.html</Link><LinkText>20</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutPerformance.html</Link><LinkText>21</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCocycles.html</Link><LinkText>22</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>23</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutPoincareSeries.html</Link><LinkText>24</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>25</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>26</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutPolytopes.html</Link><LinkText>27</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCoxeter.html</Link><LinkText>28</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutquasi.html</Link><LinkText>29</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>30</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutRandomComplexes.html</Link><LinkText>31</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutRosenbergerMonster.html</Link><LinkText>32</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutDavisComplex.html</Link><LinkText>33</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutDefinitions.html</Link><LinkText>34</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutSimplicialGroups.html</Link><LinkText>35</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutExtensions.html</Link><LinkText>36</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutSpaceGroup.html</Link><LinkText>37</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutFunctorial.html</Link><LinkText>38</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutGraphsOfGroups.html</Link><LinkText>39</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>40</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutTensorSquare.html</Link><LinkText>41</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutLieCovers.html</Link><LinkText>42</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutTorAndExt.html</Link><LinkText>43</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutLie.html</Link><LinkText>44</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutTwistedCoefficients.html</Link><LinkText>45</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="RipsHomology" Arg="G,n"/> <Func Name="RipsHomology" Arg="G,n,p"/> <Description> <P/> Inputs 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>. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="Bettinumbers" Arg="T,n"/> <Func Name="Bettinumbers" Arg="T"/> <Description> <P/> Inputs a pure cubical complex, or cubical complex, simplicial complex or chain complex <M>T</M> and a non-negative integer <M>n</M>. The rank of the n-th rational homology group <M>H_n(T,\mathbb Q)</M> is returned. If no value for n is input then the list of Betti numbers in dimensions 0 to Dimension(T) is returned . <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutTDA.html</Link><LinkText>2</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="ChainComplex" Arg="T"/> <Description> <P/> Inputs a pure cubical complex, or cubical complex, or simplicial complex <M>T</M> and returns the (often very large) cellular chain complex of <M>T</M>. <P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap3.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap4.html</Link><LinkText>3</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap10.html</Link><LinkText>4</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap12.html</Link><LinkText>5</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>6</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutBredon.html</Link><LinkText>7</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>8</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>9</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>10</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>11</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutSimplicialGroups.html</Link><LinkText>12</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>13</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="CechComplexOfPureCubicalComplex" Arg="T"/> <Description> <P/> Inputs a d-dimensional pure cubical complex <M>T</M> and returns a simplicial complex <M>S</M>. The simplicial complex <M>S</M> has one vertex for each d-cube in <M>T</M>, and an n-simplex for each collection of n+1 d-cubes with non-trivial common intersection. The homotopy types of <M>T</M> and <M>S</M> are equal. <P/><B>Examples:</B> <URL><Link>../tutorial/chap10.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>2</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="PureComplexToSimplicialComplex" Arg="T,k"/> <Description> <P/> Inputs either a d-dimensional pure cubical complex <M>T</M> or a d-dimensional pure permutahedral complex <M>T</M> together with a non-negative integer <M>k</M>. It returns the first <M>k</M> dimensions of a simplicial complex <M>S</M>. The simplicial complex <M>S</M> has one vertex for each d-cell in <M>T</M>, and an n-simplex for each collection of n+1 d-cells with non-trivial common intersection. The homotopy types of <M>T</M> and <M>S</M> are equal. <P/> For a pure cubical complex <M>T</M> this uses a slightly different algorithm to the function CechComplexOfPureCubicalComplex(T) but constructs the same simplicial complex. <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>1</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="RipsChainComplex" Arg="G,n"/> <Description> <P/> Inputs a graph <M>G</M> and a non-negative integer <M>n</M>. It returns <M>n+1</M> terms of a chain complex whose homology is that of the nerve (or Rips complex) of the graph in degrees up to <M>n</M>. <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>1</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="VectorsToSymmetricMatrix" Arg="M"/> <Func Name="VectorsToSymmetricMatrix" Arg="M,distance"/> <Description> <P/> Inputs a matrix <M>M</M> of rational numbers and returns a symmetric matrix <M>S</M> whose <M>(i,j)</M> entry is the distance between the <M>i</M>-th row and <M>j</M>-th rows of <M>M</M> where distance is given by the sum of the absolute values of the coordinate differences. <P/> Optionally, a function distance(v,w) can be entered as a second argument. This function has to return a rational number for each pair of rational vectors <M>v,w</M> of length Length(M[1]). <P/><B>Examples:</B> <URL><Link>../tutorial/chap5.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap10.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>3</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="EulerCharacteristic" Arg="T"/> <Description> <P/> Inputs a pure cubical complex, or cubical complex, or simplicial complex <M>T</M> and returns its Euler characteristic. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="MaximalSimplicesToSimplicialComplex" Arg="L"/> <Description> <P/> Inputs a list L whose entries are lists of vertices representing the maximal simplices of a simplicial complex. The simplicial complex is returned. Here a "vertex" is a GAP object such as an integer or a subgroup. <P/><B>Examples:</B> <URL><Link>../tutorial/chap3.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>3</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>4</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="SkeletonOfSimplicialComplex" Arg="S,k"/> <Description> <P/> Inputs a simplicial complex <M>S</M> and a positive integer <M>k</M> less than or equal to the dimension of <M>S</M>. It returns the truncated <M>k</M>-dimensional simplicial complex <M>S^k</M> (and leaves <M>S</M> unchanged). <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="GraphOfSimplicialComplex" Arg="S"/> <Description> <P/> Inputs a simplicial complex <M>S</M> and returns the graph of <M>S</M>. <P/><B>Examples:</B> <URL><Link>../tutorial/chap2.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap5.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutRandomComplexes.html</Link><LinkText>3</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="ContractibleSubcomplexOfSimplicialComplex" Arg="S"/> <Description> <P/> Inputs a simplicial complex <M>S</M> and returns a (probably maximal) contractible subcomplex of <M>S</M>. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="PathComponentsOfSimplicialComplex" Arg="S,n"/> <Description> <P/> Inputs a simplicial complex <M>S</M> and a nonnegative integer <M>n</M>. If <M>n=0</M> the number of path components of <M>S</M> is returned. Otherwise the n-th path component is returned (as a simplicial complex). <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="QuillenComplex" Arg="G"/> <Description> <P/> Inputs a finite group <M>G</M> and returns, as a simplicial complex, the order complex of the poset of non-trivial elementary abelian subgroups of <M>G</M>. <P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap10.html</Link><LinkText>2</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutBredon.html</Link><LinkText>3</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>4</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="SymmetricMatrixToIncidenceMatrix" Arg="S,t"/> <Func Name="SymmetricMatrixToIncidenceMatrix" Arg="S,t,d"/> <Description> <P/> Inputs a symmetric integer matrix S and an integer t. It returns the matrix <M>M</M> with <M>M_{ij}=1</M> if <M>I_{ij}</M> is less than <M> t</M> and <M>I_{ij}=1</M> otherwise. <P/> An optional integer <M>d</M> can be given as a third argument. In this case the incidence matrix should have roughly at most <M>d</M> entries in each row (corresponding to the <M>d</M> smallest entries in each row of <M>S</M>). <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="IncidenceMatrixToGraph" Arg="M"/> <Description> <P/> Inputs a symmetric 0/1 matrix M. It returns the graph with one vertex for each row of <M>M</M> and an edges between vertices <M>i</M> and <M>j</M> if the <M>(i,j)</M> entry in <M>M</M> equals 1. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="CayleyGraphOfGroup" Arg="G,A"/> <Description> <P/> Inputs a group <M>G</M> and a set <M>A</M> of generators. It returns the Cayley graph. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="PathComponentsOfGraph" Arg="G,n"/> <Description> <P/> Inputs a graph <M>G</M> and a nonnegative integer <M>n</M>. If <M>n=0</M> the number of path components is returned. Otherwise the n-th path component is returned (as a graph). <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="ContractGraph" Arg="G"/> <Description> <P/> Inputs a graph <M>G</M> and tries to remove vertices and edges to produce a smaller graph <M>G'</M> such that the indlusion <M>G' \rightarrow G</M> induces a homotopy equivalence <M>RG \rightarrow RG'</M> of Rips complexes. If the graph <M>G</M> is modified the function returns true, and otherwise returns false. <P/><B>Examples:</B> <URL><Link>../tutorial/chap5.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>2</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="GraphDisplay" Arg="G"/> <Description> <P/> This function uses GraphViz software to display a graph <M>G</M>. <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutTopology.html</Link><LinkText>2</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="SimplicialMap" Arg="K,L,f"/> <Func Name="SimplicialMapNC" Arg="K,L,f"/> <Description> <P/> Inputs simplicial complexes <M>K</M> , <M>L</M> and a function <M>f\colon K!.vertices \rightarrow L!.vertices</M> representing a simplicial map. It returns a simplicial map <M>K \rightarrow L</M>. If <M>f</M> does not happen to represent a simplicial map then SimplicialMap(K,L,f) will return fail; SimplicialMapNC(K,L,f) will not do any check and always return something of the data type "simplicial map". <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="ChainMapOfSimplicialMap" Arg="f"/> <Description> <P/> Inputs a simplicial map <M>f\colon K \rightarrow L</M> and returns the corresponding chain map <M>C_\ast(f) \colon C_\ast(K) \rightarrow C_\ast(L)</M> of the simplicial chain complexes.. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="SimplicialNerveOfGraph" Arg="G,d"/> <Description> <P/> Inputs a graph <M>G</M> and returns a <M>d</M>-dimensional simplicial complex <M>K</M> whose 1-skeleton is equal to <M>G</M>. There is a simplicial inclusion <M>K \rightarrow RG</M> where: (i) the inclusion induces isomorphisms on homotopy groups in dimensions less than <M>d</M>; (ii) the complex <M>RG</M> is the Rips complex (with one <M>n</M>-simplex for each complete subgraph of <M>G</M> on <M>n+1</M> vertices). <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>1</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutRandomComplexes.html</Link><LinkText>2</LinkText></URL>&nbsp;
</Description> </ManSection> </Section> </Chapter>