|
| TitsGroup (const RootDatum &, const WeylGroup &W, const WeightInvolution &d) |
|
| TitsGroup (const int_Matrix &Cartan_matrix, const WeylGroup &W, const weyl::Twist &twist) |
|
| TitsGroup (const TitsGroup &Tg, const WeylGroup &W) |
|
const size_t | rank () const |
|
const size_t | semisimple_rank () const |
|
TorusPart | m_alpha (size_t j) const |
|
TorusPart | dual_m_alpha (size_t j) const |
|
void | reflect (TorusPart &x, weyl::Generator s) const |
|
TorusPart | push_across (TorusPart x, const WeylElt &w) const |
| find torus part $x'$ so that $x.w=w.x'$ More...
|
|
TorusPart | pull_across (const WeylElt &w, TorusPart y) const |
|
TorusPart | twisted (const TorusPart x) const |
|
TorusPart | dual_twisted (const TorusPart x) const |
|
TitsElt | twisted (const TitsElt &te) const |
|
TitsElt | dual_twisted (const TitsElt &te, const TorusPart shift) const |
|
void | twist (TorusPart x) const |
|
BinaryMap | involutionMatrix (const WeylWord &tw) const |
|
unsigned long | length (const TitsElt &a) const |
|
TorusPart | left_torus_part (const TitsElt &a) const |
|
TorusPart | right_torus_part (const TitsElt &a) const |
|
void | sigma_mult (weyl::Generator s, TitsElt &a) const |
| Left multiplication of |a| by the canonical generator $$. More...
|
|
void | sigma_inv_mult (weyl::Generator s, TitsElt &a) const |
|
void | mult_sigma (TitsElt &, weyl::Generator) const |
| Right multiplication of |a| by the canonical generator $sigma_s$. More...
|
|
void | mult_sigma_inv (TitsElt &, weyl::Generator) const |
|
TitsElt | prod (const TitsElt &a, TitsElt b) const |
| Product of general Tits group elements. More...
|
|
void | mult (TitsElt &a, const TitsElt &b) const |
|
void | right_add (TitsElt &a, TorusPart t) const |
|
void | left_add (TorusPart t, TitsElt &a) const |
|
void | sigma_conjugate (TitsElt &a, weyl::Generator s) const |
|
void | sigma_inv_conjugate (TitsElt &a, weyl::Generator s) const |
|
void | twistedConjugate (TitsElt &a, weyl::Generator s) const |
|
void | inverseTwistedConjugate (TitsElt &a, weyl::Generator s) const |
|
Left multiplication of |a| by the canonical generator $$.
This is the basic case defining the group structure in the Tits group (since left-multiplication by an element of $T(2)$ just adds to the torus part).
Algorithm: This is surprisingly simple: multiplying by $$ just amounts to reflecting the torus part through |s|, then left-multiplying the Weyl group part $w$ by |s| in the Weyl group, and if the length goes down in the latter step, add a factor of $()^2=m_s$ to the torus part. (To see this, write in the length-decreasing case $w=s.w'$ with $w'$ reduced; then $=m_s{w'}$, so we need to add $m_s$ to the reflected left torus part in that case.
The upshot is a multiplication algorithm almost as fast as in the Weyl group!