|
std::vector< int > | getdegree (int i) const |
| Retrieve the degree of the i-th generator. More...
|
|
Eigen::Matrix< int, 1, -1 > | getelement (int i) const |
| Retrieve the element the i-th generator corresponds to. More...
|
|
int | getelementindex (const std::vector< int > °, const rank_t &elmnt) const |
| Retrieve the element index of the given degree and element. Returns -1 if no such degree can be found. More...
|
|
| Mult_Table ()=default |
| Default constructor. More...
|
|
| Mult_Table (int, const std::vector< int > &, const std::vector< int > &, const std::vector< std::vector< int >> &) |
| Constructs the multiplication table given the maximum and minimum spheres and the basic irreducibles. More...
|
|
int | getdegreeindex (const std::vector< int > &) const |
| Retrieve the degree index of the given degree. Returns -1 if no such degree can be found. More...
|
|
|
| MultGraph (int, const std::vector< int > &, const std::vector< int > &, const std::vector< std::vector< int >> &) |
| Constructs the multiplication graph given the maximum and minimum spheres and the basic irreducibles. More...
|
|
int | isMultiple (int i, int j) const |
| Returns k if element[i]=k*element[j]. Returns 0 if element[a] is not a multiple of element[b]. More...
|
|
| MultGraph (Mult_Table< group_t > &) |
| Constructs the multiplication graph given the multiplication table. More...
|
|
std::vector< int > | getsphere (const std::vector< int > °) |
| Isolate sphere from the degree vector (i.e. get everything but first entry) More...
|
|
Green< group_t > | triple_product (int, int, int) |
| Multiplies the given index with two basic irreducibles. Only used by Mult_Graph_Identify when all other identification techniques fail. More...
|
|
|
std::vector< rank_t > | element |
| An element (linear combination of generators) in each NonZeroHomology group of the table. More...
|
|
std::vector< int > | tracker |
| Maps element index to degree index. More...
|
|
std::map< std::pair< int, rank_t >, int, implementation_details::compareElements > | antielement |
| Maps (degree_index, element)->element_index. The comparator first compares the degree_index and if equal then compares the elements first to last entry. More...
|
|
int | level |
| The Mackey functor level we are working in. More...
|
|
std::map< std::vector< int >, IDGenerators< rank_t > > | NonZeroHomology |
|
std::vector< std::vector< int > > | degree |
| Maps each index of NonZeroHomology to the corresponding degree. More...
|
|
std::map< std::vector< int >, int > | antidegree |
| Maps each degree to the corresponding index of NonZeroHomology. More...
|
|
Eigen::Matrix< int, -1, -1 > | index_product |
| Maps each index and irreducible to the index of their product. More...
|
|
std::vector< int > | minsphere |
| The lower bound on the range of our spheres. More...
|
|
std::vector< int > | maxsphere |
| The upper bound on the range of our spheres. More...
|
|
std::vector< std::vector< int > > | basicIrreducibles |
| The basic irreducibles we use to produce the factorizations (eg Euler and orientation classes) More...
|
|
std::vector< std::vector< Green< group_t > > > | Greens |
| Each entry in the multiplication table. More...
|
|
std::map< std::array< int, 3 >, Green< group_t > > | tripleGreens |
| The tripleGreens set and used by Mult_Graph_Identify when all other identification techniques fail. More...
|
|
template<typename group_t>
class Mackey::MultGraph< group_t >
The Multiplication Graph created from the Multiplication Table.
A node is an element in a nonzero homology group, a linear combination of the generators. At initialization we only use generators, but as products of generators might not be generators, after that initial stage we add multiples and linear combinations into the mix. We have a new index for the elements, and use various vectors and ordered maps to keep track of the element index and the degree index.