The ChainCon Software (Release 0.03)
Functions
homcohom.h File Reference

Computation of the (co)homology groups of an algebraic minimal model. More...

#include <ostream>
#include <string>
#include <sstream>
#include <vector>
#include "chomp/system/config.h"

Go to the source code of this file.

Functions

template<class CellT , class CoefT , class CellArray1 , class CellArray2 , class CellArray3 , class CoefArray >
void getHomCohom (const CellArray1 &H, const CellArray2 &A, const CellArray3 &B, const CoefArray &Q, std::vector< std::vector< CellT > > *representants, std::vector< int > *bettiNumbers, std::vector< std::vector< CoefT > > *torsion, bool cohomology)
 Computes Betti numbers and torsion coefficients for (co)homology from an algebraic minimal model (set "cohomology" to "false" for homology and to "true" for cohomology). More...
 
template<class CoefT >
std::string homcohom2text (int bettiNumber, const std::vector< CoefT > &torsion, bool torsion_subscript)
 Returns a text description of one (co)homology group. More...
 
template<class CoefT >
std::string homcohom2text (const std::vector< int > &bettiNumbers, const std::vector< std::vector< CoefT > > &torsion, const std::string &symbol, bool torsion_subscript)
 Returns a text description of all the homology groups of an algebraic minimal model. More...
 

Detailed Description

Computation of the (co)homology groups of an algebraic minimal model.

Definition in file homcohom.h.

Function Documentation

◆ getHomCohom()

template<class CellT , class CoefT , class CellArray1 , class CellArray2 , class CellArray3 , class CoefArray >
void getHomCohom ( const CellArray1 &  H,
const CellArray2 &  A,
const CellArray3 &  B,
const CoefArray &  Q,
std::vector< std::vector< CellT > > *  representants,
std::vector< int > *  bettiNumbers,
std::vector< std::vector< CoefT > > *  torsion,
bool  cohomology 
)

Computes Betti numbers and torsion coefficients for (co)homology from an algebraic minimal model (set "cohomology" to "false" for homology and to "true" for cohomology).

Saves representant cells (first for the free part, then for torsion) unless the pointer is NULL.

Definition at line 57 of file homcohom.h.

Referenced by computeAlgMinModel(), computeAlgTopModel(), computeCohomRing(), and computeSteenrodSquares().

◆ homcohom2text() [1/2]

template<class CoefT >
std::string homcohom2text ( int  bettiNumber,
const std::vector< CoefT > &  torsion,
bool  torsion_subscript 
)

Returns a text description of one (co)homology group.

Torsion coefficients can be either shown using subscripts after the ring symbol, e.g. Z_p, or as quotient rings, e.g. Z/pZ, depending on the option selected.

Definition at line 148 of file homcohom.h.

Referenced by computeAlgMinModel(), computeAlgTopModel(), and homcohom2text().

◆ homcohom2text() [2/2]

template<class CoefT >
std::string homcohom2text ( const std::vector< int > &  bettiNumbers,
const std::vector< std::vector< CoefT > > &  torsion,
const std::string &  symbol,
bool  torsion_subscript 
)

Returns a text description of all the homology groups of an algebraic minimal model.

Torsion coefficients can be either shown as subscript of the ring symbol, e.g. Z_p, or as a quotient, e.g. Z/pZ, depending on the option selected.

Definition at line 188 of file homcohom.h.

References homcohom2text().