![]() |
Mackey
V3.1
A C++ library for computing RO(G) graded homology
|
Factorizes generators into the given basic irreducibles and sources. More...
#include <Factorization.hpp>
Public Member Functions | |
std::vector< std::string > | getname (const std::vector< int > &) const |
Retrieve the factorization of all elements in a given degree. More... | |
std::string | getname (size_t) const |
Retrieve the factorization of the i-th element. More... | |
Factorization (int, const std::vector< int > &, const std::vector< int > &, const std::vector< std::vector< int >> &, const std::vector< std::string > &) | |
Form the multiplication table and graph given the max and min spheres and the basic irreducibles. More... | |
void | compute_with_sources (const std::vector< std::vector< int >> &, const std::vector< std::string > &) |
Compute the factorizations using the given sources for the multiplication graph and their given names. More... | |
Factorization (Mult_Table< group_t > &M, const std::vector< std::string > &basicIrr_names) | |
Constructor given the multiplication table. More... | |
![]() | |
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... | |
Public Attributes | |
const std::vector< std::string > | basicIrr_names |
The names of the basic irreducibles. More... | |
minimize_color_alteration_and_length< graph_t > | shortest_paths |
The paths from sources to all nodes that minimize multiplication/division alteration and overall length. More... | |
![]() | |
int | number_of_generators |
The number of generators in the multiplication graph. More... | |
graph_t | graph |
Additional Inherited Members | |
![]() | |
typedef Graph< Neighborhood< size_t, bicolored_edge_with_id, std::vector > > | graph_t |
![]() | |
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... | |
Factorizes generators into the given basic irreducibles and sources.
Factorization | ( | int | , |
const std::vector< int > & | , | ||
const std::vector< int > & | , | ||
const std::vector< std::vector< int >> & | , | ||
const std::vector< std::string > & | |||
) |
Form the multiplication table and graph given the max and min spheres and the basic irreducibles.
Factorization | ( | Mult_Table< group_t > & | M, |
const std::vector< std::string > & | basicIrr_names | ||
) |
Constructor given the multiplication table.
std::vector<std::string> getname | ( | const std::vector< int > & | ) | const |
Retrieve the factorization of all elements in a given degree.
std::string getname | ( | size_t | ) | const |
Retrieve the factorization of the i-th element.
void compute_with_sources | ( | const std::vector< std::vector< int >> & | , |
const std::vector< std::string > & | |||
) |
Compute the factorizations using the given sources for the multiplication graph and their given names.
const std::vector<std::string> basicIrr_names |
The names of the basic irreducibles.
minimize_color_alteration_and_length<graph_t> shortest_paths |
The paths from sources to all nodes that minimize multiplication/division alteration and overall length.