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

atlas::lietype Namespace Reference


Typedefs

typedef char TypeLetter
typedef std::pair< TypeLetter,
size_t > 
SimpleLieType
typedef std::vector< SimpleLieTypeLieType
typedef std::vector< TypeLetterInnerClassType

Functions

void addCompactInvolution (latticetypes::LatticeMatrix &, size_t, size_t)
void addDInvolution (latticetypes::LatticeMatrix &, size_t, size_t)
void addMinusIdentity (latticetypes::LatticeMatrix &, size_t, size_t)
void addSimpleInvolution (latticetypes::LatticeMatrix &, size_t, const SimpleLieType &, TypeLetter)
void dualLieType (LieType &dlt, const LieType &lt)
void dualInnerClassType (InnerClassType &dict, const InnerClassType &ict, const LieType &lt)
bool checkRank (const TypeLetter &x, size_t l)
void involution (latticetypes::LatticeMatrix &i, const lietype::LieType &lt, const lietype::InnerClassType &ic)
size_t rank (const LieType &lt)
size_t semisimpleRank (const LieType &lt)
size_t rank (const SimpleLieType &slt)
size_t semisimpleRank (const SimpleLieType &slt)
TypeLetter type (const SimpleLieType &slt)

Variables

const char *const typeLetters = "ABCDEFGT"
const char *const innerClassLetters = "Ccesu"


Typedef Documentation

typedef std::vector<TypeLetter> atlas::lietype::InnerClassType
 

Definition at line 28 of file lietype_fwd.h.

Referenced by atlas::interactive::getInnerClass(), and atlas::realform_io::Interface::Interface().

typedef std::vector<SimpleLieType> atlas::lietype::LieType
 

Definition at line 27 of file lietype_fwd.h.

Referenced by atlas::interactive::getInnerClass(), atlas::interactive::getInteractive(), atlas::realform_io::Interface::Interface(), and atlas::testprint::printBlockData().

typedef std::pair<TypeLetter,size_t> atlas::lietype::SimpleLieType
 

Definition at line 26 of file lietype_fwd.h.

Referenced by atlas::interpreter::check_involution(), atlas::interactive_lietype::checkInnerClass(), dualInnerClassType(), atlas::firstType(), involution(), atlas::dynkin::lieType(), atlas::nextInShape(), atlas::nextSimpleType(), atlas::printType(), and atlas::interactive_lietype::readLieType().

typedef char atlas::lietype::TypeLetter
 

Definition at line 25 of file lietype_fwd.h.

Referenced by atlas::dynkin::bourbaki(), atlas::interactive_lietype::checkInnerClass(), atlas::interactive_lietype::checkSimpleLieType(), atlas::interactive_lietype::checkTotalRank(), atlas::ignoreSimpleLieType(), atlas::dynkin::lieType(), atlas::basic_io::operator<<(), atlas::interactive_lietype::readInnerClass(), atlas::interactive_lietype::readLieType(), type(), and atlas::weylsize::weylSize().


Function Documentation

void atlas::lietype::addCompactInvolution latticetypes::LatticeMatrix m,
size_t  r,
size_t  rs
 

Synopsis: sets the block of size (rs,rs) starting from (r,r) to the identity

Precondition: the block is set to zero.

Definition at line 321 of file lietype.cpp.

References atlas::latticetypes::LatticeMatrix.

Referenced by addSimpleInvolution().

void atlas::lietype::addDInvolution latticetypes::LatticeMatrix m,
size_t  r,
size_t  rs
 

Synopsis: flips the last two vectors in the block of size rs starting from (r,r).

Precondition: the block is set to zero.

Definition at line 338 of file lietype.cpp.

References atlas::latticetypes::LatticeMatrix.

Referenced by addSimpleInvolution().

void atlas::lietype::addMinusIdentity latticetypes::LatticeMatrix m,
size_t  r,
size_t  rs
 

Synopsis: sets the block of size (rs,rs) starting from (r,r) to minus the identity

Precondition: the block is set to zero.

Definition at line 357 of file lietype.cpp.

References atlas::latticetypes::LatticeMatrix.

Referenced by addSimpleInvolution().

void atlas::lietype::addSimpleInvolution latticetypes::LatticeMatrix m,
size_t  r,
const SimpleLieType slt,
TypeLetter  x
 

Synopsis: appends to m, from position (r,r), the fundamental involution corresponding to x in size rs.

Definition at line 373 of file lietype.cpp.

References addCompactInvolution(), addDInvolution(), addMinusIdentity(), atlas::latticetypes::LatticeMatrix, rank(), and type().

Referenced by involution().

bool atlas::lietype::checkRank const TypeLetter x,
size_t  l
 

Synopsis: checks if the rank l is in the valid range for x.

Definition at line 193 of file lietype.cpp.

Referenced by atlas::interactive_lietype::checkSimpleLieType().

void atlas::lietype::dualInnerClassType InnerClassType dict,
const InnerClassType ict,
const LieType lt
 

Synopsis: puts in dict the dual inner class type of ict.

Definition at line 143 of file lietype.cpp.

References SimpleLieType.

Referenced by atlas::realform_io::Interface::Interface().

void atlas::lietype::dualLieType LieType dlt,
const LieType lt
 

Synopsis: puts in dlt the dual Lie type of lt.

Definition at line 109 of file lietype.cpp.

Referenced by atlas::realform_io::Interface::Interface().

void atlas::lietype::involution latticetypes::LatticeMatrix i,
const lietype::LieType lt,
const lietype::InnerClassType ic
 

Synopsis: constructs the fundamental involution for the Lie type lt and the inner class ic, in the weight basis for the simply connected group.

Precondition: it has already been checked that ic holds a valid inner class type for lt.

Definition at line 245 of file lietype.cpp.

References addSimpleInvolution(), atlas::latticetypes::LatticeMatrix, rank(), atlas::matrix::Matrix< C >::resize(), and SimpleLieType.

Referenced by atlas::interpreter::basic_involution_wrapper(), and atlas::interactive::getInnerClass().

size_t rank const SimpleLieType slt  )  [inline]
 

Definition at line 87 of file lietype.h.

Referenced by atlas::abelian::FiniteAbelianGroup::add(), addSimpleInvolution(), atlas::prerootdata::cartanMatrix(), atlas::graph::OrientedGraph::cells(), atlas::interactive_lietype::checkInnerClass(), atlas::subquotient::Subspace< dim >::fromBasis(), involution(), atlas::isLast(), atlas::abelian::FiniteAbelianGroup::leftApply(), atlas::nextInShape(), atlas::nextSemisimpleType(), atlas::nextSimpleType(), atlas::testrun::LieTypeIterator::operator++(), atlas::basic_io::operator<<(), atlas::abelian::FiniteAbelianGroup::order(), atlas::abelian::FiniteAbelianGroup::pairing(), atlas::printComplexType(), atlas::printSimpleType(), atlas::printType(), rank(), atlas::interactive_lietype::readInnerClass(), atlas::subquotient::Subspace< dim >::representative(), atlas::shape(), atlas::interactive_lattice::smithBasis(), atlas::interpreter::smithBasis(), atlas::abelian::FiniteAbelianGroup::toWeight(), atlas::interpreter::transform_inner_class_type(), atlas::weyl::WeylGroup::twistedConjugacyClass(), atlas::weylsize::weylSize(), and atlas::rootdata::RootDatum::word_of_inverse_matrix().

size_t atlas::lietype::rank const LieType lt  ) 
 

Synopsis: returns the rank of the group.

Definition at line 279 of file lietype.cpp.

References rank().

Referenced by atlas::interpreter::Lie_type_value::add_simple_factor(), atlas::filekl::block_info::block_info(), atlas::graph::OrientedGraph::cells(), atlas::blocks::correlation(), atlas::testrun::CoveringIterator::CoveringIterator(), atlas::graph::info::info(), atlas::klsupport::KLSupport::KLSupport(), atlas::interpreter::Lie_type_wrapper(), atlas::prerootdata::PreRootDatum::PreRootDatum(), atlas::rootdata::RootDatum::RootDatum(), atlas::tits::TitsElt::TitsElt(), atlas::tits::TitsGroup::TitsGroup(), and atlas::filekl::write_block_file().

size_t semisimpleRank const SimpleLieType slt  )  [inline]
 

Definition at line 93 of file lietype.h.

Referenced by atlas::testrun::CoveringIterator::CoveringIterator(), atlas::printType(), and semisimpleRank().

size_t atlas::lietype::semisimpleRank const LieType lt  ) 
 

Synopsis: returns the semisimple rank of the group.

Definition at line 294 of file lietype.cpp.

References semisimpleRank().

Referenced by atlas::blocks::Block::Block(), atlas::GradingAction::GradingAction(), atlas::involutions::helper::Helper::Helper(), atlas::kgb::KGB::KGB(), atlas::kgb::KGBHelp::KGBHelp(), and atlas::tits::TitsGroup::TitsGroup().

TypeLetter type const SimpleLieType slt  )  [inline]
 

Definition at line 97 of file lietype.h.

References TypeLetter.

Referenced by addSimpleInvolution(), atlas::interpreter::adjoint_datum_wrapper(), atlas::interpreter::analyse_types(), atlas::interpreter::based_involution_wrapper(), atlas::prerootdata::cartanMatrix(), atlas::interpreter::check_involution(), atlas::interactive_lietype::checkInnerClass(), atlas::interpreter::convert_expr(), atlas::interpreter::GL_wrapper(), atlas::interpreter::id_data::id_data(), atlas::interpreter::install_function(), atlas::isLast(), atlas::nextSimpleType(), atlas::basic_io::operator<<(), atlas::prettyprint::prettyPrint(), atlas::interpreter::root_datum_value::print(), atlas::printComplexType(), atlas::printSimpleType(), atlas::interactive_lietype::readInnerClass(), atlas::interpreter::root_datum_wrapper(), atlas::interpreter::simply_connected_datum_wrapper(), atlas::interpreter::SL_wrapper(), atlas::interactive_lattice::smithBasis(), atlas::interpreter::smithBasis(), atlas::abelian::FiniteAbelianGroup::toWeight(), atlas::interpreter::transform_inner_class_type(), atlas::abelian::transpose(), and atlas::weylsize::weylSize().


Variable Documentation

const char* const atlas::lietype::innerClassLetters = "Ccesu"
 

Used by the interaction in interactive_lietype.cpp to tell the user what input is expected for an inner class type.

The letter "C" stands for "complex"; it goes with two adjacent equal Lie types, to say that the group has the corresponding complex simple factor. (For example, a Lie type of A4.A4 and inner type C refers to SL(5,C).)

The letter "c" stands for "compact"; it designates the inner class of forms in which rank(G) = rank(K) (so that there is a compact Cartan subgroup.)

The letter "s" stands for "split," and designates the inner class containing the split real form of G.

The letter "u" stands for "unequal rank," and designates an inner class of forms with no compact Cartan and (if possible) no split Cartan. This inner class is allowed only in A_n, n > 1, D_n, and E_6. In types A, E6, and D_{2n+1} the unique unequal rank inner class is split, and the inner class designator "u" is then mapped to "s." (This is important, because the code implementing the Cartan involution in lietype.cpp would not work in types A and E with the designator "u.") In type D_{2n}, the inner class "u" corresponds to the Cartan involution exchanging the two simple roots at the branched end of the Dynkin diagram. (In D_4 there are three involutions fitting this description. The software picks just one of them. Since the three differ by an outer automorphism of D_4, this loss of generality is harmless.) The real forms in the inner class "u" for D_{2n} are the special orthogonal groups of signature (odd,odd).

The letter "e" stands for "equal rank," and is mapped in every case to "c."

Definition at line 67 of file lietype.h.

Referenced by atlas::interactive_lietype::checkInnerClass().

const char* const atlas::lietype::typeLetters = "ABCDEFGT"
 

Used by the interaction in interactive_lietype.cpp to tell the user what input is expected for a Lie type.

Definition at line 30 of file lietype.h.

Referenced by atlas::interactive_lietype::checkSimpleLieType().


Generated on Wed Mar 26 16:53:00 2008 for atlas by  doxygen 1.3.9.1