CAPD RedHom Library
QuotientModule< freeModuleType > Class Template Reference

#include <capd/homAlgebra/QuotientModule.h>

Public Types

typedef freeModuleType::IntType IntType
 
typedef capd::vectalg::Matrix< IntType, 0, 0 > IntMatrixType
 
typedef IntMatrixType::ColumnVectorType IntVectorType
 
typedef freeModuleType::MatrixType MatrixType
 
typedef freeModuleType::MatrixType::ColumnVectorType VectorType
 
typedef freeModuleType::MatrixType::ScalarType ScalarType
 

Public Member Functions

 QuotientModule ()
 
 QuotientModule (const freeModuleType &A_BaseModule, typename freeModuleType::MatrixType &A_dividendModuleMatrix, typename freeModuleType::MatrixType &A_divisorModuleMatrix)
 
int rank () const
 
int numberOfGenerators () const
 
int numberOfTorsionElements () const
 
IntType generatorOrder (size_t i) const
 
bool torsionFree () const
 
std::string descriptor () const
 
std::string torsionDescriptor () const
 
std::vector< IntTypetorsionVector () const
 
const freeModuleType * BaseModulePtr () const
 
 operator FGAGrpSignature< ScalarType, IntType > ()
 
void coefVectorForCycle (const VectorType &A_cycleVector, VectorType &A_cycleCoefVector) const
 
template<typename P_Chain >
void exportBaseChains (std::vector< P_Chain > &A_chains, std::vector< IntType > &A_orders) const
 

Friends

template<typename freeModuleType2 >
void swap (QuotientModule< freeModuleType2 > &A_subm1, QuotientModule< freeModuleType2 > &A_subm2)
 
std::ostream & operator<< (std::ostream &out, const QuotientModule &A_SubM)
 

Member Typedef Documentation

template<typename freeModuleType >
typedef capd::vectalg::Matrix<IntType,0,0> QuotientModule< freeModuleType >::IntMatrixType
template<typename freeModuleType >
typedef freeModuleType::IntType QuotientModule< freeModuleType >::IntType
template<typename freeModuleType >
typedef IntMatrixType::ColumnVectorType QuotientModule< freeModuleType >::IntVectorType
template<typename freeModuleType >
typedef freeModuleType::MatrixType QuotientModule< freeModuleType >::MatrixType
template<typename freeModuleType >
typedef freeModuleType::MatrixType::ScalarType QuotientModule< freeModuleType >::ScalarType
template<typename freeModuleType >
typedef freeModuleType::MatrixType::ColumnVectorType QuotientModule< freeModuleType >::VectorType

Constructor & Destructor Documentation

template<typename freeModuleType >
QuotientModule< freeModuleType >::QuotientModule ( )
inline
template<typename freeModuleType >
QuotientModule< freeModuleType >::QuotientModule ( const freeModuleType &  A_BaseModule,
typename freeModuleType::MatrixType A_dividendModuleMatrix,
typename freeModuleType::MatrixType A_divisorModuleMatrix 
)
inline

Member Function Documentation

template<typename freeModuleType >
const freeModuleType* QuotientModule< freeModuleType >::BaseModulePtr ( ) const
inline
template<typename freeModuleType >
void QuotientModule< freeModuleType >::coefVectorForCycle ( const VectorType A_cycleVector,
VectorType A_cycleCoefVector 
) const
inline
template<typename freeModuleType >
std::string QuotientModule< freeModuleType >::descriptor ( ) const
inline
template<typename freeModuleType >
template<typename P_Chain >
void QuotientModule< freeModuleType >::exportBaseChains ( std::vector< P_Chain > &  A_chains,
std::vector< IntType > &  A_orders 
) const
inline
template<typename freeModuleType >
IntType QuotientModule< freeModuleType >::generatorOrder ( size_t  i) const
inline
template<typename freeModuleType >
int QuotientModule< freeModuleType >::numberOfGenerators ( ) const
inline
template<typename freeModuleType >
int QuotientModule< freeModuleType >::numberOfTorsionElements ( ) const
inline
template<typename freeModuleType >
QuotientModule< freeModuleType >::operator FGAGrpSignature< ScalarType, IntType > ( )
inline
template<typename freeModuleType >
int QuotientModule< freeModuleType >::rank ( ) const
inline
template<typename freeModuleType >
std::string QuotientModule< freeModuleType >::torsionDescriptor ( ) const
inline
template<typename freeModuleType >
bool QuotientModule< freeModuleType >::torsionFree ( ) const
inline
template<typename freeModuleType >
std::vector<IntType> QuotientModule< freeModuleType >::torsionVector ( ) const
inline

Friends And Related Function Documentation

template<typename freeModuleType >
std::ostream& operator<< ( std::ostream &  out,
const QuotientModule< freeModuleType > &  A_SubM 
)
friend
template<typename freeModuleType >
template<typename freeModuleType2 >
void swap ( QuotientModule< freeModuleType2 > &  A_subm1,
QuotientModule< freeModuleType2 > &  A_subm2 
)
friend