CoxIter  1.3
CoxIter - Computing invariants of hyperbolic Coxeter groups
index2.h
Go to the documentation of this file.
1 /*
2 Copyright (C) 2013-2017
3 Rafael Guglielmetti, rafael.guglielmetti@unifr.ch
4 */
5 
6 /*
7 This file is part of CoxIter.
8 
9 CoxIter is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as
11 published by the Free Software Foundation, either version 3 of the
12 License, or (at your option) any later version.
13 
14 CoxIter is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License for more details.
18 
19 You should have received a copy of the GNU General Public License
20 along with CoxIter. If not, see <http://www.gnu.org/licenses/>.
21 */
22 
31 #ifndef __INDEX2_H__
32 #define __INDEX2_H__
33 
34 #include <string>
35 
36 using namespace std;
37 
38 #include "coxiter.h"
39 
40 struct NewVertex {
41  string label;
42  unsigned int index;
43  unsigned int originVertex;
44 };
45 
46 class Index2 {
47 private:
49  vector<vector<unsigned int>> coxeterMatrix;
50  unsigned int verticesCount;
51 
52  unsigned int vertex;
53 
54  vector<NewVertex> newVertices;
55  vector<vector<unsigned int>> iNewCox;
56  unsigned int iNewVerticesCount;
57 
58  string error;
59 
60 public:
61  Index2(CoxIter *ci);
62 
63  bool isVertexAdmissible(const string &vertexLabel);
64  bool removeVertex(const string &vertexLabel);
65  void printMatrix(vector<vector<unsigned int>> *iMatrix);
66 
67  string get_error() const;
68 };
69 
70 #endif // __INDEX2_H__
Main class for the work.
Definition: coxiter.h:74
Extract an index two subroup (based on Gal, Bonnafé-Dyer)
Definition: index2.h:46
vector< NewVertex > newVertices
Definition: index2.h:54
unsigned int iNewVerticesCount
Definition: index2.h:56
vector< vector< unsigned int > > iNewCox
New Coxeter matrix.
Definition: index2.h:55
vector< vector< unsigned int > > coxeterMatrix
Coxeter matrix.
Definition: index2.h:49
unsigned int vertex
Index of the vertex.
Definition: index2.h:52
CoxIter * ci
Definition: index2.h:48
string error
Definition: index2.h:58
unsigned int verticesCount
Number of vertices of the starting graph.
Definition: index2.h:50
Definition: index2.h:40
unsigned int originVertex
Definition: index2.h:43
unsigned int index
Definition: index2.h:42
string label
Definition: index2.h:41