CoxIter  1.2
CoxIter - Computing invariants of hyperbolic Coxeter groups
Public Member Functions | Private Member Functions | Private Attributes | List of all members
Arithmeticity Class Reference

This class tests the arithmeticity of a graph which has no dotted edge and which is non-cocompact. It uses Vinberg's criteria. More...

#include <arithmeticity.h>

Collaboration diagram for Arithmeticity:
Collaboration graph
[legend]

Public Member Functions

 Arithmeticity ()
 Basic constructor. More...
 
 ~Arithmeticity ()
 Destructor. More...
 
void test (CoxIter &ci, const bool &bListCycles_)
 Test the arithmeticity of a graph. More...
 
vector< string > get_strListCycles ()
 Return the list of cycles. More...
 
string get_strError ()
 Return the error code. More...
 

Private Member Functions

unsigned int collapseQueues ()
 Try to collapse queues of the graph. More...
 
void testCycles ()
 Test the cycles. More...
 
void findCycles (const unsigned int &iRoot, const unsigned int &iFrom)
 Look for cycles. More...
 
void testCycle ()
 Test the cycle in iPath. More...
 

Private Attributes

string strError
 If an error occured, small text. More...
 
CoxIterci
 Pointer to the CoxIter object. More...
 
unsigned int iVerticesCount
 Number of generators of the group. More...
 
vector< vector< unsigned int > > iCoxeterMatrix
 Coxeter matrix of the group. More...
 
vector< unsigned int > iReferencesToLabels
 Correspondence for the new indices to the old ones. More...
 
vector< vector< bool > > bEdgesVisited
 Traversed edges. More...
 
vector< bool > bVerticesVisited
 Taversed vertices. More...
 
vector< unsigned int > iPath
 Current path. More...
 
bool bNotArithmetic
 True if not arithmetic (i.e. we have to quit the algorithm) More...
 
bool bListCycles
 If true, will list the cycles to be manually tested. More...
 
vector< string > strListCycles
 The list. More...
 

Detailed Description

This class tests the arithmeticity of a graph which has no dotted edge and which is non-cocompact. It uses Vinberg's criteria.

Constructor & Destructor Documentation

Arithmeticity::Arithmeticity ( )

Basic constructor.

Arithmeticity::~Arithmeticity ( )

Destructor.

Member Function Documentation

Arithmeticity::collapseQueues ( )
private

Try to collapse queues of the graph.

Returns
Number of vertices removed
Arithmeticity::findCycles ( const unsigned int &  iRoot,
const unsigned int &  iFrom 
)
private

Look for cycles.

Update the vector iPath to find cycles

Parameters
iRoot(unsigned int& ) Starting vertex
iFrom(unsigned int& ) Previoud vertex (if recursive call); iRoot otherwise
Arithmeticity::get_strError ( )

Return the error code.

Returns
Error code (string)
Arithmeticity::get_strListCycles ( )

Return the list of cycles.

Returns
List (vector<string>)
Arithmeticity::test ( CoxIter ci,
const bool &  bListCycles_ 
)

Test the arithmeticity of a graph.

Parameters
ci(CoxIter& ) The graph
bListCycles_(const bool& ) If true, will list the cycles to be manually tested
Returns
True if success, false otherwise. Then, use ci.get_iIsArithmetic( )
Arithmeticity::testCycle ( )
private

Test the cycle in iPath.

This function is called by findCycles. Eventually, set bNotArithmetic to true

Arithmeticity::testCycles ( )
private

Test the cycles.

Member Data Documentation

vector< vector< bool > > Arithmeticity::bEdgesVisited
private

Traversed edges.

bool Arithmeticity::bListCycles
private

If true, will list the cycles to be manually tested.

bool Arithmeticity::bNotArithmetic
private

True if not arithmetic (i.e. we have to quit the algorithm)

vector< bool > Arithmeticity::bVerticesVisited
private

Taversed vertices.

CoxIter* Arithmeticity::ci
private

Pointer to the CoxIter object.

vector< vector< unsigned int > > Arithmeticity::iCoxeterMatrix
private

Coxeter matrix of the group.

vector< unsigned int > Arithmeticity::iPath
private

Current path.

vector< unsigned int > Arithmeticity::iReferencesToLabels
private

Correspondence for the new indices to the old ones.

unsigned int Arithmeticity::iVerticesCount
private

Number of generators of the group.

string Arithmeticity::strError
private

If an error occured, small text.

vector< string > Arithmeticity::strListCycles
private

The list.


The documentation for this class was generated from the following files: