application: group

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


imports from: common

Objects

User Functions

  •  
    •  
      group_from_generators (gens, group)

      Computes the basic properties 'base', 'strong generators', and 'transversals' and stores the result in a Group object.

      Parameters
      Arraygens
      some generators of the group
      Groupgroup
      to fill in the data
  •  
    •  
      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
      the first vector
      Vectorvec2
      the second vector
      Returns
      bool
      true, if vec1 and vec2 are in the same orbit, false otherwise
    •  
      compute_complete_coord_act_orbit (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.
    •  
      compute_coord_act_orbits (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 'compute_complete_coord_act_orbit' 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
    •  
      compute_domain_orbits (group) → Array

      Computes the orbits of the basic set under group.

      Parameters
      Groupgroup
      a group of a cone
      Returns
      Array
    •  
      compute_induced_orbits (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
  •  
  •  
    •  
      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
  •  
    •  
      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
      \@see group_from_cyclic_notation1
    •  
      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
      \@see group_from_cyclic_notation0
    •  
      group_from_permlib_cyclic_notation (gens, degree) → Group

      Constructs a Group from generators given in permlib cyclic notation. (permlib cyc_not: indices seperated by whitespace, generators seperated by commas)

      Parameters
      Arraygens
      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 (the) → String

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

      Parameters
      Groupthe
      permutation group
      Returns
      String
      group generators, separated by newline and comma