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

atlas::blocks Namespace Reference


Classes

class  atlas::blocks::Block
 Represents a block of representations of an inner form of G. More...

Typedefs

typedef unsigned int BlockElt
typedef std::vector< BlockEltBlockEltList
typedef std::pair< BlockElt,
BlockElt
BlockEltPair
typedef std::vector< BlockEltPairBlockEltPairList

Functions

weyl::WeylInterface correlation (const weyl::WeylGroup &W, const weyl::WeylGroup &dW)
descents::DescentStatus descents (kgb::KGBElt x, kgb::KGBElt y, const kgb::KGB &kgb, const kgb::KGB &dual_kgb)
void insertAscents (std::set< BlockElt > &, const set::SetEltList &, size_t, const Block &)
void makeHasse (std::vector< set::SetEltList > &, const Block &)
weyl::WeylInterface correlation (const weyl::WeylGroup &W, const weyl::WeylGroup &dW)
 Returns mapping of internal numberings from |W| to |dW|.
descents::DescentStatus descents (kgb::KGBElt x, kgb::KGBElt y, const kgb::KGB &kgb, const kgb::KGB &dual_kgb)
void insertAscents (std::set< BlockElt > &hs, const set::SetEltList &hr, size_t s, const Block &block)
 Inserts into hs the ascents from hr through s.
void makeHasse (std::vector< set::SetEltList > &Hasse, const Block &block)
 Puts into |Hasse| the hasse diagram data for the Bruhat ordering on |block|.
std::vector< BlockEltdual_map (const Block &b, const Block &dual_b)
bitmap::BitMap common_Cartans (realredgp::RealReductiveGroup &GR, realredgp::RealReductiveGroup &dGR)

Variables

const BlockElt UndefBlock = ~ BlockElt(0)


Typedef Documentation

typedef unsigned int atlas::blocks::BlockElt
 

Definition at line 29 of file blocks_fwd.h.

Referenced by atlas::blocks::Block::Block(), atlas::blocks::Block::cross(), dual_map(), atlas::blocks::Block::element(), atlas::blocks::Block::generate(), insertAscents(), atlas::blocks::Block::link(), makeHasse(), and atlas::blocks::Block::R_packet().

typedef std::vector<BlockElt> atlas::blocks::BlockEltList
 

Definition at line 30 of file blocks_fwd.h.

typedef std::pair<BlockElt,BlockElt> atlas::blocks::BlockEltPair
 

Definition at line 31 of file blocks_fwd.h.

Referenced by atlas::blocks::Block::cayley(), atlas::blocks::Block::generate(), atlas::blocks::Block::inverseCayley(), atlas::blocks::Block::link(), and makeHasse().

typedef std::vector<BlockEltPair> atlas::blocks::BlockEltPairList
 

Definition at line 32 of file blocks_fwd.h.


Function Documentation

bitmap::BitMap atlas::blocks::common_Cartans realredgp::RealReductiveGroup &  GR,
realredgp::RealReductiveGroup &  dGR
 

Find Cartans classes of |G| whose dual involution occurs for |dG|

Definition at line 762 of file blocks.cpp.

References atlas::realredgp::RealReductiveGroup::cartanSet(), atlas::realredgp::RealReductiveGroup::complexGroup(), atlas::complexredgp::ComplexReductiveGroup::dualCartanSet(), and atlas::realredgp::RealReductiveGroup::realForm().

Referenced by atlas::blockstabilizer_f(), atlas::blocks::Block::generate(), atlas::small_dual_kgb_f(), and atlas::small_kgb_f().

weyl::WeylInterface correlation const weyl::WeylGroup &  W,
const weyl::WeylGroup &  dW
[static]
 

Returns mapping of internal numberings from |W| to |dW|.

Explanation: this is a fairly annoying twist. Because of the normalizations that we do for Weyl groups based on the Cartan matrix rather than the Coxeter matrix, the dual Weyl group may uses a different internal numbering than the Weyl group in the (irreducible) cases $B_2$, $G_2$ ad $F_4$. This means we cannot reinterpret |WeylElt| values for $W$ as values for $dW$ without a conversion. The conversion will be performed by |WeylGroup::translate| based on the value computed here, which is a mapping of external numberings, to be applied by |W| on an element just before reinterpreting it in the |dW|. We should have for each |s|, in terms of the internal translation arrays:

| dW.d_out[W.d_in[d_toDualWeyl[s]]] = s | or equivalently | d_toDualWeyl[s] = W.d_out[dW.d_in[s]] |

so that the reinterpretation will preserve the outer representation. We do not having direct access to those arrays, but we can pass into internal representation and back out for another group without acessing them explicitly. Note this could not possibly be made to work (in all cases) if |WeylGroup::translate| were to use internal numbering, as it originally did.

Definition at line 607 of file blocks.cpp.

References atlas::weyl::WeylGroup::generator(), atlas::weyl::WeylGroup::rank(), atlas::lietype::rank(), and atlas::weyl::WeylGroup::word().

weyl::WeylInterface correlation const weyl::WeylGroup &  W,
const weyl::WeylGroup &  dW
[static]
 

Referenced by atlas::blocks::Block::generate().

descents::DescentStatus descents kgb::KGBElt  x,
kgb::KGBElt  y,
const kgb::KGB &  kgb,
const kgb::KGB &  dual_kgb
[static]
 

Definition at line 625 of file blocks.cpp.

References atlas::kgb::KGB::cross(), atlas::kgb::KGB::isDescent(), atlas::kgb::KGB::rank(), atlas::descents::DescentStatus::set(), and atlas::kgb::KGB::status().

Referenced by atlas::klsupport::KLSupport::fillDownsets().

descents::DescentStatus descents kgb::KGBElt  x,
kgb::KGBElt  y,
const kgb::KGB &  kgb,
const kgb::KGB &  dual_kgb
[static]
 

Referenced by atlas::blocks::Block::generate(), and atlas::blocks::Block::isStrictAscent().

std::vector< BlockElt > atlas::blocks::dual_map const Block &  b,
const Block &  dual_b
 

Definition at line 749 of file blocks.cpp.

References BlockElt, atlas::blocks::Block::element(), atlas::blocks::Block::size(), atlas::blocks::Block::x(), and atlas::blocks::Block::y().

Referenced by atlas::dual_map_f(), and atlas::kltest::dualityVerify().

void insertAscents std::set< BlockElt > &  hs,
const set::SetEltList hr,
size_t  s,
const Block &  block
[static]
 

Inserts into hs the ascents from hr through s.

Explanation: technical function for the Hasse construction, that makes the part of the coatom list for a given element arising from a given descent.

Definition at line 665 of file blocks.cpp.

References BlockElt, atlas::blocks::Block::cayley(), atlas::blocks::Block::cross(), and atlas::blocks::Block::descentValue().

void insertAscents std::set< BlockElt > &  ,
const set::SetEltList ,
size_t  ,
const Block & 
[static]
 

Referenced by makeHasse().

void makeHasse std::vector< set::SetEltList > &  Hasse,
const Block &  block
[static]
 

Puts into |Hasse| the hasse diagram data for the Bruhat ordering on |block|.

Explanation: we used the algorithm from Vogan's 1982 Park City notes... which contains a bad definition. Now modified to work like kgb makeHasse: seek an ascent s that is complex or type I real. If it exists, use it as in kgb. If it doesn't then we're essentially at a split principal series. The immediate predecessors of z are just the inverse Cayley transforms.

Definition at line 702 of file blocks.cpp.

References BlockElt, BlockEltPair, atlas::bits::copy(), atlas::blocks::Block::cross(), atlas::blocks::Block::descentValue(), atlas::blocks::Block::firstStrictGoodDescent(), insertAscents(), atlas::blocks::Block::inverseCayley(), atlas::blocks::Block::rank(), and atlas::blocks::Block::size().

void makeHasse std::vector< set::SetEltList > &  ,
const Block & 
[static]
 

Referenced by atlas::blocks::Block::fillBruhat().


Variable Documentation

const BlockElt atlas::blocks::UndefBlock = ~ BlockElt(0)
 

Definition at line 41 of file blocks.h.

Referenced by atlas::blocks::Block::cayley(), atlas::blocks::Block::generate(), atlas::blocks::Block::inverseCayley(), and atlas::blocks::Block::link().


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