# 22.4 Operations for Words

`w1 * w2`

The operator `*` evaluates to the product of the two words w1 and w2. Note that words do not belong to a specific group, thus any two words can be multiplied. Multiplication of words is done by concatenating the words and removing adjacent pairs of an abstract generator and its inverse.

`w1 / w2`

The operator `/` evaluates to the quotient w1*w2^{-1} of the two words w1 and w2. Inversion of a word is done by reversing the order of its letters and replacing each abstract generator with its inverse.

`w1 ^ w2`

The operator `^` evaluates to the conjugate w2^{-1}* w1* w2 of the word w1 under the word w2.

`w1 ^ i`

The powering operator `^` returns the i-th power of the word w1, where i must be an integer. If i is zero, the value is `IdWord`.

`list * w1`
`w1 * list`

In this form the operator `*` returns a new list where each entry is the product of w1 and the corresponding entry of list. Of course multiplication must be defined between w1 and each entry of list.

`list / w1`

In this form the operator `/` returns a new list where each entry is the quotient of w1 and the corresponding entry of list. Of course division must be defined between w1 and each entry of list.

`Comm( w1, w2 )`

`Comm` returns the commutator w1^{-1}* w2^{-1}* w1* w2 of two words w1 and w2.

`LeftQuotient( w1, w2 )`

`LeftQuotient` returns the left quotient w1^{-1}* w2 of two words w1 and w2.

GAP 3.4.4
April 1997