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).

imports from: common

Objects

User Functions

  •  

    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.

      Contained in extension bundled:group.
      Parameters
      Groupgroup
      the permutation group acting on coordinates
      Vectorvec1
      Vectorvec2
      Returns
      Bool
    •  
      orbit <action_type> (G, O) → Set<Object>

      The orbit of an object O under a group generated by G.

      Type Parameters
      action_type
      Parameters
      ArrayG
      Group generators
      ObjectO
      Returns
      Set<Object>
    •  
      orbit (G, C) → Set<container>

      The orbit of an container C under a groupG.

      Parameters
      GroupG
      AnyC
      Returns
      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 extension bundled:group.
      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.

      Contained in extension bundled:group.
      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.

      Contained in extension bundled: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.

      Contained in extension bundled:group.
      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.

      Contained in extension bundled:group.
      Parameters
      GroupG
      SetS
      Returns
      Set
    •  
      orbit_permlib (G, S) → Set

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

      Contained in extension bundled:group.
      Parameters
      GroupG
      Set<Set>S
      Returns
      Set
  •  

    Special purpose functions.

  •  

    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

      Constructs an alternating group of given degree.

      Parameters
      Intdegree
      of the alternating group
      Returns
      Group
    •  
      cyclic_group (degree) → Group

      Constructs a cyclic group of given degree.

      Parameters
      Intdegree
      of the cyclic group
      Returns
      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)"

      Contained in extension bundled:group.
      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)"

      Contained in extension bundled:group.
      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.

      Contained in extension bundled:group.
      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.

      Contained in extension bundled:group.
      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.

      Contained in extension bundled:group.
      Parameters
      Groupgroup
      a permutation group
      Vectorvec
      the vector to be stabilized
      Returns
      Group
      the stabilizer of vec w.r.t. group
    •  
      symmetric_group (degree) → Group

      Constructs a symmetric group of given degree.

      Parameters
      Intdegree
      of the symmetric group
      Returns
      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.

      Parameters
      MatrixM
      Arrayof
      permutations
      Returns
      Array
      of permutations
    •  
      lex_min_representative (G, S) → Set

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

      Contained in extension bundled:group.
      Parameters
      GroupG
      a symmetry group
      SetS
      a set
      Returns
      Set
      the lex-min representative of S
    •  
      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 extension bundled:group.
      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

      Contained in extension bundled:group.
      Parameters
      PermutationRepresentationOnSetsR
      a representation
      MatrixM
      a matrix
      Returns
      Array<Set<Int>>
      the indices of the orbits of the members of A
  •  

    Miscellaneous functions.

Property Types

  •  
    on_cols

    A template parameter used by action and orbit specifying that the permutation acts on the columns of a matrix.

  •  
    on_container

    A template parameter used by action and orbit specifying that the permutation acts on the given container. It will permute the order of the elements

  •  
    on_elements

    A template parameter used by action and orbit specifying that the permutation acts on the deepest elements inside a given container, which should be of type Int.

  •  
    on_rows

    A template parameter used by action and orbit specifying that the permutation acts on the rows of a matrix.