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