<Chapter><Heading> Orbit polytopes and fundamental domains</Heading> <Section><Heading> &nbsp;</Heading> 
<ManSection> <Func Name="CoxeterComplex" Arg="D"/> <Func Name="CoxeterComplex" Arg="D,n"/> <Description> <P/> Inputs a Coxeter diagram <M>D</M> of finite type. It returns a non-free ZW-resolution for the associated Coxeter group <M>W</M>. The non-free resolution is obtained from the permutahedron of type <M>W</M>. A positive integer <M>n</M> can be entered as an optional second variable; just the first <M>n</M> terms of the non-free resolution are then returned. <P/><B>Examples:</B> <URL><Link>../tutorial/chap7.html</Link><LinkText>1</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="ContractibleGcomplex" Arg="str"/> <Description> <P/> Inputs one of the following strings <M>str</M>=: <Br/><Br/> "SL(2,Z)" , "SL(3,Z)" , "PGL(3,Z[i])" , "PGL(3,Eisenstein_Integers)" , "PSL(4,Z)" , "PSL(4,Z)_b" , "PSL(4,Z)_c" , "PSL(4,Z)_d" , "Sp(4,Z)" <Br/><Br/> or one of the following strings <Br/><Br/> "SL(2,O-2)" , "SL(2,O-7)" , "SL(2,O-11)" , "SL(2,O-19)" , "SL(2,O-43)" , "SL(2,O-67)" , "SL(2,O-163)" <Br/><Br/> It returns a non-free ZG-resolution for the group <M>G</M> described by the string. The stabilizer groups of cells are finite. (Subscripts _b , _c , _d denote alternative non-free ZG-resolutions for a given group G.)<Br/><Br/> Data for the first list of non-free resolutions was provided provided by <B>Mathieu Dutour</B>. Data for the second list was provided by <B>Alexander Rahm</B>. <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/chap9.html</Link><LinkText>3</LinkText></URL>&nbsp;, <URL><Link>../tutorial/chap11.html</Link><LinkText>4</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutArithmetic.html</Link><LinkText>5</LinkText></URL>&nbsp;, <URL><Link>../www/SideLinks/About/aboutBredon.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="QuotientOfContractibleGcomplex" Arg="C,D"/> <Description> <P/> Inputs a non-free <M>ZG</M>-resolution <M>C</M> and a finite subgroup <M>D</M> of <M>G</M> which is a subgroup of each cell stabilizer group for <M>C</M>. Each element of <M>D</M> must preserves the orientation of any cell stabilized by it. It returns the corresponding non-free <M>Z(G/D)</M>-resolution. (So, for instance, from the <M>SL(2,O)</M> complex <M>C=ContractibleGcomplex("SL(2,O-2)");</M> we can construct a <M>PSL(2,O)</M>-complex using this function.) <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutArithmetic.html</Link><LinkText>1</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="TruncatedGComplex" Arg="R,m,n"/> <Description> <P/> Inputs a non-free <M>ZG</M>-resolution <M>R</M> and two positive integers <M>m </M> and <M> n </M>. It returns the non-free <M>ZG</M>-resolution consisting of those modules in <M>R</M> of degree at least <M>m</M> and at most <M>n</M>. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="FundamentalDomainStandardSpaceGroup" Arg="v,G"/> <Description> <P/> Inputs a crystallographic group G (represented using AffineCrystGroupOnRight as in the GAP package Cryst). It also inputs a choice of vector v in the euclidean space <M>R^n</M> on which <M>G</M> acts. It returns the Dirichlet-Voronoi fundamental cell for the action of <M>G</M> on euclidean space corresponding to the vector <M>v</M>. The fundamental cell is a fundamental domain if <M>G</M> is Bieberbach. The fundamental cell/domain is returned as a <Quoted>Polymake object</Quoted>. Currently the function only applies to certain crystallographic groups. See the manuals to HAPcryst and HAPpolymake for full details. <P/> This function is part of the HAPcryst package written by <B>Marc Roeder</B> and is thus only available if HAPcryst is loaded. <P/> The function requires the use of Polymake software. <P/><B>Examples:</B> <URL><Link>../www/SideLinks/About/aboutIntro.html</Link><LinkText>1</LinkText></URL>&nbsp;
</Description> </ManSection> 
<ManSection> <Func Name="OrbitPolytope" Arg="G,v,L"/> <Description> <P/> Inputs a permutation group or matrix group <M>G</M> of degree <M>n</M> and a rational vector <M>v</M> of length <M>n</M>. In both cases there is a natural action of <M>G</M> on <M>v</M>. Let <M>P(G,v)</M> be the convex polytope arising as the convex hull of the Euclidean points in 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: <P/> ["dimension","vertex_degree", "visual_graph", "schlegel","visual"] <P/> Depending on the sublist, the function: <List> <Item> prints the dimension of the orbit polytope <M>P(G,v)</M>;</Item> <Item> prints the degree of a vertex in the graph of <M>P(G,v)</M>;</Item> <Item> visualizes the graph of <M>P(G,v)</M>;</Item> <Item> visualizes the Schlegel diagram of <M>P(G,v)</M>;</Item> <Item> visualizes <M>P(G,v)</M> if the polytope is of dimension 2 or 3.</Item> </List> The function uses 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="PolytopalComplex" Arg="G,v"/> <Func Name="PolytopalComplex" Arg="G,v,n"/> <Description> <P/> Inputs a permutation group or matrix group <M>G</M> of degree <M>n</M> and a rational vector <M>v</M> of length <M>n</M>. In both cases there is a natural action of <M>G</M> on <M>v</M>. Let <M>P(G,v)</M> be the convex polytope arising as the convex hull of the Euclidean points in the orbit of <M>v</M> under the action of <M>G</M>. The cellular chain complex <M>C_*=C_*(P(G,v))</M> is an exact sequence of (not necessarily free) <M>ZG</M>-modules. The function returns a component object <M>R</M> with components: <List> <Item> <M>R!.dimension(k)</M> is a function which returns the number of <M>G</M>-orbits of the <M>k</M>-dimensional faces in <M>P(G,v)</M>. If each <M>k</M>-face has trivial stabilizer subgroup in <M>G</M> then <M>C_k</M> is a free <M>ZG</M>-module of rank <M>R.dimension(k)</M>. </Item> <Item> <M>R!.stabilizer(k,n)</M> is a function which returns the stabilizer subgroup for a face in the <M>n</M>-th orbit of <M>k</M>-faces. </Item> <Item> If all faces of dimension &tlt;<M>k+1</M> have trivial stabilizer group then the first <M>k</M> terms of <M>C_*</M> constitute part of a free <M>ZG</M>-resolution. The boundary map is described by the function <M>boundary(k,n)</M> . (If some faces have non-trivial stabilizer group then <M>C_*</M> is not free and no attempt is made to determine signs for the boundary map.) </Item> <Item> <M>R!.elements</M>, <M>R!.group</M>, <M>R!.properties</M> are as in a <M>ZG</M>-resolution. </Item> </List> If an optional third input variable <M>n</M> is used, then only the first <M>n</M> terms of the resolution <M>C_*</M> will be computed. <P/> The function uses 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="PolytopalGenerators" Arg="G,v"/> <Description> <P/> Inputs a permutation group or matrix group <M>G</M> of degree <M>n</M> and a rational vector <M>v</M> of length <M>n</M>. In both cases there is a natural action of <M>G</M> on <M>v</M>, and the vector <M>v</M> must be chosen so that it has trivial stabilizer subgroup in <M>G</M>. Let <M>P(G,v)</M> be the convex polytope arising as the convex hull of the Euclidean points in the orbit of <M>v</M> under the action of <M>G</M>. The function returns a record <M>P</M> with components: <List> <Item> <M>P.generators</M> is a list of all those elements <M>g</M> in <M>G</M> such that <M>g\cdot v</M> has an edge in common with <M>v</M>. The list is a generating set for <M>G</M>.</Item> <Item> <M>P.vector</M> is the vector <M>v</M>.</Item> <Item><M>P.hasseDiagram</M> is the Hasse diagram of the cone at <M>v</M>. </Item> </List> The function uses Polymake software. The function is joint work with Seamus Kelly. <P/><B>Examples:</B> 
</Description> </ManSection> 
<ManSection> <Func Name="VectorStabilizer" Arg="G,v"/> <Description> <P/> Inputs a permutation group or matrix group <M>G</M> of degree <M>n</M> and a rational vector of degree <M>n</M>. In both cases there is a natural action of <M>G</M> on <M>v</M> and the function returns the group of elements in <M>G</M> that fix <M>v</M>. <P/><B>Examples:</B> 
</Description> </ManSection> </Section> </Chapter>