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

atlas::gradings Namespace Reference


Classes

class  atlas::gradings::Status
 Describes a four-valued root attribute for each simple root: to be real, complex, imaginary compact or imaginary noncompact. More...
struct  atlas::gradings::GradingCompare

Typedefs

typedef std::vector< StatusStatusList
typedef bitset::RankFlags Grading
typedef std::vector< GradingGradingList

Functions

bool isNonCompact (const rootdata::Root &v, const Grading &g)
void makeGradings (GradingList &gl, const rootdata::RootDatum &rd)
void findGrading (RootSet &ncr, const RootList &o, const RootList &rs, const RootDatum &rd)
void gradingType (rootdata::RootList &gt, const Grading &g, const rootdata::RootDatum &rd)
void findGrading (rootdata::RootSet &, const rootdata::RootList &, const rootdata::RootList &, const rootdata::RootDatum &)


Typedef Documentation

typedef bitset::RankFlags atlas::gradings::Grading
 

Definition at line 30 of file gradings_fwd.h.

Referenced by atlas::compactEquations(), atlas::cartanset::CartanClassSet::correlateDualForms(), atlas::cartanset::CartanClassSet::correlateForms(), atlas::FiberAction::FiberAction(), findGrading(), atlas::cartanclass::Fiber::grading(), atlas::RealFormData::grading(), atlas::kgb::grading_offset_for(), atlas::kgb::KGBHelp::grading_seed(), atlas::cartanclass::Fiber::gradingRep(), gradingType(), atlas::realform_io::Interface::Interface(), atlas::cartanclass::CartanClass::isMostSplit(), isNonCompact(), atlas::cartanclass::Fiber::makeBaseGrading(), makeGradings(), atlas::cartanclass::Fiber::makeGradingShifts(), atlas::cartanset::makeRepresentative(), atlas::cartanclass::Fiber::makeStrongReal(), atlas::gradings::GradingCompare::operator()(), atlas::GradingAction::operator()(), atlas::operator<(), atlas::interpreter::print_gradings_wrapper(), atlas::printSimpleType(), atlas::printType(), atlas::RealFormData::RealFormData(), atlas::cartanclass::restrictGrading(), and atlas::cartanset::transformGrading().

typedef std::vector<Grading> atlas::gradings::GradingList
 

Definition at line 31 of file gradings_fwd.h.

typedef std::vector<Status> atlas::gradings::StatusList
 

Definition at line 28 of file gradings_fwd.h.


Function Documentation

void findGrading rootdata::RootSet ,
const rootdata::RootList ,
const rootdata::RootList ,
const rootdata::RootDatum & 
 

void findGrading RootSet ncr,
const RootList o,
const RootList rs,
const RootDatum &  rd
 

Given a RootList |rs|, which is assumed to hold a root subsystem in |rd|, and an orthogonal subsystem |o| inside |rs|, this function returns a grading |g| of the root system |rs| (expressed in terms of its canonical basis) for which |o| is a maximal orthogonal set of noncompact roots (or more precisely, for which (1) all roots in |o| are noncompact for |gr|, and (2) the descent of |gr| through the roots of |o| to the subsystem of |rs| orthogonal to |o| leads to a compact grading of that subsystem.) The answer is written directly in the RootSet |ncr|, which flags the noncompact roots.

The condition given amounts to solving a system of linear equations modulo 2. In addition to the values 1 of |gr| on |o| given by (1), condition (2) says that for any root $\alpha$ of |rs| orthogonal to |o|, the value $gr(\alpha)$ should be equal modulo 2 to the number of roots $\beta$ of |o| such that $\alpha+\beta$ is a root (of |rs|). Thus the values of |gr| are fixed on |o| and on a basis of the root subsystem of |rs| orthogonal to |o|.

NOTE: the solution is not unique in general. However the grading that is found should be unique up to conjugacy. If the subspace orthogonal to |o| is spanned by the roots it contains, then we have as many equations as unknowns; but even then the system can be degenerate. This happens already in case B2, for the split Cartan.

Definition at line 184 of file gradings.cpp.

References atlas::latticetypes::BinaryEquation, atlas::latticetypes::BinaryEquationList, atlas::compactEquations(), atlas::bitvector::firstSolution(), Grading, atlas::bitmap::BitMap::insert(), isNonCompact(), atlas::noncompactEquations(), atlas::rootdata::rootBasis(), atlas::rootdata::RootList, atlas::rootdata::RootSet, atlas::rootdata::RootDatum::toRootBasis(), and atlas::latticetypes::WeightList.

void atlas::gradings::gradingType rootdata::RootList gt,
const Grading g,
const rootdata::RootDatum &  rd
 

Returns in |gt| a maximal set of strongly orthogonal noncompact roots for the grading |g|. This function is currently unused [MvL 14 oct 2007]

The algorithm is simple: pick any noncompact root; find the orthogonal system; write down the grading on the orthogonal; and repeat. When done, transform the system into a strongly orthogonal one if needed.

Definition at line 246 of file gradings.cpp.

References atlas::bitmap::BitMap::flip(), atlas::bitmap::BitMap::front(), Grading, atlas::bitmap::BitMap::insert(), atlas::rootdata::RootDatum::inSimpleRoots(), isNonCompact(), atlas::rootdata::RootDatum::isOrthogonal(), atlas::rootdata::RootDatum::numRoots(), atlas::bitmap::BitMap::remove(), atlas::rootdata::RootDatum::root(), atlas::rootdata::RootList, atlas::rootdata::RootDatum::rootNbr(), atlas::rootdata::RootNbr, atlas::rootdata::RootDatum::sumIsRoot(), atlas::bitmap::BitMap::swap(), atlas::latticetypes::Weight, and atlas::latticetypes::WeightList.

bool atlas::gradings::isNonCompact const rootdata::Root v,
const Grading g
 

Synopsis: tells whether |v| is noncompact w.r.t. the grading |g|.

NOTE : it is essential that |v| is expressed in the root basis in which |g| is also given!

Given this, the condition is just that the sum of the coordinates of |v| that are flagged by set bits of |g| is odd.

Definition at line 96 of file gradings.cpp.

References Grading.

Referenced by findGrading(), and gradingType().

void atlas::gradings::makeGradings GradingList gl,
const rootdata::RootDatum &  rd
 

This function puts in |gl| a set of representatives of $W$-conjugacy classes of $Z/2Z$-gradings on the root system of |rd|, which arise from a $Z$-grading.

Such a grading is determined freely by its value at each simple root; therefore a grading is represented by bitset::RankFlags (=BitSet<rank_max>).

We return the first representative in each class with the least possible number of set bits

Definition at line 145 of file gradings.cpp.

References Grading, and atlas::rootdata::RootDatum::semisimpleRank().


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