#include <SubgroupFG.h>
Public Member Functions | |
SubgroupFG (int n_gens=0) | |
SubgroupFG (int n_gens, const vector< Word > &gens) | |
template<class ConstWordIterator> | |
SubgroupFG (int n_gens, ConstWordIterator B, ConstWordIterator E) | |
bool | operator== (const SubgroupFG &S) const |
Check the equality of two subgroups. | |
SubgroupFG | operator * (const SubgroupFG &S) const |
Compute the intersection of two subgroups. | |
SubgroupFG & | operator^= (const Word &conjugator) |
Conjugate a subgroup. | |
SubgroupFG | operator^ (const Word &conjugator) const |
Conjugate a subgroup. | |
SubgroupFG & | operator+= (const SubgroupFG &sbgp) |
Extend subgroup basis. | |
SubgroupFG | operator+ (const SubgroupFG &sbgp) const |
Extend subgroup basis. | |
SubgroupFG & | operator+= (const Word &w) |
Extend subgroup basis. | |
SubgroupFG | operator+ (const Word &w) const |
Extend subgroup basis. | |
bool | checkIsomorphism (const SubgroupFG &S, int vert1, int vert2) const |
Check if two subgroup graphs *this and S are isomorphic as automata, restricted that v1 -> v2. | |
const vector< Word > & | getGenerators () const |
Get the initial generators of the subgroup. | |
const vector< Word > & | getNielsenGenerators () const |
Get a set of Nielsen generators of the subgroup. | |
const IntLabeledGraph & | getFSA () const |
Get an automaton corresponding to a subgroup of a free froup. | |
int | getIndex () const |
Compute the index of a subgroup of a free group, -1 means infinite. | |
int | getRank () const |
Compute the rank of a subgroup of a free group. | |
bool | doesBelong (const Word &w) const |
check if a word belongs to a subgroup of a free group | |
Word | express (const Word &w) const |
Express a word in a generators of a subgroup of a free group (word must belong to subgroup). | |
SubgroupFG | centralizer () const |
Compute the centralizer of a subgroup. | |
SubgroupFG | normalizer () const |
Compute the normalizer of a subgroup. | |
pair< SubgroupFG, Word > | trim () const |
Trim the subgroup graph. (Cut off the "tail".). | |
pair< bool, Word > | areConjugate (const SubgroupFG &sbgp) const |
Check if two subgroups are conjugate. | |
string | graphviz_format () const |
Returns the graphviz graphical description of the subgroup graph (save it to file and use Graphviz to visualize the graph). | |
Protected Member Functions | |
SubgroupFG (int n_gens, const IntLabeledGraph &fsa) | |
Private Member Functions | |
void | computeFSA () const |
void | computeNielsenGenerators () const |
Private Attributes | |
vector< Word > | theGenerators |
int | theNumberOfGenerators |
bool | fsaDone |
IntLabeledGraph | theFSA |
list< FoldDetails< IntLabeledGraph::vertex_type, IntLabeledGraph::edge_type > > | foldDetails |
bool | nielsDone |
vector< Word > | theNielsenGenerators |
Definition at line 29 of file SubgroupFG.h.
|
|
|
|
|
Definition at line 40 of file SubgroupFG.h. References theGenerators. |
|
|
|
Check if two subgroups are conjugate.
|
|
Compute the centralizer of a subgroup.
|
|
Check if two subgroup graphs *this and S are isomorphic as automata, restricted that v1 -> v2.
|
|
|
|
|
|
check if a word belongs to a subgroup of a free group
|
|
Express a word in a generators of a subgroup of a free group (word must belong to subgroup).
|
|
Get an automaton corresponding to a subgroup of a free froup.
|
|
Get the initial generators of the subgroup.
Definition at line 120 of file SubgroupFG.h. References theGenerators. |
|
Compute the index of a subgroup of a free group, -1 means infinite.
|
|
Get a set of Nielsen generators of the subgroup.
|
|
Compute the rank of a subgroup of a free group.
|
|
Returns the graphviz graphical description of the subgroup graph (save it to file and use Graphviz to visualize the graph).
|
|
Compute the normalizer of a subgroup.
|
|
Compute the intersection of two subgroups.
|
|
Extend subgroup basis.
Definition at line 101 of file SubgroupFG.h. |
|
Extend subgroup basis.
Definition at line 89 of file SubgroupFG.h. |
|
Extend subgroup basis.
|
|
Extend subgroup basis.
|
|
Check the equality of two subgroups.
|
|
Conjugate a subgroup.
Definition at line 77 of file SubgroupFG.h. |
|
Conjugate a subgroup.
|
|
Trim the subgroup graph. (Cut off the "tail".).
|
|
Definition at line 193 of file SubgroupFG.h. |
|
Definition at line 191 of file SubgroupFG.h. |
|
Definition at line 195 of file SubgroupFG.h. |
|
Definition at line 192 of file SubgroupFG.h. |
|
Definition at line 188 of file SubgroupFG.h. Referenced by getGenerators(), and SubgroupFG(). |
|
Definition at line 196 of file SubgroupFG.h. |
|
Definition at line 189 of file SubgroupFG.h. |