(Contains errors!!! Not to be used yet) Birman-Ko-Lee right normal form. More...
#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 . The result is always a correct normal form. | |
void | setDecomposition (const list< Permutation > &d) |
Set the decomposition . The result might be an incorrect form (not satisfying some gready conditions of this BKL form). | |
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. |
(Contains errors!!! Not to be used yet) Birman-Ko-Lee right normal form.
The standard presentation for BKL is a pair , where and each is a permutation.
Definition at line 37 of file BKLRightNormalForm.h.
typedef triple< int , int , list< Permutation > > BKLRightNormalForm::NF |
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.
enum BKLRightNormalForm::transformationResult [private] |
The result of the transformation.
Definition at line 193 of file BKLRightNormalForm.h.
BKLRightNormalForm::BKLRightNormalForm | ( | ) | [inline] |
Create trivial normal form.
Definition at line 58 of file BKLRightNormalForm.h.
BKLRightNormalForm::BKLRightNormalForm | ( | const BKLRightNormalForm & | bkl | ) | [inline] |
Copy constructor.
Definition at line 66 of file BKLRightNormalForm.h.
BKLRightNormalForm::BKLRightNormalForm | ( | int | rank, | |
int | power, | |||
const list< Permutation > & | decomp | |||
) | [inline] |
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.
BKLRightNormalForm::BKLRightNormalForm | ( | const BraidGroup & | G, | |
const Word & | w | |||
) |
Create a normal form of a braid word.
static void BKLRightNormalForm::adjustDecomposition | ( | int | rank, | |
int & | power, | |||
list< Permutation > & | decomp | |||
) | [static] |
Function adjusting the decomposition in a normal form.
const list< Permutation >& BKLRightNormalForm::getDecomposition | ( | ) | const [inline] |
Get the decomposition.
Definition at line 138 of file BKLRightNormalForm.h.
References theDecomposition.
int BKLRightNormalForm::getPower | ( | ) | const [inline] |
Get the power of omega.
Definition at line 134 of file BKLRightNormalForm.h.
References theOmegaPower.
static Permutation BKLRightNormalForm::getTinyTwistPermutation | ( | int | theIndex | ) | [inline, static] |
Returns a cyclic permutation .
Definition at line 150 of file BKLRightNormalForm.h.
Word BKLRightNormalForm::getWord | ( | ) | const |
Return a word represented by the normal form.
BKLRightNormalForm BKLRightNormalForm::inverse | ( | ) | const [private] |
Invert the normal form.
Referenced by operator-().
bool BKLRightNormalForm::isTrivial | ( | ) | const [inline] |
Check if the normal form os trivial.
Definition at line 146 of file BKLRightNormalForm.h.
References theDecomposition, and theOmegaPower.
BKLRightNormalForm BKLRightNormalForm::multiply | ( | const BKLRightNormalForm & | bkl | ) | const [private] |
Multiply the normal form by another normal form on the right.
Referenced by operator*().
BKLRightNormalForm::operator NF | ( | ) | const [inline] |
Get the presentation of the normal form.
Definition at line 142 of file BKLRightNormalForm.h.
References theDecomposition, theOmegaPower, and theRank.
bool BKLRightNormalForm::operator!= | ( | const BKLRightNormalForm & | bkl | ) | const |
BKLRightNormalForm BKLRightNormalForm::operator* | ( | const BKLRightNormalForm & | bkl | ) | const [inline] |
Multiply two normal forms.
Definition at line 117 of file BKLRightNormalForm.h.
References multiply().
BKLRightNormalForm BKLRightNormalForm::operator- | ( | ) | const [inline] |
bool BKLRightNormalForm::operator< | ( | const BKLRightNormalForm & | bkl | ) | const |
BKLRightNormalForm& BKLRightNormalForm::operator= | ( | const NF & | bkl | ) | [inline] |
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.
BKLRightNormalForm& BKLRightNormalForm::operator= | ( | const BKLRightNormalForm & | bkl | ) | [inline] |
Assignment operator.
Definition at line 99 of file BKLRightNormalForm.h.
References theDecomposition, theOmegaPower, and theRank.
bool BKLRightNormalForm::operator== | ( | const BKLRightNormalForm & | bkl | ) | const |
void BKLRightNormalForm::setDecomposition | ( | const list< Permutation > & | d | ) | [inline] |
Set the decomposition . The result might be an incorrect form (not satisfying some gready conditions of this BKL form).
Definition at line 182 of file BKLRightNormalForm.h.
References theDecomposition.
void BKLRightNormalForm::setPower | ( | int | p | ) | [inline] |
Set the power of . The result is always a correct normal form.
Definition at line 179 of file BKLRightNormalForm.h.
References theOmegaPower.
static transformationResult BKLRightNormalForm::transform | ( | int | theIndex, | |
Permutation & | p1, | |||
Permutation & | p2 | |||
) | [static, private] |
Main function for computing the normal form of the word.
list< Permutation > BKLRightNormalForm::theDecomposition [private] |
Sequence of permutations.
Definition at line 223 of file BKLRightNormalForm.h.
Referenced by getDecomposition(), isTrivial(), operator NF(), operator=(), and setDecomposition().
int BKLRightNormalForm::theOmegaPower [private] |
Power of omega.
Definition at line 219 of file BKLRightNormalForm.h.
Referenced by getPower(), isTrivial(), operator NF(), operator=(), and setPower().
int BKLRightNormalForm::theRank [private] |
The rank of the braid group (number of strands).
Definition at line 215 of file BKLRightNormalForm.h.
Referenced by operator NF(), and operator=().