atlas  0.6
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
atlas::blocks::Block Class Reference

Represents a block of representations of an inner form of G. More...

#include <blocks.h>

Inheritance diagram for atlas::blocks::Block:
Inheritance graph
[legend]
Collaboration diagram for atlas::blocks::Block:
Collaboration graph
[legend]

Public Member Functions

 ~Block ()
 
 Block (const Block &b)
 
const TwistedWeylGroup & twistedWeylGroup () const
 
const WeylGroup & weylGroup () const
 
virtual KGBElt xsize () const
 
virtual KGBElt ysize () const
 
size_t Cartan_class (BlockElt z) const
 
size_t max_Cartan () const
 
virtual const TwistedInvolution & involution (BlockElt z) const
 Returns the twisted involution corresponding to z. More...
 
const RankFlagsinvolutionSupport (BlockElt z) const
 the simple roots occurring in reduced expression |involution(z)| More...
 
virtual std::ostream & print (std::ostream &strm, BlockElt z, bool as_invol_expr) const
 
- Public Member Functions inherited from atlas::blocks::Block_base
 Block_base (const KGB &kgb, const KGB &dual_kgb)
 
 Block_base (unsigned int rank)
 
virtual ~Block_base ()
 
 Block_base (const Block_base &b)
 
size_t rank () const
 
size_t folded_rank () const
 
size_t size () const
 
const DynkinDiagram & Dynkin () const
 
ext_gen orbit (weyl::Generator s) const
 
const std::vector< ext_gen > & fold_orbits () const
 
KGBElt x (BlockElt z) const
 
KGBElt y (BlockElt z) const
 
virtual BlockElt element (KGBElt x, KGBElt y) const
 Look up element by |x|, |y| coordinates. More...
 
size_t length (BlockElt z) const
 
BlockElt length_first (size_t l) const
 
BlockElt cross (weyl::Generator s, BlockElt z) const
 
BlockEltPair cayley (weyl::Generator s, BlockElt z) const
 
BlockEltPair inverseCayley (weyl::Generator s, BlockElt z) const
 
const DescentStatus & descent (BlockElt z) const
 
DescentStatus::Value descentValue (weyl::Generator s, BlockElt z) const
 
bool isWeakDescent (weyl::Generator s, BlockElt z) const
 
bool isStrictAscent (weyl::Generator, BlockElt) const
 Tells if s is a strict ascent generator for z. More...
 
bool isStrictDescent (weyl::Generator, BlockElt) const
 Tells if s is a strict descent generator for z. More...
 
weyl::Generator firstStrictDescent (BlockElt z) const
 Returns the first descent for z (the number of a simple root) that is not imaginary compact, or rank() if there is no such descent. More...
 
weyl::Generator firstStrictGoodDescent (BlockElt z) const
 Returns the first descent for z (the number of a simple root) that is either complex or real type I; if there is no such descent returns |rank()|. More...
 
BlockElt Hermitian_dual (BlockElt z) const
 
BlockEltPair link (weyl::Generator alpha, weyl::Generator beta, BlockElt y) const
 
std::ostream & print_to (std::ostream &strm, bool as_invol_expr) const
 
BruhatOrder & bruhatOrder ()
 
kl::KLContextklc (BlockElt last_y, bool verbose)
 

Static Public Member Functions

static Block build (InnerClass &, RealFormNbr rf, RealFormNbr drf)
 
static Block build (RealReductiveGroup &G_R, RealReductiveGroup &dG_R)
 

Private Member Functions

 Block (const KGB &kgb, const KGB &dual_kgb)
 
Blockoperator= (const Block &b)
 
void compute_supports ()
 

Private Attributes

const TwistedWeylGroup & tW
 
size_t xrange
 
size_t yrange
 
std::vector< size_t > d_Cartan
 
TwistedInvolutionList d_involution
 
std::vector< RankFlagsd_involutionSupport
 Flags the generators occurring in reduced expression for |d_involution|. More...
 

Additional Inherited Members

- Protected Member Functions inherited from atlas::blocks::Block_base
KGBElt renumber_x (const std::vector< KGBElt > &new_x)
 
void compute_first_zs ()
 
- Protected Attributes inherited from atlas::blocks::Block_base
std::vector< EltInfoinfo
 
std::vector< std::vector< block_fields > > data
 
std::vector< ext_genorbits
 
std::vector< BlockEltd_first_z_of_x
 
DynkinDiagram dd
 
BruhatOrder * d_bruhat
 
kl::KLContextklc_ptr
 

Detailed Description

Represents a block of representations of an inner form of G.

For our fixed inner form, orbits of $K$ on $G/B$ are parametrized by classes of elements $x$ in $N_G(H).$ (the normalizer in the non-identity component $G.$ of the extended group $G^Gamma=G disju G.$, where $$ is (i.e., acts on $G$ as) an involution that itself normalises $H$), modulo the {conjugation} action of $H$. (Dangerous bend: this $H$ conjugacy class of $x$ is a subset, usually proper, of the coset $xH$. The collection of all $x$ is therefore NOT a subset of the extended Weyl group $N(H)/H$, but something more subtle.) The requirement on $x$ is that it belong to the $G$-conjugacy class of strong involutions defining the inner form.

Each $x$ therefore defines an involution $$ of $H$. Data pertaining to the subset of $x$ with a fixed $$ is stored in the |Fiber| class.

A block is characterized by specifying also an inner form of the dual group $G^vee$. For this inner form, $K^vee$ orbits on $G^vee/B^vee$ are parametrized by elements $y$. The basic theorem is that the block of representations is parametrized by pairs $(x,y)$ as above, subject to the requirement that $theta_y$ is the negative transpose of $theta_x$.

Constructor & Destructor Documentation

atlas::blocks::Block::Block ( const KGB &  kgb,
const KGB &  dual_kgb 
)
private
atlas::blocks::Block::~Block ( )
inline
atlas::blocks::Block::Block ( const Block b)

Member Function Documentation

Block atlas::blocks::Block::build ( InnerClass &  G,
RealFormNbr  rf,
RealFormNbr  drf 
)
static
Block atlas::blocks::Block::build ( RealReductiveGroup &  G_R,
RealReductiveGroup &  dG_R 
)
static
size_t atlas::blocks::Block::Cartan_class ( BlockElt  z) const
inline
void atlas::blocks::Block::compute_supports ( )
private
virtual const TwistedInvolution& atlas::blocks::Block::involution ( BlockElt  z) const
inlinevirtual

Returns the twisted involution corresponding to z.

This is the corresponding Weyl group element w, such that w.delta is the root datum involution tau corresponding to z

Implements atlas::blocks::Block_base.

const RankFlags& atlas::blocks::Block::involutionSupport ( BlockElt  z) const
inline

the simple roots occurring in reduced expression |involution(z)|

size_t atlas::blocks::Block::max_Cartan ( ) const
inline
Block& atlas::blocks::Block::operator= ( const Block b)
private
std::ostream & atlas::blocks::Block::print ( std::ostream &  strm,
BlockElt  z,
bool  as_invol_expr 
) const
virtual
const TwistedWeylGroup& atlas::blocks::Block::twistedWeylGroup ( ) const
inline
const WeylGroup& atlas::blocks::Block::weylGroup ( ) const
inline
virtual KGBElt atlas::blocks::Block::xsize ( ) const
inlinevirtual
virtual KGBElt atlas::blocks::Block::ysize ( ) const
inlinevirtual

Member Data Documentation

std::vector<size_t> atlas::blocks::Block::d_Cartan
private
TwistedInvolutionList atlas::blocks::Block::d_involution
private
std::vector<RankFlags> atlas::blocks::Block::d_involutionSupport
private

Flags the generators occurring in reduced expression for |d_involution|.

const TwistedWeylGroup& atlas::blocks::Block::tW
private
size_t atlas::blocks::Block::xrange
private
size_t atlas::blocks::Block::yrange
private

The documentation for this class was generated from the following files: