#include <dynkin.h>
Public Member Functions | |
| DynkinDiagram () | |
| DynkinDiagram (const latticetypes::LatticeMatrix &) | |
| DynkinDiagram (const bitset::RankFlags &, const DynkinDiagram &) | |
| ~DynkinDiagram () | |
| int | cartanEntry (size_t i, size_t j) const |
| bitset::RankFlags | component (size_t) const |
| Multiplicity | edgeMultiplicity (size_t i, size_t j) const |
| bitset::RankFlags | extremities () const |
| bool | isConnected () const |
| bool | isSimplyLaced () const |
| bool | isString () const |
| Edge | labelEdge () const |
| Multiplicity | maxMultiplicity () const |
| size_t | node () const |
| size_t | rank () const |
| const bitset::RankFlagsList & | star () const |
| const bitset::RankFlags & | star (size_t j) const |
Private Attributes | |
| std::vector< bitset::RankFlags > | d_star |
| std::map< Edge, Multiplicity > | d_label |
The collection of vertices is represented as vector, each of whose elements is a BitSet d_star[i], which regarded as a subset of the integers 0,1,...,RANK_MAX-1 gives the neighbours of vertex i. An Edge is a pair of indices designating vertices. The map d_label attaches to certain Edges an unsigned integer Multiplicity.
Definition at line 78 of file dynkin.h.
|
|
|
|
|
Constructs a Dynkin diagram from a Cartan matrix. The edge points from i to j when the Cartan matrix entry c(i,j) is < -1 (i.e. towards the shorter root.) Definition at line 64 of file dynkin.cpp. References d_label, d_star, atlas::dynkin::Edge, atlas::latticetypes::LatticeMatrix, atlas::matrix::Matrix< C >::numColumns(), and atlas::matrix::Matrix< C >::numRows(). |
|
||||||||||||
|
Constructs the restriction of |d| to the subset of the vertices flagged by |c|. Definition at line 83 of file dynkin.cpp. References atlas::bitset::BitSet< n >::begin(), atlas::bitset::BitSet< n >::count(), d_label, d_star, atlas::dynkin::Edge, atlas::bitset::BitSet< n >::position(), atlas::bitset::RankFlags, atlas::bitset::BitSet< n >::slice(), star(), and atlas::bitset::BitSet< n >::test(). |
|
|
|
|
||||||||||||
|
Definition at line 117 of file dynkin.cpp. References d_label, atlas::dynkin::Edge, and star(). |
|
|
Returns the component of vertex #j in the diagram. The algorithm is to start with j, and to construct "shells" from there, by taking each new shell to be the elements of the union of the stars of the old shell, that were not already considered. Definition at line 135 of file dynkin.cpp. References atlas::bitset::BitSet< n >::andnot(), atlas::bitset::BitSet< n >::any(), d_star, RankFlags, and atlas::bitset::RankFlags. Referenced by atlas::interpreter::check_involution(), atlas::dynkin::components(), and atlas::cartanclass::CartanClass::makeSimpleComplex(). |
|
||||||||||||
|
Definition at line 111 of file dynkin.h. References atlas::dynkin::Multiplicity. |
|
|
Synopsis : returns the subset of the vertices which are extremities of the graph (i.e. whose star has zero or one element). Definition at line 151 of file dynkin.cpp. References d_star, RankFlags, atlas::bitset::RankFlags, and atlas::bitset::BitSet< n >::set(). Referenced by atlas::irreducibleType(), atlas::typeANormalize(), atlas::typeDNormalize(), and atlas::typeENormalize(). |
|
|
|
|
|
|
|
|
|
|
|
Synopsis : returns the multiple edge of d. Precondition : d is irreducible and not simply laced; NOTE : if d is not simply laced but not irreducible, will return the first multiple edge of d. There is guaranteed to be only one if d is irreducible. Definition at line 170 of file dynkin.cpp. References d_label, and atlas::dynkin::Edge. Referenced by atlas::irreducibleType(), atlas::typeBNormalize(), atlas::typeCNormalize(), atlas::typeFNormalize(), and atlas::typeGNormalize(). |
|
|
Synopsis : returns the largest multiplicity in the graph. NOTE : we return 1 when there are no labelled edges, even when there are no edges at all! Definition at line 187 of file dynkin.cpp. References d_label, and atlas::dynkin::Multiplicity. Referenced by atlas::irreducibleType(). |
|
|
Synopsis : returns the node of the graph. Precondition : the graph is irreducible, of type D or E; NOTE : behaviour is undefined if the graph does not have a node (the return value is -1 in this case). If the graph has more than one node, it will return the first of them. Definition at line 212 of file dynkin.cpp. References d_star. Referenced by atlas::irreducibleType(), atlas::typeDNormalize(), and atlas::typeENormalize(). |
|
|
|
Definition at line 136 of file dynkin.h. References atlas::bitset::RankFlags. |
|
|
Definition at line 132 of file dynkin.h. Referenced by cartanEntry(), DynkinDiagram(), atlas::irreducibleType(), atlas::typeANormalize(), atlas::typeBNormalize(), atlas::typeCNormalize(), atlas::typeDNormalize(), atlas::typeENormalize(), and atlas::typeFNormalize(). |
|
|
Map from certain pairs of vertices (multiple edges of the Dynkin diagram) to unsigned integers (their multiplicities). Definition at line 91 of file dynkin.h. Referenced by cartanEntry(), DynkinDiagram(), labelEdge(), and maxMultiplicity(). |
|
|
Adjacency relations: d_star[i].test(j) tells whether i and j are neighbors Definition at line 85 of file dynkin.h. Referenced by component(), DynkinDiagram(), extremities(), and node(). |
1.3.9.1