GroupElementToWord

GroupElementToWord[group,g]

decomposes the group element g as a product of generators of group.

Details and Options

  • The group element g must belong to the given group.
  • GroupElementToWord[group,g] gives the word of g in the form of a list of nonzero integers {m1,,mk} representing generators in the list returned by GroupGenerators[group]. A positive integer in the word represents the ^(th) generator, and a negative integer represents the inverse of the ^(th) generator.

Examples

open allclose all

Basic Examples  (1)

Take a permutation g in a group G:

Decompose g as a product of generators of G (negative integers represent inverse generators):

Reconstruct the permutation from the word:

Scope  (2)

Decompose a permutation as a product of the default generators of a symmetric group:

Decompose the same permutation using a different set of generators for the same group:

The returned words are usually not optimal:

This is the optimal solution:

Check them:

Options  (3)

GroupBaseAction  (1)

The algorithm uses a table of coset representatives of the group stabilizers associated to a given base. The choice of this base might strongly affect the resulting word:

MaxIterations  (1)

Frequently, it is possible to improve the result by allowing the internal algorithm to perform a number of additional iterations:

Method  (1)

GroupElementToWord uses the Minkwitz algorithm, with a number of parameters:

Fine-tuning of those parameters may produce shorter words:

Applications  (1)

Check that the mapping relating respective generators of these two groups is a homomorphism:

This implements the homomorphism, extending the mapping of generators to all elements:

Check that for any two elements of G1, the homomorphism property is obeyed:

In this case, the homomorphism is actually an isomorphism:

Properties & Relations  (4)

GroupElementFromWord reconstructs the original group element from the word:

Identity generators are not used, but affect the indexing of the other generators:

The identity permutation always corresponds to the empty word:

The element must belong to the group:

Neat Examples  (1)

The group of a 3×3×3 Rubik's cube is usually given in terms of six generators:

However, one of them is redundant, and the group can actually be constructed with only five face rotations:

This is a possible word expressing the sixth rotation in terms of the first five and their inverses:

Check it:

After removing the generators corresponding to opposite faces, the remaining four still move all facelets, but now they only generate a subgroup of index 2048:

This is because there are two disconnected sets of edge facelets:

Compare with the original situation:

Introduced in 2012
 (9.0)