Module permutation_rs::group [] [src]

The core of working with groups.

A group is a set G with an associated operation G * G -> G such that

  1. The operation is associative. I.e. (a * b) * c = a * (b * c) for all a, b, c in G.
  2. There exist an identity element. I.e. an e in G with e * g = g for all g in G.
  3. For each element g in G there is an inverse. I.e. an element h in G such that g * h = e, the identity element in G.

Modules

calculation

A module that provides various group related calculations.

free

A free group are the sequence of symbols and their inverses where there are no occurrences of a symbol and its inverse next to each other.

permutation

A permutation is a bijection of a set. Together with function composition this forms a group.

special

Home for special groups.

tree

In order to cut down on exponential growth of words when forming products we are creating the structure of a calculation. When actual calculations need to be done, we can use a morphism to determine the result.

Structs

BaseStrongGeneratorLevel

A level in the Schreier-Sims Base Strong generator algorithm.

Group

The actual group.

Morphism

Morphism maps one Group to the other with respect of the group operation.

Traits

GroupAction

A group can act on a set. (See Group Action).

GroupElement

The contract for a group element.