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
Collaboration diagram for atlas::blocks::Block:
Collaboration graph

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

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 
atlas::blocks::Block::~Block ( )
atlas::blocks::Block::Block ( const Block b)

Member Function Documentation

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

Returns the twisted involution corresponding to z.

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

Implements atlas::blocks::Block_base.

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

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

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

Member Data Documentation

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

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

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

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