<Chapter><Heading> Coxeter diagrams and graphs of groups</Heading>

<Section><Heading> &nbsp;</Heading>

<ManSection>

<Func Name="CoxeterDiagramComponents" Arg="D"/>
<Description>
<P/>
Inputs a Coxeter diagram <M>D</M> and returns a list <M>[D_1, ..., D_d]</M> of the maximal connected subgraphs <M>D_i</M>.
<P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="CoxeterDiagramDegree" Arg="D,v"/>
<Description>
<P/>
Inputs a Coxeter diagram <M>D</M> and vertex <M>v</M>. 
It returns the degree of <M>v</M> (i.e. the number of edges 
incident with <M>v</M>).
<P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="CoxeterDiagramDisplay" Arg="D"/>

<Func Name="CoxeterDiagramDisplay" Arg="D,str"/>
<Description>
<P/>

Inputs a Coxeter diagram <M>D</M> 
and displays it as a .gif file.  It uses the Mozilla web 
browser as a default to view the diagram.  
An alternative browser can be set using a second argument <M>str</M>="mozilla".
<P/>
This function requires Graphviz software.
<P/><B>Examples:</B> <URL><Link>../tutorial/chap7.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap9.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap11.html</Link><LinkText>3</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutArtinGroups.html</Link><LinkText>4</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutNoncrossing.html</Link><LinkText>5</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutPolytopes.html</Link><LinkText>6</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>7</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="CoxeterDiagramFpArtinGroup" Arg="D"/>
<Description>
<P/>

Inputs a Coxeter diagram <M>D</M> 
and returns the corresponding finitely presented Artin group.
<P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutArtinGroups.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="CoxeterDiagramFpCoxeterGroup" Arg="D"/>
<Description>
<P/>

Inputs a Coxeter diagram <M>D</M>
and returns the corresponding finitely presented Coxeter group.
<P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutArtinGroups.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="CoxeterDiagramIsSpherical" Arg="D"/>
<Description>
<P/>

Inputs a Coxeter diagram <M>D</M> and returns "true" if 
the associated Coxeter groups is finite, and 
returns "false" otherwise.
<P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutArtinGroups.html</Link><LinkText>1</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="CoxeterDiagramMatrix" Arg="D"/>
<Description>
<P/>

Inputs a Coxeter diagram <M>D</M> and returns a matrix 
representation of it. The matrix is given as a function 
<M>DiagramMatrix(D)(i,j)</M> where <M>i,j</M>
can range over the vertices.
<P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="CoxeterSubDiagram" Arg="D,V"/>
<Description>
<P/>

Inputs a Coxeter diagram <M>D</M> and a subset <M>V</M> 
of its vertices. It returns the full sub-diagram of <M>D</M>
with vertex set <M>V</M>.
<P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="CoxeterDiagramVertices" Arg="D"/>
<Description>
<P/>

Inputs a Coxeter diagram <M>D</M> and returns its set of vertices.
<P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

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

Inputs a group <M>G</M> and returns a subgroup <M>G^+</M>. 
The subgroup is that generated by all products <M>xy</M> where 
<M>x</M> and <M>y</M> range over the generating set for <M>G</M> 
stored by GAP. The subgroup is probably only meaningful when <M>G</M>
is an Artin or Coxeter group.
<P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutArtinGroups.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutTwistedCoefficients.html</Link><LinkText>2</LinkText></URL>&nbsp; 

</Description>

























































































































</ManSection>

<ManSection>

<Func Name="GraphOfGroupsDisplay" Arg="D"/>

<Func Name="GraphOfGroupsDisplay" Arg="D,str"/>
<Description>
<P/>

Inputs a graph of groups <M>D</M> and displays it as a .gif file.  
It uses the Mozilla web browser as a default to view the diagram.  
An alternative browser can be set using the second argument <M>str</M>="mozilla".
<P/>
This function requires Graphviz software.
<P/><B>Examples:</B> <URL><Link>../tutorial/chap7.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap11.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutGraphsOfGroups.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="GraphOfResolutions" Arg="D,n"/>
<Description>
<P/>

Inputs a graph of groups <M>D</M> and a positive integer <M>n</M>. 
It returns a graph of resolutions, each resolution being of length <M>n</M>.
 It uses the function ResolutionGenericGroup() to produce the resolutions.
<P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="GraphOfGroups" Arg="D"/>
<Description>
<P/>

Inputs a graph of resolutions <M>D</M> 
and returns the corresponding graph of groups.
<P/><B>Examples:</B> <URL><Link>../tutorial/chap7.html</Link><LinkText>1</LinkText></URL>&nbsp;,
<URL><Link>../tutorial/chap11.html</Link><LinkText>2</LinkText></URL>&nbsp;,
<URL><Link>../www/SideLinks/About/aboutGraphsOfGroups.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="GraphOfResolutionsDisplay" Arg="D"/>
<Description>
<P/>

Inputs a graph of resolutions <M>D</M> and displays it as a .gif file.
It uses the Mozilla web browser as a default to view the diagram.
<P/>
This function requires Graphviz software.
<P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="GraphOfGroupsTest" Arg="D"/>
<Description>
<P/>

Inputs an object <M>D</M> and itries to test 
whether it is a Graph of Groups. 
However, it DOES NOT test the injectivity of any homomorphisms. 
It returns true if <M>D</M> passes the test, and false otherwise.
<P/>
Note that there is no function <M>IsHapGraphOfGroups()</M> because no special data type has been created for these graphs.
<P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="TreeOfGroupsToContractibleGcomplex" Arg="D,G"/>
<Description>
<P/>

Inputs a graph of groups <M>D</M> which is a tree, and also inputs the fundamental group <M>G</M> of the tree in a form which contains each of the groups in the graph as subgroups. 
It returns a corresponding contractible G-complex.
<P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

<ManSection>

<Func Name="TreeOfResolutionsToContractibleGcomplex" Arg="D,G"/>
<Description>
<P/>

Inputs a graph of resolutions <M>D</M> which is a tree, and also inputs the fundamental group <M>G</M> of the tree in a form which contains each of the groups in the graph as subgroups.
It returns a corresponding contractible G-complex. The resolutions are stored as a component of the contractible <M>G</M>-complex.
<P/><B>Examples:</B> 
</Description>

























































































































</ManSection>

</Section>
</Chapter>

