extension: bundled:group

application: common

Property Types

application: group

Objects

User Functions

  •  
    all_group_elements (group) → Array

    Compute all elements of a given group.

    Parameters
    Groupgroup
    the permutation group
    Returns
    Array
    <Array<Int> contains all group elements
  •  
    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
  •  
    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_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 group
    Groupgroup
    to fill in the data
  •  
    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
  •  
    group_to_cyclic_notation (g) → String

    Returns group generators in 1-based cyclic notation (GAP like, not permlib like notation)

    Parameters
    Groupg
    the permutation group
    Returns
    String
    group generators, separated by newline and comma
  •  
    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
  •  
    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.

    Parameters
    Groupgroup
    a group of coordinate permutations
    Matrix<Scalar>mat
    some input vectors
    Returns
    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.

    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
  •  
    orbit_permlib (G, S) → Set

    The orbit of a set S under a group G.

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

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

    Parameters
    GroupG
    Set<Set>S
    Returns
    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

    Parameters
    PermutationRepresentationOnSetsR
    a representation
    MatrixM
    a matrix
    Returns
    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

    Parameters
    PermutationRepresentationOnSetsR
    a representation
    MatrixM
    a matrix
    Returns
    Array<Set<Int>>
    the indices of the orbits of the members of A
  •  
    quotiented_character (the) → Array<Int>

    Calculate character of quotiented representation

    Parameters
    QuotientedPermutationRepresentationthe
    given representation
    Returns
    Array<Int>
  •  
    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

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
  •  
    cocircuit_equation (C, rho, index_of) → SparseVector<Int>

    The cocircuit equations of a cone C corresponding to some interior ridge rho with respect to a list of interior simplices symmetries of the cone are NOT taken into account

    Parameters
    ConeC
    Set<Int>rho
    the interior ridge
    Map<Set<Int>, Int>index_of
    the interior_simplices
    Returns
    SparseVector<Int>
  •  
    cocircuit_equations (C, interior_ridge_simplices, interior_simplices) → SparseMatrix<Int>

    A matrix whose rows contain the cocircuit equations of a cone C with respect to a list of interior simplices symmetries of the cone are NOT taken into account

    Parameters
    ConeC
    Array<Set>interior_ridge_simplices
    Array<Set>interior_simplices
    Options
    Stringfilename
    where to write the output (default empty)
    Boolreduce_rows
    whether to perform row reduction (default 1)
    Intlog_frequency
    how often to print log messages
    Returns
    SparseMatrix<Int>
  •  
    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) → LinearProgram<Rational>

    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
    Stringfilename
    a name for a file in .lp format to store the linear program
    Returns
    LinearProgram<Rational>
    an ILP that provides the result
  •  
    foldable_max_signature_upper_bound (d, points, volume, cocircuit_equations) → Integer

    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
    Integer
    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, meaning that 0 is the smallest number allowed.

    Parameters
    Stringgroup
    generators in cyclic notation
    Intdomain
    of the polytope symmetry group. 1 for action on vertex indices, 2 for action" on facet indices, 3 for action on coordinates
    Returns
    group::GroupOfPolytope

    Example:
  •  
    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, meaning that 1 is the smallest number allowed. Example: "(1,3)(2,4)"

    Parameters
    Stringgroup
    generators in cyclic notation
    Intdomain
    of the polytope symmetry group. 1 for action on vertex indices, 2 for action" on facet indices, 3 for action on coordinates
    Returns
    group::GroupOfPolytope
    # @example > $g = group_from_cyclic_notation1("(1,3)(2,4)",0); > print $g->GENERATORS; | 2 3 0 1
  •  
    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>>

    Example:
  •  
    linear_symmetries (m) → group::Group

    Computes the linear symmetries of a matrix m whose rows describe a point configuration via 'sympol'.

    Parameters
    Matrixm
    holds the points as rows whose linear symmetry group is to be computed
    Returns
    group::Group
    the linear symmetry group of m

    Example:
  •  
    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>

    Example:
  •  
    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
  •  
    projected_cocircuit_equations (C, ridge_rep, isotypic_components) → SparseMatrix<Rational>

    A SparseMatrix whose rows contain projections of the cocircuit equations of a cone C corresponding to the orbit of a specified ridge onto a direct sum of specified isotypic components

    Parameters
    ConeC
    Set<Int>ridge_rep
    interior ridge
    Set<Int>isotypic_components
    the isotypic components to project to
    Returns
    SparseMatrix<Rational>
  •  
    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_simplexity_ilp (d, V, volume, cocircuit_equations) → LinearProgram

    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
    Stringfilename
    a name for a file in .lp format to store the linear program
    Returns
    LinearProgram
    an LP that provides a lower bound
  •  
    quotient_space_simplexity_lower_bound (d, V, volume, cocircuit_equations) → Integer

    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
    Integer
    the optimal value of an LP that provides a lower bound
  •  
    representation_conversion_up_to_symmetry (c, a, dual, rayCompMethod) → List

    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
    IntrayCompMethod
    specifies sympol's method of ray computation via lrs(0), cdd(1), beneath_and_beyond(2), ppl(3)
    Returns
    List
    (Bool success indicator, Matrix<Rational> vertices/inequalities, Matrix<Rational> lineality/equations)
  •  
    simplexity_ilp (d, points, the, volume, cocircuit_equations) → LinearProgram

    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
    Stringfilename
    a name for a file in .lp format to store the linear program
    Returns
    LinearProgram
    an LP that provides a lower bound
  •  
    simplexity_ilp_with_angles (d, points, the, volume, cocircuit_equations) → LinearProgram

    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
    Stringfilename
    a name for a file in .lp format to store the linear program
    Returns
    LinearProgram
    an LP that provides a lower bound
  •  
    simplexity_lower_bound (d, points, volume, cocircuit_equations) → Integer

    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
    Integer
    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. 1 for action on vertex indices, 2 for action" on facet indices, 3 for action on coordinates
    Returns
    group::GroupOfPolytope

    Example:
  •  
    symmetrized_foldable_max_signature_ilp (d, points, volume, generators, symmetrized_foldable_cocircuit_equations) → LinearProgram<Rational>

    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
    Stringfilename
    a name for a file in .lp format to store the linear program
    Returns
    LinearProgram<Rational>
    an ILP that provides the result
  •  
    symmetrized_foldable_max_signature_upper_bound (d, points, volume, cocircuit_equations) → Integer

    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
    Integer
    the optimal value of an LP that provides a bound
  •  
    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
  •  
    universal_polytope (P) → Polytope

    Calculate the universal polytope of a polytope

    Parameters
    PolytopeP
    the input polytope
    Returns
    Polytope
  •  
    universal_polytope (P, reps, cocircuit_equations) → Polytope

    Calculate the universal polytope of a polytope, point configuration or quotient manifold

    Parameters
    PolytopeP
    the input polytope
    Array<Set>reps
    the representatives of maximal interior simplices
    SparseMatrixcocircuit_equations
    the matrix of cocircuit equations
    Returns
    Polytope
  •  
    universal_polytope (PC) → Polytope

    Calculate the universal polytope of a point configuration

    Parameters
    PointConfiguration<Scalar>PC
    the point configuration
    Returns
    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
  •  
    write_symmetrized_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
    polytope::PolytopeP
    the underlying polytope
    SimplicialComplexcomplex
    a sufficiently fine subdivision of P, for example the second barycentric subdivision
    Returns
    SimplicialComplex