CAPD RedHom Library
experimental::ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode > Class Template Reference

#include <capd/redAlg/experimental/ReducibleFreeChainComplex.h>

Classes

struct  ReducedPair
 
struct  ReduciblePair
 
class  ReduciblePairComparer
 

Public Types

typedef int IntType
 
typedef P_GeneratorCode GeneratorCode
 
typedef freeModuleType::GeneratorType GeneratorType
 
typedef freeModuleType::MatrixType MatrixType
 
typedef freeModuleType::MatrixType::ScalarType ScalarType
 
typedef ChainT< std::map< GeneratorCode, ScalarType > > Chain
 
typedef Chain CoChain
 
typedef int(ReducibleFreeChainComplex::* ReducibleFreeChainComplex_void_Ptr) ()
 

Public Member Functions

 ReducibleFreeChainComplex ()
 
template<typename freeModuleType2 >
 ReducibleFreeChainComplex (const FreeChainComplex< freeModuleType2 > &fcc)
 
template<typename GeneratorType2 >
 ReducibleFreeChainComplex (const std::vector< GeneratorType2 > &generators)
 
template<typename GeneratorType2 >
 ReducibleFreeChainComplex (const std::set< GeneratorType2 > &generators)
 
template<typename P_Set >
 ReducibleFreeChainComplex (const P_Set &generators, int store_reduced_pairs=false)
 
bool removeSimpleHomologyGenerators (std::vector< std::vector< GeneratorCode > > &simpleHomologyGenerators)
 
 operator FreeChainComplex< freeModuleType > ()
 
int reduce ()
 
int reduceNaively ()
 
int reduceViaSort ()
 
int reduceViaLocalSort ()
 
int reduceWithPriorityQueue ()
 
void reduce (Chain &chain)
 
void restore (Chain &chain)
 

Friends

void swap (ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode > &rfcc1, ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode > &rfcc2)
 
std::ostream & operator (std::ostream &out, const ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode > &rfcc)
 

Member Typedef Documentation

template<typename freeModuleType, typename P_GeneratorCode = typename freeModuleType::GeneratorType>
typedef ChainT<std::map<GeneratorCode, ScalarType> > experimental::ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::Chain
template<typename freeModuleType, typename P_GeneratorCode = typename freeModuleType::GeneratorType>
typedef Chain experimental::ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::CoChain
template<typename freeModuleType, typename P_GeneratorCode = typename freeModuleType::GeneratorType>
typedef P_GeneratorCode experimental::ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::GeneratorCode
template<typename freeModuleType, typename P_GeneratorCode = typename freeModuleType::GeneratorType>
typedef freeModuleType::GeneratorType experimental::ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::GeneratorType
template<typename freeModuleType, typename P_GeneratorCode = typename freeModuleType::GeneratorType>
typedef int experimental::ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::IntType
template<typename freeModuleType, typename P_GeneratorCode = typename freeModuleType::GeneratorType>
typedef freeModuleType::MatrixType experimental::ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::MatrixType
template<typename freeModuleType, typename P_GeneratorCode = typename freeModuleType::GeneratorType>
typedef int(ReducibleFreeChainComplex::* experimental::ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::ReducibleFreeChainComplex_void_Ptr) ()
template<typename freeModuleType, typename P_GeneratorCode = typename freeModuleType::GeneratorType>
typedef freeModuleType::MatrixType::ScalarType experimental::ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::ScalarType

Constructor & Destructor Documentation

template<typename freeModuleType, typename P_GeneratorCode = typename freeModuleType::GeneratorType>
experimental::ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::ReducibleFreeChainComplex ( )
inline
template<typename freeModuleType , typename P_GeneratorCode >
template<typename freeModuleType2 >
ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::ReducibleFreeChainComplex ( const FreeChainComplex< freeModuleType2 > &  fcc)
template<typename freeModuleType , typename P_GeneratorCode >
template<typename GeneratorType2 >
ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::ReducibleFreeChainComplex ( const std::vector< GeneratorType2 > &  generators)
template<typename freeModuleType , typename P_GeneratorCode >
template<typename GeneratorType2 >
ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::ReducibleFreeChainComplex ( const std::set< GeneratorType2 > &  generators)
template<typename freeModuleType , typename P_GeneratorCode >
template<typename P_Set >
ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::ReducibleFreeChainComplex ( const P_Set &  generators,
int  store_reduced_pairs = false 
)

Member Function Documentation

template<typename freeModuleType , typename P_GeneratorCode >
ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::operator FreeChainComplex< freeModuleType > ( )
template<typename freeModuleType , typename P_GeneratorCode >
int ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::reduce ( )
template<typename freeModuleType , typename P_GeneratorCode >
void ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::reduce ( Chain chain)
inline
template<typename freeModuleType , typename P_GeneratorCode >
int ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::reduceNaively ( )
template<typename freeModuleType , typename P_GeneratorCode >
int ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::reduceViaLocalSort ( )
template<typename freeModuleType , typename P_GeneratorCode >
int ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::reduceViaSort ( )
template<typename freeModuleType , typename P_GeneratorCode >
int ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::reduceWithPriorityQueue ( )
template<typename freeModuleType , typename P_GeneratorCode >
bool ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::removeSimpleHomologyGenerators ( std::vector< std::vector< GeneratorCode > > &  simpleHomologyGenerators)
template<typename freeModuleType , typename P_GeneratorCode >
void ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode >::restore ( Chain chain)
inline

Friends And Related Function Documentation

template<typename freeModuleType, typename P_GeneratorCode = typename freeModuleType::GeneratorType>
std::ostream& operator ( std::ostream &  out,
const ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode > &  rfcc 
)
friend
template<typename freeModuleType, typename P_GeneratorCode = typename freeModuleType::GeneratorType>
void swap ( ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode > &  rfcc1,
ReducibleFreeChainComplex< freeModuleType, P_GeneratorCode > &  rfcc2 
)
friend