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.


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:

Wolfram Research (2012), GroupElementToWord, Wolfram Language function,


Wolfram Research (2012), GroupElementToWord, Wolfram Language function,


Wolfram Language. 2012. "GroupElementToWord." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (2012). GroupElementToWord. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2024_groupelementtoword, author="Wolfram Research", title="{GroupElementToWord}", year="2012", howpublished="\url{}", note=[Accessed: 20-July-2024 ]}


@online{reference.wolfram_2024_groupelementtoword, organization={Wolfram Research}, title={GroupElementToWord}, year={2012}, url={}, note=[Accessed: 20-July-2024 ]}