Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members

atlas::cartanset Namespace Reference


Classes

class  atlas::cartanset::CartanClassSet
 Stores the set of stable conjugacy classes of Cartan subgroups of G. More...

Functions

void crossPart (weyl::WeylWord &, const weyl::WeylWord &, const weyl::WeylGroup &)
 Puts in ww the cross action corresponding to wi.
void cayleyPart (rootdata::RootList &, const weyl::WeylWord &, const rootdata::RootDatum &, const weyl::WeylGroup &)
 Puts in so the composite Cayley transform corresponding to wi.
void crossTransform (rootdata::RootList &, const weyl::WeylWord &, const rootdata::RootDatum &)
 Cross-transforms the roots in rl according to ww.
unsigned long makeRepresentative (const gradings::Grading &, const rootdata::RootList &, const cartanclass::Fiber &)
 Returns an element |x| (interpreted as element of the adjoint fiber of |fundf|) such that it grades the elements in |rl| according to |gr|.
void transformGrading (gradings::Grading &, const rootdata::RootList &, const rootdata::RootList &, const rootdata::RootDatum &)
 Transforms the grading |gr| of |rl| according to |so|.
bool isImaginary (const latticetypes::LatticeElt &v, const weyl::TwistedInvolution &tw, const weyl::WeylGroup &, const rootdata::RootDatum &, const latticetypes::LatticeMatrix &distinguished)
bool checkDecomposition (const weyl::TwistedInvolution &ti, const weyl::WeylWord &cross, const rootdata::RootList &cayley, const weyl::WeylGroup &, const rootdata::RootDatum &, const latticetypes::LatticeMatrix &distinguished)
 Checks whether |ti| decomposes as the composition of the cross-action defined by |ww| followed by the Cayley transform defined by |so|. Arguments |W| and |rd| are needed for the check; giving in addition |q| allows to check that Cayley transforms involve imaginary roots. This function is only used in an |assert| statement anyway.
unsigned long blockSize (realform::RealForm rf, realform::RealForm drf, const CartanClassSet &ccl)
 Returns the size of the block defined by the real form rf and the dual real form drf.
unsigned long kgbSize (realform::RealForm rf, const CartanClassSet &ccl)
 Returns the cardinality of K\G/B for this real form.
void cayley_and_cross_part (rootdata::RootList &so, weyl::WeylWord &cross, const weyl::TwistedInvolution &ti, const rootdata::RootDatum &rd, const weyl::WeylGroup &W)
 Puts into |so| the composite Cayley transform, and into |cross| the cross action corresponding to the twisted involution |ti|.

Variables

const size_t UndefMostSplit = ~0ul
const realform::RealForm UndefRealForm = ~0ul


Function Documentation

unsigned long atlas::cartanset::blockSize realform::RealForm  rf,
realform::RealForm  drf,
const CartanClassSet &  ccl
 

Returns the size of the block defined by the real form rf and the dual real form drf.

NOTE: rf and drf are _weak_ real forms; the datum of the underlying weak real forms suffices to determine the structure of the block defined by a pair of strong real forms.

Definition at line 932 of file cartanset.cpp.

References atlas::cartanset::CartanClassSet::block_size(), atlas::cartanset::CartanClassSet::dualSupport(), and atlas::cartanset::CartanClassSet::support().

Referenced by atlas::complexredgp::ComplexReductiveGroup::blockSize().

void atlas::cartanset::cayley_and_cross_part rootdata::RootList cayley,
weyl::WeylWord cross,
const weyl::TwistedInvolution tw,
const rootdata::RootDatum &  rd,
const weyl::WeylGroup &  W
 

Puts into |so| the composite Cayley transform, and into |cross| the cross action corresponding to the twisted involution |ti|.

Explanation: to each root datum involution |q|, we may associate a transformation from the fundamental involution to |q| that factors as the composition of a cross action (conjugation by the inverse of an element |cross| of |W|) and a composite Cayley transform (composition with (commuting) reflections for the roots of a strongly orthogonal set |so| of imaginary roots). This function computes |cross| and |so|, for the involution |q| corresponding to the twisted involution |ti|.

Note that conjugation is by the inverse of |cross| only because conjugation uses the letters of a Weyl word successively from right to left, whereas we collect the letters of |cross| from left to right as we go from the (twisted ivolution representing) the fundamental involution back to |q|.

Definition at line 983 of file cartanset.cpp.

References atlas::weyl::WeylGroup::involution_expr(), atlas::weyl::WeylGroup::leftMult(), atlas::rootdata::RootDatum::rootReflect(), atlas::rootdata::RootDatum::simpleRootNbr(), atlas::rootdata::strongOrthogonalize(), atlas::weyl::WeylGroup::twistedConjugate(), and atlas::weyl::TwistedInvolution.

Referenced by atlas::kgb::KGBHelp::backtrack_seed(), atlas::cartanset::CartanClassSet::correlateDualForms(), and atlas::cartanset::CartanClassSet::correlateForms().

void atlas::cartanset::cayleyPart rootdata::RootList so,
const weyl::WeylWord wi,
const rootdata::RootDatum &  rd,
const weyl::WeylGroup &  W
 

Puts in so the composite Cayley transform corresponding to wi.

Precondition: |wi| is a reduced expression for a twisted involution |tw|;

Explanation: to each root datum involution, we may associate a transformation from the fundamental Cartan to the current Cartan, that factors as the composition of a cross action and a composite Cayley transform. This function puts in |so| a system of strongly orthogonal roots representing the Cayley transform.

The interpretation of the result is that the involution corresponding to |tw| can be obtained from a conjugate of the distinguished involution by multiplication by the (commuting) reflections for the roots in the strongly orthogonal set. The element by which the distinguished involution should be conjugated (more precisely its inverse) is given by |crossPart(.,wi,W)|

Definition at line 1024 of file cartanset.cpp.

References atlas::weyl::Generator, atlas::weyl::WeylGroup::hasTwistedCommutation(), atlas::weyl::WeylGroup::leftMult(), atlas::rootdata::RootDatum::rootPermutation(), atlas::rootdata::RootDatum::simpleRootNbr(), atlas::rootdata::strongOrthogonalize(), atlas::weyl::WeylGroup::twistedConjugate(), and atlas::weyl::TwistedInvolution.

bool atlas::cartanset::checkDecomposition const weyl::TwistedInvolution ti,
const weyl::WeylWord ww,
const rootdata::RootList so,
const weyl::WeylGroup &  W,
const rootdata::RootDatum &  rd,
const latticetypes::LatticeMatrix q
 

Checks whether |ti| decomposes as the composition of the cross-action defined by |ww| followed by the Cayley transform defined by |so|. Arguments |W| and |rd| are needed for the check; giving in addition |q| allows to check that Cayley transforms involve imaginary roots. This function is only used in an |assert| statement anyway.

Definition at line 1201 of file cartanset.cpp.

References isImaginary(), atlas::latticetypes::LatticeMatrix, atlas::weyl::WeylGroup::leftMult(), atlas::rootdata::RootDatum::root(), atlas::weyl::WeylGroup::twistedConjugate(), and atlas::weyl::TwistedInvolution.

Referenced by atlas::cartanset::CartanClassSet::correlateDualForms(), and atlas::cartanset::CartanClassSet::correlateForms().

void atlas::cartanset::crossPart weyl::WeylWord ww,
const weyl::WeylWord wi,
const weyl::WeylGroup &  W
 

Puts in ww the cross action corresponding to wi.

Explanation: to each root datum involution, we may associate a transformation from the fundamental cartan to the current cartan, that factors as the composition of a cross action and a composite Cayley transform. This function puts in ww a weyl word representing the cross action part.

Definition at line 1070 of file cartanset.cpp.

References atlas::weyl::Generator, atlas::weyl::WeylGroup::hasTwistedCommutation(), atlas::weyl::WeylGroup::leftMult(), atlas::weyl::WeylGroup::twistedConjugate(), and atlas::weyl::TwistedInvolution.

void atlas::cartanset::crossTransform rootdata::RootList rl,
const weyl::WeylWord ww,
const rootdata::RootDatum &  rd
 

Cross-transforms the roots in rl according to ww.

NOTE: the cross-transformations are done in _reverse_ order.

Definition at line 1099 of file cartanset.cpp.

References atlas::rootdata::RootDatum::rootPermutation().

Referenced by atlas::cartanset::CartanClassSet::correlateDualForms(), and atlas::cartanset::CartanClassSet::correlateForms().

bool atlas::cartanset::isImaginary const latticetypes::LatticeElt v,
const weyl::TwistedInvolution tw,
const weyl::WeylGroup &  ,
const rootdata::RootDatum &  ,
const latticetypes::LatticeMatrix distinguished
 

Definition at line 716 of file cartanset.cpp.

References atlas::weyl::WeylGroup::act(), atlas::matrix::Matrix< C >::apply(), atlas::latticetypes::LatticeMatrix, atlas::weyl::TwistedInvolution, and atlas::weyl::WeylElt::w().

Referenced by checkDecomposition().

unsigned long atlas::cartanset::kgbSize realform::RealForm  rf,
const CartanClassSet &  ccl
 

Returns the cardinality of K\G/B for this real form.

Precondition: the Cartan classes for this real form have been generated

Explanation: this is the cardinality of the one-sided parameter set corresponding to any strong real form over rf.

Definition at line 951 of file cartanset.cpp.

References atlas::cartanset::CartanClassSet::KGB_size(), and atlas::cartanset::CartanClassSet::support().

Referenced by atlas::complexredgp::ComplexReductiveGroup::kgbSize().

unsigned long atlas::cartanset::makeRepresentative const gradings::Grading gr,
const rootdata::RootList rl,
const cartanclass::Fiber &  fundf
 

Returns an element |x| (interpreted as element of the adjoint fiber of |fundf|) such that it grades the elements in |rl| according to |gr|.

The successive bits of |gr| give the desired grading of the successive roots in |rl|. At least one solution for |x| should be known to exist. The roots in |rl| should probably be linearly independent, since linearly dependent roots would only make the existence of a solution less likely.

Definition at line 1118 of file cartanset.cpp.

References atlas::cartanclass::Fiber::adjointFiberRank(), atlas::bitvector::firstSolution(), atlas::gradings::Grading, atlas::cartanclass::Fiber::noncompactRoots(), RankFlags, atlas::cartanclass::restrictGrading(), atlas::rootdata::RootSet, atlas::bitset::BitSet< n >::size(), atlas::latticetypes::SmallBitVector, atlas::latticetypes::SmallBitVectorList, and atlas::bitset::BitSet< n >::to_ulong().

Referenced by atlas::cartanset::CartanClassSet::correlateDualForms(), and atlas::cartanset::CartanClassSet::correlateForms().

void atlas::cartanset::transformGrading gradings::Grading gr,
const rootdata::RootList rl,
const rootdata::RootList so,
const rootdata::RootDatum &  rd
 

Transforms the grading |gr| of |rl| according to |so|.

Precondition: |gr| is a grading of the roots in |rl|; |so| is a set of strongly orthogonal roots, orthogonal to the roots in |rl|.

Assume that all roots in |rl| and |so| are imaginary for some involution, and that a grading is given that matches |gr| on |rl|, and for which all roots of |so| are noncompact (grading 1). Then by Cayley-transforming though the roots of |so| (in any order, since they are strongly orthogonal) one gets an involution for which the roots in |rl| are still imaginary (those in |so| have become real), and a grading of those roots that possibly differs from |gr|; this function transforms the grading |gr| into that new grading.

Formula: the rule for Cayley-transforming a grading through an imaginary noncompact root $\alpha$ in |so| is that the grading of $\beta$ in |rl| is flipped if and only if $\alpha+\beta$ is a root. So in all the grading of $\beta$ changes iff this condition is met for an odd number of $\alpha$s.

Definition at line 1162 of file cartanset.cpp.

References atlas::bitset::BitSet< n >::flip(), atlas::gradings::Grading, and atlas::rootdata::RootDatum::sumIsRoot().

Referenced by atlas::cartanset::CartanClassSet::correlateDualForms(), and atlas::cartanset::CartanClassSet::correlateForms().


Variable Documentation

const size_t atlas::cartanset::UndefMostSplit = ~0ul
 

Definition at line 96 of file cartanset.cpp.

const realform::RealForm atlas::cartanset::UndefRealForm = ~0ul
 

Definition at line 97 of file cartanset.cpp.


Generated on Wed Mar 26 16:52:23 2008 for atlas by  doxygen 1.3.9.1