#include <BKLRightNormalForm.h>
Public Types | |
typedef triple< int, int, list< Permutation > > | NF |
Presentation of a normal form. | |
Public Member Functions | |
BKLRightNormalForm () | |
Create trivial normal form. | |
BKLRightNormalForm (const BKLRightNormalForm &bkl) | |
Copy constructor. | |
BKLRightNormalForm (int rank, int power, const list< Permutation > &decomp) | |
Create normal form by its presentation (no check that given presentation is correct, use adjustDecomposition if the presentation is incorrect). | |
BKLRightNormalForm (const BraidGroup &G, const Word &w) | |
Create a normal form of a braid word. | |
BKLRightNormalForm & | operator= (const BKLRightNormalForm &bkl) |
Assignment operator. | |
BKLRightNormalForm & | operator= (const NF &bkl) |
Assignment operator. | |
BKLRightNormalForm | operator- () const |
Invert a normal form. | |
BKLRightNormalForm | operator * (const BKLRightNormalForm &bkl) const |
Multiply two normal forms. | |
bool | operator== (const BKLRightNormalForm &bkl) const |
bool | operator!= (const BKLRightNormalForm &bkl) const |
bool | operator< (const BKLRightNormalForm &bkl) const |
int | getPower () const |
Get the power of omega. | |
const list< Permutation > & | getDecomposition () const |
Get the decomposition. | |
operator NF () const | |
Get the presentation of the normal form. | |
bool | isTrivial () const |
Check if the normal form os trivial. | |
Word | getWord () const |
Return a word represented by the normal form. | |
void | setPower (int p) |
Set the power of ![]() | |
void | setDecomposition (const list< Permutation > &d) |
Set the decomposition ![]() | |
Static Public Member Functions | |
static Permutation | getTinyTwistPermutation (int theIndex) |
Returns a cyclic permutation ![]() | |
static void | adjustDecomposition (int rank, int &power, list< Permutation > &decomp) |
Function adjusting the decomposition in a normal form. | |
Private Types | |
enum | transformationResult { TWO_MULTIPLIERS, ONE_MULTIPLIER, NO_CHANGE } |
The result of the transformation. More... | |
Private Member Functions | |
BKLRightNormalForm | inverse () const |
Invert the normal form. | |
BKLRightNormalForm | multiply (const BKLRightNormalForm &bkl) const |
Multiply the normal form by another normal form on the right. | |
Static Private Member Functions | |
static transformationResult | transform (int theIndex, Permutation &p1, Permutation &p2) |
Main function for computing the normal form of the word. | |
Private Attributes | |
int | theRank |
The rank of the braid group (number of strands). | |
int | theOmegaPower |
Power of omega. | |
list< Permutation > | theDecomposition |
Sequence of permutations. |
The standard presentation for BKL is a pair , where
and each
is a permutation.
Definition at line 37 of file BKLRightNormalForm.h.
|
Presentation of a normal form. The first component specifies the rank of a braid group. The second component specifies the power of the twist. The third component specifies the list of braid permutations. Definition at line 47 of file BKLRightNormalForm.h. |
|
The result of the transformation.
Definition at line 193 of file BKLRightNormalForm.h. |
|
Create trivial normal form.
Definition at line 58 of file BKLRightNormalForm.h. |
|
Copy constructor.
Definition at line 66 of file BKLRightNormalForm.h. |
|
Create normal form by its presentation (no check that given presentation is correct, use adjustDecomposition if the presentation is incorrect).
Definition at line 76 of file BKLRightNormalForm.h. |
|
Create a normal form of a braid word.
|
|
Function adjusting the decomposition in a normal form.
|
|
Get the decomposition.
Definition at line 138 of file BKLRightNormalForm.h. References theDecomposition. |
|
Get the power of omega.
Definition at line 134 of file BKLRightNormalForm.h. References theOmegaPower. |
|
Returns a cyclic permutation
Definition at line 150 of file BKLRightNormalForm.h. |
|
Return a word represented by the normal form.
|
|
Invert the normal form.
Referenced by operator-(). |
|
Check if the normal form os trivial.
Definition at line 146 of file BKLRightNormalForm.h. References theDecomposition, and theOmegaPower. |
|
Multiply the normal form by another normal form on the right.
Referenced by operator *(). |
|
Multiply two normal forms.
Definition at line 117 of file BKLRightNormalForm.h. References multiply(). |
|
Get the presentation of the normal form.
Definition at line 142 of file BKLRightNormalForm.h. References theDecomposition, theOmegaPower, and theRank. |
|
|
|
Invert a normal form.
Definition at line 113 of file BKLRightNormalForm.h. References inverse(). |
|
|
|
Assignment operator.
Definition at line 106 of file BKLRightNormalForm.h. References triple< T1, T2, T3 >::first, triple< T1, T2, T3 >::second, theDecomposition, theOmegaPower, theRank, and triple< T1, T2, T3 >::third. |
|
Assignment operator.
Definition at line 99 of file BKLRightNormalForm.h. References theDecomposition, theOmegaPower, and theRank. |
|
|
|
Set the decomposition
Definition at line 182 of file BKLRightNormalForm.h. References theDecomposition. |
|
Set the power of
Definition at line 179 of file BKLRightNormalForm.h. References theOmegaPower. |
|
Main function for computing the normal form of the word.
|
|
Sequence of permutations.
Definition at line 223 of file BKLRightNormalForm.h. Referenced by getDecomposition(), isTrivial(), operator NF(), operator=(), and setDecomposition(). |
|
Power of omega.
Definition at line 219 of file BKLRightNormalForm.h. Referenced by getPower(), isTrivial(), operator NF(), operator=(), and setPower(). |
|
The rank of the braid group (number of strands).
Definition at line 215 of file BKLRightNormalForm.h. Referenced by operator NF(), and operator=(). |