Mackey  V3.1
A C++ library for computing RO(G) graded homology
Mult_Table< group_t > Class Template Reference

The Multiplication Table. More...

#include <Mult_Table.hpp>

Inheritance diagram for Mult_Table< group_t >:
[legend]

Public Member Functions

 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...
 

Protected Member Functions

std::vector< int > getsphere (const std::vector< int > &deg)
 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

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...
 

Friends

template<typename Archive , typename s_group_t >
void save (Archive &, const Mult_Table< s_group_t > &)
 Save Archive (cereal) More...
 
template<typename Archive , typename s_group_t >
void load (Archive &, Mult_Table< s_group_t > &)
 Load Archive (cereal) More...
 

Detailed Description

template<typename group_t>
class Mackey::Mult_Table< group_t >

The Multiplication Table.

Constructor & Destructor Documentation

◆ Mult_Table() [1/2]

Mult_Table ( )
default

Default constructor.

◆ Mult_Table() [2/2]

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.

Member Function Documentation

◆ getdegreeindex()

int getdegreeindex ( const std::vector< int > &  ) const

Retrieve the degree index of the given degree. Returns -1 if no such degree can be found.

◆ getsphere()

std::vector<int> getsphere ( const std::vector< int > &  deg)
inlineprotected

Isolate sphere from the degree vector (i.e. get everything but first entry)

◆ triple_product()

Green<group_t> triple_product ( int  ,
int  ,
int   
)
protected

Multiplies the given index with two basic irreducibles. Only used by Mult_Graph_Identify when all other identification techniques fail.

Friends And Related Function Documentation

◆ save

void save ( Archive &  ,
const Mult_Table< s_group_t > &   
)
friend

Save Archive (cereal)

◆ load

void load ( Archive &  ,
Mult_Table< s_group_t > &   
)
friend

Load Archive (cereal)

Member Data Documentation

◆ level

int level
protected

The Mackey functor level we are working in.

◆ NonZeroHomology

std::map<std::vector<int>, IDGenerators<rank_t> > NonZeroHomology
protected

◆ degree

std::vector<std::vector<int> > degree
protected

Maps each index of NonZeroHomology to the corresponding degree.

◆ antidegree

std::map<std::vector<int>, int> antidegree
protected

Maps each degree to the corresponding index of NonZeroHomology.

◆ index_product

Eigen::Matrix<int, -1, -1> index_product
protected

Maps each index and irreducible to the index of their product.

◆ minsphere

std::vector<int> minsphere
protected

The lower bound on the range of our spheres.

◆ maxsphere

std::vector<int> maxsphere
protected

The upper bound on the range of our spheres.

◆ basicIrreducibles

std::vector<std::vector<int> > basicIrreducibles
protected

The basic irreducibles we use to produce the factorizations (eg Euler and orientation classes)

◆ Greens

std::vector<std::vector<Green<group_t> > > Greens
protected

Each entry in the multiplication table.

◆ tripleGreens

std::map<std::array<int, 3>, Green<group_t> > tripleGreens
protected

The tripleGreens set and used by Mult_Graph_Identify when all other identification techniques fail.


The documentation for this class was generated from the following file: