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

An equivariant space with an equivariant cellular decomposition. User must inherit from this class to use it. They must also construct cells, and specialize the functions boundary and estimate_nonzero_entries. More...

#include <Space.hpp>

Classes

class  cell_coefficient_pair
 A pair of a cell (given by its index) and a coefficient. More...
 

Public Member Functions

const auto & getChains ()
 Returns const reference to the equivariant cellular chain complex of the space. More...
 
const auto & getCoChains ()
 Returns const reference to the equivariant cellular cochain complex of the space. More...
 
auto ROHomology (int level, const std::vector< int > &homologysphere)
 Returns \(H_{*+V}^{C_{2^n}}(X)\) where \(l\)=level and \(V\)=homologysphere are provided. More...
 
auto ROHomology (const std::vector< int > &homologysphere)
 Returns \(H_{*+V}(X)\) where \(V\)=homologysphere is provided. More...
 
auto ROCohomology (int level, const std::vector< int > &cohomologysphere)
 Returns \(H^{*+V}_{C_{2^n}}(X)\) where \(n\)=level and \(V\)=cohomologysphere are provided. More...
 
auto ROCohomology (const std::vector< int > &cohomologysphere)
 Returns \(H^{*+V}(X)\) where \(V\)=cohomologysphere is provided. More...
 

Protected Member Functions

auto boundary (int dimension_domain, int cell)
 The boundary map of a cell. Must be overriden in any child class! More...
 
long estimate_nonzero_entries (int dimension_domain)
 An estimate of the nonzero entries of the differential matrix at the given dimension. Must be overriden in any child class! More...
 

Protected Attributes

std::vector< rank_t > cells
 The equivariant cells in each dimension. Needs to be constructed in any child class! More...
 

Detailed Description

template<typename space_t, typename group_t>
class Mackey::Space< space_t, group_t >

An equivariant space with an equivariant cellular decomposition. User must inherit from this class to use it. They must also construct cells, and specialize the functions boundary and estimate_nonzero_entries.

Member Function Documentation

◆ getChains()

const auto& getChains ( )

Returns const reference to the equivariant cellular chain complex of the space.

◆ getCoChains()

const auto& getCoChains ( )

Returns const reference to the equivariant cellular cochain complex of the space.

◆ ROHomology() [1/2]

auto ROHomology ( int  level,
const std::vector< int > &  homologysphere 
)

Returns \(H_{*+V}^{C_{2^n}}(X)\) where \(l\)=level and \(V\)=homologysphere are provided.

◆ ROHomology() [2/2]

auto ROHomology ( const std::vector< int > &  homologysphere)

Returns \(H_{*+V}(X)\) where \(V\)=homologysphere is provided.

◆ ROCohomology() [1/2]

auto ROCohomology ( int  level,
const std::vector< int > &  cohomologysphere 
)

Returns \(H^{*+V}_{C_{2^n}}(X)\) where \(n\)=level and \(V\)=cohomologysphere are provided.

◆ ROCohomology() [2/2]

auto ROCohomology ( const std::vector< int > &  cohomologysphere)

Returns \(H^{*+V}(X)\) where \(V\)=cohomologysphere is provided.

◆ boundary()

auto boundary ( int  dimension_domain,
int  cell 
)
protected

The boundary map of a cell. Must be overriden in any child class!

The boundary of the j-th i-dimensional cell is the linear combination of i-1-dimensional cells.

Parameters
dimension_domainThe dimension of the domain cell
cellThe index of the domain cell in the equivariant decomposition.
Returns
Up to the specialization: It must be a class with a const iterator returning a cell_coefficient_pair (eg a vector of cell_coefficient pair)

◆ estimate_nonzero_entries()

long estimate_nonzero_entries ( int  dimension_domain)
protected

An estimate of the nonzero entries of the differential matrix at the given dimension. Must be overriden in any child class!

If no estimate is desired, just return -1 in any child class

Member Data Documentation

◆ cells

std::vector<rank_t> cells
protected

The equivariant cells in each dimension. Needs to be constructed in any child class!

Eg for \(G=C_4\), cell[1]= [2,4,1] means that the 1-dimensional cells form: \((C_4/C_2 \coprod C_4/e \coprod C_4/C_4)_+\wedge S^1\)


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