atlas
0.6
|
Right multiplication action of simple reflections on a Weyl group modulo (to the left) a maximal parabolic subgroup. More...
#include <weyl.h>
Public Member Functions | |
Transducer () | |
Transducer (const int_Matrix &, size_t) | |
~Transducer () | |
unsigned long | length (WeylElt::EltPiece x) const |
Length of minimal coset representative x. More... | |
unsigned long | maxlength () const |
Maximal length of minimal coset representatives. More... | |
Generator | out (WeylElt::EltPiece x, Generator s) const |
Simple reflection t (strictly preceding s) so that xs = tx, if any. More... | |
WeylElt::EltPiece | shift (WeylElt::EltPiece x, Generator s) const |
Right coset x' defined by x' = xs. More... | |
unsigned long | size () const |
Number of cosets W_{r-1}\W_r. More... | |
const WeylWord & | wordPiece (WeylElt::EltPiece x) const |
Reduced decomposition in W (or W_r) of minimal coset representative x. More... | |
Private Attributes | |
std::vector< ShiftRow > | d_shift |
Right multiplication by $s_j$ gives transition |i -> d_shift[i][j]|. More... | |
std::vector< OutRow > | d_out |
If |d_shift[i][j]==i| then $s_j$ transduces in state $i$ to $s_k$ with $k=d_out[i][j]$ (otherwise |d_out[i][j]==UndefGenerator|). More... | |
std::vector< unsigned long > | d_length |
Lengths of the minimal coset representatives $x_i$. More... | |
std::vector< WeylWord > | d_piece |
Reduced expressions of the minimal coset representatives. More... | |
Right multiplication action of simple reflections on a Weyl group modulo (to the left) a maximal parabolic subgroup.
In the notation from the description of the class WeylGroup, there will be one Transducer object for each parabolic subquotient W_{r-1}\W_r. List the shortest length coset representatives for this subquotient as x_0,...,x_{N_r-1}. Recall that the simple roots were ordered to guarantee that N_r-1 fits in an unsigned char, so each coset representative can be indexed by an unsigned char. We wish to compute the product x_i.s_j for j between 1 and r. The key theoretical fact about multiplication is that there are two mutually exclusive possibilities:
x_i.s_j = x_{i'} (some i' ne i)
OR
x_i.s_j = s_k.x_i (some k < r).
The first possibility is called transition and the second transduction. (Confusingly Fokko's 1999 paper interchanges these terms at their definition, but their usual meaning and the sequel makes clear that this was an error).
The Transducer has tables to describe the two cases. the first table |d_shift| describes the transistions, namely |d_shift[i][j]==i'| in the first case; the cases that are transductions can be distinguished from these by the fact that |d_shift[i][j]==i|. In these cases, the value |k| emitted by the transduction is stored in |d_out[i][j]|, which otherwise contains the value |UndefGenerator|
|
inline |
atlas::weyl::Transducer::Transducer | ( | const int_Matrix & | c, |
size_t | r | ||
) |
$ of length $m-2$ not starting with $s'$, so that $a.v=x$, one has $v.st=s'vs$ whence $x.st=a.v.st=a.s'vs=g.a.vs=g.xs$ so that $xs$ has a transduction for $t$ that outputs the generator $g$. (3) either $x$ goes down less than $m-2$ times, or $m-2$ times followed by an upward step; then $xst$ goes up.
|
inline |
|
inline |
Length of minimal coset representative x.
|
inline |
Maximal length of minimal coset representatives.
This is the number of positive roots for the Levi subgroup L_r, minus the number of positive roots for L_{r-1}.
|
inline |
Simple reflection t (strictly preceding s) so that xs = tx, if any.
In case of a transition, this returns UndefGenerator.
|
inline |
Right coset x' defined by x' = xs.
When x' is not equal to s, this is an equality of minimal coset representatives. When x'=x, the equation for minimal coset representatives is out(x,s).x = x.s.
|
inline |
Number of cosets W_{r-1}\W_r.
|
inline |
Reduced decomposition in W (or W_r) of minimal coset representative x.
|
private |
Lengths of the minimal coset representatives $x_i$.
|
private |
If |d_shift[i][j]==i| then $s_j$ transduces in state $i$ to $s_k$ with $k=d_out[i][j]$ (otherwise |d_out[i][j]==UndefGenerator|).
In this case $x_i.s_j = s_k.x_i$, so the state $i$ remains unchanged.
|
private |
Reduced expressions of the minimal coset representatives.
|
private |
Right multiplication by $s_j$ gives transition |i -> d_shift[i][j]|.