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 true if, 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 (ex-7fa1b2)#
> W<a,b> := CoxeterGroup(GrpFPCox, "A2");
> Reflections(W);
[ a, b, a * b * a, a, b, a * b * a ]
> IsReflection(a*b);
false

Run in calculator

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                    Default: "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                    Default: "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                    Default: "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 (ex-56c975)#
> W := CoxeterGroup("B3");
> IsReflection(W.1*W.2);
false
> 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
> perm eq &*[ Reflection(W, r) : r in wd ];
true
>
> mx := CoreflectionMatrix(W, 4);
> CorootPosition(W, Coroot(W,2) * mx) eq 2^perm;
true

Run in calculator