Reflections#
An element of a Coxeter group is called a reflection if it is conjugate to one of the Coxeter generators.
In a permutation Coxeter group, the root \(\alpha\) acts on the root space via the reflection \(s_\alpha\); the coroot \(\alpha^\star\) acts on the coroot space via the coreflection \(s_\alpha^\star\).
- IsReflection(w): GrpFPElt BoolElt#
- IsReflection(w): GrpPermElt BoolElt, ., ., RngInt#
Returns
trueif, and only if, \(w\) is a reflection, i.e. \(w\) is conjugate to a Coxeter generator. If \(w\) is in a permutation Coxeter group, the root, coroot and root index are also returned.
- Reflections(W): GrpFPCox [GrpFPCoxElt]#
- Reflections(W): GrpPermCox [GrpPermElt]#
The sequence of reflections in the finite Coxeter group \(W\). If \(W\) is a permutation Coxeter group, the \(r\)th reflection in the sequence corresponds to the \(r\)th (co)root.
- Example: Reflections#
> W<a,b> := CoxeterGroup(GrpFPCox, "A2"); > Reflections(W); [ a, b, a * b * a, a, b, a * b * a ] > IsReflection(a*b); false %%a> assert not $1;
- SimpleReflections(W): GrpFPCox [GrpFPCoxElt]#
- SimpleReflections(W): GrpPermCox [GrpPermElt]#
The sequence of simple reflections in the Coxeter group \(W\), ie, the generators of \(W\).
- SimpleReflectionPermutations(W): GrpPermCox [GrpPermElt]#
The sequence of simple reflections in the permutation Coxeter group \(W\), ie, the generators of \(W\).
- Reflection(W, r): GrpPermCox, RngIntElt GrpPermElt#
- ReflectionPermutation(W, r): GrpPermCox, RngIntElt GrpPermElt#
The reflection in permutation Coxeter group \(W\) corresponding to the \(r\)th (co)root. If \(r=1,\dots,n\), this is a generator of \(W\).
- SimpleReflectionMatrices(W): GrpPermCox []#
- SimpleCoreflectionMatrices(W): GrpPermCox []#
Basis : MonStgElt : “Standard”
The matrices giving the action of the simple (co)roots on the (co)root space of the permutation Coxeter group \(W\).
- ReflectionMatrices(W): GrpPermCox []#
- CoreflectionMatrices(W): GrpPermCox []#
Basis : MonStgElt : “Standard”
The matrices giving the action of the (co)roots on the (co)root space of the permutation Coxeter group \(W\).
- ReflectionMatrix(W, r): GrpPermCox, RngIntElt []#
- CoreflectionMatrix(W, r): GrpPermCox, RngIntElt []#
Basis : MonStgElt : “Standard”
The matrix giving the action of the \(r\)th (co)root on the (co)root space of the permutation Coxeter group \(W\).
- ReflectionWords(W): GrpPermCox []#
The sequence of words in the simple reflections for all the reflections of the Coxeter group \(W\). These words are given as sequences of integers. In other words, if \(a = [a_1,\dots,a_l] = \hbox{\tt ReflectionWords(W)[r]}\), then \(s_{\alpha_r} = s_{\alpha_{a_1}} \cdots s_{\alpha_{a_l}}\).
- ReflectionWord(W, r): GrpPermCox, RngIntElt []#
The word in the simple reflections for the \(r\)th reflection of the Coxeter group \(W\). The word is given as a sequence of integers. In other words, if \(a = [a_1,\dots,a_l] = \hbox{\tt ReflectionWord(W,r)}\), then \(s_{\alpha_r} = s_{\alpha_{a_1}} \cdots s_{\alpha_{a_l}}\).
- Example: Action#
> W := CoxeterGroup("B3"); > IsReflection(W.1*W.2); false %%a> assert not $1; > mx := ReflectionMatrix(W, 4); > perm := Reflection(W, 4); > wd := ReflectionWord(W, 4); > rt := VectorSpace(Rationals(), 3) ! Root(W,2); > RootPosition(W, rt * mx) eq 2^perm; true %%a> assert $1; > perm eq &*[ Reflection(W, r) : r in wd ]; true %%a> assert $1; > > mx := CoreflectionMatrix(W, 4); > CorootPosition(W, Coroot(W,2) * mx) eq 2^perm; true %%a> assert $1;