<Chapter><Heading>Basic functionality for cellular complexes, fundamental groups and homology</Heading>

This page covers the functions used in chapters 1 and 2 of the book
<URL><Link>https://global.oup.com/academic/product/an-invitation-to-computational-homotopy-9780198832980</Link><LinkText>An Invitation to Computational Homotopy</LinkText></URL>.

<Section><Heading> Data <M>\longrightarrow</M> Cellular Complexes
</Heading>

<ManSection>

<Func Name="RegularCWPolytope" Arg="L"/>

<Func Name="RegularCWPolytope" Arg="G,v"/>
<Description><P/>

<P/> Inputs a list <M>L</M> of vectors in <M>\mathbb R^n</M> and outputs their
 convex hull as a regular CW-complex.

<P/> Inputs a permutation group G of degree <M>d</M> and vector <M>v\in \mathbb R^d</M>, 
and outputs the convex hull of the orbit <M>\{v^g : g\in G\}</M> as a regular CW-complex.

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="CubicalComplex" Arg="A"/>
<Description><P/>

<P/> Inputs a  binary array <M>A</M> and returns the cubical complex represented by <M>A</M>. The array <M>A</M> must of course be such that it represents a cubical complex.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap2.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap3.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap5.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap10.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutLinks.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>8</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>9</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutRandomComplexes.html</Link><LinkText>10</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTDA.html</Link><LinkText>11</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>12</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="PureCubicalComplex" Arg="A"/>
<Description><P/>

<P/> Inputs a binary array <M>A</M> and returns the pure cubical complex represented by <M>A</M>. 

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap2.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap3.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap5.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap10.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutLinks.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>8</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>9</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutRandomComplexes.html</Link><LinkText>10</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTDA.html</Link><LinkText>11</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>12</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="PureCubicalKnot" Arg="n,k"/>

<Func Name="PureCubicalKnot" Arg="L"/>
<Description><P/>

<P/> Inputs integers <M>n, k</M> and returns the <M>k</M>-th prime knot on <M>n</M> crossings as a pure cubical complex (if this prime knot exists). 

<P/> Inputs a list <M>L</M> describing an arc presentation for a knot or link
and returns the knot or link as a pure cubical complex. 

 <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/chap6.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutQuandles2.html</Link><LinkText>8</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutQuandles.html</Link><LinkText>9</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>10</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutKnotsQuandles.html</Link><LinkText>11</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="PurePermutahedralKnot" Arg="n,k"/>

<Func Name="PurePermutahedralKnot" Arg="L"/>
<Description>

<P/> Inputs integers <M>n, k</M> and returns the <M>k</M>-th prime knot on <M>n</M> crossings as a pure permutahedral complex (if this prime knot exists). 

<P/> Inputs a list <M>L</M> describing an arc presentation for a knot or link
and returns the knot or link as a pure permutahedral complex. 

 <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; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="PurePermutahedralComplex" Arg="A"/>
<Description><P/>

<P/> Inputs a binary array <M>A</M> and returns the pure permutahedral
 complex represented by <M>A</M>. 

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap2.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPeripheral.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>3</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="CayleyGraphOfGroup" Arg="G,L"/>
<Description><P/>

<P/> Inputs a finite group <M>G</M> and a list <M>L</M> of elements in <M>G</M>.It returns the Cayley graph of the group generated by <M>L</M>.

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="EquivariantEuclideanSpace" Arg="G,v"/>
<Description><P/>

<P/> Inputs a crystallographic group <M>G</M> with left action on <M>\mathbb R^n</M> together with a row vector <M>v \in \mathbb R^n</M>. It returns an equivariant regular CW-space corresponding to the Dirichlet-Voronoi
tessellation of <M>\mathbb R^n</M> produced from the orbit of <M>v</M> under the action. 

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="EquivariantOrbitPolytope" Arg="G,v"/>
<Description><P/>

<P/> Inputs a permutation group <M>G</M> of degree <M>n</M>  together with a row vector <M>v \in \mathbb R^n</M>. It returns, as an equivariant regular CW-space, the convex hull of the orbit of <M>v</M>   
 under the canonical left action of <M>G</M> on <M>\mathbb R^n</M>. 

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="EquivariantTwoComplex" Arg="G"/>
<Description><P/>

<P/> Inputs a suitable group  <M>G</M> and returns, as an equivariant regular CW-space,    
 the <M>2</M>-complex associated to some presentation of <M>G</M>. 

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="QuillenComplex" Arg="G,p"/>
<Description><P/>

<P/> Inputs a finite group <M>G</M> and prime <M>p</M>, and returns the
simplicial complex arising as the order complex of the poset of elementary abelian <M>p</M>-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="RestrictedEquivariantCWComplex" Arg="Y,H"/>
<Description><P/>

<P/> Inputs  a <M>G</M>-equivariant regular CW-space Y and a subgroup <M>H \le G</M> for which GAP can find a transversal. It returns the equivariant regular CW-complex obtained by retricting the action to <M>H</M>.
   

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="RandomSimplicialGraph" Arg="n,p"/>
<Description><P/>

<P/> Inputs an integer <M> n \ge 1 </M> and  positive prime <M>p</M>, and 
returns an  Erdős–Rényi  random graph as a <M>1</M>-dimensional simplicial complex. The graph has <M>n</M> vertices. Each  pair of vertices is, with probability
<M>p</M>, directly 
connected by an edge. 

 <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutRandomComplexes.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="RandomSimplicialTwoComplex" Arg="n,p"/>
<Description><P/>

<P/> Inputs an integer <M> n \ge 1 </M> and  positive prime <M>p</M>, and 
returns a Linial-Meshulam random simplicial <M>2</M>-complex.
The <M>1</M>-skeleton of this simplicial complex is the complete graph on <M>n</M> vertices. Each triple of vertices lies, with probability <M>p</M>, in a common <M>2</M>-simplex of the complex.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap5.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutRandomComplexes.html</Link><LinkText>2</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="ReadCSVfileAsPureCubicalKnot" Arg="str"/>

<Func Name="ReadCSVfileAsPureCubicalKnot" Arg="str,r"/>

<Func Name="ReadCSVfileAsPureCubicalKnot" Arg="L"/>

<Func Name="ReadCSVfileAsPureCubicalKnot" Arg="L,R"/>
<Description><P/>

<P/>
Reads a CSV file  identified by a string str such as
"file.pdb" or "path/file.pdb"   
and 
 returns a <M>3</M>-dimensional pure cubical complex <M>K</M>. Each line of the file should contain the coordinates of a point in <M>\mathbb R^3</M> and 
the  
complex <M>K</M> should  represent a  knot determined by the sequence of points, though  the latter is not guaranteed.
 A useful check in this direction is to test that <M>K</M> has the homotopy type of a circle.

<P/>If the test fails then  try the function again with an integer
<M>r \ge 2</M> entered as the optional second argument. The integer determines the resolution with which the knot is constructed. 

<P/> The function can also read in a list <M>L</M> of strings identifying CSV files for several knots. In this case a list <M>R</M> of integer resolutions can also be entered. The lists <M>L</M> and <M>R</M> must be of equal length.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap2.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="ReadImageAsPureCubicalComplex" Arg="str,t"/>
<Description><P/>

<P/>
Reads an image file identified by a string str such as
"file.bmp", "file.eps", "file.jpg", "path/file.png" etc.,  
together with an integer <M>t</M> between <M>0</M> and <M>765</M>.
It returns a <M>2</M>-dimensional pure cubical complex corresponding to a  
 black/white version of the image determined by the threshold <M>t</M>. 
The <M>2</M>-cells of the pure cubical complex 
correspond to pixels with RGB value <M>R+G+B \le t</M>.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap10.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTDA.html</Link><LinkText>4</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="ReadImageAsFilteredPureCubicalComplex" Arg="str,n"/>
<Description><P/>

<P/>
Reads an image file identified by a string str such as
"file.bmp", "file.eps", "file.jpg", "path/file.png" etc.,  
together with a positive integer <M>n</M>.
It returns a <M>2</M>-dimensional filtered pure cubical complex of filtration length <M>n</M>. The <M>k</M>th
term in the filtration is a pure cubical complex  
corresponding to a  
 black/white version of the image determined by the threshold <M>t_k=k \times 765/n </M>. 
The <M>2</M>-cells of the  <M>k</M>th
term 
correspond to pixels with RGB value <M>R+G+B \le t_k</M>.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap5.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="ReadImageAsWeightFunction" Arg="str,t"/>
<Description><P/>

<P/>
Reads an image file identified by a string str such as
"file.bmp", "file.eps", "file.jpg", "path/file.png" etc.,  
together with an integer <M>t</M>.
It constructs a <M>2</M>-dimensional
  regular CW-complex <M>Y</M>  from the image, together with a 
weight function <M>w\colon Y\rightarrow \mathbb Z</M> corresponding to a 
filtration on <M>Y</M> of filtration length <M>t</M>. The pair <M>[Y,w]</M>
is returned.
  
 

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="ReadPDBfileAsPureCubicalComplex" Arg="str"/>

<Func Name="ReadPDBfileAsPureCubicalComplex" Arg="str,r"/>
<Description><P/>

<P/>
Reads a PDB (Protein Database) file  identified by a string str such as
"file.pdb" or "path/file.pdb"   
and 
 returns a <M>3</M>-dimensional pure cubical complex <M>K</M>. The 
complex <M>K</M> should  represent a (protein backbone) knot but this is not guaranteed.
 A useful check in this direction is to test that <M>K</M> has the homotopy type of a circle.

<P/>If the test fails then  try the function again with an integer
<M>r \ge 2</M> entered as the optional second argument. The integer determines the resolution with which the knot is constructed. 

 <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>2</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Var Name="ReadPDBfileAsPurepermutahedralComplex"/>

<Func Name="ReadPDBfileAsPurePermutahedralComplex" Arg="str,r"/>
<Description><P/>

<P/>
Reads a PDB (Protein Database) file  identified by a string str such as
"file.pdb" or "path/file.pdb"   
and 
 returns a <M>3</M>-dimensional pure permutahedral complex <M>K</M>. The 
complex <M>K</M> should  represent a (protein backbone) knot but this is not guaranteed.
 A useful check in this direction is to test that <M>K</M> has the homotopy type of a circle.

<P/>If the test fails then  try the function again with an integer
<M>r \ge 2</M> entered as the optional second argument. The integer determines the resolution with which the knot is constructed. 

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>
 
 
<Func Name="RegularCWPolytope" Arg="L"/>

<Func Name="RegularCWPolytope" Arg="G,v"/>
<Description><P/>

<P/> Inputs a list <M>L</M> of vectors in <M>\mathbb R^n</M> and outputs their
 convex hull as a regular CW-complex.

<P/> Inputs a permutation group G of degree <M>d</M> and vector <M>v\in \mathbb R^d</M>, 
and outputs the convex hull of the orbit <M>\{v^g : g\in G\}</M> as a regular CW-complex.

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>
 

<Func Name="SimplicialComplex" Arg="L"/>
<Description><P/>

<P/>Inputs a list <M>L</M> whose entries are lists of vertices representing the maximal 
simplices of a simplicial complex, and returns 
the simplicial complex. Here a "vertex" is a GAP object such as an integer or 
a subgroup. The list <M>L</M> can also contain  non-maximal simplices.

 <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/chap5.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap10.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/aboutPersistent.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>8</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>9</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>10</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutRandomComplexes.html</Link><LinkText>11</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="SymmetricMatrixToFilteredGraph" Arg="A,m,s"/>

<Func Name="SymmetricMatrixToFilteredGraph" Arg="A,m"/>
<Description><P/>

<P/>Inputs an <M>n \times n</M>
  symmetric matrix <M>A</M>, a positive integer <M>m</M>  and a
 positive rational <M>s</M>. 
The function returns a filtered graph of filtration 
length <M>m</M>. The <M>t</M>-th term of the filtration is a graph with 
<M>n</M>
vertices  
and
 an edge  between the <M>i</M>-th and <M>j</M>-th vertices if the  
<M>(i,j)</M> entry of <M>A</M> is less than or equal to <M>t \times s/m</M>. 

<P/> If the optional input <M>s</M> is omitted then it is set equal to the largest entry in the matrix <M>A</M>.

 <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/aboutPersistent.html</Link><LinkText>3</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="SymmetricMatrixToGraph" Arg="A,t"/>
<Description><P/>

<P/> Inputs an <M>n\times n</M> symmetric matrix <M>A</M> over the rationals
 and a rational number <M>t \ge 0</M>, 
and returns the graph on the vertices <M>1,2, \ldots, n</M>
 with an edge between distinct vertices
<M>i</M> and <M>j</M> precisely when the <M>(i,j)</M> entry of <M>A</M>
is <M>\le t</M>.

 <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

</Section>


<Section><Heading> Metric Spaces</Heading>

<ManSection>

<Func Name="CayleyMetric" Arg="g,h"/>
<Description><P/>

<P/> Inputs two permutations <M>g,h</M> and optionally the degree <M>N</M>
 of a symmetric group containing them. It returns the minimum number of 
transpositions needed to express <M>g*h^{-1}</M>
 as a product of transpositions.

 <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Var Name="EuclideanMetric"/>
<Description><P/>

<P/> Inputs two vectors <M>v,w \in \mathbb R^n</M> and
  returns a rational number approximating the Euclidean distance between 
them.   

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="EuclideanSquaredMetric" Arg="g,h"/>
<Description><P/>

<P/> Inputs two vectors <M>v,w \in \mathbb R^n</M> and
  returns the square of the Euclidean distance between them.

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="HammingMetric" Arg="g,h"/>
<Description><P/>

<P/> Inputs two permutations <M>g,h</M> and optionally the degree <M>N</M>
 of a symmetric group containing them. It returns the minimum number of 
 integers moved by the permutation <M>g*h^{-1}</M>.

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="KendallMetric" Arg="g,h"/>
<Description><P/>

<P/> Inputs two permutations <M>g,h</M> and optionally the degree <M>N</M>
 of a symmetric group containing them. It returns the minimum number of 
adjacent transpositions needed to express <M>g*h^{-1}</M>
 as a product of adjacent transpositions. An <E>adjacent</E> transposition is
of the form <M>(i,i+1)</M>.

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="ManhattanMetric" Arg="g,h"/>
<Description><P/>

<P/> Inputs two vectors <M>v,w \in \mathbb R^n</M> and
  returns the Manhattan distance between them.  

 <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="VectorsToSymmetricMatrix" Arg="V"/>

<Func Name="VectorsToSymmetricMatrix" Arg="V,d"/>
<Description><P/>

<P/> Inputs a list <M>V =\{ v_1, \ldots, v_k\} \in \mathbb R^n</M> and 
returns the <M>k \times k</M> symmetric matrix  of Euclidean distances 
<M>d(v_i, v_j)</M>. When these distances are irrational they are approximated by a rational number.
 
<P/> As an optional second argument any rational valued function 
<M>d(x,y)</M> can be entered.  

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap10.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>2</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

</Section>


<Section><Heading> Cellular Complexes <M>\longrightarrow</M> Cellular Complexes</Heading>

<ManSection>

<Func Name="BoundaryMap" Arg="K"/>
<Description><P/>

<P/> Inputs a pure regular CW-complex <M>K</M> and returns the  
regular CW-inclusion 
map  <M>\iota \colon  \partial K \hookrightarrow
K</M> from the boundary  
<M>\partial K</M> into the complex <M>K</M>.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap2.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap10.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTopology.html</Link><LinkText>3</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="CliqueComplex" Arg="G,n"/>

<Func Name="CliqueComplex" Arg="F,n"/>

<Func Name="CliqueComplex" Arg="K,n"/>
<Description><P/>

<P/> Inputs a graph <M>G</M> and integer <M>n \ge 1</M>. It
returns the <M>n</M>-skeleton of a simplicial complex <M>K</M> with
one <M>k</M>-simplex for each complete subgraph of <M>G</M> on <M>k+1</M>
vertices.

<P/> Inputs a fitered graph <M>F</M> and integer <M>n \ge 1</M>. It
returns the <M>n</M>-skeleton of a filtered 
simplicial complex <M>K</M> whose <M>t</M>-term has one 
 <M>k</M>-simplex for each complete subgraph of the <M>t</M>-th term
of <M>G</M> on <M>k+1</M>
vertices.

<P/> Inputs a simplicial complex of dimension <M>d=1</M> or <M>d=2</M>. If
<M>d=1</M> then the clique complex of a graph returned.  If
<M>d=2</M> then the clique complex of a <M>2</M>-complex is returned.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap5.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="ConcentricFiltration" Arg="K,n"/>
<Description><P/>

<P/> Inputs a pure cubical complex <M>K</M>  and integer <M>n \ge 1</M>, 
and returns a filtered pure cubical complex of filtration length <M>n</M>.
The <M>t</M>-th term of the filtration is the intersection of <M>K</M> with 
the ball of radius <M>r_t</M> centred on the centre of gravity of <M>K</M>,
 where <M>0=r_1 \le r_2 \le r_3 \le \cdots \le r_n</M>
are equally spaced rational numbers. 
The complex   <M>K</M> is contained in the ball of radius <M>r_n</M>. (At present, this is implemented only for <M>2</M>- and <M>3</M>-dimensional complexes.)

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="DirectProduct" Arg="M,N"/>

<Func Name="DirectProduct" Arg="M,N"/>
<Description><P/>

<P/> Inputs two or more regular CW-complexes or two or more pure cubical complexes and returns their direct product.

 <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/chap10.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutExtensions.html</Link><LinkText>7</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="FiltrationTerm" Arg="K,t"/>

<Func Name="FiltrationTerm" Arg="K,t"/>
<Description> <P/>

<P/> Inputs a filtered regular CW-complex or a filtered pure cubical complex <M>K</M> together with an integer <M>t \ge 1</M>. The <M>t</M>-th term of the filtration is returned.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap5.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="Graph" Arg="K"/>

<Func Name="Graph" Arg="K"/>
<Description><P/>

<P/> Inputs a regular CW-complex or a simplicial complex <M>K</M> 
and returns its <M>1</M>-skeleton as a graph.

 <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>../tutorial/chap7.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap10.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap11.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/aboutPersistent.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutRandomComplexes.html</Link><LinkText>8</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutSpaceGroup.html</Link><LinkText>9</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutGraphsOfGroups.html</Link><LinkText>10</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>11</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTopology.html</Link><LinkText>12</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTwistedCoefficients.html</Link><LinkText>13</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="HomotopyGraph" Arg="Y"/>
<Description><P/>

<P/> Inputs a regular CW-complex  <M>Y</M> and returns a subgraph
<M>M \subset Y^1</M> of the <M>1</M>-skeleton
for which the induced homology homomorphisms
<M>H_1(M,\mathbb Z) \rightarrow H_1(Y,\mathbb Z)</M> 
and <M>H_1(Y^1,\mathbb Z) \rightarrow H_1(Y,\mathbb Z)</M> have identical 
images. The construction tries to include as few edges in  <M>M</M> as possible, though a minimum is not guaranteed.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap5.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>
 

<Func Name="Nerve" Arg="M"/>

<Func Name="Nerve" Arg="M"/>

<Func Name="Nerve" Arg="M,n"/>

<Func Name="Nerve" Arg="M,n"/>
<Description><P/>

<P/>Inputs a pure cubical complex or pure permutahedral complex <M>M</M> and
  returns the simplicial complex <M>K</M> obtained by taking the nerve of an
  open cover of <M>|M|</M>, the open sets in the cover being sufficiently small
  neighbourhoods of the top-dimensional cells of <M>|M|</M>. The spaces <M>|M|</M> and
  <M>|K|</M> are homotopy equivalent by the Nerve Theorem.
  If an integer <M>n \ge 0</M> is supplied as the second argument then only the
  n-skeleton of <M>K</M> 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/chap10.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutRandomComplexes.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutSimplicialGroups.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>8</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>
 

<Func Name="RegularCWComplex" Arg="K"/>
 
<Func Name="RegularCWComplex" Arg="K"/>
 
<Func Name="RegularCWComplex" Arg="K"/>

<Func Name="RegularCWComplex" Arg="K"/>

<Func Name="RegularCWComplex" Arg="L"/>

<Func Name="RegularCWComplex" Arg="L,M"/>
<Description><P/>

<P/>Inputs a simplicial, pure cubical, cubical or pure permutahedral complex 
<M>K</M>
and returns the corresponding regular CW-complex.

Inputs a list <M>L=Y!.boundaries</M> of boundary incidences of a regular CW-complex <M>Y</M> and returns <M>Y</M>.  

Inputs a list <M>L=Y!.boundaries</M> of boundary incidences of a regular CW-complex <M>Y</M> together with a list <M>M=Y!.orientation</M> of incidence numbers and returns a regular CW-complex <M>Y</M>. The availability of precomputed 
incidence numbers  saves recalculating them.

 <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/chap10.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPeripheral.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/aboutRandomComplexes.html</Link><LinkText>11</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>12</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="RegularCWMap" Arg="M,A"/>
<Description><P/>

<P/> Inputs a pure cubical complex <M>M</M> and a subcomplex <M>A</M> and
returns the inclusion map <M>A \rightarrow M</M> as a map of regular CW complexes. 

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap4.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; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="ThickeningFiltration" Arg="K,n"/>

<Func Name="ThickeningFiltration" Arg="K,n,s"/>
<Description><P/>

<P/> Inputs a pure cubical complex <M>K</M>  and integer <M>n \ge 1</M>, 
and returns a filtered pure cubical complex of filtration length <M>n</M>.
The <M>t</M>-th term of the filtration is the <M>t</M>-fold thickening of <M>K</M>.
If an integer <M>s \ge 1</M> is entered as the optional third argument then the <M>t</M>-th term of the filtration is the <M>ts</M>-fold thickening of <M>K</M>.

 <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

</Section>

<Section><Heading> Cellular Complexes <M>\longrightarrow</M> Cellular Complexes (Preserving Data Types)</Heading>
 
<ManSection>

<Func Name="ContractedComplex" Arg="K"/>

<Func Name="ContractedComplex" Arg="K"/>

<Func Name="ContractedComplex" Arg="K"/>

<Func Name="ContractedComplex" Arg="K"/>

<Func Name="ContractedComplex" Arg="K,S"/>

<Func Name="ContractedComplex" Arg="K"/>

<Func Name="ContractedComplex" Arg="K"/>

<Func Name="ContractedComplex" Arg="K,S"/>

<Func Name="ContractedComplex" Arg="K"/>

<Func Name="ContractedComplex" Arg="G"/>
<Description>

<P/> Inputs a complex (regular CW, Filtered regular CW, pure cubical etc.) and returns a
homotopy equivalent subcomplex.

<P/> Inputs a pure cubical complex or pure permutahedral complex <M>K</M> and a subcomplex <M>S</M>. It returns a homotopy equivalent subcomplex of <M>K</M>
that contains <M>S</M>.

<P/> Inputs a graph  <M>G</M> 
and returns a subgraph  <M>S</M> such that the clique complexes of <M>G</M> and <M>S</M> are homotopy equivalent.  

 <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/chap7.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap10.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>8</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>9</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="ContractibleSubcomplex" Arg="K"/>

<Func Name="ContractibleSubcomplex" Arg="K"/>

<Func Name="ContractibleSubcomplex" Arg="K"/>
<Description><P/>

<P/> Inputs a non-empty pure cubical, pure permutahedral  or simplicial complex <M>K</M> 
and returns a contractible subcomplex.

 <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="KnotReflection" Arg="K"/>
<Description><P/>

<P/> Inputs a pure cubical knot and returns the reflected knot. 

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="KnotSum" Arg="K,L"/>
<Description><P/>

<P/> Inputs two pure cubical knots and returns their sum. 

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap2.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap3.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap6.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>5</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="OrientRegularCWComplex" Arg="Y"/>
<Description><P/>

<P/> Inputs a regular CW-complex <M>Y</M> and computes and stores 
incidence numbers for <M>Y</M>. If <M>Y</M> already has incidence numbers then
the function does nothing.

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="PathComponent" Arg="K,n"/>
 
<Func Name="PathComponent" Arg="K,n"/>

<Func Name="PathComponent" Arg="K,n"/>
<Description><P/>

<P/>Inputs a simplicial, pure cubical  or pure permutahedral complex 
<M>K</M> together with an integer <M>1 \le n \le \beta_0(K)</M>.
The <M>n</M>-th path component of <M>K</M> is returned.

 <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutQuandles.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="PureComplexBoundary" Arg="M"/>

<Func Name="PureComplexBoundary" Arg="M"/>
<Description><P/>

<P/> Inputs a <M>d</M>-dimensional pure cubical  or  pure permutahedral complex <M>M</M>
and returns a <M>d</M>-dimensional complex consisting of the closure of those
 <M>d</M>-cells whose boundaries contains some cell with coboundary  of size less than the  maximal possible size. 
 
 

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="PureComplexComplement" Arg="M"/>

<Func Name="PureComplexComplement" Arg="M"/>
<Description><P/>

<P/> Inputs a pure cubical complex or a pure permutahedral complex
and returns its complement.
 

 <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/chap10.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>6</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="PureComplexDifference" Arg="M,N"/>

<Func Name="PureComplexDifference" Arg="M,N"/>
<Description><P/>

<P/> Inputs two pure cubical complexes or two pure permutahedral complexes
and returns the difference <M> M - N</M>.
 

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Var Name="PureComplexInterstection"/>

<Func Name="PureComplexIntersection" Arg="M,N"/>
<Description><P/>

<P/> Inputs two pure cubical complexes or two pure permutahedral complexes
and returns their intersection.
 

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="PureComplexThickened" Arg="M"/>

<Func Name="PureComplexThickened" Arg="M"/>
<Description><P/>

<P/> Inputs a pure cubical complex or a pure permutahedral complex
and returns the a thickened complex.
 

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="PureComplexUnion" Arg="M,N"/>

<Func Name="PureComplexUnion" Arg="M,N"/>
<Description><P/>

<P/> Inputs two pure cubical complexes or two pure permutahedral complexes
and returns their union.
 

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="SimplifiedComplex" Arg="K"/>

<Func Name="SimplifiedComplex" Arg="K"/>

<Func Name="SimplifiedComplex" Arg="R"/>

<Func Name="SimplifiedComplex" Arg="C"/>
<Description><P/>

<P/> Inputs a regular CW-complex or a pure permutahedral complex
<M>K</M> and returns a homeomorphic complex with  possibly fewer cells and certainly no more cells.

<P/> Inputs a free <M>\mathbb ZG</M>-resolution <M>R</M> of <M>\mathbb Z</M>
and returns  a
<M>\mathbb ZG</M>-resolution <M>S</M> with potentially fewer free generators.

<P/> Inputs a chain complex   <M>C</M> of free abelian groups  
and returns  a
chain homotopic chain complex  <M>D</M> with potentially fewer free generators. 

 <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/chap11.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>5</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="ZigZagContractedComplex" Arg="K"/>

<Func Name="ZigZagContractedComplex" Arg="K"/>

<Func Name="ZigZagContractedComplex" Arg="K"/>
<Description>

<P/> Inputs a pure cubical, filtered pure cubical or pure permutahedral
complex and returns a
homotopy equivalent complex. In the filtered case, 
the <M>t</M>-th term of the output is homotopy equivalent to the <M>t</M>-th 
term of the input for all <M>t</M>.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap2.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

</Section>


<Section><Heading> Cellular Complexes <M>\longrightarrow</M> Homotopy Invariants</Heading>

<ManSection>

<Func Name="AlexanderPolynomial" Arg="K"/>

<Func Name="AlexanderPolynomial" Arg="K"/>

<Func Name="AlexanderPolynomial" Arg="G"/>
<Description><P/>

<P/> Inputs a <M>3</M>-dimensional pure cubical or pure permutahdral complex <M>K</M> representing a knot and returns the Alexander polynomial of the fundamental group 
<M>G = \pi_1(\mathbb R^3\setminus K)</M>.

<P/> Inputs a finitely presented group <M>G</M> with infinite cyclic abelianization and returns its Alexander polynomial.

 <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>../www/SideLinks/About/aboutKnots.html</Link><LinkText>3</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="BettiNumber" Arg="K,n"/>
 
<Func Name="BettiNumber" Arg="K,n"/>
 
<Func Name="BettiNumber" Arg="K,n"/>

<Func Name="BettiNumber" Arg="K,n"/>

<Func Name="BettiNumber" Arg="K,n"/>

<Func Name="BettiNumber" Arg="K,n"/>

<Func Name="BettiNumber" Arg="K,n"/>

<Func Name="BettiNumber" Arg="K,n,p"/>

<Func Name="BettiNumber" Arg="K,n,p"/>

<Func Name="BettiNumber" Arg="K,n,p"/>

<Func Name="BettiNumber" Arg="K,n,p"/>

<Func Name="BettiNumber" Arg="K,n,p"/>
<Description>

<P/>Inputs a simplicial, cubical, pure cubical, pure permutahedral, 
regular CW, chain or sparse chain complex  
<M>K</M> together with an integer <M>n \ge 0</M> and returns the <M>n</M>th 
Betti number of <M>K</M>.

<P/>Inputs a simplicial, cubical, pure cubical,  pure permutahedral or
 regular CW-complex 
<M>K</M> together with an integer <M>n \ge 0</M> and a prime <M>p \ge 0</M> or 
<M>p=0</M>. In this case  the <M>n</M>th
Betti number of <M>K</M> over a field of characteristic <M>p</M> is returned.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap5.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="EulerCharacteristic" Arg="C"/>

<Func Name="EulerCharacteristic" Arg="K"/>

<Func Name="EulerCharacteristic" Arg="K"/>

<Func Name="EulerCharacteristic" Arg="K"/>

<Func Name="EulerCharacteristic" Arg="K"/>

<Func Name="EulerCharacteristic" Arg="K"/>
<Description><P/>

<P/> Inputs a chain complex <M>C</M> and returns its Euler characteristic.

<P/> Inputs a cubical, or pure cubical, or pure permutahedral or regular CW-, or simplicial 
 complex <M>K</M> 
and returns its Euler characteristic.

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="EulerIntegral" Arg="Y,w"/>
<Description><P/>

<P/> Inputs a regular CW-complex <M>Y</M> and a weight function <M>w\colon Y\rightarrow \mathbb Z</M>, and returns the Euler integral <M> \int_Y w\, d\chi </M>.

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="FundamentalGroup" Arg="K"/>

<Func Name="FundamentalGroup" Arg="K,n"/>

<Func Name="FundamentalGroup" Arg="K"/>

<Func Name="FundamentalGroup" Arg="K"/>

<Func Name="FundamentalGroup" Arg="K"/>

<Func Name="FundamentalGroup" Arg="F"/>

<Func Name="FundamentalGroup" Arg="F,n"/>
<Description><P/>

<P/> Inputs a regular CW,  simplicial,  pure cubical or pure permutahedral
 complex <M>K</M> 
and returns the fundamental group.

<P/> Inputs a regular CW complex <M>K</M> and the number <M>n</M> of some zero cell. It returns the fundamental group of <M>K</M> based at the <M>n</M>-th zero cell.

<P/> Inputs a regular CW map <M>F</M>
and returns the induced homomorphism of fundamental groups. If the number of some zero cell in the domain of <M>F</M> is entered as an optional second variable
then the fundamental group is based at this zero cell.   

 <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>../www/SideLinks/About/aboutLinks.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPeripheral.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>8</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutQuandles.html</Link><LinkText>9</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutRandomComplexes.html</Link><LinkText>10</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>11</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="FundamentalGroupOfQuotient" Arg="Y"/>
<Description><P/>

<P/> Inputs a <M>G</M>-equivariant regular CW
 complex <M>Y</M> 
and returns the group <M>G</M>.  

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="IsAspherical" Arg="F,R"/>
<Description><P/>

<P/> Inputs a free group  <M>F</M> and a list <M>R</M> of words in <M>F</M>. 
The function attempts to test if the quotient group 
<M>G=F/\langle R \rangle^F</M> is aspherical. If it succeeds it returns <M>true</M>. Otherwise the test is inconclusive and <M>fail</M> is returned.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap3.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap6.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutAspherical.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>4</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="KnotGroup" Arg="K"/>

<Func Name="KnotGroup" Arg="K"/>
<Description><P/>

<P/> Inputs a pure cubical or pure permutahedral complex <M>K</M> 
and returns the fundamental group of its complement. If the complement is path-connected then this fundamental group is unique up to isomorphism. Otherwise it will depend on the path-component in which the randomly chosen base-point lies. 

 <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="PiZero" Arg="Y"/>

<Func Name="PiZero" Arg="Y"/>

<Func Name="PiZero" Arg="Y"/>
<Description><P/>

<P/> Inputs a regular CW-complex <M>Y</M>, or graph <M>Y</M>, or simplicial complex <M>Y</M> 
and returns a pair <M>[cells,r]</M> where: <M>cells</M> is a list of
vertices of <M>Y</M> representing the distinct path-components; <M>r(v)</M>
is a function which, for each vertex <M>v</M> of <M>Y</M> returns the representative vertex <M>r(v) \in cells</M>. 

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap5.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="PersistentBettiNumbers" Arg="K,n"/>

<Func Name="PersistentBettiNumbers" Arg="K,n"/>
 
<Func Name="PersistentBettiNumbers" Arg="K,n"/>

<Func Name="PersistentBettiNumbers" Arg="K,n"/>

<Func Name="PersistentBettiNumbers" Arg="K,n"/>

<Func Name="PersistentBettiNumbers" Arg="K,n,p"/>

<Func Name="PersistentBettiNumbers" Arg="K,n,p"/>

<Func Name="PersistentBettiNumbers" Arg="K,n,p"/>

<Func Name="PersistentBettiNumbers" Arg="K,n,p"/>

<Func Name="PersistentBettiNumbers" Arg="K,n,p"/>
<Description>

<P/>Inputs a filtered simplicial, filtered pure cubical,  
filtered regular CW, filtered chain or filtered sparse chain complex  
<M>K</M> together with an integer <M>n \ge 0</M> and returns the <M>n</M>th 
PersistentBetti numbers of <M>K</M> as a list of lists of integers.

<P/>Inputs a filtered simplicial, filtered pure cubical,                    
filtered regular CW, filtered chain or filtered sparse chain complex
<M>K</M> together with an integer <M>n \ge 0</M>  and a prime <M>p \ge 0</M> or 
<M>p=0</M>. In this case  the <M>n</M>th
PersistentBetti numbers of <M>K</M> over a field of characteristic <M>p</M> are returned.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap5.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

</Section>


<Section><Heading> Data <M>\longrightarrow</M> Homotopy Invariants</Heading>

<ManSection>

<Func Name="DendrogramMat" Arg="A,t,s"/>
<Description><P/>

<P/> Inputs an <M>n\times n</M>
 symmetric matrix <M>A</M> over the rationals, a rational 
<M>t \ge 0</M> and an integer <M>s \ge 1</M>. 
A list <M>[v_1, \ldots,  v_{t+1}]</M> is returned with each <M>v_k</M> a 
list of positive integers. 
Let <M>t_k = (k-1)s</M>.
Let <M>G(A,t_k)</M> denote the graph with vertices
<M>1, \ldots, n</M> and with distinct vertices <M>i</M> and <M>j</M>
connected by an edge when the <M>(i,j)</M> entry of <M>A</M> is <M>\le t_k</M>.
The <M>i</M>-th path component of <M>G(A,t_k)</M> is included
in the <M>v_k[i]</M>-th path component of <M>G(A,t_{k+1})</M>. This defines the integer vector <M>v_k</M>.
 The vector <M>v_k</M> has length equal to the number of path components of 
<M>G(A,t_k)</M>.

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

</Section>


<Section><Heading> Cellular Complexes <M>\longrightarrow</M> Non Homotopy Invariants</Heading>

<ManSection>

<Func Name="ChainComplex" Arg="K"/>

<Func Name="ChainComplex" Arg="K"/>

<Func Name="ChainComplex" Arg="K"/>

<Func Name="ChainComplex" Arg="Y"/>

<Func Name="ChainComplex" Arg="K"/>
<Description><P/>

<P/> Inputs a cubical, or pure cubical, or pure permutahedral or simplicial 
 complex <M>K</M> 
and returns its chain complex of free abelian groups. In degree <M>n</M> this chain complex has one free generator for each <M>n</M>-dimensional cell of <M>K</M>.

<P/> Inputs a regular CW-complex <M>Y</M> and returns a chain complex <M>C</M>
which is
chain homotopy equivalent 
to the cellular chain complex of <M>Y</M>. In degree <M>n</M> the free abelian chain group <M>C_n</M> has one free generator for each critical <M>n</M>-dimensional cell of <M>Y</M> with respect to some discrete vector field on <M>Y</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/chap10.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutBredon.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>8</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>9</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutSimplicialGroups.html</Link><LinkText>10</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>11</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Var Name="ChainComplexEquivalence"/>
<Description><P/>

<P/> Inputs a regular CW-complex  <M>X</M> and returns a pair 
<M>[f_\ast, g_\ast]</M> of chain maps <M>f_\ast\colon C_\ast(X) \rightarrow D_\ast(X)</M>, <M>g_\ast\colon D_\ast(X) \rightarrow C_\ast(X)</M>. 
Here <M>C_\ast(X)</M> is the standard cellular chain complex of <M>X</M> with one free generator for each cell in <M>X</M>. The chain complex <M>D_\ast(X)</M>
is a typically smaller chain complex arising from a discrete vector field on <M>X</M>. The chain maps <M>f_\ast, g_\ast</M> are chain homotopy equivalences.

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="ChainComplexOfQuotient" Arg="Y"/>
<Description><P/>

<P/> Inputs a <M>G</M>-equivariant regular CW-complex <M>Y</M> 
and returns the cellular chain complex of the quotient space <M>Y/G</M>.  

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="ChainMap" Arg="X,A,Y,B"/>

<Func Name="ChainMap" Arg="f"/>

<Func Name="ChainMap" Arg="f"/>
<Description><P/>

<P/>Inputs a pure cubical complex <M>Y</M> and pure cubical sucomplexes
<M>X\subset Y</M>, <M>B\subset Y</M>,<M>A\subset B</M>. It returns the 
induced chain map
<M>f_\ast\colon C_\ast(X/A) \rightarrow C_\ast(Y/B)</M> of cellular chain complexes of pairs. (Typlically one takes <M>A</M> and <M>B</M> to be empty or contractible subspaces, in which case <M>C_\ast(X/A) \simeq C_\ast(X)</M>, <M>C_\ast(Y/B) \simeq C_\ast(Y)</M>.)

<P/> Inputs a map <M>f\colon X \rightarrow Y</M> between two regular 
CW-complexes <M>X,Y</M>   and returns an induced chain map 
<M>f_\ast\colon C_\ast(X) \rightarrow C_\ast(Y)</M> where
 <M>C_\ast(X)</M>, <M>C_\ast(Y)</M> are chain homotopic to (but usually smaller than) the cellular chain complexes of <M>X</M>, <M>Y</M>. 

<P/> Inputs a map <M>f\colon X \rightarrow Y</M> between two simplicial  
complexes <M>X,Y</M>   and returns the induced chain map 
<M>f_\ast\colon C_\ast(X) \rightarrow C_\ast(Y)</M> of cellular chain complexes.

 

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap7.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap10.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCohomologyRings.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPoincareSeries.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutFunctorial.html</Link><LinkText>8</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="CochainComplex" Arg="K"/>

<Func Name="CochainComplex" Arg="K"/>

<Func Name="CochainComplex" Arg="K"/>

<Func Name="CochainComplex" Arg="Y"/>

<Func Name="CochainComplex" Arg="K"/>
<Description><P/>

<P/> Inputs a cubical, or pure cubical, or pure permutahedral or simplicial 
 complex <M>K</M> 
and returns its cochain complex of free abelian groups. In degree <M>n</M> 
this cochain complex has one free generator for each <M>n</M>-dimensional 
cell of <M>K</M>.

<P/> Inputs a regular CW-complex <M>Y</M> and returns a cochain complex <M>C</M>
which is
chain homotopy equivalent 
to the cellular cochain complex of <M>Y</M>. In degree <M>n</M> the free 
abelian cochain group <M>C_n</M> has one free generator for each 
critical <M>n</M>-dimensional cell of <M>Y</M> with respect to some discrete 
vector field on <M>Y</M>. 

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="CriticalCells" Arg="K"/>
<Description><P/>

<P/> Inputs a regular CW-complex <M>K</M> 
and returns its critical cells with respect to some discrete vector field on 
<M>K</M>. If  no discrete vector field on <M>K</M> is available then one will be computed and stored.

 <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>../www/SideLinks/About/aboutLinks.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPeripheral.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutRandomComplexes.html</Link><LinkText>8</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>9</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="DiagonalApproximation" Arg="X"/>
<Description><P/>

<P/> Inputs a regular CW-complex <M>X</M> and outputs a pair <M>[p,\iota]</M> 
of maps of CW-complexes. The map <M>p\colon X^\Delta \rightarrow X</M>
 will often
be a homotopy equivalence. This is always the case if <M>X</M> is the CW-space 
of any pure cubical complex. In general, one can test to see if the induced 
chain map <M>p_\ast \colon C_\ast(X^\Delta) \rightarrow C_\ast(X)</M> is an 
isomorphism on integral homology. The second map  
<M>\iota \colon X^\Delta \hookrightarrow X\times X</M> is an inclusion into the direct product. 
If <M>p_\ast</M> induces an isomorphism on homology then the chain map
<M>\iota_\ast\colon C_\ast(X^\Delta) \rightarrow C_\ast(X\times X)</M> can be used to compute the cup product.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="Size" Arg="Y"/>

<Func Name="Size" Arg="Y"/>
 
<Func Name="Size" Arg="K"/>
 
<Func Name="Size" Arg="K"/>
<Description><P/>

<P/>Inputs a  regular CW complex or a simplicial complex <M>Y</M> and returns the number of cells in the complex. 

<P/>Inputs a  <M>d</M>-dimensional pure cubical or pure 
permutahedral  complex <M>K</M> and returns the number of <M>d</M>-dimensional 
cells in the complex.

 <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/chap7.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap10.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap11.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutLinks.html</Link><LinkText>8</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>9</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoefficientSequence.html</Link><LinkText>10</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPeripheral.html</Link><LinkText>11</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>12</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>13</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutQuandles2.html</Link><LinkText>14</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutQuandles.html</Link><LinkText>15</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>16</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutSimplicialGroups.html</Link><LinkText>17</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTDA.html</Link><LinkText>18</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutKnots.html</Link><LinkText>19</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

</Section>


<Section><Heading> (Co)chain Complexes <M>\longrightarrow </M> (Co)chain Complexes</Heading>

<ManSection>

<Func Name="FilteredTensorWithIntegers" Arg="R"/>
<Description><P/>

Inputs a free <M>\mathbb ZG</M>-resolution <M>R</M> for which 
<M>"filteredDimension"</M> lies in <B>NamesOfComponents(R)</B>. 
(Such a resolution can be produced using <B>TwisterTensorProduct()</B>, 
<B>ResolutionNormalSubgroups()</B> or <B>FreeGResolution()</B>.) 
It returns the filtered chain complex obtained by tensoring with the trivial 
module <M>\mathbb Z</M>. 

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap10.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>2</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="FilteredTensorWithIntegersModP" Arg="R,p"/>
<Description><P/>

Inputs a free <M>\mathbb ZG</M>-resolution <M>R</M> for which 
<M>"filteredDimension"</M> lies in <B>NamesOfComponents(R)</B>, together with a prime <M>p</M>. 
(Such a resolution can be produced using <B>TwisterTensorProduct()</B>, 
<B>ResolutionNormalSubgroups()</B> or <B>FreeGResolution()</B>.) 
It returns the filtered chain complex obtained by tensoring with the trivial 
module <M>\mathbb F</M>, the field of <M>p</M> elements.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap10.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>2</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="HomToIntegers" Arg="C"/>

<Func Name="HomToIntegers" Arg="R"/>

<Func Name="HomToIntegers" Arg="F"/>
<Description><P/>

<P/> Inputs a chain complex <M>C</M> of free abelian groups  
and returns the cochain complex <M>Hom_{\mathbb Z}(C,\mathbb Z)</M>.

<P/> Inputs a free <M>\mathbb ZG</M>-resolution <M>R</M> in characteristic <M>0</M>  
and returns the cochain complex <M>Hom_{\mathbb ZG}(R,\mathbb Z)</M>.

<P/> Inputs an equivariant chain map <M>F\colon R\rightarrow S</M> of 
resolutions 
and returns the induced cochain map <M>Hom_{\mathbb ZG}(S,\mathbb Z)
\longrightarrow Hom_{\mathbb ZG}(R,\mathbb Z)</M>.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap1.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap7.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap10.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCohomologyRings.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutSpaceGroup.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTorAndExt.html</Link><LinkText>7</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="TensorWithIntegersModP" Arg="C,p"/>

<Func Name="TensorWithIntegersModP" Arg="R,p"/>

<Func Name="TensorWithIntegersModP" Arg="F,p"/>
<Description><P/>

<P/> Inputs a chain complex <M>C</M> of characteristic <M>0</M> and a prime integer <M>p</M>. It  returns
the chain complex <M>C \otimes_{\mathbb Z} {\mathbb Z}_p</M> of characteristic <M>p</M>. 

<P/> Inputs a free <M>\mathbb ZG</M>-resolution <M>R</M> of characteristic <M>0</M> and a prime integer <M>p</M>.
It returns the chain complex
<M>R \otimes_{\mathbb ZG} {\mathbb Z}_p</M> of characteristic <M>p</M>.

<P/> Inputs an equivariant chain map <M>F\colon R \rightarrow S</M> in 
characteristic <M>0</M> a prime integer <M>p</M>. It  returns
the induced chain map <M>F\otimes_{\mathbb ZG}\mathbb Z_p \colon
R \otimes_{\mathbb ZG} {\mathbb Z}_p \longrightarrow S \otimes_{\mathbb ZG} {\mathbb Z}_p</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/aboutArithmetic.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPerformance.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPoincareSeries.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutDefinitions.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutExtensions.html</Link><LinkText>8</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTorAndExt.html</Link><LinkText>9</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

</Section>


<Section><Heading> (Co)chain Complexes <M>\longrightarrow </M> Homotopy Invariants</Heading>

<ManSection>

<Func Name="Cohomology" Arg="C,n"/>

<Func Name="Cohomology" Arg="F,n"/>

<Func Name="Cohomology" Arg="K,n"/>

<Func Name="Cohomology" Arg="K,n"/>

<Func Name="Cohomology" Arg="K,n"/>

<Func Name="Cohomology" Arg="K,n"/>

<Func Name="Cohomology" Arg="K,n"/>
<Description><P/>

<P/> Inputs a cochain complex <M>C</M> and integer <M>n \ge 0</M> and returns
the <M>n</M>-th cohomology group of <M>C</M> as a list of its abelian invariants. 

<P/> Inputs a chain map <M>F</M> and integer <M>n \ge 0</M>. It returns the 
induced  cohomology homomorphism <M>H_n(F)</M> as a homomorphism of finitely presented groups.

<P/> Inputs a cubical, or pure cubical, or pure permutahedral or regular CW or
simplicial 
 complex <M>K</M>  together with an integer <M>n \ge 0</M>. It returns the 
<M>n</M>-th integral cohomology group of <M>K</M> as a list of its abelian 
invariants.

 <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/chap6.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap7.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap8.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutArtinGroups.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutModPRings.html</Link><LinkText>8</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutNoncrossing.html</Link><LinkText>9</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoefficientSequence.html</Link><LinkText>10</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCohomologyRings.html</Link><LinkText>11</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>12</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>13</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoxeter.html</Link><LinkText>14</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCrossedMods.html</Link><LinkText>15</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutExtensions.html</Link><LinkText>16</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutSpaceGroup.html</Link><LinkText>17</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutGouter.html</Link><LinkText>18</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutSurvey.html</Link><LinkText>19</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>20</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTopology.html</Link><LinkText>21</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTorAndExt.html</Link><LinkText>22</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTwistedCoefficients.html</Link><LinkText>23</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="CupProduct" Arg="Y"/>

<Func Name="CupProduct" Arg="R,p,q,P,Q"/>
<Description><P/>

<P/> Inputs a regular CW-complex  <M>Y</M> 
and returns a function <M>f(p,q,P,Q)</M>. This function <M>f</M> inputs two 
integers <M>p,q \ge 0</M> and two integer lists <M>P=[p_1, \ldots, p_m]</M>,
<M>Q=[q_1, \ldots, q_n]</M> representing elements <M>P\in H^p(Y,\mathbb Z)</M>
and <M>Q\in H^q(Y,\mathbb Z)</M>. The function <M>f</M> returns a list
<M>P \cup Q</M> representing the cup product <M>P \cup Q \in H^{p+q}(Y,\mathbb Z)</M>.

<P/> Inputs a free <M>\mathbb ZG</M> resolution <M>R</M>
of <M>\mathbb Z</M> for some group <M>G</M>, together with
 integers <M>p,q \ge 0</M>
and integer lists <M>P, Q</M> representing cohomology classes 
<M>P\in H^p(G,\mathbb Z)</M>, <M>Q\in H^q(G,\mathbb Z)</M>. An integer
 list representing the cup product
<M>P\cup Q \in H^{p+q}(G,\mathbb Z)</M> 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/chap7.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCohomologyRings.html</Link><LinkText>4</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="Homology" Arg="C,n"/>

<Func Name="Homology" Arg="F,n"/>

<Func Name="Homology" Arg="K,n"/>

<Func Name="Homology" Arg="K,n"/>

<Func Name="Homology" Arg="K,n"/>

<Func Name="Homology" Arg="K,n"/>

<Func Name="Homology" Arg="K,n"/>
<Description><P/>

<P/> Inputs a chain complex <M>C</M> and integer <M>n \ge 0</M> and returns
the <M>n</M>-th homology group of <M>C</M> as a list of its abelian invariants. 

<P/> Inputs a chain map <M>F</M> and integer <M>n \ge 0</M>. It returns the 
induced  homology homomorphism <M>H_n(F)</M> as a homomorphism of finitely presented groups.

<P/> Inputs a cubical, or pure cubical, or pure permutahedral or regular CW or
simplicial 
 complex <M>K</M>  together with an integer <M>n \ge 0</M>. It returns the 
<M>n</M>-th integral homology group of <M>K</M> as a list of its abelian invariants.

 <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/chap7.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap9.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap10.html</Link><LinkText>8</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap11.html</Link><LinkText>9</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutLinks.html</Link><LinkText>10</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutArithmetic.html</Link><LinkText>11</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>12</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutArtinGroups.html</Link><LinkText>13</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutAspherical.html</Link><LinkText>14</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutParallel.html</Link><LinkText>15</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutBredon.html</Link><LinkText>16</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPerformance.html</Link><LinkText>17</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCocycles.html</Link><LinkText>18</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>19</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPoincareSeries.html</Link><LinkText>20</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoveringSpaces.html</Link><LinkText>21</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoverinSpaces.html</Link><LinkText>22</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPolytopes.html</Link><LinkText>23</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCoxeter.html</Link><LinkText>24</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutquasi.html</Link><LinkText>25</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutCubical.html</Link><LinkText>26</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutRandomComplexes.html</Link><LinkText>27</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutRosenbergerMonster.html</Link><LinkText>28</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutDavisComplex.html</Link><LinkText>29</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutDefinitions.html</Link><LinkText>30</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutSimplicialGroups.html</Link><LinkText>31</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutExtensions.html</Link><LinkText>32</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutSpaceGroup.html</Link><LinkText>33</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutFunctorial.html</Link><LinkText>34</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutGraphsOfGroups.html</Link><LinkText>35</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>36</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTensorSquare.html</Link><LinkText>37</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutLieCovers.html</Link><LinkText>38</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTorAndExt.html</Link><LinkText>39</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutLie.html</Link><LinkText>40</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTwistedCoefficients.html</Link><LinkText>41</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

</Section>


<Section><Heading> Visualization</Heading>

<ManSection>

<Func Name="BarCodeDisplay" Arg="L"/>
<Description><P/>

<P/>Displays a barcode  
<B>L=PersitentBettiNumbers(X,n)</B>.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap10.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>2</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="BarCodeCompactDisplay" Arg="L"/>
<Description><P/>

<P/>Displays a barcode  
<B>L=PersitentBettiNumbers(X,n)</B> in compact form.

 <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/aboutPersistent.html</Link><LinkText>3</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="CayleyGraphOfGroup" Arg="G,L"/>
<Description><P/>

<P/> Inputs a finite group <M>G</M> and a list <M>L</M> of elements in <M>G</M>.It displays the Cayley graph of the group generated by <M>L</M> where edge colours correspond to generators.

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="Display" Arg="G"/>

<Func Name="Display" Arg="M"/>

<Func Name="Display" Arg="M"/>
<Description><P/>

<P/>Displays a graph <M>G</M>; a <M>2</M>- or <M>3</M>-dimensional 
pure cubical complex <M>M</M>;  a <M>3</M>-dimensional pure permutahedral complex
<M>M</M>.  

 <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/chap4.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap5.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap7.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap9.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap10.html</Link><LinkText>7</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap11.html</Link><LinkText>8</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutMetrics.html</Link><LinkText>9</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutArtinGroups.html</Link><LinkText>10</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutNoncrossing.html</Link><LinkText>11</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPeriodic.html</Link><LinkText>12</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPersistent.html</Link><LinkText>13</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPolytopes.html</Link><LinkText>14</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutQuandles2.html</Link><LinkText>15</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutQuandles.html</Link><LinkText>16</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutSuperperfect.html</Link><LinkText>17</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutGraphsOfGroups.html</Link><LinkText>18</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>19</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutKnotsQuandles.html</Link><LinkText>20</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTopology.html</Link><LinkText>21</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="DisplayArcPresentation" Arg="K"/>
<Description><P/>

<P/>Displays a  <M>3</M>-dimensional 
pure cubical knot <B>K=PureCubicalKnot(L)</B> in the form of an arc presentation.

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Var Name="DisplayCSVKnotFile"/>
<Description><P/>

<P/>Inputs a string <M>str</M> that identifies a csv file containing the points on a piecewise linear knot in <M>\mathbb  R^3</M>.  It displays the knot.

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="DisplayDendrogram" Arg="L"/>
<Description><P/>

<P/> 
 
Displays the dendrogram  
  <B>L:=DendrogramMat(A,t,s)</B>.

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="DisplayDendrogramMat" Arg="A,t,s"/>
<Description><P/>

<P/> Inputs an <M>n\times n</M>
 symmetric matrix <M>A</M> over the rationals, a rational 
<M>t \ge 0</M> and an integer <M>s \ge 1</M>. 
 The dendrogram defined by <B>DendrogramMat(A,t,s)</B> is displayed.

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="DisplayPDBfile" Arg="str"/>
<Description><P/>

<P/>
Displays the protein backone described in a PDB (Protein Database) file  identified by a string str such as
"file.pdb" or "path/file.pdb".   

 <P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>
 

<Func Name="OrbitPolytope" Arg="G,v,L"/>
<Description><P/>

<P/>Inputs a permutation group or finite matrix group <M>G</M> of degree <M>d</M>
and a rational vector <M>v\in \mathbb R^d</M>.
In both cases there is a natural action of <M>G</M> on <M>\mathbb R^d</M>.
Let <M>P(G,v)</M> be the convex hull 
of the orbit of <M>v</M> under the action of
<M>G</M>. The function also inputs a sublist <M>L</M> of the
following list of strings: 
["dimension","vertex_degree", "visual_graph", "schlegel", "visual"] 

<P/>Depending on <M>L</M>, the function displays the following information:<Br/>
the dimension of the orbit polytope <M>P(G,v)</M>;<Br/> 
the degree of a vertex in the graph of <M>P(G,v)</M>;<Br/> 
a visualization of the graph of <M>P(G,v)</M>;<Br/> 
a visualization of the Schlegel diagram of <M>P(G,v)</M>;<Br/> 
a visualization of the polytope <M>P(G,v)</M> if <M>d=2,3</M>.

<P/>The function requires Polymake software.

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap11.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPolytopes.html</Link><LinkText>2</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="ScatterPlot" Arg="L"/>
<Description><P/>

<P/> Inputs a list  <M>L=[[x_1,y_1],\ldots, [x_n,y_n]]</M> of pairs of 
rational numbers and displays a scatter plot of the points in the 
<M>x</M>-<M>y</M>-plane. 

 <P/><B>Examples:</B> <URL><Link>../tutorial/chap5.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

</Section>
</Chapter>

