# 79.1 Construction of braid elements

`Braid( W )( s1, .., sn )`

`Braid( W )( list [, pw0 ])`

`Braid( W )( p [, pw0 ])`

Let W be a Coxeter group and let w be an element of W, represented as a permutation p of the roots, or as a sequence s_1,..,s_n of integers representing a (non necessarily reduced) word in the generators of W. The calls above return the element of the braid monoid of W defined by w. If pw0 (a positive or negative integer) is given, the resulting element is multiplied in the braid group by bw_0^{pw0}. The result of `Braid(W)` is a braid-making function, which can be assigned to make conveniently braid elements as in the example below.

A braid element bb corresponding to the Coxeter group W is represented as a record with fields `pw0`, `elm` and `operations`. `elm` represents an element bx in B^+, and `elm` and `pw0` are such that bb=bw_0^{text{pw0}}bx and bw_0^{-1}bxnotin B^+. `elm` is a sequence of elements of W (permutations of the roots), which are the image in W of alpha(bb), alpha(alpha(bb)^{-1}bb),ldots. Operations for braid elements.

```    gap> CHEVIE.PrintBraid := "Deligne";;
gap> W := CoxeterGroup( "A", 3 );;
gap> B := Braid( W );
function ( arg ) ... end
gap> B( W.generators[1] );
1
gap> B( 2, 1, 2, 1, 1 );
121.1.1
gap> B( [ 2, 1, 2, 1, 1 ], -1 );
w0^-1.121.1.1 ```

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

GAP 3.4.4
April 1997