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

#include <blocks.h>

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

Public Member Functions

 non_integral_block (const repr::Rep_context &rc, StandardRepr sr, BlockElt &entry_element)
 
 non_integral_block (const repr::Rep_context &rc, StandardRepr sr)
 
virtual BlockElt element (KGBElt x, KGBElt y) const
 Look up element by |x|, |y| coordinates. More...
 
virtual std::ostream & print (std::ostream &strm, BlockElt z, bool as_invol_expr) const
 
RatWeight y_part (BlockElt z) const
 
- Public Member Functions inherited from atlas::blocks::param_block
const InnerClass & innerClass () const
 
const InvolutionTable & involution_table () const
 
RealReductiveGroup & realGroup () const
 
const RatWeightgamma () const
 
KGBElt parent_x (BlockElt z) const
 
const TorusElement & y_rep (KGBElt y) const
 
RatWeight nu (BlockElt z) const
 
Weight lambda_rho (BlockElt z) const
 
RatWeight lambda (BlockElt z) const
 
RankFlags singular_simple_roots ()
 
bool survives (BlockElt z) const
 
BlockEltList survivors_below (BlockElt z) const
 
virtual KGBElt xsize () const
 
virtual KGBElt ysize () const
 
virtual const TwistedInvolution & involution (BlockElt z) 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
 
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)
 

Private Member Functions

void add_z (KGBElt x, KGBElt y, unsigned short l)
 

Private Attributes

block_hash z_hash
 

Additional Inherited Members

- Protected Member Functions inherited from atlas::blocks::param_block
 param_block (const Rep_context &rc, unsigned int rank)
 
void compute_duals (const InnerClass &G, const SubSystem &rs)
 
- 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::param_block
const Rep_context & rc
 
RatWeight infin_char
 
RankFlags singular
 
std::vector< KGBEltkgb_nr_of
 
std::vector< KGBEltx_of
 
y_entry::Pooltype y_pool
 
y_part_hash y_hash
 
- 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
 

Constructor & Destructor Documentation

atlas::blocks::non_integral_block::non_integral_block ( const repr::Rep_context rc,
StandardRepr  sr,
BlockElt entry_element 
)
atlas::blocks::non_integral_block::non_integral_block ( const repr::Rep_context rc,
StandardRepr  sr 
)

Member Function Documentation

void atlas::blocks::non_integral_block::add_z ( KGBElt  x,
KGBElt  y,
unsigned short  l 
)
private
BlockElt atlas::blocks::non_integral_block::element ( KGBElt  xx,
KGBElt  yy 
) const
virtual

Look up element by |x|, |y| coordinates.

Precondition: |x| and |y| should be compatible: such a block element exists

This uses the |d_first_z_of_x| table to locate the range where the |x| coordinates are correct; then comparing the given |y| value with the first one present for |x| (there must be at least one) we can predict the value directly, since for each fixed |x| value the values of |y| are consecutive.

Reimplemented from atlas::blocks::Block_base.

std::ostream & atlas::blocks::non_integral_block::print ( std::ostream &  strm,
BlockElt  z,
bool  as_invol_expr 
) const
virtual
RatWeight atlas::blocks::non_integral_block::y_part ( BlockElt  z) const

Member Data Documentation

block_hash atlas::blocks::non_integral_block::z_hash
private

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