<Chapter><Heading> Orbit polytopes and fundamental domains</Heading> <Table Align="|l|" > <Row> <Item> <Index> Fundamental domains (HAPcryst)</Index> <C> FundamentalDomainAffineCrystGroupOnRight(v,G)</C> <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 is a HAPcryst function and is thus only available if HAPcryst is loaded. <P/> The function requires the use of Polymake software. </Item> </Row> <Row> <Item> <Index>OrbitPolytope</Index> <C> OrbitPolytope(G,v,L) </C> <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. </Item> </Row> <Row> <Item> <Index> PolytopalComplex</Index> <C> PolytopalComplex(G,v) </C> <Br/> <C> PolytopalComplex(G,v,n) </C> <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. </Item> </Row> <Row> <Item> <Index> PolytopalGenerators</Index> <C> PolytopalGenerators(G,v) </C> <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. </Item> </Row> <Row> <Item> <Index>VectorStabilizer</Index> <C> VectorStabilizer(G,v) </C> <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>. </Item> </Row> </Table> </Chapter>