![]() |
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... | |
Public Member Functions inherited from MultGraph< group_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... | |
Public Member Functions inherited from Mult_Table< group_t > | |
| 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... | |
Public Attributes inherited from MultGraph< group_t > | |
| int | number_of_generators |
| The number of generators in the multiplication graph. More... | |
| graph_t | graph |
Additional Inherited Members | |
Public Types inherited from MultGraph< group_t > | |
| typedef Graph< Neighborhood< size_t, bicolored_edge_with_id, std::vector > > | graph_t |
Protected Member Functions inherited from Mult_Graph_Identify< group_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... | |
Protected Member Functions inherited from MultGraph< group_t > | |
| 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... | |
Protected Member Functions inherited from Mult_Table< group_t > | |
| 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... | |
Protected Attributes inherited from Mult_Graph_Identify< group_t > | |
| bool | can_do_more |
| 1 if there are more triple products that can be computed for the disconnected generators More... | |
Protected Attributes inherited from MultGraph< group_t > | |
| 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... | |
Protected Attributes inherited from Mult_Table< group_t > | |
| 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.