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
-
-
CHARACTER_TABLE: common::Matrix<Rational, NonSymmetric>
The character table. NOTE: We do not support complex characters, but for the moment only real rational ones.
-
-
CONJUGACY_CLASS_REPRESENTATIVES: common::Array<Array<Int>>
A set of representatives for each conjugacy class
-
-
-
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 (d-1)-dimensional simplices in the interior.
-
REPRESENTATIVE_MAX_BOUNDARY_SIMPLICES: common::Array<boost_dynamic_bitset>
The boundary (d-1)-dimensional simplices of a cone of combinatorial dimension d.
-
REPRESENTATIVE_MAX_INTERIOR_SIMPLICES: common::Array<boost_dynamic_bitset>
The interior d-dimensional 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 k-th entry stores the number of symmetry classes of k-dimensional 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 k-th entry stores one representative for each symmetry class of k-dimensional 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 FACETS-section.
Explanation: The symmetry group of a cone also act on the facets. If the cone is not full-dimensional, 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 RAYS-section. Explanation: The symmetry group of a cone also act on the rays. If the cone has a non-trivial 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 GroupOfCone::N_ORBITS_OF_INPUT_RAYS.
-
N_ORBITS_OF_VERTICES: common::Int
The number of orbits of vertices. Alias for property GroupOfCone::N_ORBITS_OF_RAYS.
-
N_REPRESENTATIVE_VERTICES: common::Int
The number of vertex representatives. Alias for property GroupOfCone::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 GroupOfCone::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 GroupOfCone::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 GroupOfCone::REPRESENTATIVE_RAYS.
-
SYMMETRIC_VERTICES: common::Matrix<Rational, NonSymmetric>
The symmetrized vertices of the polytope. Same order as in the VERTICES-section.
Explanation: The symmetry group of a polytope also act on the vertices. If the polytope has a non-trivial 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 GroupOfCone::RAYS_IN_ORBITS.
-
-
-
UNDOCUMENTED
Properties of PermutationRepresentationOnSets
-
-
-
DOMAIN_IN_ORBIT_ORDER: common::Array<Set<Int>>
the list of sets on which the group acts, ordered by orbits and conjugacy classes
-
-
-
-
-
-
-
UNDOCUMENTED
Contained in extensionderived from: Representationbundled:group
.
Properties of QuotientedPermutationRepresentation
-
-
DOMAIN: common::Array<boost_dynamic_bitset>
the list of equivalence classs of sets on which the group acts
-
-
-
-
UNDOCUMENTED
Properties of Representation
-
-
IRREDUCIBLE_DECOMPOSITION: common::Array<Int>
the decomposition into irreducible representations, in the same order as the rows of the GROUP.CHARACTER_TABLE
-
User Functions
-
These functions are concerned with orbits in groups.
-
are_in_same_orbit (group, vec1, vec2) → Bool
-
orbit <action_type> (G, O) → Set<Object>
The orbit of an object O under a group generated by G.
-
orbit (G, C) → Set<container>
-
orbits_coord_action_complete (group, mat) → List
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.
Contained in extensionbundled:group
.Parameters
Group group a group of coordinate permutationsMatrix<Scalar> mat some input vectorsReturns
List ( Matrix all generated vectors, Array 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.
Contained in extensionbundled:group
.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.
Contained in extensionbundled:group
.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 -
orbit_permlib (G, S) → Set
-
orbit_permlib (G, S) → Set
-
-
Special purpose functions.
-
conjugacy_classes (the, the) → Array<Set<Array<Int>>>
Calculate the conjugacy classes of a group
Parameters
Array<Array<Int>> the generators of the groupArray<Array<Int>> the representatives of the conjugacy classesReturns
Array<Set<Array<Int>>> -
irreducible_decomposition (the, the) → Array<Int>
Calculate the decomposition into irreducible components of a given representation
-
isotypic_basis (the, the) → SparseMatrix
Calculate a basis of the isotypic component given by the i-th irrep
Parameters
PermutationRepresentationOnSets the representation in questionInt the index of the sought irrepOptions
String domain_ordering the domain ordering to use: lex (default) or orbitReturns
SparseMatrix a matrix whose rows form a basis of the i-th irrep -
isotypic_projector (the, the) → SparseMatrix
Calculate the projector into the isotypic component given by the i-th irrep
Parameters
PermutationRepresentationOnSets the representation in questionInt the index of the sought irrepOptions
String domain_ordering the domain ordering to use: lex (default) or orbitReturns
SparseMatrix -
isotypic_supports (the, the) → IncidenceMatrix
For each isotypic component, which of a given array of sets are supported on it?
Parameters
PermutationRepresentationOnSets the representation in questionArray<Set> the given array of setsOptions
String domain_ordering the domain ordering to use: lex (default) or orbitReturns
IncidenceMatrix -
isotypic_supports (the, the) → IncidenceMatrix
For each row of a given SparseMatrix, to which isotypic components does it have a non-zero projection? The columns of the SparseMatrix correspond, in order, to the sets of the representation.
Parameters
PermutationRepresentationOnSets the representation in questionSparseMatrix the given matrixOptions
String domain_ordering the domain ordering to use: lex (default) or orbitReturns
IncidenceMatrix -
quotiented_character (the) → Array<Int>
Calculate character of quotiented representation
Contained in extensionbundled:group
. -
rep (the, the) → SparseMatrix
Calculate the representation of a group element
Parameters
PermutationRepresentationOnSets the representation in questionArray<Int> the group elementReturns
SparseMatrix -
row_support_sizes (the) → Array<Int>
How many non-zero entries are there in each row of a SparseMatrix?
-
-
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.
-
lex_min_representative (G, S) → Set
-
orbit_supports (R, M) → SparseMatrix<Int>
For each non-zero entry of a SparseMatrix whose columns are indexed by the domain of a representation, compute the index of the orbit representative of the columns of non-zero entries
Contained in extensionbundled:group
.Parameters
PermutationRepresentationOnSets R a representationMatrix M a matrixReturns
SparseMatrix<Int> the indices of the orbits of the members of A -
orbit_support_sets (R, M) → Array<Set<Int>>
For each row of a Matrix whose columns are indexed by the domain of a representation, collect the indices of the orbit representatives of the columns of non-zero entries
Contained in extensionbundled:group
.Parameters
PermutationRepresentationOnSets R a representationMatrix M a matrixReturns
Array<Set<Int>> the indices of the orbits of the members of A
-
-
Miscellaneous functions.
-
action_inv <action_type> (p, O) → Object
The image of an object O under the inverse of a permutation p.
-
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.
Contained in extensionbundled:group
.Parameters
Array<Array<Int>> gens some generators of the groupGroup group to fill in the data -
group_to_cyclic_notation (g) → String