#include <TheGrigorchukGroupAlgorithms.h>
Public Member Functions | |
TheGrigorchukGroupAlgorithms () | |
Default constructor is not instantiated to protect from creating the obects of this class. | |
Static Public Member Functions | |
static bool | trivial (const Word &w) |
Solve the Identity Problem for a non-reduced word. | |
static bool | trivial_reduced (const Word &w) |
Solve the Identity Problem for a reduced word. | |
static triple< int, int, int > | abelianImage (const Word &w) |
Compute the abelian image of an element. | |
static Word | reduce (const Word &w) |
Reduce a word. | |
static int | findOrder (const Word &w) |
Find the order of an element. | |
static bool | conjugate (const Word &w1, const Word &w2) |
Determine if 2 words represent conjugate elements of the Grigorchuk group. | |
static set< int > | conjugate_Kcosets (const Word &w1, const Word &w2) |
Compute the ![]() | |
static set< Word > | findConjugator_Kcosets (const Word &w1, const Word &w2) |
Determine if 2 words represent conjugate elements of the Grigorchuk group and find the actual conjugators, one for each K-coset. | |
static pair< Word, Word > | split (const Word &w) |
Split an element of ![]() | |
static void | push_back (Word &w, int g) |
Multiply an element by a generator on the right and perform a reduction if possible. | |
static void | push_front (Word &w, int g) |
Multiply an element by a generator on the left and perform a reduction if possible. | |
static Word | randomWord (int len) |
Generate a random reduced word. | |
static pair< Word, list< Word > > | decompositionBSbgp (const Word &w) |
Compute the decomposition of a word as an element of a subgroup ![]() | |
static pair< Word, Word > | liftToSTone (const Word &w1, const Word &w2) |
Compute the preimage of ![]() ![]() | |
static int | cosetRepresentativeKSbgp (const Word &w) |
Find a number of a right K-coset ![]() ![]() | |
static Word | cosetRepresentativeKSbgp (int c) |
Get a word representative of a right K-coset with number c. | |
static int | liftPairKcosetsUP (int x, int y) |
Lift the pair of right K-cosets ![]() ![]() | |
static set< int > | liftPairsKcosetsUP (const set< int > &K1, const set< int > &K2) |
For two sets of K-cosets find all K-lifts. | |
static map< pair< int, int >, int > | KCosetLiftTable () |
For each pair of K-cosets that can be lifted up to ![]() |
The class TheGrigorchukGroupAlgorithms is static, i.e., all member functions are static and there is no constructor defined. For introduction to the original Grigorchuk group see P. de la Harpe "Topics in Geometric Group Theory". For more on algorithmic properties see survey by R. Grigorchuk "Solved and Unsolved Problems Around One Group".
Definition at line 36 of file TheGrigorchukGroupAlgorithms.h.
|
Default constructor is not instantiated to protect from creating the obects of this class.
|
|
Compute the abelian image of an element.
|
|
Determine if 2 words represent conjugate elements of the Grigorchuk group.
Definition at line 103 of file TheGrigorchukGroupAlgorithms.h. References conjugate_Kcosets(). |
|
Compute the
Referenced by conjugate(). |
|
Get a word representative of a right K-coset with number c.
|
|
Find a number of a right K-coset
|
|
Compute the decomposition of a word as an element of a subgroup
The function returns a pair |
|
Determine if 2 words represent conjugate elements of the Grigorchuk group and find the actual conjugators, one for each K-coset.
|
|
Find the order of an element.
Compute the smallest positive number |
|
For each pair of K-cosets that can be lifted up to
|
|
Lift the pair of right K-cosets
If |
|
For two sets of K-cosets find all K-lifts. Function uses liftPairKcosetsUP() for each pair of cosets. |
|
Compute the preimage of
|
|
Multiply an element by a generator on the right and perform a reduction if possible.
|
|
Multiply an element by a generator on the left and perform a reduction if possible.
|
|
Generate a random reduced word.
|
|
Reduce a word. See VIII.B(12) of de la Harpe. |
|
Split an element of
Make sure |
|
Solve the Identity Problem for a non-reduced word. Check if a word over the original alphabet represents the identity. See VIII.E(47) of de la Harpe. |
|
Solve the Identity Problem for a reduced word. Check if a word over the original alphabet represents the identity. See VIII.E(47) of de la Harpe. |