Birman-Ko-Lee left normal form. More...
#include <BKLLeftNormalForm.h>
| Public Types | |
| typedef triple< int, int, list < Permutation > > | NF | 
| Presentation of a normal form. | |
| Public Member Functions | |
| BKLLeftNormalForm () | |
| Create trivial normal form. | |
| BKLLeftNormalForm (const BKLLeftNormalForm &bkl) | |
| Copy constructor. | |
| BKLLeftNormalForm (int rank, int p, const list< Permutation > &d) | |
| Create normal form by its presentation (no check that given presentation is correct, use adjustDecomposition if the presentation is incorrect). | |
| BKLLeftNormalForm (const NF &bkl) | |
| Create normal form by its presentation (no check that given presentation is correct, use adjustDecomposition if the presentation is incorrect). | |
| BKLLeftNormalForm (const BraidGroup &G, const Word &w) | |
| Create a normal form of a braid word. | |
| BKLLeftNormalForm & | operator= (const BKLLeftNormalForm &bkl) | 
| Assignment operator. | |
| BKLLeftNormalForm & | operator= (const NF &bkl) | 
| Assignment operator. | |
| BKLLeftNormalForm & | operator*= (const BKLLeftNormalForm &bkl) | 
| BKLLeftNormalForm | operator* (const BKLLeftNormalForm &bkl) const | 
| BKLLeftNormalForm | operator- () const | 
| bool | operator== (const BKLLeftNormalForm &bkl) const | 
| bool | operator!= (const BKLLeftNormalForm &bkl) const | 
| bool | operator< (const BKLLeftNormalForm &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. | |
| pair< bool, Word > | areConjugate (const BKLLeftNormalForm &bkl) const | 
| Check if two normal forms are conjugate. | |
| pair< BKLLeftNormalForm, BKLLeftNormalForm > | cycle () const | 
| Cycle operation. | |
| pair< BKLLeftNormalForm, BKLLeftNormalForm > | decycle () const | 
| Decycle operation. | |
| pair< BKLLeftNormalForm, BKLLeftNormalForm > | findSSSRepresentative () const | 
| Find a representative of the supper summit set. | |
| 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  . | |
| Private Types | |
| enum | transformationResult { TWO_MULTIPLIERS, ONE_MULTIPLIER, NO_CHANGE } | 
| The result of the transformation.More... | |
| Private Member Functions | |
| NF | inverse () const | 
| Invert the normal form. | |
| NF | multiply (const BKLLeftNormalForm &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. | |
| static set< Permutation > | getSimpleConjugators (const NF &bkl) | 
| Function returns a set of permutation braids (well, permutations) such that ... Must be checked. | |
| static set< Permutation > | getSimpleSummitConjugators (const NF &bkl) | 
| Function returns a set of permutation braids (well, permutations) such that ... Must be checked. | |
| static void | adjustDecomposition (int rank, int &power, list< Permutation > &decomp) | 
| Function adjusting the decomposition in a normal form. | |
| Private Attributes | |
| int | theRank | 
| The rank of the braid group (number of strands). | |
| int | theOmegaPower | 
| Power of omega. | |
| list< Permutation > | theDecomposition | 
| Sequence of permutations. | |
Birman-Ko-Lee left normal form.
The standard presentation for BKL is a pair  , where
, where  and each
 and each  is a permutation.
 is a permutation. 
Definition at line 34 of file BKLLeftNormalForm.h.
| typedef triple< int , int , list< Permutation > > BKLLeftNormalForm::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 45 of file BKLLeftNormalForm.h.
| enum BKLLeftNormalForm::transformationResult  [private] | 
The result of the transformation.
Definition at line 192 of file BKLLeftNormalForm.h.
| BKLLeftNormalForm::BKLLeftNormalForm | ( | ) |  [inline] | 
Create trivial normal form.
Definition at line 55 of file BKLLeftNormalForm.h.
| BKLLeftNormalForm::BKLLeftNormalForm | ( | const BKLLeftNormalForm & | bkl | ) |  [inline] | 
Copy constructor.
Definition at line 60 of file BKLLeftNormalForm.h.
| BKLLeftNormalForm::BKLLeftNormalForm | ( | int | rank, | |
| int | p, | |||
| const list< Permutation > & | d | |||
| ) |  [inline] | 
Create normal form by its presentation (no check that given presentation is correct, use adjustDecomposition if the presentation is incorrect).
Definition at line 66 of file BKLLeftNormalForm.h.
| BKLLeftNormalForm::BKLLeftNormalForm | ( | const NF & | bkl | ) |  [inline] | 
Create normal form by its presentation (no check that given presentation is correct, use adjustDecomposition if the presentation is incorrect).
Definition at line 72 of file BKLLeftNormalForm.h.
| BKLLeftNormalForm::BKLLeftNormalForm | ( | const BraidGroup & | G, | |
| const Word & | w | |||
| ) | 
Create a normal form of a braid word.
| static void BKLLeftNormalForm::adjustDecomposition | ( | int | rank, | |
| int & | power, | |||
| list< Permutation > & | decomp | |||
| ) |  [static, private] | 
Function adjusting the decomposition in a normal form.
| pair< bool , Word > BKLLeftNormalForm::areConjugate | ( | const BKLLeftNormalForm & | bkl | ) | const | 
Check if two normal forms are conjugate.
| pair< BKLLeftNormalForm , BKLLeftNormalForm > BKLLeftNormalForm::cycle | ( | ) | const | 
Cycle operation.
| pair< BKLLeftNormalForm , BKLLeftNormalForm > BKLLeftNormalForm::decycle | ( | ) | const | 
Decycle operation.
| pair< BKLLeftNormalForm , BKLLeftNormalForm > BKLLeftNormalForm::findSSSRepresentative | ( | ) | const | 
Find a representative of the supper summit set.
| const list< Permutation >& BKLLeftNormalForm::getDecomposition | ( | ) | const  [inline] | 
Get the decomposition.
Definition at line 126 of file BKLLeftNormalForm.h.
References theDecomposition.
| int BKLLeftNormalForm::getPower | ( | ) | const  [inline] | 
Get the power of omega.
Definition at line 124 of file BKLLeftNormalForm.h.
References theOmegaPower.
| static set<Permutation> BKLLeftNormalForm::getSimpleConjugators | ( | const NF & | bkl | ) |  [static, private] | 
Function returns a set of permutation braids (well, permutations) such that ... Must be checked.
| static set<Permutation> BKLLeftNormalForm::getSimpleSummitConjugators | ( | const NF & | bkl | ) |  [static, private] | 
Function returns a set of permutation braids (well, permutations) such that ... Must be checked.
| static Permutation BKLLeftNormalForm::getTinyTwistPermutation | ( | int | theIndex | ) |  [inline, static] | 
Returns a cyclic permutation  .
. 
Definition at line 135 of file BKLLeftNormalForm.h.
| Word BKLLeftNormalForm::getWord | ( | ) | const | 
Return a word represented by the normal form.
| NF BKLLeftNormalForm::inverse | ( | ) | const  [private] | 
Invert the normal form.
| bool BKLLeftNormalForm::isTrivial | ( | ) | const  [inline] | 
Check if the normal form os trivial.
Definition at line 132 of file BKLLeftNormalForm.h.
References theDecomposition, and theOmegaPower.
| NF BKLLeftNormalForm::multiply | ( | const BKLLeftNormalForm & | bkl | ) | const  [private] | 
Multiply the normal form by another normal form on the right.
| BKLLeftNormalForm::operator NF | ( | ) | const  [inline] | 
Get the presentation of the normal form.
Definition at line 129 of file BKLLeftNormalForm.h.
References theDecomposition, theOmegaPower, and theRank.
| bool BKLLeftNormalForm::operator!= | ( | const BKLLeftNormalForm & | bkl | ) | const | 
| BKLLeftNormalForm BKLLeftNormalForm::operator* | ( | const BKLLeftNormalForm & | bkl | ) | const | 
| BKLLeftNormalForm& BKLLeftNormalForm::operator*= | ( | const BKLLeftNormalForm & | bkl | ) | 
| BKLLeftNormalForm BKLLeftNormalForm::operator- | ( | ) | const | 
| bool BKLLeftNormalForm::operator< | ( | const BKLLeftNormalForm & | bkl | ) | const | 
| BKLLeftNormalForm& BKLLeftNormalForm::operator= | ( | const NF & | bkl | ) |  [inline] | 
Assignment operator.
Definition at line 91 of file BKLLeftNormalForm.h.
References triple< T1, T2, T3 >::first, triple< T1, T2, T3 >::second, theDecomposition, theOmegaPower, theRank, and triple< T1, T2, T3 >::third.
| BKLLeftNormalForm& BKLLeftNormalForm::operator= | ( | const BKLLeftNormalForm & | bkl | ) |  [inline] | 
Assignment operator.
Definition at line 83 of file BKLLeftNormalForm.h.
References theDecomposition, theOmegaPower, and theRank.
| bool BKLLeftNormalForm::operator== | ( | const BKLLeftNormalForm & | bkl | ) | const | 
| void BKLLeftNormalForm::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).
. The result might be an incorrect form (not satisfying some gready conditions of this BKL form). 
Definition at line 171 of file BKLLeftNormalForm.h.
References theDecomposition.
| void BKLLeftNormalForm::setPower | ( | int | p | ) |  [inline] | 
Set the power of  . The result is always a correct normal form.
. The result is always a correct normal form. 
Definition at line 167 of file BKLLeftNormalForm.h.
References theOmegaPower.
| static transformationResult BKLLeftNormalForm::transform | ( | int | theIndex, | |
| Permutation & | p1, | |||
| Permutation & | p2 | |||
| ) |  [static, private] | 
Main function for computing the normal form of the word.
| list< Permutation > BKLLeftNormalForm::theDecomposition  [private] | 
Sequence of permutations.
Definition at line 227 of file BKLLeftNormalForm.h.
Referenced by getDecomposition(), isTrivial(), operator NF(), operator=(), and setDecomposition().
| int BKLLeftNormalForm::theOmegaPower  [private] | 
Power of omega.
Definition at line 224 of file BKLLeftNormalForm.h.
Referenced by getPower(), isTrivial(), operator NF(), operator=(), and setPower().
| int BKLLeftNormalForm::theRank  [private] | 
The rank of the braid group (number of strands).
Definition at line 221 of file BKLLeftNormalForm.h.
Referenced by operator NF(), and operator=().
 1.6.1
 1.6.1