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

Algebraic topological model computation: Algorithm 3, using the SNF; version for an arbitrary commutative ring of coefficients. More...

#include <istream>
#include <ostream>
#include "chomp/system/config.h"
#include "chomp/system/textfile.h"
#include "chomp/system/timeused.h"
#include "chomp/struct/hashsets.h"
#include "chomp/struct/multitab.h"
#include "chomp/struct/integer.h"
#include "chomp/homology/chains.h"
#include "chaincon/chain.h"
#include "chaincon/linmap.h"

Go to the source code of this file.

Classes

class  integerFriend
 A friend of the 'integer' class (from the CHomP package) that converts 'integer' objects to numbers of type 'int'. More...
 

Macros

#define _product_is_identity_
 

Functions

bool product_is_identity (const chomp::homology::mmatrix< chomp::homology::integer > &A, const chomp::homology::mmatrix< chomp::homology::integer > &G)
 Verifies if the product of the given two matrices is an identity matrix. More...
 
int integer2int (const chomp::homology::integer &e)
 Translation of CHomP's 'integer' to an 'int' number. More...
 
template<class CellT , class CoefT , class CellArray1 , class CellArray2 , class CellRestrT >
void algTopModel3 (const CellArray1 &K, CellArray2 &H, tLinMap< CellT, CellT, CoefT > &pi, tLinMap< CellT, CellT, CoefT > &incl, tLinMap< CellT, CellT, CoefT > &phi, const CellRestrT &restr)
 Computes an algebraic topological model for the given filtered finite cell complex "K". More...
 

Detailed Description

Algebraic topological model computation: Algorithm 3, using the SNF; version for an arbitrary commutative ring of coefficients.

Definition in file atmodel3r.h.

Macro Definition Documentation

◆ _product_is_identity_

#define _product_is_identity_

Definition at line 56 of file atmodel3r.h.

Function Documentation

◆ algTopModel3()

template<class CellT , class CoefT , class CellArray1 , class CellArray2 , class CellRestrT >
void algTopModel3 ( const CellArray1 &  K,
CellArray2 &  H,
tLinMap< CellT, CellT, CoefT > &  pi,
tLinMap< CellT, CellT, CoefT > &  incl,
tLinMap< CellT, CellT, CoefT > &  phi,
const CellRestrT &  restr 
)

Computes an algebraic topological model for the given filtered finite cell complex "K".

Cells that represent homology generators are appended to the vector "H". The projection map "pi", the inclusion from "H" to the complex "K", and the homology gradient vector field "phi" are assumed to be initially zero and are constructed. Note: This procedure is not well tested in case of Z_p with p != 2.

Definition at line 125 of file atmodel3r.h.

References integer2int(), and product_is_identity().

◆ integer2int()

int integer2int ( const chomp::homology::integer &  e)
inline

Translation of CHomP's 'integer' to an 'int' number.

This is an ugly function that uses an object of a friend class in order to peek into the internals of the 'integer' object.

Definition at line 111 of file atmodel3r.h.

References integerFriend::integerFriend().

Referenced by algTopModel3().

◆ product_is_identity()

bool product_is_identity ( const chomp::homology::mmatrix< chomp::homology::integer > &  A,
const chomp::homology::mmatrix< chomp::homology::integer > &  G 
)
inline

Verifies if the product of the given two matrices is an identity matrix.

For each column C of A, computes G(C) and checks this chain.

Definition at line 60 of file atmodel3r.h.

Referenced by algTopModel3().