Let W be a Coxeter group, with presentation [ langle s_1, ldots , s_n mid s_i^2=1, underbraces_is_js_icdots_m(i,j)text factors = underbraces_js_is_jcdots_m(i,j)text factors quad textfor all i, j with i neq j rangle ] for some Coxeter matrix M= {m(i,j)}_{i,j} such that the Coxeter group is finite. The braid group B=B(M) associated to W is the group defined by the presentation [ langle bs_1, ldots , bs_n mid underbracebs_ibs_jbs_icdots_m(i,j)text factors = underbracebs_jbs_ibs_jcdots_m(i,j)text factors quad textfor all i, j with i neq jrangle ]
Usually, we will use the same symbols for generators and elements of W and of B, except that we will use bold letters for elements of B. This is justified by the fact that there is a canonical section to the natural quotient map B rightarrow W given as follows. Let w in W and choose a reduced expression w=s_1 cdots s_m. Then the corresponding product bw=bs_1 cdots bs_m in B is independent of the chosen minimal expression. Let B^+ be the submonoid of B consisting of all words in the generators bs_i of B (words with no inverses); in this way, we can identify W with the subset B^+_{text{red}} of B^+ which consists of the elements of B^{+} of the same length as their image in~W.
If W is a real reflection group in the vector space V with root system R, then B has also a topological definition as the fundamental group Pi^1 of the space ((V-bigcup_{r in R} H_r) otimes CC)/W, where H_r is the hyperplane orthogonal to the root r; however, we will not use this here.
We will represent in GAP words of the braid group associated to the Coxeter group W using a normal form based on theorems of Deligne Del72 (which extend previous work of Brieskorn, Saito BS72 and Garside Gar69):
renewcommandlabelenumi(romanenumi) item Let bw_0 be the element in B^+ which lifts the longest element of W, as explained above. Then, given any element bb in B, there is some power bw_0^i such that bw_0^ibb in B^+. item Let bb in B^+. Then there is a unique longest element alpha(bb) of B^+_{text{red}} which divides bb on the left (which means that bb=alpha(bb)by for some by in B^+).
We use (i) and (ii) to represent an element bb in B: we first
compute the smallest power of bw_0 such that bw_0^ibb in B^+, and
we represent bb by the couple (i,bw_0^ibb). We are thus reduced
to the case where bb in B^+. We then represent bb by the sequence
of elements of the Coxeter group alpha(bb),
alpha(alpha(bb)^{-1}bb), ldots. Given a Coxeter group W, the
function Braid(W)
constructs an element of the associated braid group
from a list of generators. Here is an example:
gap> W := CoxeterGroup( "A", 4 );; gap> w := Braid( W )( 1, 2, 3, 4 ); 1234 gap> w ^ 3; 121321432.343 gap> w ^ 4; w0^1.232432 gap> w ^ -1; w0^-1.232432
How the element is printed exactly is controlled by the variable
PrintBraid
. This variable is a component of the global file CHEVIE
,
and the user can change its value whenever he or she wants during a
GAP session. When you load the CHEVIE package, CHEVIE.PrintBraid
is initialized to the string "Deligne"
, as in the above examples. If
it is set to "GAP"
, then the element is printed in a form which after
assigning B:=Braid(W);
can be input back into GAP:
gap> CHEVIE.PrintBraid; "Deligne" gap> CHEVIE.PrintBraid := "GAP"; "GAP" gap> w; B([ 1, 2, 3, 4 ]) gap> w ^ 3; B([ 1, 2, 1, 3, 2, 1, 4, 3, 2, 3, 4, 3 ]) gap> w ^ -1; B([ 2, 3, 2, 4, 3, 2 ],-1)
The third possible value "Charney"
for CHEVIE.PrintBraid
is based
on an idea of Ruth Charney Cha92 to find the smallest element
by in B^+ such that by.bb in B^+, and print bb by printing
(by)^{-1} followed by the Deligne normal form of by.bb :
gap> CHEVIE.PrintBraid := "Charney"; "Charney" gap> w ^ -1; (1234)^-1.
GAP 3.4.4