# 79.2 Operations for braid elements

A braid element bb corresponding to the Coxeter group W is represented as a record with fields `pw0`, `elm` and `operations` which contains the operations described below. All examples below are with `CHEVIE.PrintBraid="Deligne"`.

`b1 * b2`

The multiplication of two braid elements is defined, if they are braid elements of the same group, returning a braid element.

```    gap> W := CoxeterGroup( "A", 2 );;
gap> a := Braid( W )( [1] );
1
gap> b := Braid( W )( [2] );
2
gap> a * b;
12 ```

`b1 ^ i`

A braid element can be raised to an integral, positive or negative, power, returning a braid element.

```    gap> ( a * b ) ^ 4;
w0^2.12
gap> ( a * b ) ^ -1;
w0^-1.2 ```

`b1 ^ b2`

This returns b_1^{-1}b_2b_1.

```    gap> a ^ b;
w0^-1.21.12 ```

`b1 / b2`

This returns b_1b_2^{-1}.

```    gap> a / b;
w0^-1.2.21 ```

`CoxeterGroup( b )`

This function returns the Coxeter group for which b is a braid element.

```    gap> CoxeterGroup( a );
CoxeterGroup("A", 2) ```

`String( b )`

`Print( b )`

`String` returns a display form of the element b, and `Print` prints the result of `String`. The way elements are printed depends on the global variable `CHEVIE.PrintBraid`. If set to `"GAP"`, the elements are printed in a form which can be read in back by the function `Braid(W)`. If set to `"Deligne"` (resp. `"Charney"`) the Deligne (resp. Charney) normal form (as explained in the introduction) is printed:

```    gap> CHEVIE.PrintBraid := "GAP";;
gap> ( a * b ) ^ -1;
B([ 2 ],-1)
gap> CHEVIE.PrintBraid := "Charney";;
gap> ( a * b ) ^ -1;
(12)^-1.
gap> CHEVIE.PrintBraid := "Deligne";;
gap> ( a * b ) ^ -1;
w0^-1.2 ```

`Frobenius( WF )( b )`

The Frobenius of a Coxeter coset associated to `CoxeterGroup(b)` can be applied to b. See the Chapter on Coxeter cosets.

This function requires the package "chevie" (see RequirePackage).

GAP 3.4.4
April 1997