application: group
The application group provides basic functionality for working with permutation groups. An object of type 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 (DOMAIN=>2), or on coordinates (DOMAIN=>3).
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







A permutation group which acts on a Cone by permuting (1) its RAYS (DOMAIN=>1), (2) its FACETS (DOMAIN=>2), or (3) the coordinates (DOMAIN=>3).
Properties of GroupOfCone

These properties capture combinatorial information of the object. Combinatorial properties only depend on combinatorial data of the object like, e.g., the face lattice.
Contained in extensionbundled:group
.
REPRESENTATIVE_INTERIOR_RIDGE_SIMPLICES: common::Array<boost_dynamic_bitset>
The (d1)dimensional simplices in the interior.

REPRESENTATIVE_MAX_BOUNDARY_SIMPLICES: common::Array<boost_dynamic_bitset>
The boundary (d1)dimensional simplices of a cone of combinatorial dimension d.

REPRESENTATIVE_MAX_INTERIOR_SIMPLICES: common::Array<boost_dynamic_bitset>
The interior ddimensional simplices of a cone of combinatorial dimension d.



These properties capture information of the object that is concerned with the action of permutation groups.

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) raysOnFacets=2: action on the facetsOnCoords=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.








N_REPRESENTATIVE_SIMPLICES: common::Array<Int>
An array of size COMBINATORIAL_DIM whose kth entry stores the number of symmetry classes of kdimensional simplices in the cone.
Contained in extensionbundled:group
. 
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.

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!

REPRESENTATIVE_SIMPLICES: common::Array<Array<boost_dynamic_bitset>>
An array of size COMBINATORIAL_DIM whose kth entry stores one representative for each symmetry class of kdimensional simplices in the cone.
Contained in extensionbundled:group
. 
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.

SYMMETRIZED_COCIRCUIT_EQUATIONS: common::SparseMatrix<Rational, NonSymmetric>
A SparseMatrix whose rows are the sum of all cocircuit equations corresponding to a fixed symmetry class of interior ridge.
Contained in extensionbundled:group
.



A permutation group which acts on a Polytope by permuting (1) its VERTICES (DOMAIN=>1), (2) its FACETS (DOMAIN=>2), or (3) the coordinates (DOMAIN=>3).
Properties of GroupOfPolytope

These properties capture information of the object that is concerned with the action of permutation groups.

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

These functions are concerned with orbits in groups.
Contained in extensionbundled:group
.
are_in_same_orbit (group, vec1, vec2) → Bool

orbits_coord_action_complete (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. 
orbits_induced_action (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 
orbits_of_domain (group) → Array

orbit_coord_action (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 'orbits_coord_action_complete' 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


With these clients you can produce objects of type Group  groups from certain parameterized families, as stabilizers of sets in other groups or from different kinds of cycle notations.

alternating_group (degree) → Group

cyclic_group (degree) → 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, i.e., indices separated by whitespace, generators separated by commas.
Contained in extensionbundled:group
.Parameters
Array<String> gens generators of the permutation group in permlib cyclic notationInt degree the degree of the permutation groupReturns
Group the group generated by gens 
stabilizer_of_set (group, set) → Group

stabilizer_of_vector (group, vec) → Group

symmetric_group (degree) → Group


These functions capture information of the object that is concerned with the action of permutation groups.

col_to_row_action (M, of) → Array
If the action of some permutations on the entries of the rows maps each row of a matrix to another row we obtain an induced action on the set of rows of the matrix. Considering the rows as points this corresponds to the action on the points induced by the action of some permutations on the coordinates.


Miscellaneous functions.
Contained in extensionbundled:group
.
all_group_elements (group) → Array

group_from_generators (gens, group)
Computes the basic properties BASE, STRONG_GENERATORS, and TRANSVERSALS and stores the result in the given Group object group.
Parameters
Array<Array<Int>> gens some generators of the groupGroup group to fill in the data 
group_to_cyclic_notation (g) → String
