application: group
The application group provides basic functionality for working with permutation groups. An object 'Group' is defined by a list of generators describing the permutation of some indices. The object 'GroupOfCone' encapsulates symmetry information of a cone. It can act on the indices of rays (DOMAIN=>1), of facets(2), or on coordinates(3).
imports from: common
Objects

A finite permutation group.
Properties of Group



GENERATORS: common::Array<Array<Int>>
Some generating set for the group. All generators must have the same length DEGREE. FIXME: Concrete description as second row of permutation representation







UNDOCUMENTED
Properties of GroupOfCone


REPRESENTATIVE_FACETS: common::Matrix<Rational, NonSymmetric>
Representatives for the orbits of facets of the cone under this group action. No redundancies are allowed. FIXME: Could cause problems since representatives are not unique! The order should correspond to the order of the orbits of facets!

REPRESENTATIVE_LINEAR_SPAN: common::Matrix<Rational, NonSymmetric>
Representatives for the orbits of the linear span of the cone under this group action. No redundancies are allowed. FIXME: Could cause problems since representatives are not unique! The order should correspond to the order of the orbits of facets!

REPRESENTATIVE_RAYS: common::Matrix<Rational, NonSymmetric>
Representatives for the orbits of rays of the cone under this group action. No redundancies are allowed. FIXME: Could cause problems since representatives are not unique! How to do canonicalization? The order should correspond to the order of the orbits of rays!



COORDINATES_IN_ORBITS: common::Array<Set<Int>>
An array that contains a set of indices (of rays) for each orbit of coordinates.

DOMAIN: common::Int
Indicates on which domain the group action is defined, see Enum defined in 'apps/polytope/rules/permlib.rules' . OnRays=1: action on the (indices of the) rays OnFacets=2: action on the facets OnCoords=3: action on the coordinates

FACETS_IN_ORBITS: common::Array<Set<Int>>
An array that contains a set of indices (of facets) for each orbit of facets. The indices of the facets correspond to their indices in the polymake object.

INEQUALITIES_IN_ORBITS: common::Array<Set<Int>>
An array that contains a set of indices (of inequalities) for each orbit of inequalities. The indices of the inequalities correspond to their indices in the polymake object.

INPUT_RAYS_IN_ORBITS: common::Array<Set<Int>>
An array that contains a set of indices (of input rays) for each orbit of rays. The indices of the input rays correspond to their indices in the polymake object.








RAYS_IN_ORBITS: common::Array<Set<Int>>
An array that contains a set of indices (of rays) for each orbit of rays. The indices of the rays correspond to their indices in the polymake object.

SYMMETRIC_FACETS: common::Matrix<Rational, NonSymmetric>
The symmetrized facets of the cone. Same order as in the FACETSsection. Explanation: The symmetry group of a cone also act on the facets. If the cone is not fulldimensional, however, the facets may appear unsymmetric. Nevertheless, there always exists some symmetric facet description.

SYMMETRIC_RAYS: common::Matrix<Rational, NonSymmetric>
The symmetrized rays of the cone. Same order as in the RAYSsection. Explanation: The symmetry group of a cone also act on the rays. If the cone has a nontrivial lineality space, however, the rays may appear unsymmetric. Nevertheless, there always exists some symmetric ray description.



UNDOCUMENTED
Properties of GroupOfPolytope


N_ORBITS_OF_POINTS: common::Int
The number of orbits of points. Alias for property N_ORBITS_OF_INPUT_RAYS.

N_ORBITS_OF_VERTICES: common::Int
The number of orbits of vertices. Alias for property N_ORBITS_OF_RAYS.

N_REPRESENTATIVE_VERTICES: common::Int
The number of vertex representatives. Alias for property N_REPRESENTATIVE_RAYS.

POINTS_IN_ORBITS: common::Array<Set<Int>>
An array that contains a set of indices (of points) for each orbit of points. The indices of the points correspond to their indices in the polymake object. Alias for property INPUT_RAYS_IN_ORBITS.

REPRESENTATIVE_AFFINE_HULL: common::Matrix<Rational, NonSymmetric>
Representatives for the orbits of linear span of the polytope under this group action. No redundancies are allowed. Alias for property REPRESENTATIVE_LINEAR_SPAN.

REPRESENTATIVE_VERTICES: common::Matrix<Rational, NonSymmetric>
Representatives for the orbits of vertices of the polytope under this group action. No redundancies are allowed. Alias for property REPRESENTATIVE_RAYS.

SYMMETRIC_VERTICES: common::Matrix<Rational, NonSymmetric>
The symmetrized vertices of the polytope. Same order as in the VERTICESsection. Explanation: The symmetry group of a polytope also act on the vertices. If the polytope has a nontrivial lineality space, however, the vertices may appear unsymmetric. Nevertheless, there always exists some symmetric vertex description.

VERTICES_IN_ORBITS: common::Array<Set<Int>>
An array that contains a set of indices (of vertices) for each orbit of vertices. The indices of the vertices correspond to their indices in the polymake object. Alias for property RAYS_IN_ORBITS.


User Functions


group_from_generators (gens, group)



are_in_same_orbit (group, vec1, vec2) → bool

compute_complete_coord_act_orbit (group, mat) → ListReturn
Computes the orbit of the set of all vectors of the matrix mat under group, which acts by permuting coordinates. The set of vectors does not have to be complete.
Parameters
Group group a group of coordinate permutationsMatrix<Scalar> mat some input vectorsReturns
ListReturn a matrix containing all generated vectors , and an array containing the orbits of generated vectors. 
compute_coord_act_orbits (group, mat) → Array
Computes the orbits of the vectors (homogenized) of a matrix mat by permuting the coordinates of the vectors (skipping the homogenizing coordinate). The group must act on the set of vectors. Choose the function 'compute_complete_coord_act_orbit' if your set is not complete.
Parameters
Group group a group acting on the cone by permuting the coordinatesMatrix<Scalar> mat a matrix with vectors on which the group acts by coordinate permutationReturns
Array an array of the orbits under the action on the coordinates 
compute_domain_orbits (group) → Array

compute_induced_orbits (group, inc) → Array
Computes the orbits of a set on which an action is induced. The incidences between the domain elements and the elements in the set are given by an incidence matrix inc.
Parameters
Group group a group of a coneIncidenceMatrix inc the incidences between domain elements and elements on which an action is inducedReturns
Array an array of the orbits of the induced action



construct_cyclic_group (degree) → Group

construct_symmetric_group (degree) → Group



stabilizer_of_set (group, set) → Group

stabilizer_of_vector (group, vec) → Group



group_from_cyclic_notation0 (group) → Group

group_from_cyclic_notation1 (group) → Group

group_from_permlib_cyclic_notation (gens, degree) → Group
Constructs a Group from generators given in permlib cyclic notation. (permlib cyc_not: indices seperated by whitespace, generators seperated by commas)

group_to_cyclic_notation (the) → String
