CoxIter  1.3
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 &listCycles_)
 Test the arithmeticity of a graph. More...
 
vector< string > get_allCycles ()
 Return the list of cycles. More...
 
string get_error ()
 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 &root, const unsigned int &from)
 Look for cycles. More...
 
void testCycle ()
 Test the cycle in path. More...
 

Private Attributes

string error
 If an error occured, small text. More...
 
CoxIterci
 Pointer to the CoxIter object. More...
 
unsigned int verticesCount
 Number of generators of the group. More...
 
vector< vector< unsigned int > > coxeterMatrix
 Coxeter matrix of the group. More...
 
vector< unsigned int > referencesToLabels
 
vector< vector< bool > > visitedEdges
 Traversed edges. More...
 
vector< bool > visitedVertices
 Taversed vertices. More...
 
vector< unsigned int > path
 Current path. More...
 
bool notArithmetic
 
bool listCycles
 If true, will list the cycles to be manually tested. More...
 
vector< string > allCycles
 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::Arithmeticity ( )

Basic constructor.

◆ ~Arithmeticity()

Arithmeticity::~Arithmeticity ( )

Destructor.

Member Function Documentation

◆ collapseQueues()

Arithmeticity::collapseQueues ( )
private

Try to collapse queues of the graph.

Returns
Number of vertices removed

◆ findCycles()

Arithmeticity::findCycles ( const unsigned int &  root,
const unsigned int &  from 
)
private

Look for cycles.

Update the vector path to find cycles

Parameters
root(unsignedint&) Starting vertex
from(unsignedint&) Previoud vertex (if recursive call); root otherwise

◆ get_allCycles()

Arithmeticity::get_allCycles ( )

Return the list of cycles.

Returns
List (vector<string>)

◆ get_error()

Arithmeticity::get_error ( )

Return the error code.

Returns
Error code (string)

◆ test()

Arithmeticity::test ( CoxIter ci,
const bool &  listCycles_ 
)

Test the arithmeticity of a graph.

Parameters
ci(CoxIter&)The graph
listCycles_(constbool&) If true, will list the cycles to be manually tested
Returns
True if success, false otherwise. Then, use ci.get_isArithmetic()

◆ testCycle()

Arithmeticity::testCycle ( )
private

Test the cycle in path.

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

◆ testCycles()

Arithmeticity::testCycles ( )
private

Test the cycles.

Member Data Documentation

◆ allCycles

vector<string> Arithmeticity::allCycles
private

The list.

◆ ci

CoxIter* Arithmeticity::ci
private

Pointer to the CoxIter object.

◆ coxeterMatrix

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

Coxeter matrix of the group.

◆ error

string Arithmeticity::error
private

If an error occured, small text.

◆ listCycles

bool Arithmeticity::listCycles
private

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

◆ notArithmetic

bool Arithmeticity::notArithmetic
private

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

◆ path

vector<unsigned int> Arithmeticity::path
private

Current path.

◆ referencesToLabels

vector<unsigned int> Arithmeticity::referencesToLabels
private

Correspondence for the new indices to the old ones

◆ verticesCount

unsigned int Arithmeticity::verticesCount
private

Number of generators of the group.

◆ visitedEdges

vector<vector<bool> > Arithmeticity::visitedEdges
private

Traversed edges.

◆ visitedVertices

vector<bool> Arithmeticity::visitedVertices
private

Taversed vertices.


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