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

A Mackey Functor. More...

#include <MackeyFunctor.hpp>

Public Member Functions

std::string print () const
 Prints a Mackey functor ignoring the name. More...
 
void resize (int)
 Resize all member variables. More...
 
 MackeyFunctor ()=default
 Default constructor. More...
 
 MackeyFunctor (const rank_t &, int)
 When there is only one generator at each level we can use this convenient constructor
More...
 
bool operator== (const MackeyFunctor< rank_t > &) const
 Compares two Mackey and returns 1 if equal. More...
 
MackeyFunctor< rank_t > apply (const iso_t< rank_t > &, const iso_t< rank_t > &) const
 Applies given isomorphism to Mackey functor (the inverse of the isomorphism must also be provided) More...
 
std::pair< std::vector< iso_t< rank_t > >, std::vector< iso_t< rank_t > > > automorphisms () const
 Returns all automorphisms of a Mackey Functor and their inverses. More...
 
std::vector< MackeyFunctor< rank_t > > isomorphism_class () const
 Returns the isomorphism class of a Mackey Functor. More...
 
bool isomorphic (const std::vector< MackeyFunctor< rank_t >> &isoclass) const
 Returns 1 if the Mackey functor belongs to the provided isomorphism class. More...
 
bool isomorphic (const MackeyFunctor< rank_t > &)
 Returns 1 if the Mackey functors are isomorphic. More...
 
void notation ()
 Computes name for certain Mackey functors in our universal notation. More...
 

Public Attributes

std::vector< AbelianGroup< rank_t > > Groups
 The Groups starting at level 0 (see Homology for the labeling) More...
 
std::vector< dense_t< rank_t > > Tr
 The transfers from level i to level i+1. They are encoded as matrices because the levels may be noncyclic. More...
 
std::vector< dense_t< rank_t > > Res
 Same as transfers, but now using restrictions. More...
 
std::vector< dense_t< rank_t > > Weyl
 Same as transfers, but now using the Weyl group action. More...
 
std::string name
 The name of the Mackey functor. More...
 

Detailed Description

template<typename rank_t>
class Mackey::MackeyFunctor< rank_t >

A Mackey Functor.

Constructor & Destructor Documentation

◆ MackeyFunctor() [1/2]

MackeyFunctor ( )
default

Default constructor.

◆ MackeyFunctor() [2/2]

MackeyFunctor ( const rank_t &  ,
int   
)

When there is only one generator at each level we can use this convenient constructor

Member Function Documentation

◆ print()

std::string print ( ) const

Prints a Mackey functor ignoring the name.

◆ resize()

void resize ( int  )

Resize all member variables.

◆ operator==()

bool operator== ( const MackeyFunctor< rank_t > &  ) const

Compares two Mackey and returns 1 if equal.

◆ apply()

MackeyFunctor<rank_t> apply ( const iso_t< rank_t > &  ,
const iso_t< rank_t > &   
) const

Applies given isomorphism to Mackey functor (the inverse of the isomorphism must also be provided)

◆ automorphisms()

std::pair<std::vector<iso_t<rank_t> >, std::vector<iso_t<rank_t> > > automorphisms ( ) const

Returns all automorphisms of a Mackey Functor and their inverses.

◆ isomorphism_class()

std::vector<MackeyFunctor<rank_t> > isomorphism_class ( ) const

Returns the isomorphism class of a Mackey Functor.

◆ isomorphic() [1/2]

bool isomorphic ( const std::vector< MackeyFunctor< rank_t >> &  isoclass) const

Returns 1 if the Mackey functor belongs to the provided isomorphism class.

◆ isomorphic() [2/2]

bool isomorphic ( const MackeyFunctor< rank_t > &  )

Returns 1 if the Mackey functors are isomorphic.

◆ notation()

void notation ( )

Computes name for certain Mackey functors in our universal notation.

Eg 124 means groups Z, Z/2, Z/4 bottom to top, with transfers multiplication by 2 and restrictions multiplication by 1. Eg 112 #012 means groups Z, Z, Z/2 bottom to top, with transfers multiplication by 1 and restrictions multiplication by 2 (the sharp signifies restriction and transfer swap)

Member Data Documentation

◆ Groups

std::vector<AbelianGroup<rank_t> > Groups

The Groups starting at level 0 (see Homology for the labeling)

◆ Tr

std::vector<dense_t<rank_t> > Tr

The transfers from level i to level i+1. They are encoded as matrices because the levels may be noncyclic.

Example (C4): If Tr[0]=[2] and Tr[1]=[1,2;1,3] then Tr_0^2(gen)=2*gen and Tr_2^4(gen0)=gen0+gen1 and Tr_2^4(gen1)=2*gen0+3*gen1

◆ Res

std::vector<dense_t<rank_t> > Res

Same as transfers, but now using restrictions.

◆ Weyl

std::vector<dense_t<rank_t> > Weyl

Same as transfers, but now using the Weyl group action.

◆ name

std::string name

The name of the Mackey functor.


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