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

A combinatorial linear map (for coefficients in Z_2). More...

#include <istream>
#include <ostream>
#include "chomp/system/config.h"
#include "chomp/struct/hashsets.h"
#include "chomp/struct/multitab.h"
#include "chaincon/combchain.h"
#include "chaincon/combtensor.h"
#include "chaincon/ringz2.h"

Go to the source code of this file.

Classes

class  tCombLinMap< CellDomT, CellImgT >
 A combinatorial linear map. More...
 

Functions

template<class CellDomT , class CellImgT >
std::ostream & operator<< (std::ostream &out, const tCombLinMap< CellDomT, CellImgT > &f)
 Writes a combinatorial linear map to an output stream in the text mode. More...
 
template<class CellDomT , class CellImgT >
std::istream & operator>> (std::istream &in, tCombLinMap< CellDomT, CellImgT > &f)
 Reads a combinatorial linear map from an input stream. More...
 
template<class CellArray , class CellT >
void addIdentity (const CellArray &domain, tCombLinMap< CellT, CellT > &f)
 Adds the identity map on the given domain to the map 'f'. More...
 
template<class CellArray , class CellT >
tCombLinMap< CellT, CellT > identity (const CellArray &domain)
 Returns the identity map on the given domain. More...
 
template<class CellXT , class CellYT , class CellZT >
tCombLinMap< CellXT, CellZT > operator* (const tCombLinMap< CellYT, CellZT > &f, const tCombLinMap< CellXT, CellYT > &g)
 Computes the composition of the two given maps. More...
 

Detailed Description

A combinatorial linear map (for coefficients in Z_2).

Definition in file comblinmap.h.

Function Documentation

◆ addIdentity()

template<class CellArray , class CellT >
void addIdentity ( const CellArray &  domain,
tCombLinMap< CellT, CellT > &  f 
)
inline

Adds the identity map on the given domain to the map 'f'.

Definition at line 416 of file comblinmap.h.

References tCombLinMap< CellDomT, CellImgT >::add(), and tCombLinMap< CellDomT, CellImgT >::size().

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

◆ identity()

template<class CellArray , class CellT >
tCombLinMap<CellT,CellT> identity ( const CellArray &  domain)
inline

Returns the identity map on the given domain.

Definition at line 430 of file comblinmap.h.

References addIdentity().

Referenced by tMatrixSNF< CoefT >::computeSNF().

◆ operator*()

template<class CellXT , class CellYT , class CellZT >
tCombLinMap<CellXT,CellZT> operator* ( const tCombLinMap< CellYT, CellZT > &  f,
const tCombLinMap< CellXT, CellYT > &  g 
)
inline

Computes the composition of the two given maps.

More precisely, for each x in the domain of g, the new map on x is defined as f(g(x)).

Definition at line 442 of file comblinmap.h.

References tCombLinMap< CellDomT, CellImgT >::add(), and tCombLinMap< CellDomT, CellImgT >::size().

◆ operator<<()

template<class CellDomT , class CellImgT >
std::ostream& operator<< ( std::ostream &  out,
const tCombLinMap< CellDomT, CellImgT > &  f 
)
inline

Writes a combinatorial linear map to an output stream in the text mode.

Definition at line 384 of file comblinmap.h.

References tCombLinMap< CellDomT, CellImgT >::size().

◆ operator>>()

template<class CellDomT , class CellImgT >
std::istream& operator>> ( std::istream &  in,
tCombLinMap< CellDomT, CellImgT > &  f 
)
inline

Reads a combinatorial linear map from an input stream.

Definition at line 405 of file comblinmap.h.