Operations on Elements#
See Chapter [DRAFT] FINITELY PRESENTED GROUPS for general functions for finitely presented groups or Chapter ChapGrpPerm for general functions for permutation groups.
Unlike groups of type GrpFP, elements of a group of type are always
converted into the normal form of
Section The Normal Form for Words.
- Example: Word Arithmetic#
Arithmetic with words.
> W<[s]> := CoxeterGroup(GrpFPCox, "G2"); > w1 := W![2,1,2,1,2] ; > w1; s[2] * s[1] * s[2] * s[1] * s[2] > w2 := W![1,2,2,1,2,1]; > w2; s[2] * s[1] > w1 * w2; s[1] * s[2] * s[1] > W![1,2,1,2,1,2] eq W![2,1,2,1,2,1]; true %%a> assert $1;
- \# w: GrpFPCoxElt RngIntElt#
- Length(w): GrpFPCoxElt RngIntElt#
- Length(W, w): GrpPermCox, GrpPermElt RngIntElt#
- CoxeterLength(w): GrpFPCoxElt RngIntElt#
- CoxeterLength(W, w): GrpPermCox, GrpPermElt RngIntElt#
The length of \(w\) as an element of the Coxeter group \(W\), ie. the number of positive roots of \(W\) which become negative under the action of \(w\). The # operator does not work for permutation Coxeter group elements.
- LongestElement(W): GrpFPCox SeqEnum#
- LongestElement(W): GrpPermCox GrpPermElt#
The unique longest element of the Coxeter group \(W\).
- CoxeterElement(W): GrpFPCox SeqEnum#
- CoxeterElement(W): GrpPermCox GrpPermElt#
The Coxeter element of the Coxeter group \(W\), ie. the product of the generators of \(W\).
- CoxeterNumber(W): GrpFPCox SeqEnum#
- CoxeterNumber(W): GrpPermCox GrpPermElt#
The Coxeter number of the irreducible Coxeter group \(W\) (see :raw-latex:`\cite[page 20]{Carter-big}`).
- Example: Longest Coxeter Elements#
The Coxeter number can be described in a variety of ways.
> W<[s]> := CoxeterGroup(GrpFPCox, "F4"); > LongestElement(W); s[1] * s[2] * s[1] * s[3] * s[2] * s[1] * s[3] * s[2] * s[3] * s[4] * s[3] * s[2] * s[1] * s[3] * s[2] * s[3] * s[4] * s[3] * s[2] * s[1] * s[3] * s[2] * s[3] * s[4] > CoxeterElement(W); s[1] * s[2] * s[3] * s[4] > W := CoxeterGroup("E8"); > Length(W, LongestElement(W)); 120 %%a> assert $1 eq 120; > Length(W, CoxeterElement(W)); 8 %%a> assert $1 eq 8; > W := CoxeterGroup("D5"); > CoxeterNumber(W) eq Order(CoxeterElement(W)); true %%a> assert $1; > CoxeterNumber(W) eq #Roots(W) / Rank(W); true %%a> assert $1; > R := RootDatum(W); > CoxeterNumber(W) eq &+Eltseq(HighestRoot(R)) + 1; true %%a> assert $1;
- LeftDescentSet(W, w): GrpFPCox, GrpFPCoxElt $\{\}$#
- LeftDescentSet(W, w): GrpPermCox, GrpPermElt $\{\}$#
The set of indices \(r\) of simple roots of the Coxeter group \(W\) such that the length of the product \(s_rw\) is less than that of the element \(w\).
- RightDescentSet(W, w): GrpFPCox, GrpFPCoxElt $\{\}$#
- RightDescentSet(W, w): GrpPermCox, GrpPermElt $\{\}$#
The set of indices \(r\) of simple roots of the Coxeter group \(W\) such that the length of the product \(ws_r\) is less than that of the element \(w\).
- Example: Descent Sets#
> W := CoxeterGroup("A5"); > x := W.1*W.2*W.4*W.5; > LeftDescentSet(W, x); { 1, 4 } > RightDescentSet(W, x); { 2, 5 }