The ChainCon Software (Release 0.03)
Classes | Functions
boundary.h File Reference

Boundary computation at the level of chains of cells. More...

#include <vector>
#include "chaincon/combchain.h"
#include "chaincon/chain.h"
#include "chaincon/combtensor.h"
#include "chaincon/tensor.h"
#include "chaincon/comblinmap.h"
#include "chaincon/linmap.h"
#include "chaincon/filtcomplex.h"
#include "chomp/system/config.h"
#include "chomp/struct/multitab.h"

Go to the source code of this file.

Classes

class  Unrestricted
 A template of a simple class for unrestricted cell selection in the boundary computation procedures. More...
 
class  NegateRestr< CellRestrT >
 A template of a simple class for negating the cell restriction given by another object for the boundary computation procedures. More...
 

Functions

template<class CellT , class CellRestrT >
void computeBoundary (const CellT &c, tCombChain< CellT > &b, const CellRestrT &restr)
 Adds the boundary of a given cell to the provided chain (takes boundary cells restricted by the given object, preferably of the type hashedset<CellT>). More...
 
template<class CellT , class CellRestrT >
void computeBoundary (const tCombChain< CellT > &c, tCombChain< CellT > &b, const CellRestrT &restr)
 Adds the boundary of a given chain to the provided chain (takes boundary cells restricted by the given object, preferably of the type hashedset<CellT>). More...
 
template<class CellT , class CellRestrT >
tCombChain< CellT > boundary (const tCombChain< CellT > &c, const CellRestrT &restr)
 Returns the boundary of a given chain (takes boundary cells restricted by the given object, preferably of the type hashedset<CellT>). More...
 
template<class CellT , class CoefT , class CellRestrT >
void computeBoundary (const CellT &c, tChain< CellT, CoefT > &b, const CoefT &coef, const CellRestrT &restr)
 Adds the boundary of a given cell to the provided chain with the given coefficient (takes boundary cells restricted by the given object, preferably of the type hashedset<CellT>). More...
 
template<class CellT , class CoefT , class CellRestrT >
void computeBoundary (const tChain< CellT, CoefT > &c, tChain< CellT, CoefT > &b, const CellRestrT &restr)
 Adds the boundary of a given chain to the provided chain (takes boundary cells restricted by the given object, preferably of the type hashedset<CellT>). More...
 
template<class CellT , class CoefT , class CellRestrT >
tChain< CellT, CoefT > boundary (const tChain< CellT, CoefT > &c, const CellRestrT &restr)
 Returns the boundary of a given chain (takes boundary cells restricted by the given object, preferably of the type hashedset<CellT>). More...
 
template<class Cell1T , class Cell2T , class CellRestrT >
void computeBoundary (const tCombTensor< Cell1T, Cell2T > &c, tCombTensor< Cell1T, Cell2T > &b, const CellRestrT &restr)
 Adds the boundary of a given tensor to the provided tensor. More...
 
template<class Cell1T , class Cell2T , class CellRestrT >
tCombTensor< Cell1T, Cell2T > boundary (const tCombTensor< Cell1T, Cell2T > &c, const CellRestrT &restr)
 Returns the boundary of a given tensor. More...
 
template<class Cell1T , class Cell2T , class CoefT , class CellRestrT >
void computeBoundary (const tTensor< Cell1T, Cell2T, CoefT > &c, tTensor< Cell1T, Cell2T, CoefT > &b, const CellRestrT &restr)
 Adds the boundary of a given tensor to the provided tensor. More...
 
template<class Cell1T , class Cell2T , class CoefT , class CellRestrT >
tTensor< Cell1T, Cell2T, CoefT > boundary (const tTensor< Cell1T, Cell2T, CoefT > &c, const CellRestrT &restr)
 Returns the boundary of a given tensor. More...
 
template<class CellArray , class CellT , class CellRestrT >
void computeBoundaryMap (const CellArray &cells, tCombLinMap< CellT, CellT > &f, const CellRestrT &restr)
 Computes the full boundary map for a cellular complex that contains the cells in a provided set and all their boundary cells. More...
 
template<class CellArray , class CellT , class CoefT , class CellRestrT >
void computeBoundaryMap (const CellArray &cells, tLinMap< CellT, CellT, CoefT > &f, const CellRestrT &restr)
 Computes the full boundary map for a cellular complex that contains the cells in a provided set and all their boundary cells. More...
 
template<class CellT , class CellRestrT >
void addBoundaries (tFilteredComplex< CellT > &K, const CellRestrT &restr)
 Adds boundaries to all the cells in the given filtered complex. More...
 

Detailed Description

Boundary computation at the level of chains of cells.

Definition in file boundary.h.

Function Documentation

◆ addBoundaries()

template<class CellT , class CellRestrT >
void addBoundaries ( tFilteredComplex< CellT > &  K,
const CellRestrT &  restr 
)
inline

Adds boundaries to all the cells in the given filtered complex.

Definition at line 459 of file boundary.h.

References NegateRestr< CellRestrT >::check().

Referenced by computeSteenrodSquares(), and readFilteredComplexes().

◆ boundary() [1/4]

template<class CellT , class CellRestrT >
tCombChain<CellT> boundary ( const tCombChain< CellT > &  c,
const CellRestrT &  restr 
)
inline

Returns the boundary of a given chain (takes boundary cells restricted by the given object, preferably of the type hashedset<CellT>).

Definition at line 156 of file boundary.h.

References computeBoundary().

Referenced by algTopModel0(), algTopModel1(), algTopModel2(), computeBoundary(), experiment(), and tAlgCell< IdT, DimT, CoefT >::setBoundary().

◆ boundary() [2/4]

template<class CellT , class CoefT , class CellRestrT >
tChain<CellT,CoefT> boundary ( const tChain< CellT, CoefT > &  c,
const CellRestrT &  restr 
)
inline

Returns the boundary of a given chain (takes boundary cells restricted by the given object, preferably of the type hashedset<CellT>).

Definition at line 220 of file boundary.h.

References computeBoundary().

◆ boundary() [3/4]

template<class Cell1T , class Cell2T , class CellRestrT >
tCombTensor<Cell1T,Cell2T> boundary ( const tCombTensor< Cell1T, Cell2T > &  c,
const CellRestrT &  restr 
)
inline

Returns the boundary of a given tensor.

Definition at line 265 of file boundary.h.

References computeBoundary().

◆ boundary() [4/4]

template<class Cell1T , class Cell2T , class CoefT , class CellRestrT >
tTensor<Cell1T,Cell2T,CoefT> boundary ( const tTensor< Cell1T, Cell2T, CoefT > &  c,
const CellRestrT &  restr 
)
inline

Returns the boundary of a given tensor.

Definition at line 302 of file boundary.h.

References computeBoundary().

◆ computeBoundary() [1/6]

template<class CellT , class CellRestrT >
void computeBoundary ( const CellT &  c,
tCombChain< CellT > &  b,
const CellRestrT &  restr 
)
inline

Adds the boundary of a given cell to the provided chain (takes boundary cells restricted by the given object, preferably of the type hashedset<CellT>).

Definition at line 118 of file boundary.h.

References NegateRestr< CellRestrT >::check().

Referenced by boundary(), computeAWdiagonal2d(), computeBoundary(), and experiment().

◆ computeBoundary() [2/6]

template<class CellT , class CellRestrT >
void computeBoundary ( const tCombChain< CellT > &  c,
tCombChain< CellT > &  b,
const CellRestrT &  restr 
)
inline

Adds the boundary of a given chain to the provided chain (takes boundary cells restricted by the given object, preferably of the type hashedset<CellT>).

Definition at line 144 of file boundary.h.

References computeBoundary().

◆ computeBoundary() [3/6]

template<class CellT , class CoefT , class CellRestrT >
void computeBoundary ( const CellT &  c,
tChain< CellT, CoefT > &  b,
const CoefT &  coef,
const CellRestrT &  restr 
)
inline

Adds the boundary of a given cell to the provided chain with the given coefficient (takes boundary cells restricted by the given object, preferably of the type hashedset<CellT>).

Definition at line 178 of file boundary.h.

References NegateRestr< CellRestrT >::check().

◆ computeBoundary() [4/6]

template<class CellT , class CoefT , class CellRestrT >
void computeBoundary ( const tChain< CellT, CoefT > &  c,
tChain< CellT, CoefT > &  b,
const CellRestrT &  restr 
)
inline

Adds the boundary of a given chain to the provided chain (takes boundary cells restricted by the given object, preferably of the type hashedset<CellT>).

Definition at line 208 of file boundary.h.

References computeBoundary().

◆ computeBoundary() [5/6]

template<class Cell1T , class Cell2T , class CellRestrT >
void computeBoundary ( const tCombTensor< Cell1T, Cell2T > &  c,
tCombTensor< Cell1T, Cell2T > &  b,
const CellRestrT &  restr 
)
inline

Adds the boundary of a given tensor to the provided tensor.

Definition at line 247 of file boundary.h.

References boundary(), and computeBoundary().

◆ computeBoundary() [6/6]

template<class Cell1T , class Cell2T , class CoefT , class CellRestrT >
void computeBoundary ( const tTensor< Cell1T, Cell2T, CoefT > &  c,
tTensor< Cell1T, Cell2T, CoefT > &  b,
const CellRestrT &  restr 
)
inline

Adds the boundary of a given tensor to the provided tensor.

Definition at line 284 of file boundary.h.

References boundary(), and computeBoundary().

◆ computeBoundaryMap() [1/2]

template<class CellArray , class CellT , class CellRestrT >
void computeBoundaryMap ( const CellArray &  cells,
tCombLinMap< CellT, CellT > &  f,
const CellRestrT &  restr 
)
inline

Computes the full boundary map for a cellular complex that contains the cells in a provided set and all their boundary cells.

The map is assumed to be initially zero.

Definition at line 323 of file boundary.h.

References NegateRestr< CellRestrT >::check().

Referenced by computeAlgMinModel(), and computeAlgTopModel().

◆ computeBoundaryMap() [2/2]

template<class CellArray , class CellT , class CoefT , class CellRestrT >
void computeBoundaryMap ( const CellArray &  cells,
tLinMap< CellT, CellT, CoefT > &  f,
const CellRestrT &  restr 
)
inline

Computes the full boundary map for a cellular complex that contains the cells in a provided set and all their boundary cells.

The map is assumed to be initially zero.

Definition at line 392 of file boundary.h.

References NegateRestr< CellRestrT >::check().