Provides extra identification methods using triple box products.
More...
#include <Mult_Graph_Identify.hpp>
|
void | pass_product (const std::vector< int > &, bool) |
| Uses triple box products to possibly identify the products of given generators if identification failed before on them. More...
|
|
void | pass_division (const std::vector< int > &, bool) |
| Uses triple box products to possibly identify the products landing in degrees of given generators if identification failed before on them. More...
|
|
void | pass_all_unidentified (bool) |
| Uses triple box products to possibly identify ALL instances where identification failed before. Use with care. More...
|
|
| Mult_Graph_Identify (Mult_Table< group_t > &M) |
| Uses the Multiplication Graph constructor. More...
|
|
| Mult_Graph_Identify (int level, const std::vector< int > &minsphere, const std::vector< int > &maxsphere, const std::vector< std::vector< int >> &basicIrreducibles) |
| Uses the Multiplication Graph constructor. 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...
|
|
|
bool | can_do_more |
| 1 if there are more triple products that can be computed for the disconnected generators 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...
|
|
|
typedef Graph< Neighborhood< size_t, bicolored_edge_with_id, std::vector > > | graph_t |
|
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...
|
|
int | number_of_generators |
| The number of generators in the multiplication graph. More...
|
|
graph_t | graph |
|
template<typename group_t>
class Mackey::Mult_Graph_Identify< group_t >
Provides extra identification methods using triple box products.
◆ Mult_Graph_Identify() [1/2]
Uses the Multiplication Graph constructor.
◆ Mult_Graph_Identify() [2/2]
Mult_Graph_Identify |
( |
int |
level, |
|
|
const std::vector< int > & |
minsphere, |
|
|
const std::vector< int > & |
maxsphere, |
|
|
const std::vector< std::vector< int >> & |
basicIrreducibles |
|
) |
| |
|
protected |
Uses the Multiplication Graph constructor.
◆ pass_product()
void pass_product |
( |
const std::vector< int > & |
, |
|
|
bool |
|
|
) |
| |
|
protected |
Uses triple box products to possibly identify the products of given generators if identification failed before on them.
◆ pass_division()
void pass_division |
( |
const std::vector< int > & |
, |
|
|
bool |
|
|
) |
| |
|
protected |
Uses triple box products to possibly identify the products landing in degrees of given generators if identification failed before on them.
◆ pass_all_unidentified()
void pass_all_unidentified |
( |
bool |
| ) |
|
|
protected |
Uses triple box products to possibly identify ALL instances where identification failed before. Use with care.
◆ can_do_more
1 if there are more triple products that can be computed for the disconnected generators
The documentation for this class was generated from the following file: