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 α acts on the root space via the reflection sα; the coroot αstar acts on the coroot space via the coreflection sαstar.
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.
The sequence of reflections in the finite Coxeter group W. If W is a permutation Coxeter group, the rth reflection in the sequence corresponds to the rth (co)root.
> W<a,b> := CoxeterGroup(GrpFPCox, "A2"); > Reflections(W); [ a, b, a * b * a, a, b, a * b * a ] > IsReflection(a*b); false
The sequence of simple reflections in the Coxeter group W, ie, the generators of W.
The sequence of simple reflections in the permutation Coxeter group W, ie, the generators of W.
The reflection in permutation Coxeter group W corresponding to the rth (co)root. If r=1, ..., n, this is a generator of W.
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.
Basis: MonStgElt Default: "Standard"
The matrices giving the action of the (co)roots on the (co)root space of the permutation Coxeter group W.
Basis: MonStgElt Default: "Standard"
The matrix giving the action of the rth (co)root on the (co)root space of the permutation Coxeter group W.
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 = [a1, ..., al] = ReflectionWords(W)[r], then sαr = s_(αa1) ... s_(αal).
The word in the simple reflections for the rth reflection of the Coxeter group W. The word is given as a sequence of integers. In other words, if a = [a1, ..., al] = ReflectionWord(W, r), then sαr = s_(αa1) ... s_(αal).
> 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