extension: bundled:group
application: common
Property Types
application: group
Objects
-
Properties of GroupOfCone
-
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.
-
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.
-
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.
-
These properties capture combinatorial information of the object. Combinatorial properties only depend on combinatorial data of the object like, e.g., the face lattice.
-
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.
-
-
-
User Functions
-
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.
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
-
These functions are concerned with orbits in groups.
-
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
-
-
Miscellaneous functions.
-
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
-
application: matroid
User Functions
-
fano_matroid () → Matroid
-
projective_plane (p) → Matroid
application: polytope
Objects
-
Properties of Cone
-
COCIRCUIT_EQUATIONS: common::SparseMatrix<Rational, NonSymmetric>
A matrix whose rows contain the cocircuit equations of P. The columns correspond to the MAX_INTERIOR_SIMPLICES.
-
FOLDABLE_COCIRCUIT_EQUATIONS: common::SparseMatrix<Rational, NonSymmetric>
A matrix whose rows contain the foldable cocircuit equations of P. The columns correspond to 2 * MAX_INTERIOR_SIMPLICES. col 0 = 0, col 1 = first simplex (black copy), col 2 = first simplex (white copy), col 3 = second simplex (black copy), ...
-
-
MAX_BOUNDARY_SIMPLICES: common::Array<Set<Int>>
The boundary (d-1)-dimensional simplices of a cone of combinatorial dimension d
-
MAX_INTERIOR_SIMPLICES: common::Array<Set<Int>>
The interior d-dimensional simplices of a cone of combinatorial dimension d
-
-
Properties of PointConfiguration
-
COCIRCUIT_EQUATIONS: common::SparseMatrix<Rational, NonSymmetric>
Tells the cocircuit equations that hold for the configuration, one for each interior ridge
-
MAX_BOUNDARY_SIMPLICES: common::Array<Set<Int>>
Tells the full-dimensional simplices on the boundary that contain no points except for the vertices.
-
MAX_INTERIOR_SIMPLICES: common::Array<Set<Int>>
Tells the full-dimensional simplices that contain no points except for the vertices.
-
-
-
SIMPLEXITY_LOWER_BOUND: common::Int
A lower bound for the minimal number of simplices in a triangulation
-
-
Properties of Polytope
-
FOLDABLE_MAX_SIGNATURE_UPPER_BOUND: common::Int
An upper bound for the maximal signature of a foldable triangulation of a polytope The signature is the absolute difference of the normalized volumes of black minus white maximal simplices, where only odd normalized volumes are taken into account.
-
QUOTIENT_SPACE: QuotientSpace
A topological quotient space obtained from a polytope by identifying faces.
-
SIMPLEXITY_LOWER_BOUND: common::Int
A lower bound for the minimal number of simplices in a triangulation
-
-
A topological quotient space obtained from a Polytope by identifying faces. This object will sit inside the polytope.
Properties of QuotientSpace
-
Properties defining a quotient space.
-
IDENTIFICATION_GROUP: group::Group
The group encoding the quotient space. The faces of the space are the orbits of the faces of the polytope under the group.
-
-
These properties capture combinatorial information of the object. Combinatorial properties only depend on combinatorial data of the object like, e.g., the face lattice.
-
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
-
-
FACES: common::Array<Array<Set<Int>>>
The faces of the quotient space, ordered by dimension. One representative of each orbit class is kept.
-
FACE_ORBITS: common::Array<Set<Array<Set<Int>>>>
The orbits of faces of the quotient space, ordered by dimension.
-
-
N_SIMPLICES: common::Array<Int>
The simplices made from points of the quotient space (also internal simplices, not just faces)
-
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
-
SIMPLEXITY_LOWER_BOUND: common::Int
A lower bound for the number of simplices needed to triangulate the quotient space
-
-
SIMPLICIAL_COMPLEX: topaz::SimplicialComplex
A simplicial complex obtained by two stellar subdivisions of the defining polytope.
-
SYMMETRY_GROUP: group::Group
The symmetry group induced by the symmetry group of the polytope on the FACES of the quotient space
-
-
User Functions
-
alternating_group (degree, domain) → group::GroupOfPolytope
Constructs an alternating group of given degree. (See also group::alternating_group.)
-
convert_coord_action (group, mat, dom_out) → group::Group
Converts the generators of a group acting on coordinates to generators of the corresponding group which acts on the rows of the given matrix mat. The parameter dom_out specifies whether mat describes vertices or facets.
Parameters
group::Group group input group acting on coordinatesMatrix mat vertices or facets of a polytopeInt dom_out OnRays(1) or OnFacets(2)Options
String name an optional name for the output groupReturns
group::Group a new group object with the generators induced on the new domain -
convert_group_domain (group, VIF) → group::Group
Converts the generators of the input group from the domain onRays to generators on the domain onFacets, and vice versa.
Parameters
group::Group group IncidenceMatrix VIF the vertex-facet incidence matrix of the cone or polytopeOptions
String name an optional name for the output groupReturns
group::Group a new group object with the generators induced on the new domain -
cs_quotient (P)
For a centrally symmetric polytope, divide out the central symmetry, i.e, identify diametrically opposite faces.
Parameters
Polytope P , centrally symmetric -
cyclic_group (degree, domain) → group::GroupOfPolytope
Constructs a cyclic group of given degree. (See also group::cyclic_group.)
-
cylinder_2 () → Polytope
Return a 2-dimensional cylinder obtained by identifying two opposite sides of a square.
Returns
Polytope -
foldable_max_signature_ilp (d, points, volume, cocircuit_equations) → an
Set up an ILP whose MAXIMAL_VALUE is the maximal signature of a foldable triangulation of a polytope, point configuration or quotient manifold
Parameters
Int d the dimension of the input polytope, point configuration or quotient manifoldMatrix points the input points or verticesRational volume the volume of the convex hullSparseMatrix cocircuit_equations the matrix of cocircuit equationsOptions
filename a name for a file in .lp format to store the linear programReturns
an ILP that provides the result -
foldable_max_signature_upper_bound (d, points, volume, cocircuit_equations) → the
Calculate the LP relaxation upper bound to the maximal signature of a foldable triangulation of polytope, point configuration or quotient manifold
Parameters
Int d the dimension of the input polytope, point configuration or quotient manifoldMatrix points the input points or verticesRational volume the volume of the convex hullSparseMatrix cocircuit_equations the matrix of cocircuit equationsReturns
the optimal value of an LP that provides a bound -
group_from_cyclic_notation0 (group, domain) → group::GroupOfPolytope
Constructs a group from a string with generators in cyclic notation. All numbers in the string are 0-based. Example: "(0,2)(1,3)"
Parameters
String group generators in cyclic notationInt domain of the polytope symmetry groupReturns
group::GroupOfPolytope -
group_from_cyclic_notation1 (group, domain) → group::GroupOfPolytope
Constructs a group from a string with generators in cyclic notation. All numbers in the string are 1-based. Example: "(1,3)(2,4)"
Parameters
String group generators in cyclic notationInt domain of the polytope symmetry groupReturns
group::GroupOfPolytope -
interior_and_boundary_ridges (P) → Pair<Array<Set>,Array<Set>>
Find the (d-1)-dimensional simplices in the interior and in the boundary of a d-dimensional polytope or cone
-
lex_min_representative (G, S) → Set
-
linear_symmetries (c, dual) → group::GroupOfCone
Computes the linear symmetries of a given polytope p via 'sympol'. If the input is a cone, it may compute only a subgroup of the linear symmetry group.
Parameters
Cone c the cone (or polytope) whose linear symmetry group is to be computedBool dual true if group action on vertices, false if action on facetsReturns
group::GroupOfCone the linear symmetry group of p (or a subgroup if p is a cone) -
max_interior_simplices (P) → Array<Set>
Find the maximal interior simplices of a polytope P. Symmetries of P are NOT taken into account.
-
max_interior_simplices (P)
find the maximal interior simplices of a point configuration that DO NOT contain any point in their closure, except for the vertices. Symmetries of the configuration are NOT taken into account.
Parameters
PointConfiguration P the input point configuration -
max_interior_simplices_impl (P) → Array<Set>
Find the interior d-dimensional simplices of a polytope or cone of combinatorial dimension d
-
quarter_turn_manifold () → Polytope
Return the 3-dimensional Euclidean manifold obtained by identifying opposite faces of a 3-dimensional cube by a quarter turn. After identification, two classes of vertices remain.
Returns
Polytope -
quotient_of_triangulation (T, G, R) → SparseVector
In a triangulation T, find the number of representatives of simplices wrt to G, and return the counts in the order indicated by the array R
Parameters
Array<Set> T the input triangulation,Array<Array<Int>> G the generators of the symmetry groupArray<Set> R the canonical lex-min representatives of the simplicesOptions
Bool foldable is the triangulation foldable?Returns
SparseVector V the number of times a simplex G-isomorphic to each representative in R occurs in T -
quotient_space_faces (P)
Find the faces of the quotient space represented by P and its IDENTIFICATION_GROUP.
Parameters
Polytope P -
quotient_space_simplexity_ilp (d, V, volume, cocircuit_equations) → an
Set up an LP whose MINIMAL_VALUE is a lower bound for the minimal number of simplices needed to triangulate a polytope, point configuration or quotient manifold
Parameters
Int d the dimension of the input polytope, point configuration or quotient manifoldMatrix V the input points or verticesScalar volume the volume of the convex hullSparseMatrix cocircuit_equations the matrix of cocircuit equationsOptions
filename a name for a file in .lp format to store the linear programReturns
an LP that provides a lower bound -
quotient_space_simplexity_lower_bound (d, V, volume, cocircuit_equations) → the
Calculate a lower bound for the minimal number of simplices needed to triangulate a polytope, point configuration or quotient manifold
Parameters
Int d the dimension of the input polytope, point configuration or quotient manifoldMatrix V the input points or verticesScalar volume the volume of the convex hullSparseMatrix cocircuit_equations the matrix of cocircuit equationsReturns
the optimal value of an LP that provides a lower bound -
representation_conversion_up_to_symmetry (c, a, dual, rayCompMethod) → perl::ListReturn
Computes the dual description of a polytope up to its linear symmetry group.
Parameters
Cone c the cone (or polytope) whose dual description is to be computedgroup::Group a symmetry group of the cone c (group::GroupOfCone or group::GroupOfPolytope)Bool dual true if V to H, false if H to VBool rayCompMethod specifies sympol's method of ray computation via lrs(0), cdd(1), beneath_and_beyond(2)Returns
perl::ListReturn list which contains success as bool, vertices/inequalities and lineality/equations as Matrix<Rational> -
simplexity_ilp (d, points, the, volume, cocircuit_equations) → an
Set up an ILP whose MINIMAL_VALUE is the minimal number of simplices needed to triangulate a polytope, point configuration or quotient manifold
Parameters
Int d the dimension of the input polytope, point configuration or quotient manifoldMatrix points the input points or verticesArray<Set> the representatives of maximal interior simplicesScalar volume the volume of the convex hullSparseMatrix cocircuit_equations the matrix of cocircuit equationsOptions
filename a name for a file in .lp format to store the linear programReturns
an LP that provides a lower bound -
simplexity_ilp_with_angles (d, points, the, volume, cocircuit_equations) → an
Set up an ILP whose MINIMAL_VALUE is the minimal number of simplices needed to triangulate a polytope, point configuration or quotient manifold
Parameters
Int d the dimension of the input polytope, point configuration or quotient manifoldMatrix points the input points or verticesArray<Set> the (representative) maximal interior simplicesScalar volume the volume of the convex hullSparseMatrix cocircuit_equations the matrix of cocircuit equationsOptions
filename a name for a file in .lp format to store the linear programReturns
an LP that provides a lower bound -
simplexity_lower_bound (d, points, volume, cocircuit_equations) → the
Calculate the LP relaxation lower bound for the minimal number of simplices needed to triangulate a polytope, point configuration or quotient manifold
Parameters
Int d the dimension of the input polytope, point configuration or quotient manifoldMatrix points the input points or verticesScalar volume the volume of the convex hullSparseMatrix cocircuit_equations the matrix of cocircuit equationsReturns
the optimal value of an LP that provides a lower bound -
symmetric_group (degree, domain) → group::GroupOfPolytope
Constructs a symmetric group of given degree. (See also group::symmetric_group.)
-
symmetrized_foldable_max_signature_ilp (d, points, volume, generators, symmetrized_foldable_cocircuit_equations) → an
Set up an ILP whose MAXIMAL_VALUE is the maximal signature of a foldable triangulation of a polytope, point configuration or quotient manifold
Parameters
Int d the dimension of the input polytope, point configuration or quotient manifoldMatrix points the input points or verticesRational volume the volume of the convex hullArray<Array<Int>> generators the generators of the symmetry groupSparseMatrix symmetrized_foldable_cocircuit_equations the matrix of symmetrized cocircuit equationsOptions
filename a name for a file in .lp format to store the linear programReturns
an ILP that provides the result -
symmetrized_foldable_max_signature_upper_bound (d, points, volume, cocircuit_equations) → the
Calculate the LP relaxation upper bound to the maximal signature of a foldable triangulation of polytope, point configuration or quotient manifold
Parameters
Int d the dimension of the input polytope, point configuration or quotient manifoldMatrix points the input points or verticesRational volume the volume of the convex hullSparseMatrix cocircuit_equations the matrix of cocircuit equationsReturns
the optimal value of an LP that provides a bound -
truncated_cuboctahedron () → SymmetricPolytope
Create truncated cuboctahedron. An Archimedean solid. This is actually a misnomer. The actual truncation of a cuboctahedron is obtained as wythoff(B3,range(0,2)), which is rational and normally equivalent to this construction.
Returns
SymmetricPolytope -
truncated_orbit_polytope (v, group, eps) → SymmetricPolytope
Constructs an orbit polytope of a given point v with respect to a given group group, in which all vertices are cut off by hyperplanes in distance eps
Parameters
Vector v point of which orbit polytope is to be constructedgroup::GroupOfPolytope group group for which orbit polytope is to be constructedRational eps scaled distance by which the vertices of the orbit polytope are to be cut offReturns
SymmetricPolytope the truncated orbit polytope -
write_foldable_max_signature_ilp (P, outfile_name)
-
write_quotient_space_simplexity_ilp ()
outputs a linear program whose optimal value is a lower bound for the number of simplices necessary to triangulate the polytope in such a way that its symmetries respect the triangulation of the boundary.
-
write_simplexity_ilp (P, outfile_name)
application: topaz
User Functions
-
bs2quotient (P, complex) → SimplicialComplex
Create a simplicial complex from a simplicial subdivision of a given complex by identifying vertices on the boundary of the original complex according to a group that acts on vertices.
Parameters
Polytope P the underlying polytopeSimplicialComplex complex a sufficiently fine subdivision of P, for example the second barycentric subdivisionReturns
SimplicialComplex