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

atlas::involutions::helper::Helper Class Reference

Derived class of InvolutionSet, to carry out the construction of InvolutionSet. More...

Inheritance diagram for atlas::involutions::helper::Helper:

Inheritance graph
[legend]
Collaboration diagram for atlas::involutions::helper::Helper:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Helper (complexredgp::ComplexReductiveGroup &)
virtual ~Helper ()
void fill (const complexredgp::ComplexReductiveGroup &)
 Fills the tables.
void fillCartan (const complexredgp::ComplexReductiveGroup &)
 Fills the Cartan table.
void fillInvolutions (const weyl::WeylGroup &)
 Fills the action and involution tables.
void fillDualInvolutions (const weyl::WeylGroup &)
 Fills the dual involution table.
void weylCorrelation (const complexredgp::ComplexReductiveGroup &)
 Fills in d_toDualWeyl.

Private Attributes

weyl::WeylInterface d_toDualWeyl
 Entry |d_toDualWeyl[s]| gives generator whose inner representation in $W$ coincides with that of |s| in the dual Weyl group.

Detailed Description

Derived class of InvolutionSet, to carry out the construction of InvolutionSet.

Definition at line 41 of file involutions.cpp.


Constructor & Destructor Documentation

atlas::involutions::helper::Helper::Helper complexredgp::ComplexReductiveGroup  )  [explicit]
 

Definition at line 156 of file involutions.cpp.

References fill(), atlas::complexredgp::ComplexReductiveGroup::fillCartan(), atlas::complexredgp::ComplexReductiveGroup::numInvolutions(), atlas::complexredgp::ComplexReductiveGroup::semisimpleRank(), atlas::lietype::semisimpleRank(), and weylCorrelation().

virtual atlas::involutions::helper::Helper::~Helper  )  [inline, virtual]
 

Definition at line 55 of file involutions.cpp.


Member Function Documentation

void atlas::involutions::helper::Helper::fill const complexredgp::ComplexReductiveGroup G  ) 
 

Fills the tables.

Precondition: size and rank have been set.

Definition at line 180 of file involutions.cpp.

References fillCartan(), fillDualInvolutions(), fillInvolutions(), and atlas::complexredgp::ComplexReductiveGroup::weylGroup().

Referenced by Helper().

void atlas::involutions::helper::Helper::fillCartan const complexredgp::ComplexReductiveGroup G  ) 
 

Fills the Cartan table.

Precondition: the action and involution tables have been filled;

Explanation: it is important that we use the same numbering of Cartan subgroups as in G. The algorithm is to use the representative of Cartan #j returned by G.twistedInvolution(j), locate that in the involution set, and then number its cross-orbit with j's.

Definition at line 208 of file involutions.cpp.

References atlas::involutions::InvolutionSet::action(), atlas::weyl::Generator, atlas::weyl::WeylGroup::hasTwistedCommutation(), atlas::involutions::InvolutionSet::involution(), atlas::involutions::InvolutionSet::involutionNbr(), atlas::complexredgp::ComplexReductiveGroup::numCartanClasses(), atlas::complexredgp::ComplexReductiveGroup::twistedInvolution(), atlas::weyl::TwistedInvolution, and atlas::complexredgp::ComplexReductiveGroup::weylGroup().

Referenced by fill().

void atlas::involutions::helper::Helper::fillDualInvolutions const weyl::WeylGroup W  ) 
 

Fills the dual involution table.

Precondition: the action and involution tables have been filled; d_toDualWeyl is set;

Definition at line 324 of file involutions.cpp.

References d_toDualWeyl, atlas::weyl::WeylGroup::invert(), atlas::involutions::InvolutionSet::involution(), atlas::weyl::WeylGroup::longest(), atlas::weyl::WeylGroup::mult(), atlas::weyl::WeylGroup::translation(), atlas::weyl::WeylGroup::twist(), atlas::weyl::TwistedInvolution, and atlas::weyl::WeylElt::w().

Referenced by fill().

void atlas::involutions::helper::Helper::fillInvolutions const weyl::WeylGroup W  ) 
 

Fills the action and involution tables.

Precondition: size and rank have been set; W is the relevant Weyl group.

Explanation: action(s,w) is s.w if s and w twisted-commute, s.w.twist(s) otherwise.

Algorithm: we fill the table in order of increasing involution length, by the naive algorithm of looking at all the slots which have not yet been filled, computing the result and looking it up in a set of elements for the next length.

Definition at line 268 of file involutions.cpp.

References atlas::involutions::InvolutionSet::action(), atlas::weyl::WeylGroup::hasTwistedCommutation(), atlas::involutions::InvolutionSet::involution(), atlas::weyl::WeylGroup::leftMult(), atlas::weyl::WeylGroup::twistedConjugate(), atlas::weyl::TwistedInvolution, and atlas::involutions::UndefInvolution.

Referenced by fill().

void atlas::involutions::helper::Helper::weylCorrelation const complexredgp::ComplexReductiveGroup G  ) 
 

Fills in d_toDualWeyl.

Explanation: |d_toDualWeyl[s]| is the outer representation of the generator that in the Weyl group has the same inner representation as |s| has in the dual Weyl group. Thus we can move elements from the Weyl group to the dual Weyl group by translating them via |d_toDualWeyl| and then interpreting the resulting inner representation in the dual Weyl group (translation operates on inner representations but uses a table defined in terms of outer representations).

Definition at line 351 of file involutions.cpp.

References atlas::rootdata::cartanMatrix(), d_toDualWeyl, atlas::weyl::WeylGroup::generator(), atlas::latticetypes::LatticeMatrix, atlas::weyl::WeylGroup::rank(), atlas::complexredgp::ComplexReductiveGroup::rootDatum(), atlas::matrix::Matrix< C >::transpose(), atlas::complexredgp::ComplexReductiveGroup::weylGroup(), and atlas::weyl::WeylGroup::word().

Referenced by Helper().


Member Data Documentation

weyl::WeylInterface atlas::involutions::helper::Helper::d_toDualWeyl [private]
 

Entry |d_toDualWeyl[s]| gives generator whose inner representation in $W$ coincides with that of |s| in the dual Weyl group.

Definition at line 48 of file involutions.cpp.

Referenced by fillDualInvolutions(), and weylCorrelation().


The documentation for this class was generated from the following file:
Generated on Wed Mar 26 16:52:51 2008 for atlas by  doxygen 1.3.9.1