|
| RootDatum () |
|
| RootDatum (const PreRootDatum &) |
|
| RootDatum (const RootDatum &, tags::DualTag) |
|
| RootDatum (int_Matrix &projector, const RootDatum &, tags::DerivedTag) |
|
| RootDatum (int_Matrix &injector, const RootDatum &, tags::AdjointTag) |
|
RootDatum | sub_datum (const RootNbrList &generators) const |
|
const RootSystem & | root_system () const |
|
size_t | rank () const |
|
size_t | semisimpleRank () const |
|
WeightList::const_iterator | beginRoot () const |
|
WeightList::const_iterator | endRoot () const |
|
CoweightList::const_iterator | beginCoroot () const |
|
CoweightList::const_iterator | endCoroot () const |
|
CoweightList::const_iterator | beginRadical () const |
|
CoweightList::const_iterator | endRadical () const |
|
WeightList::const_iterator | beginCoradical () const |
|
WeightList::const_iterator | endCoradical () const |
|
WRootIterator | beginSimpleRoot () const |
|
WRootIterator | endSimpleRoot () const |
|
WRootIterator | beginPosRoot () const |
|
WRootIterator | endPosRoot () const |
|
WRootIterator | beginSimpleCoroot () const |
|
WRootIterator | endSimpleCoroot () const |
|
WRootIterator | beginPosCoroot () const |
|
WRootIterator | endPosCoroot () const |
|
bool | isRoot (const Weight &v) const |
|
bool | isSemisimple () const |
|
const Weight & | root (RootNbr i) const |
|
const Weight & | simpleRoot (weyl::Generator i) const |
|
const Weight & | posRoot (size_t i) const |
|
RootNbr | root_index (const Root &r) const |
|
const Coweight & | coroot (RootNbr i) const |
|
const Coweight & | simpleCoroot (weyl::Generator i) const |
|
const Coweight & | posCoroot (size_t i) const |
|
RootNbr | coroot_index (const Root &r) const |
|
RatWeight | fundamental_weight (weyl::Generator i) const |
|
RatCoweight | fundamental_coweight (weyl::Generator i) const |
|
bool | isAdjoint () const |
| Tells whether the rootdatum is the rootdatum of an adjoint group. More...
|
|
bool | isSimplyConnected () const |
| Tells whether the rootdatum is the rootdatum of a simply connected group. More...
|
|
const Weight & | twoRho () const |
|
const Coweight & | dual_twoRho () const |
|
int | scalarProduct (const Weight &v, RootNbr j) const |
|
bool | isOrthogonal (const Weight &v, RootNbr j) const |
|
int | cartan (weyl::Generator i, weyl::Generator j) const |
|
template<typename C > |
void | reflect (RootNbr alpha, matrix::Vector< C > &lambda) const |
|
template<typename C > |
void | coreflect (matrix::Vector< C > &co_lambda, RootNbr alpha) const |
|
void | reflect (RootNbr alpha, LatticeMatrix &M) const |
|
void | reflect (LatticeMatrix &M, RootNbr alpha) const |
|
template<typename C > |
matrix::Vector< C > | reflection (matrix::Vector< C > lambda, RootNbr alpha) const |
|
template<typename C > |
matrix::Vector< C > | coreflection (matrix::Vector< C > co_lambda, RootNbr alpha) const |
|
template<typename C > |
void | simple_reflect (weyl::Generator i, matrix::Vector< C > &v) const |
|
template<typename C > |
void | simple_coreflect (matrix::Vector< C > &v, weyl::Generator i) const |
|
void | simple_reflect (weyl::Generator i, LatticeMatrix &M) const |
|
void | simple_reflect (LatticeMatrix &M, weyl::Generator i) const |
|
template<typename C > |
matrix::Vector< C > | simple_reflection (weyl::Generator i, matrix::Vector< C > lambda) const |
|
template<typename C > |
matrix::Vector< C > | simple_coreflection (matrix::Vector< C > ell, weyl::Generator i) const |
|
WeylWord | to_dominant (Weight lambda) const |
| Returns a reduced expression of the shortest |w| making |w.v| dominant. More...
|
|
void | act (const WeylWord &ww, Weight &lambda) const |
|
Weight | image_by (const WeylWord &ww, Weight lambda) const |
|
void | act_inverse (Weight &lambda, const WeylWord &ww) const |
|
Weight | image_by_inverse (Weight lambda, const WeylWord &ww) const |
|
void | dual_act (Coweight &ell, const WeylWord &ww) const |
|
Weight | dual_image_by (Coweight ell, const WeylWord &ww) const |
|
Permutation | rootPermutation (const WeightInvolution &q) const |
| Returns the permutation of the roots induced by |q|. More...
|
|
WeightInvolution | root_reflection (RootNbr r) const |
| Returns the reflection for root #alpha. More...
|
|
WeightInvolution | simple_reflection (weyl::Generator i) const |
|
WeightInvolution | matrix (const WeylWord &ww) const |
| Writes in q the matrix represented by ww. More...
|
|
WeylWord | reflectionWord (RootNbr r) const |
|
int_Vector | inSimpleRoots (RootNbr alpha) const |
|
int_Vector | inSimpleCoroots (RootNbr alpha) const |
|
Weight | twoRho (const RootNbrList &) const |
| Returns the sum of the positive roots in rl. More...
|
|
Weight | twoRho (const RootNbrSet &) const |
| Returns the sum of the positive roots in rs. More...
|
|
Coweight | dual_twoRho (const RootNbrList &) const |
|
Coweight | dual_twoRho (const RootNbrSet &) const |
|
WeylWord | word_of_inverse_matrix (const WeightInvolution &) const |
| Returns the expression of $q^{-1}$ as a product of simple reflections. More...
|
|
void | swap (RootDatum &) |
|
| RootSystem (const int_Matrix &Cartan_matrix) |
|
| RootSystem (const RootSystem &rs, tags::DualTag) |
|
size_t | rank () const |
|
unsigned long | numPosRoots () const |
|
unsigned long | numRoots () const |
|
int | cartan (weyl::Generator i, weyl::Generator j) const |
|
int_Matrix | cartanMatrix () const |
|
LieType | Lie_type () const |
|
int_Matrix | cartanMatrix (const RootNbrList &sub) const |
| Returns the Cartan matrix of the root subsystem with basis |rb|. More...
|
|
LieType | Lie_type (RootNbrList sub) const |
|
int_Vector | root_expr (RootNbr alpha) const |
|
int_Vector | coroot_expr (RootNbr alpha) const |
|
int | level (RootNbr alpha) const |
|
int | colevel (RootNbr alpha) const |
|
template<typename I , typename O > |
void | toRootBasis (I, I, O) const |
|
template<typename I , typename O > |
void | toRootBasis (I, I, O, const RootNbrList &) const |
|
template<typename I , typename O > |
void | toSimpleWeights (I, I, O, const RootNbrList &) const |
|
bool | is_simple_root (RootNbr alpha) const |
|
bool | is_posroot (RootNbr alpha) const |
|
bool | is_negroot (RootNbr alpha) const |
|
RootNbr | simpleRootNbr (weyl::Generator i) const |
|
RootNbr | posRootNbr (size_t alpha) const |
|
RootNbr | simpleRootIndex (size_t alpha) const |
|
RootNbr | posRootIndex (size_t alpha) const |
|
RootNbr | rootMinus (RootNbr alpha) const |
|
RootNbr | rt_abs (RootNbr alpha) const |
|
RootNbrSet | simpleRootSet () const |
|
RootNbrList | simpleRootList () const |
|
RootNbrSet | posRootSet () const |
|
const Permutation & | simple_root_permutation (weyl::Generator i) const |
|
RankFlags | descent_set (RootNbr alpha) const |
|
RankFlags | ascent_set (RootNbr alpha) const |
|
size_t | find_descent (RootNbr alpha) const |
|
bool | is_descent (weyl::Generator i, RootNbr alpha) const |
|
bool | is_ascent (weyl::Generator i, RootNbr alpha) const |
|
RootNbr | simple_reflected_root (weyl::Generator i, RootNbr r) const |
|
void | simple_reflect_root (weyl::Generator i, RootNbr &r) const |
|
RootNbr | permuted_root (const WeylWord &ww, RootNbr r) const |
|
RootNbr | permuted_root (RootNbr r, const WeylWord &ww) const |
|
const Permutation & | root_permutation (RootNbr alpha) const |
|
bool | isOrthogonal (RootNbr alpha, RootNbr beta) const |
|
int | bracket (RootNbr alpha, RootNbr beta) const |
|
Permutation | root_permutation (const Permutation &twist) const |
|
Permutation | extend_to_roots (const RootNbrList &simple_images) const |
|
WeylWord | reflectionWord (RootNbr r) const |
|
matrix::Vector< int > | pos_system_vec (const RootNbrList &Delta) const |
|
RootNbrList | simpleBasis (RootNbrSet rs) const |
|
bool | sumIsRoot (RootNbr alpha, RootNbr beta, RootNbr &gamma) const |
|
bool | sumIsRoot (RootNbr alpha, RootNbr beta) const |
|
RootNbrSet | long_orthogonalize (const RootNbrSet &rest) const |
| Makes the orthogonal system |rset| into an equaivalent (for |refl_prod|) one that is additively closed inside the full root system. More...
|
|
RootNbrList | high_roots () const |
|
Based root datum for a complex reductive group.
What we call a root datum in this program is what is usually called a based root datum, in other words a fixed choice of positive roots is always assumed.
The root datum defines the complex reductive group entirely. It consists of a |RootSystem| that describes the roots and coroots in the lattices they span themselves, and of additional data that correspond to embeddings of these lattices into mutually dual free abelian groups (weight and coweight lattices).
The rank |d_rank| is that of the weight and coweight lattices, the root system itself has rank |semisimpleRank()| which may be smaller. The roots and coroots are stored in compact form in the |RootSystem|, and again as represented in the weight and coweight lattices, for efficiency of retrieval under this form. Also constructed are various useful auxiliary things, like d_twoRho (the sum of the positive roots).
The code is designed to make it preferable always to refer to a root by its number (index in the root system), for which we use the type name |RootNbr|.