Classes | Namespaces | Defines | Functions

chains.h File Reference

This file contains classes and functions related to algebraic chain complexes and chain maps, including homology computation. More...

#include "chomp/system/config.h"
#include "chomp/system/textfile.h"
#include <iostream>
#include <fstream>
#include <cstdlib>
#include <iomanip>

Go to the source code of this file.

Classes

class  chomp::homology::chain< euclidom >
 This class defines objects which represent chains as finite sequences of elements identified by integral numbers with coefficients in a given Euclidean domain. More...
class  chomp::homology::simplelist< element >
 This class defines a simple list of pointers to objects of the given type. More...
class  chomp::homology::mmatrix< euclidom >
 A class for representing sparse matrices containing elements of the 'euclidom' type. More...
class  chomp::homology::chaincomplex< euclidom >
 This is an implementation of a chain complex over an arbitrary ring. More...
class  chomp::homology::chainmap< euclidom >
 This class defines a chain map between two chain complexes. More...

Namespaces

namespace  chomp
 

This namespace contains the entire CHomP library interface.


namespace  chomp::homology
 

This namespace contains the core of the homology computation procedures and related classes and templates contained in the CHomP C++ library.


Defines

#define CHAINFIXED   0

Functions

template<class euclidom >
outputstream & chomp::homology::show_homology (outputstream &out, const chain< euclidom > &c)
 Shows a chain as a list of generators of one level of a homology module.
template<class euclidom >
std::ostream & chomp::homology::show_homology (std::ostream &out, const chain< euclidom > &c)
 Shows a chain as a list of generators of one level of a homology module.
template<class euclidom >
std::ostream & chomp::homology::operator<< (std::ostream &out, const chain< euclidom > &c)
 Outputs the given chain to a standard output stream in the text mode.
template<class euclidom >
std::istream & chomp::homology::operator>> (std::istream &in, chain< euclidom > &c)
 Reads a chain from a standard input stream in the text mode.
template<class euclidom >
std::ostream & chomp::homology::operator<< (std::ostream &out, const mmatrix< euclidom > &m)
 Writes a matrix to the output stream as a map in terms of columns.
template<class euclidom >
std::ostream & chomp::homology::operator<< (std::ostream &out, const chaincomplex< euclidom > &c)
 Writes a chain complex to an output stream in the text format.
template<class euclidom >
std::ostream & chomp::homology::operator<< (std::ostream &out, const chainmap< euclidom > &m)
 Writes a chain map to an output stream in the text format.

Detailed Description

This file contains classes and functions related to algebraic chain complexes and chain maps, including homology computation.

The templates in this file are prepared for a Euclidean domain. This ring type should have the following methods defined in it: operator +, operator *, unary operator -, operator <<, operator >>, assignment from an integer (only 0 and 1), function "normalized", operators == and != (used only to compare with 0 and with 1), operators / and % (for division with remainder), function delta (from the definition of the Euclidean domain), and a static member function "const char *euclidom::ringsymbol ()".

Author:
Pawel Pilarczyk

Definition in file chains.h.


Define Documentation

#define CHAINFIXED   0

Definition at line 91 of file chains.h.

Referenced by chomp::homology::chain< euclidom >::allocated().