(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=().
1.6.1