extension: bundled:group

application: common

Property Types

application: group

Objects

User Functions

  •  
    group_from_cyclic_notation0 (group) → Group

    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
    Stringgroup
    generators in cyclic notation
    Returns
    Group
  •  
    group_from_cyclic_notation1 (group) → Group

    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
    Stringgroup
    generators in cyclic notation
    Returns
    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 notation
    Intdegree
    the degree of the permutation group
    Returns
    Group
    the group generated by gens
  •  
    stabilizer_of_set (group, set) → Group

    Computes the subgroup of group which stabilizes the given set of indices set.

    Parameters
    Groupgroup
    a permutation group
    Setset
    the set to be stabilized
    Returns
    Group
    the stabilizer of set w.r.t. group
  •  
    stabilizer_of_vector (group, vec) → Group

    Computes the subgroup of group which stabilizes the given vector vec.

    Parameters
    Groupgroup
    a permutation group
    Vectorvec
    the vector to be stabilized
    Returns
    Group
    the stabilizer of vec w.r.t. group
  •  

    These functions are concerned with orbits in groups.

    •  
      are_in_same_orbit (group, vec1, vec2) → Bool

      Checks whether vector vec1 and vec2 are in the same orbit with respect to the (coordinate) action of group.

      Parameters
      Groupgroup
      the permutation group acting on coordinates
      Vectorvec1
      Vectorvec2
      Returns
      Bool
    •  
      orbit (G, S) → Set

      The orbit of a set S under a group G.

      Parameters
      GroupG
      SetS
      Returns
      Set
    •  
      orbit (G, S) → Set

      The orbit of a set S of sets under a group G.

      Parameters
      GroupG
      Set<Set>S
      Returns
      Set
    •  
      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
      Groupgroup
      a group of coordinate permutations
      Matrix<Scalar>mat
      some input vectors
      Returns
      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
      Groupgroup
      a group of a cone
      IncidenceMatrixinc
      the incidences between domain elements and elements on which an action is induced
      Returns
      Array
      an array of the orbits of the induced action
    •  
      orbits_of_domain (group) → Array

      Computes the orbits of the basic set under group.

      Parameters
      Groupgroup
      a group of a cone
      Returns
      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
      Groupgroup
      a group acting on the cone by permuting the coordinates
      Matrix<Scalar>mat
      a matrix with vectors on which the group acts by coordinate permutation
      Returns
      Array
      an array of the orbits under the action on the coordinates
  •  

    Miscellaneous functions.

application: matroid

User Functions

  •  
    fano_matroid () → Matroid

    Creates the Fano plane matroid of rank 3 with 7 elements.

    Returns
    Matroid
  •  
    projective_plane (p) → Matroid

    Creates the projective plane matroid of rank 3 with p**2+p+1 elements, where p is a prime.

    Parameters
    Integerp
    Returns
    Matroid

application: polytope

Objects

User Functions

  •  
    alternating_group (degree, domain) → group::GroupOfPolytope

    Constructs an alternating group of given degree. (See also group::alternating_group.)

    Parameters
    Intdegree
    Intdomain
    of the polytope's symmetry group
    Returns
    group::GroupOfPolytope
  •  
    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::Groupgroup
    input group acting on coordinates
    Matrixmat
    vertices or facets of a polytope
    Intdom_out
    OnRays(1) or OnFacets(2)
    Options
    Stringname
    an optional name for the output group
    Returns
    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::Groupgroup
    IncidenceMatrixVIF
    the vertex-facet incidence matrix of the cone or polytope
    Options
    Stringname
    an optional name for the output group
    Returns
    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
    PolytopeP
    , centrally symmetric
  •  
    cyclic_group (degree, domain) → group::GroupOfPolytope

    Constructs a cyclic group of given degree. (See also group::cyclic_group.)

    Parameters
    Intdegree
    Intdomain
    of the polytope's symmetry group
    Returns
    group::GroupOfPolytope
  •  
    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
    Intd
    the dimension of the input polytope, point configuration or quotient manifold
    Matrixpoints
    the input points or vertices
    Rationalvolume
    the volume of the convex hull
    SparseMatrixcocircuit_equations
    the matrix of cocircuit equations
    Options
    filenamea
    name for a file in .lp format to store the linear program
    Returns
    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
    Intd
    the dimension of the input polytope, point configuration or quotient manifold
    Matrixpoints
    the input points or vertices
    Rationalvolume
    the volume of the convex hull
    SparseMatrixcocircuit_equations
    the matrix of cocircuit equations
    Returns
    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
    Stringgroup
    generators in cyclic notation
    Intdomain
    of the polytope symmetry group
    Returns
    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
    Stringgroup
    generators in cyclic notation
    Intdomain
    of the polytope symmetry group
    Returns
    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

    Parameters
    PolytopeP
    the input polytope or cone
    Returns
    Pair<Array<Set>,Array<Set>>
  •  
    lex_min_representative (G, S) → Set

    Computes the lexicographically smallest representative of a given set with respect to a group

    Parameters
    GroupG
    a symmetry group
    SetS
    a set
    Returns
    Set
    the lex-min representative of S
  •  
    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
    Conec
    the cone (or polytope) whose linear symmetry group is to be computed
    Booldual
    true if group action on vertices, false if action on facets
    Returns
    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.

    Parameters
    PolytopeP
    the input polytope
    Returns
    Array<Set>
  •  
    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
    PointConfigurationP
    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

    Parameters
    PolytopeP
    the input polytope or cone
    Returns
    Array<Set>
  •  
    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 group
    Array<Set>R
    the canonical lex-min representatives of the simplices
    Options
    Boolfoldable
    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
    PolytopeP
  •  
    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
    Intd
    the dimension of the input polytope, point configuration or quotient manifold
    MatrixV
    the input points or vertices
    Scalarvolume
    the volume of the convex hull
    SparseMatrixcocircuit_equations
    the matrix of cocircuit equations
    Options
    filenamea
    name for a file in .lp format to store the linear program
    Returns
    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
    Intd
    the dimension of the input polytope, point configuration or quotient manifold
    MatrixV
    the input points or vertices
    Scalarvolume
    the volume of the convex hull
    SparseMatrixcocircuit_equations
    the matrix of cocircuit equations
    Returns
    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
    Conec
    the cone (or polytope) whose dual description is to be computed
    group::Groupa
    symmetry group of the cone c (group::GroupOfCone or group::GroupOfPolytope)
    Booldual
    true if V to H, false if H to V
    BoolrayCompMethod
    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
    Intd
    the dimension of the input polytope, point configuration or quotient manifold
    Matrixpoints
    the input points or vertices
    Array<Set>the
    representatives of maximal interior simplices
    Scalarvolume
    the volume of the convex hull
    SparseMatrixcocircuit_equations
    the matrix of cocircuit equations
    Options
    filenamea
    name for a file in .lp format to store the linear program
    Returns
    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
    Intd
    the dimension of the input polytope, point configuration or quotient manifold
    Matrixpoints
    the input points or vertices
    Array<Set>the
    (representative) maximal interior simplices
    Scalarvolume
    the volume of the convex hull
    SparseMatrixcocircuit_equations
    the matrix of cocircuit equations
    Options
    filenamea
    name for a file in .lp format to store the linear program
    Returns
    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
    Intd
    the dimension of the input polytope, point configuration or quotient manifold
    Matrixpoints
    the input points or vertices
    Scalarvolume
    the volume of the convex hull
    SparseMatrixcocircuit_equations
    the matrix of cocircuit equations
    Returns
    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.)

    Parameters
    Intdegree
    Intdomain
    of the polytope's symmetry group
    Returns
    group::GroupOfPolytope
  •  
    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
    Intd
    the dimension of the input polytope, point configuration or quotient manifold
    Matrixpoints
    the input points or vertices
    Rationalvolume
    the volume of the convex hull
    Array<Array<Int>>generators
    the generators of the symmetry group
    SparseMatrixsymmetrized_foldable_cocircuit_equations
    the matrix of symmetrized cocircuit equations
    Options
    filenamea
    name for a file in .lp format to store the linear program
    Returns
    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
    Intd
    the dimension of the input polytope, point configuration or quotient manifold
    Matrixpoints
    the input points or vertices
    Rationalvolume
    the volume of the convex hull
    SparseMatrixcocircuit_equations
    the matrix of cocircuit equations
    Returns
    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.

  •  
    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
    Vectorv
    point of which orbit polytope is to be constructed
    group::GroupOfPolytopegroup
    group for which orbit polytope is to be constructed
    Rationaleps
    scaled distance by which the vertices of the orbit polytope are to be cut off
    Returns
    SymmetricPolytope
    the truncated orbit polytope
  •  
    write_foldable_max_signature_ilp (P, outfile_name)

    construct a linear program whose optimal value is an upper bound for the algebraic signature of a triangulation of P.

    Parameters
    PolytopeP
    Stringoutfile_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)

    construct a linear program whose optimal value is a lower bound for the minimal number of simplices in a triangulation of P.

    Parameters
    PolytopeP
    Stringoutfile_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
    PolytopeP
    the underlying polytope
    SimplicialComplexcomplex
    a sufficiently fine subdivision of P, for example the second barycentric subdivision
    Returns
    SimplicialComplex