atlas  0.6
Public Member Functions | Private Attributes | List of all members
atlas::tori::RealTorus Class Reference

Represents a torus defined over R. More...

#include <tori.h>

Collaboration diagram for atlas::tori::RealTorus:
Collaboration graph

Public Member Functions

 RealTorus (const WeightInvolution &)
 RealTorus (const RealTorus &, tags::DualTag)
const WeightInvolutioninvolution () const
size_t rank () const
size_t complexRank () const
size_t compactRank () const
size_t splitRank () const
size_t plusRank () const
size_t minusRank () const
size_t twoRank () const
bool isCompact () const
bool isSplit () const
BinaryMap componentMap (const LatticeMatrix &, const RealTorus &) const
const WeightListplusLattice () const
const WeightListminusLattice () const
void toPlus (Weight &dest, const Weight &source) const
void toMinus (Weight &dest, const Weight &source) const
const SmallSubquotienttopology () const

Private Attributes

size_t d_rank
size_t d_complexRank
WeightInvolution d_involution
WeightList d_plus
WeightList d_minus
LatticeMatrix d_toPlus
LatticeMatrix d_toMinus
SmallSubquotient d_topology

Detailed Description

Represents a torus defined over R.

This is equivalent to the datum of a lattice with an involution; to be consistent with the rest of the program, we use the Cartan involution tau which is the negative of the Galois involution on the character lattice.

The fundamental data are the rank d_rank (allowing us to identify the character lattice X with d_rank-tuples of integers) and the integer matrix d_involution of tau.

The software constructs two sublattices X_+ and X_-, the +1 and -1 eigenspaces for the involution. The datum d_plus is a basis of X_+, and d_minus is a basis of X_-. Both X_+ and X_- are supplementable in X, but in general X is not equal to the direct sum X_+ + X_-.

The most delicate invariant we shall have to deal with is the component group of the group of real points of T. This is an elementary abelian 2-group; we shall rather consider its dual dpi0(T). To describe its rank is fairly easy. Indeed, T may be decomposed as a product of compact, split and complex factors; denote r_u, r_s and r_c the number of factors of each type, so that the rank n of T is r_u + r_s + 2 r_c, then the rank of the component group is r_s. We have moreover : rk(X_+) = r_u + r_c; rk(X_-) = r_s + r_c. Denote V = X/2X, a vector space over the two-element field F_2, and denote V_+,V_- the images of X_+, X_- in V. Then it is not hard to show that r_c = dim(V_+ cap V_-), which allows computing r_s once rk(X_-) is known. One may prove that V_+- := V_+ cap V_- is also the image of tau - 1 in V.

It is a little bit harder to describe dpi0(T) functorially as a vector space. The group T(2)(R) of real points of the group of elements of order 2 in T is in natural duality with V/V_+-. There is a natural surjection from T(2)(R) to pi0(T), so dpi0(T) is a sub-vector space of V/V_+-, which may in fact be described as the image of V_-. This is how we will consider it.

Constructor & Destructor Documentation

atlas::tori::RealTorus::RealTorus ( const WeightInvolution i)
atlas::tori::RealTorus::RealTorus ( const RealTorus T,

Member Function Documentation

size_t atlas::tori::RealTorus::compactRank ( ) const
size_t atlas::tori::RealTorus::complexRank ( ) const
BinaryMap atlas::tori::RealTorus::componentMap ( const LatticeMatrix m,
const RealTorus T_dest 
) const
const WeightInvolution& atlas::tori::RealTorus::involution ( ) const
bool atlas::tori::RealTorus::isCompact ( ) const
bool atlas::tori::RealTorus::isSplit ( ) const
const WeightList& atlas::tori::RealTorus::minusLattice ( ) const
size_t atlas::tori::RealTorus::minusRank ( ) const
const WeightList& atlas::tori::RealTorus::plusLattice ( ) const
size_t atlas::tori::RealTorus::plusRank ( ) const
size_t atlas::tori::RealTorus::rank ( ) const
size_t atlas::tori::RealTorus::splitRank ( ) const
void atlas::tori::RealTorus::toMinus ( Weight dest,
const Weight source 
) const
void atlas::tori::RealTorus::toPlus ( Weight dest,
const Weight source 
) const
const SmallSubquotient& atlas::tori::RealTorus::topology ( ) const
size_t atlas::tori::RealTorus::twoRank ( ) const

Member Data Documentation

size_t atlas::tori::RealTorus::d_complexRank

number of C^x-factors

WeightInvolution atlas::tori::RealTorus::d_involution

matrix of the Cartan involution

WeightList atlas::tori::RealTorus::d_minus

basis for -1 eigenlattice of the Cartan involution

WeightList atlas::tori::RealTorus::d_plus

basis for +1 eigenlattice of the Cartan involution

size_t atlas::tori::RealTorus::d_rank

rank of torus

LatticeMatrix atlas::tori::RealTorus::d_toMinus

coordinate transformation from standard basis of $X$ to basis |d_minus| of $X_-$; should be applied only to elements of $X_-$

LatticeMatrix atlas::tori::RealTorus::d_toPlus

coordinate transformation from standard basis of $X$ to basis |d_plus| of $X_+$; should be applied only to elements of $X_+$

SmallSubquotient atlas::tori::RealTorus::d_topology

dual component group of real torus (a vector space over $Z/2Z$), realised as the subquotient $(V_+ + V_-)/V_+$ of the $Z/2Z$ vector space $X/2X$

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