Classes | |
| struct | atlas::rootdata::RootBasisTag |
| class | atlas::rootdata::RootDatum |
| Based root datum for a complex reductive group. More... | |
| class | atlas::rootdata::RootIterator< I > |
| Iterator for traversing a set of roots. More... | |
Typedefs | |
| typedef unsigned long | RootNbr |
| Integer representing the location of a root on the list maintained by a RootDatum. | |
| typedef latticetypes::LatticeElt | Root |
| Type for a root, coroot, character, or cocharacter: an element of the lattice Z^n. | |
| typedef std::vector< RootNbr > | RootList |
| List of _numbers_ of roots, referring to the list of roots in RootDatum. | |
| typedef RootIterator< RootList::const_iterator > | WRootIterator |
| typedef bitmap::BitMap | RootSet |
| BitMap representing a set of roots (such as the set of positive roots, or noncompact roots). | |
| typedef std::vector< RootSet > | RootSetList |
Functions | |
| void | cartanMatrix (latticetypes::LatticeMatrix &c, const RootDatum &rd) |
| Puts in c the Cartan matrix of the root datum. | |
| void | cartanMatrix (latticetypes::LatticeMatrix &c, const RootList &rb, const RootDatum &rd) |
| Puts in c the Cartan matrix of the root basis rb. | |
| void | dualBasedInvolution (LT::LatticeMatrix &di, const LT::LatticeMatrix &i, const RootDatum &rd) |
| Puts i^vee in di. | |
| LT::LatticeMatrix | dualBasedInvolution (const LT::LatticeMatrix &i, const RootDatum &rd) |
| void | lieType (lietype::LieType <, const RootList &rb, const RootDatum &rd) |
| puts in lt the Lie type of the root system spanned by rb. | |
| void | longest (LT::LatticeMatrix &q, const RootDatum &rd) |
| Puts in q the matrix of the action of w_0;. | |
| void | makeOrthogonal (RootList &orth, const RootList &rl, const RootList &rs, const RootDatum &rd) |
| Puts in orth the elements of rs which are orthogonal to all elements of rl. | |
| void | reflectionMatrix (LT::LatticeMatrix &qs, RootNbr n, const RootDatum &rd) |
| Writes in qs the matrix of the reflection through root #n. | |
| void | rootBasis (RootList &rb, const RootList &rl, const RootDatum &rd) |
| Puts in rb the canonical basis (set of simple roots) of rl. | |
| void | rootBasis (RootList &rb, RootSet rs, const RootDatum &rd) |
| puts in rb the canonical basis (set of simple roots) of rs. | |
| void | strongOrthogonalize (RootList &rl, const RootDatum &rd) |
| Makes rl into a strongly orthogonal system. | |
| bool | sumIsRoot (const Weight &a, const Weight &b, const RootDatum &rd) |
| Tells if a+b is a root. | |
| void | toDistinguished (LatticeMatrix &q, const RootDatum &rd) |
| Transforms q into w.q, where w is the unique element such that w.q fixes the positive Weyl chamber. | |
| void | toMatrix (LatticeMatrix &q, const weyl::WeylWord &ww, const RootDatum &rd) |
| Writes in q the matrix represented by ww. | |
| void | toMatrix (LatticeMatrix &q, const RootList &rl, const RootDatum &rd) |
| Writes in q the matrix represented by rl (the product of the root reflections for the various roots in rl.). | |
| void | toPositive (weyl::WeylWord &ww, const Weight &d_v, const RootDatum &rd) |
| Puts in ww a list of simple reflections constituting a reduced expression of the unique shortest element w in the Weyl group such that w.v is in the positive chamber. | |
| void | toWeylWord (weyl::WeylWord &ww, RootNbr rn, const RootDatum &rd) |
| Writes in ww the expression of the reflection about root #rn as a product of simple reflections. | |
| void | cartanMatrix (LT::LatticeMatrix &, const RootDatum &) |
| void | cartanMatrix (LT::LatticeMatrix &, const RootList &, const RootDatum &) |
| void | reflectionMatrix (LT::LatticeMatrix &, RootNbr, const RootDatum &, RootBasisTag) |
| bool | sumIsRoot (const LT::Weight &, const LT::Weight &, const RootDatum &) |
| void | toDistinguished (LT::LatticeMatrix &, const RootDatum &) |
| void | toMatrix (LT::LatticeMatrix &, const weyl::WeylWord &, const RootDatum &) |
| void | toMatrix (LT::LatticeMatrix &, const RootList &, const RootDatum &) |
| void | toPositive (weyl::WeylWord &, const LT::Weight &, const RootDatum &) |
| template<typename I> | |
| RootIterator< I > | operator+ (typename RootIterator< I >::difference_type n, RootIterator< I > i) |
|
|
Type for a root, coroot, character, or cocharacter: an element of the lattice Z^n.
Definition at line 42 of file rootdata_fwd.h. Referenced by atlas::rootdata::RootDatum::RootDatum(), and atlas::rootdata::RootDatum::rootPermutation(). |
|
|
List of _numbers_ of roots, referring to the list of roots in RootDatum. According to Fokko, this type should therefore have been called RootNbrList. Definition at line 50 of file rootdata_fwd.h. Referenced by atlas::compactEquations(), atlas::cartanset::CartanClassSet::correlateDualForms(), atlas::cartanset::CartanClassSet::correlateForms(), atlas::gradings::findGrading(), atlas::gradings::gradingType(), atlas::realform_io::Interface::Interface(), atlas::realredgp::RealReductiveGroup::RealReductiveGroup(), atlas::rootdata::RootDatum::simpleBasis(), and atlas::rootdata::RootDatum::simpleRootList(). |
|
|
Integer representing the location of a root on the list maintained by a RootDatum. The roots in a root datum should almost always be referred to by their numbers. Definition at line 33 of file rootdata_fwd.h. Referenced by atlas::gradings::gradingType(), atlas::rootdata::RootDatum::posRootNbr(), atlas::rootdata::RootDatum::reflectedRoot(), atlas::rootdata::RootDatum::RootDatum(), atlas::rootdata::RootDatum::rootMinus(), atlas::rootdata::RootDatum::rootNbr(), atlas::rootdata::RootDatum::simpleRootNbr(), and atlas::cartanclass::toMostSplit(). |
|
|
|
Definition at line 57 of file rootdata_fwd.h. |
|
|
||||||||||||||||
|
||||||||||||
|
|
|
||||||||||||||||
|
Puts in c the Cartan matrix of the root basis rb. Precondition: rb contains a basis of a sub-root system of the root system of rd. Definition at line 720 of file rootdata.cpp. References atlas::rootdata::RootDatum::coroot(), atlas::latticetypes::LatticeMatrix, atlas::matrix::Matrix< C >::resize(), atlas::rootdata::RootDatum::root(), and atlas::latticetypes::scalarProduct(). |
|
||||||||||||
|
Puts in c the Cartan matrix of the root datum.
Definition at line 702 of file rootdata.cpp. References atlas::rootdata::RootDatum::cartan(), atlas::latticetypes::LatticeMatrix, atlas::matrix::Matrix< C >::resize(), and atlas::rootdata::RootDatum::semisimpleRank(). Referenced by lieType(). |
|
||||||||||||
|
Definition at line 773 of file rootdata.cpp. References dualBasedInvolution(), and atlas::latticetypes::LatticeMatrix. |
|
||||||||||||||||
|
Puts i^vee in di. Precondition: i is an involution of rd as a _based_ root datum; Postcondition: di is an involution of the dual based root datum; Algorithm: di is (w_0^t)(-i^t). (The first factor is the long element of the Weyl group, acting on the dual root datum, and the second factor is the negative transpose of i.) [DV 13 July 2006: since RootDatum no longer contains the involution defining the inner class, this function seems not to belong in the rootdata namespace. Not sure where would be a better home.] Definition at line 742 of file rootdata.cpp. References atlas::latticetypes::LatticeMatrix, longest(), atlas::matrix::Matrix< C >::negate(), and atlas::matrix::Matrix< C >::transpose(). Referenced by atlas::complexredgp::ComplexReductiveGroup::ComplexReductiveGroup(), and dualBasedInvolution(). |
|
||||||||||||||||
|
puts in lt the Lie type of the root system spanned by rb. Precondition: rb contains a basis of a sub-rootsystem of the root system of rd. Definition at line 785 of file rootdata.cpp. References cartanMatrix(), and atlas::latticetypes::LatticeMatrix. Referenced by atlas::interpreter::check_involution(), atlas::complexredgp::lieType(), atlas::cartanclass::CartanClass::makeOrbitSize(), atlas::interpreter::print_Cartan_info_wrapper(), atlas::interpreter::print_gradings_wrapper(), atlas::testprint::printBlockData(), atlas::cartan_io::printCartanClass(), atlas::realweyl::RealWeyl::RealWeyl(), atlas::interpreter::type_of_Cartan_matrix_wrapper(), and atlas::interpreter::type_of_datum(). |
|
||||||||||||
|
Puts in q the matrix of the action of w_0;. Algorithm: w_0 is the element making -twoRho positive. NOTE: not intended for heavy use. Should be precomputed if that is the case. Definition at line 803 of file rootdata.cpp. References atlas::matrix::identityMatrix(), atlas::latticetypes::LatticeMatrix, atlas::rootdata::RootDatum::rank(), atlas::rootdata::RootDatum::rootReflection(), atlas::rootdata::RootDatum::simpleRootNbr(), toPositive(), atlas::rootdata::RootDatum::twoRho(), atlas::latticetypes::Weight, and atlas::weyl::WeylWord. Referenced by dualBasedInvolution(). |
|
||||||||||||||||||||
|
Puts in orth the elements of rs which are orthogonal to all elements of rl.
Definition at line 825 of file rootdata.cpp. References atlas::rootdata::RootDatum::isOrthogonal(), and atlas::matrix::Matrix< C >::resize(). Referenced by atlas::interactive_lattice::getLattice(). |
|
||||||||||||||||
|
Definition at line 574 of file rootdata.h. |
|
||||||||||||||||||||
|
|
|
||||||||||||||||
|
Writes in qs the matrix of the reflection through root #n.
Definition at line 846 of file rootdata.cpp. References atlas::rootdata::RootDatum::coroot(), atlas::latticetypes::LatticeCoeff, atlas::latticetypes::LatticeMatrix, atlas::rootdata::RootDatum::rank(), atlas::matrix::Matrix< C >::resize(), atlas::rootdata::RootDatum::root(), and atlas::latticetypes::Weight. |
|
||||||||||||||||
|
puts in rb the canonical basis (set of simple roots) of rs. Precondition: rs holds the roots in a sub-root system of rd; Algorithm: compute the sum of the positive roots in rs; extract the positive roots whose scalar product with that sum is 2. Definition at line 890 of file rootdata.cpp. References atlas::bitmap::BitMap::begin(), atlas::rootdata::RootDatum::posRootSet(), atlas::rootdata::RootDatum::rank(), atlas::rootdata::RootDatum::root(), RootSet, and atlas::rootdata::RootDatum::scalarProduct(). Referenced by atlas::compactEquations(), atlas::gradings::findGrading(), and atlas::realweyl::RealWeyl::RealWeyl(). |
|
||||||||||||||||
|
Puts in rb the canonical basis (set of simple roots) of rl. Precondition: rl holds the roots in a sub-root system of rd; Forwarded to the RootSet version. Therefore the order of the roots in |rl| is ignored! The roots of |rb| are by order of occurrence in |rd.roots()| Definition at line 874 of file rootdata.cpp. References atlas::rootdata::RootDatum::numRoots(), and RootSet. |
|
||||||||||||
|
Makes rl into a strongly orthogonal system. Precondition: rl is a set of pairwise orthogonal roots; Algorithm: for i,j in rl, the sum can be a root iff i,j span a subsystem of type B2, and are short there; we can then replace i and j by their sum and difference. Note that this will not create new bad pairs, as bad pairs are made up of short roots. Definition at line 908 of file rootdata.cpp. References atlas::rootdata::RootDatum::root(), atlas::rootdata::RootDatum::rootNbr(), atlas::rootdata::RootDatum::sumIsRoot(), and atlas::latticetypes::Weight. Referenced by atlas::cartanset::cayley_and_cross_part(), atlas::cartanset::cayleyPart(), and atlas::cartanclass::toMostSplit(). |
|
||||||||||||||||
|
Referenced by atlas::rootdata::RootDatum::sumIsRoot(). |
|
||||||||||||||||
|
Tells if a+b is a root. Precondition: a and b are roots; Definition at line 941 of file rootdata.cpp. References atlas::rootdata::RootDatum::isRoot(), and atlas::latticetypes::Weight. |
|
||||||||||||
|
|
|
||||||||||||
|
Transforms q into w.q, where w is the unique element such that w.q fixes the positive Weyl chamber. Note that wq is then automatically an involution; w_0.w.q permutes the simple roots. [DV: I don't understand this last remark. Probably q is meant to be an involutive automorphism of order 2 of the (unbased) root datum. This would make w.q an involution of the based root datum, but then w_0.w.q would send the simple roots to their negatives.] Definition at line 959 of file rootdata.cpp. References atlas::matrix::Matrix< C >::apply(), atlas::latticetypes::LatticeMatrix, atlas::rootdata::RootDatum::rank(), atlas::matrix::Matrix< C >::swap(), toMatrix(), toPositive(), atlas::rootdata::RootDatum::twoRho(), and atlas::latticetypes::Weight. |
|
||||||||||||||||
|
Referenced by atlas::cartanset::CartanClassSet::involutionMatrix(), and atlas::realredgp::RealReductiveGroup::RealReductiveGroup(). |
|
||||||||||||||||
|
|
|
||||||||||||||||
|
Writes in q the matrix represented by rl (the product of the root reflections for the various roots in rl.). NOTE: the products are written in the same order as the appearance of the roots in rl. In practice this will be used for sequences of orthogonal roots, so that the order doesn't matter. Definition at line 1008 of file rootdata.cpp. References atlas::matrix::identityMatrix(), atlas::latticetypes::LatticeMatrix, atlas::rootdata::RootDatum::rank(), and atlas::rootdata::RootDatum::rootReflection(). |
|
||||||||||||||||
|
Writes in q the matrix represented by ww. NOTE: not intended for heavy use. If that were the case, it would be better to use the decomposition of ww into pieces, and multiply those together. However, that would be for the ComplexGroup to do, as it is it that has access to both the Weyl group and the root datum. Definition at line 989 of file rootdata.cpp. References atlas::matrix::identityMatrix(), atlas::latticetypes::LatticeMatrix, atlas::rootdata::RootDatum::rank(), atlas::rootdata::RootDatum::rootReflection(), and atlas::rootdata::RootDatum::simpleRootNbr(). Referenced by toDistinguished(). |
|
||||||||||||||||
|
|
|
||||||||||||||||
|
Puts in ww a list of simple reflections constituting a reduced expression of the unique shortest element w in the Weyl group such that w.v is in the positive chamber. Algorithm: the greedy algorithm -- if v is not positive, there is a simple coroot alpha^v such that <v,alpha^v> is < 0; then s_alpha.v takes v closer to the positive chamber. Definition at line 1029 of file rootdata.cpp. References atlas::latticetypes::scalarProduct(), atlas::rootdata::RootDatum::semisimpleRank(), atlas::rootdata::RootDatum::simpleCoroot(), atlas::rootdata::RootDatum::simpleReflection(), and atlas::latticetypes::Weight. Referenced by longest(), atlas::rootdata::RootDatum::reflectionWord(), toDistinguished(), toWeylWord(), and atlas::rootdata::RootDatum::word_of_inverse_matrix(). |
|
||||||||||||||||
|
Writes in ww the expression of the reflection about root #rn as a product of simple reflections.
Definition at line 1064 of file rootdata.cpp. References atlas::rootdata::RootDatum::reflection(), toPositive(), atlas::rootdata::RootDatum::twoRho(), and atlas::latticetypes::Weight. |
1.3.9.1