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

The Homology of a Junction. More...

#include <Homology.hpp>

Collaboration diagram for Homology< rank_t, diff_t >:
[legend]

Public Types

typedef diff_t_C Gens_t
 The type of our matrix of generators. More...
 
typedef col_vector_t< diff_t_C > gen_t
 The dense type of our generators (a column in the generator matrix, always dense for convenience) More...
 

Public Member Functions

 Homology ()=default
 Default constructor. More...
 
 Homology (const Junction< rank_t, diff_t > &J, bool getQ=0)
 
rank_t basis (const gen_t &) const
 Given an element in homology, write it as a linear combination of the generators of the homology. More...
 
gen_t boundary (const gen_t &) const
 Given an x that is a boundary returns a y s.t. dy=x. More...
 

Public Attributes

AbelianGroup< rank_t > Groups
 Encodes the homology groups as follows: Groups=[1,2,3] means homology Z+Z/2+Z/3. This works even for Z/n coefficients: the free module (Z/n)^, is encoded as [n,n,...,n]. More...
 
Gens_t Generators
 Encodes the generators homology groups as follows: The i-th column corresponds to the generator for Groups[i]. More...
 
bool isZero
 1 if the homology is trivial More...
 

Friends

template<typename Archive , typename srank_t , typename sdiff_t >
void serialize (Archive &, Homology< srank_t, sdiff_t > &)
 

Detailed Description

template<typename rank_t, typename diff_t>
class Mackey::Homology< rank_t, diff_t >

The Homology of a Junction.

Template Parameters
rank_tThe rank type is a dense Eigen row vector of signed integer scalar eg Eigen::Matrix<int,1,-1>. It stores the ranks of the modules of the differentials Eg in the G equivariant case \([1,2,4]\) means \(Z[G/G}\oplus Z[G/G']\oplus Z[G/G'']\) where \(|G:G'|=2, |G/G''|=4\) (current implementation only for prime power cyclic groups)
diff_tThe different

Member Typedef Documentation

◆ Gens_t

typedef diff_t_C Gens_t

The type of our matrix of generators.

◆ gen_t

typedef col_vector_t<diff_t_C> gen_t

The dense type of our generators (a column in the generator matrix, always dense for convenience)

Constructor & Destructor Documentation

◆ Homology() [1/2]

Homology ( )
default

Default constructor.

◆ Homology() [2/2]

Homology ( const Junction< rank_t, diff_t > &  J,
bool  getQ = 0 
)

Compute the homology of Junction from the given Junction

Parameters
JThe given Junction
getQWhether we want to store the Q matrix; this is used by the boundary function

Member Function Documentation

◆ basis()

rank_t basis ( const gen_t ) const

Given an element in homology, write it as a linear combination of the generators of the homology.

The answer is encoded as follows: basis=[-1,0,3] means element=-gen[0]+3*gen[2]

◆ boundary()

gen_t boundary ( const gen_t ) const

Given an x that is a boundary returns a y s.t. dy=x.

Friends And Related Function Documentation

◆ serialize

void serialize ( Archive &  ,
Homology< srank_t, sdiff_t > &   
)
friend

Member Data Documentation

◆ Groups

AbelianGroup<rank_t> Groups

Encodes the homology groups as follows: Groups=[1,2,3] means homology Z+Z/2+Z/3. This works even for Z/n coefficients: the free module (Z/n)^, is encoded as [n,n,...,n].

◆ Generators

Gens_t Generators

Encodes the generators homology groups as follows: The i-th column corresponds to the generator for Groups[i].

◆ isZero

bool isZero

1 if the homology is trivial


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