with Integer_Faces_of_Polytope; use Integer_Faces_of_Polytope; with Symmetry_Group; use Symmetry_Group; package Faces_of_Symmetric_Polytopes is -- DESCRIPTION : -- This package contains some routines to construct the tuple of -- generating faces of symmetric polytopes. -- When the group representation is not given as parameter, -- full permutation symmetry is assumed. -- If `Lifted'-routines are called, then the permutations will leave -- the lifting value invariant. -- ON A FACE : group * faces -> invariant subgroup function Stabilizer ( v : List_of_Permutations; f : Face ) return List_of_Permutations; function Stabilizer_Lifted ( v : List_of_Permutations; f : Face ) return List_of_Permutations; -- DESCRIPTION : -- Returns those permutations that leave the face invariant. -- ON FACES : group * faces -> invariant faces function Invariant_Faces ( v : List_of_Permutations; f : Faces ) return Faces; function Invariant_Lifted_Faces ( v : List_of_Permutations; f : Faces ) return Faces; -- DESCRIPTION : -- Returns those faces which are invariant under the permutations. -- To check this for the full permutation group, the list of -- generators of the group should be supplied. -- ON FACES : group * faces -> generated faces function Generated_Faces ( v : List_of_Permutations; f : Faces ) return Faces; function Generated_Lifted_Faces ( v : List_of_Permutations; f : Faces ) return Faces; -- DESCRIPTION : -- Returns those faces that generate all faces in f. -- For the full permutation group, supply the generators of the group. -- ON FACES : group * faces -> generators of faces function Generating_Faces ( f : Faces ) return Faces; function Generating_Faces ( v : List_of_Permutations; f : Faces ) return Faces; function Generating_Lifted_Faces ( f : Faces ) return Faces; function Generating_Lifted_Faces ( v : List_of_Permutations; f : Faces ) return Faces; -- DESCRIPTION : -- Returns those faces that generate all faces in f. -- ON TUPLES OF FACES : group * faces -> invariant faces function Invariant_Faces ( v : List_of_Permutations; af : Array_of_Faces ) return Array_of_Faces; function Invariant_Lifted_Faces ( v : List_of_Permutations; af : Array_of_Faces ) return Array_of_Faces; -- DESCRIPTION : -- Returns for each component those faces which are invariant under the -- permutations. To check this for the full permutation group, the list -- of generators of the group should be supplied. -- It is assumed that the tuple is invariant under v. -- ON TUPLES OF FACES : group * faces -> generators of faces function Generating_Faces ( af : Array_of_Faces ) return Array_of_Faces; function Generating_Faces ( v : List_of_Permutations; af : Array_of_Faces ) return Array_of_Faces; function Generating_Faces ( v,w : List_of_Permutations; af : Array_of_Faces ) return Array_of_Faces; function Generating_Lifted_Faces ( af : Array_of_Faces ) return Array_of_Faces; function Generating_Lifted_Faces ( v : List_of_Permutations; af : Array_of_Faces ) return Array_of_Faces; function Generating_Lifted_Faces ( v,w : List_of_Permutations; af : Array_of_Faces ) return Array_of_Faces; -- DESCRIPTION : -- Returns the generating faces of the tuple. When w is left out, -- it is assumed that the tuple is invariant. When both v and w are not -- supplied, then it is assumed that the tuple is equi-invariant w.r.t. -- the full permutation group. end Faces_of_Symmetric_Polytopes;