Namespaces | Functions

cubisets.h File Reference

This file contains various procedures defined on cubical sets and related to some combinatorial operations or homology computation. More...

#include "chomp/system/config.h"
#include "chomp/system/textfile.h"
#include "chomp/cubes/pointset.h"
#include "chomp/homology/chains.h"
#include "chomp/struct/bitfield.h"
#include "chomp/struct/integer.h"
#include "chomp/struct/hashsets.h"
#include "chomp/struct/setunion.h"
#include "chomp/homology/gcomplex.h"
#include "chomp/cubes/pointbas.h"
#include "chomp/cubes/cube.h"
#include "chomp/cubes/cell.h"
#include "chomp/cubes/cubmaps.h"
#include "chomp/cubes/neighbor.h"
#include "chomp/homology/cubacycl.h"
#include "chomp/homology/tabulate.h"
#include "chomp/homology/known.h"
#include <iostream>
#include <fstream>
#include <cstdlib>

Go to the source code of this file.

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.


Functions

int chomp::homology::acyclic (int dim, BitField &b)
 Checks whether this cube's nieghbors form an acyclic set.
template<class tCube >
bool chomp::homology::acyclic (const hashedset< tCube > &cset)
 Checks thoroughly whether the given set of cubes is acyclic.
template<class tCube , class tCubeSet1 , class tCubeSet2 >
bool chomp::homology::acyclic (const tCube &q, int dim, const tCubeSet1 &cset, BitField *b, int_t maxneighbors, tCubeSet2 *neighbors)
 Verifies the acyclicity of a neighborhood of the given cube.
template<class tCube , class tCubeSet >
bool chomp::homology::acyclic (const tCube &q, int dim, const tCubeSet &cset, BitField *b, int_t maxneighbors)
 Verifies the acyclicity of a neighborhood of the given cube.
template<class tCube >
bool chomp::homology::acyclic_rel (const tCube &q, int dim, const hashedset< tCube > &cset, const hashedset< tCube > &other, BitField *b, int_t maxneighbors, hashedset< tCube > *neighbors_main, hashedset< tCube > *neighbors_other)
 Verifies whether a cube from the other set can be removed.
template<class tCube , class tCell >
int_t chomp::homology::computeimage (hashedset< tCube > &img, const tCell &face, const mvmap< tCube, tCube > &map, const hashedset< tCube > &cset, const tCube &ignore)
 Computes the image of the face under the combinatorial cubical multivalued map, but doesn't take the given cube into consideration.
template<class tCube >
bool chomp::homology::remainsacyclic (const mvmap< tCube, tCube > &map, const tCube &q, const hashedset< tCube > &cset1, const hashedset< tCube > *cset2=0)
 Verifies if the map remains acyclic after the addition or removal of the given cube to/from the union of the first and the second set.
template<class tCube , class tCubeSet >
void chomp::homology::addcubeneighbors (const tCube &q, int dim, const tCubeSet &cubset, bitfield *b, hashedset< tCube > &neighbors, hashedset< tCube > &queue, const hashedset< tCube > &notthese)
 A small helper function which adds neighbors of the given cube to the given set.
template<class tCube >
int_t chomp::homology::cubreducequiet (const hashedset< tCube > &maincset, hashedset< tCube > &cset, bool quiet=true)
 Reduce the set 'cset' towards 'maincset'.
template<class tCube >
int_t chomp::homology::cubreduce (const hashedset< tCube > &maincset, hashedset< tCube > &cset)
 Reduces a pair of sets of cubes for relative homology computation.
template<class tCube >
int_t chomp::homology::cubreducequiet (hashedset< tCube > &cset, hashedset< tCube > &other, mvmap< tCube, tCube > &map, const hashedset< tCube > &keep, bool quiet=true)
 Reduces a pair of sets of cubes for relative homology computation.
template<class tCube >
int_t chomp::homology::cubreduce (hashedset< tCube > &cset, hashedset< tCube > &other, mvmap< tCube, tCube > &cubmap, const hashedset< tCube > &keep)
 Reduces a pair of sets of cubes for relative homology computation.
template<class tCube >
int_t chomp::homology::cubreducequiet (hashedset< tCube > &cset, hashedset< tCube > &other, const hashedset< tCube > &keep, bool quiet=true)
 Reduces a pair of sets of cubes for relative homology computation.
template<class tCube >
int_t chomp::homology::cubreduce (hashedset< tCube > &cset, hashedset< tCube > &other, const hashedset< tCube > &keep)
 Reduces a pair of sets of cubes for relative homology computation.
template<class tCube >
int_t chomp::homology::cubexpand (hashedset< tCube > &cset, hashedset< tCube > &other, bool quiet=false)
 Expands the set 'other' towards 'cset' without changing the homology of (cset + other, other).
template<class tCube >
int_t chomp::homology::cubexpand (hashedset< tCube > &cset, hashedset< tCube > &other, hashedset< tCube > &imgsrc, hashedset< tCube > &img, const mvmap< tCube, tCube > &map, bool indexmap, bool checkacyclic, bool quiet=false)
 Expands the set 'other' towards 'cset' without changing the homology of (cset + other, other).

Detailed Description

This file contains various procedures defined on cubical sets and related to some combinatorial operations or homology computation.

Author:
Pawel Pilarczyk

Definition in file cubisets.h.