BKLLeftNormalForm Class Reference

Birman-Ko-Lee left normal form. More...

#include <BKLLeftNormalForm.h>

List of all members.

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.
BKLLeftNormalFormoperator= (const BKLLeftNormalForm &bkl)
 Assignment operator.
BKLLeftNormalFormoperator= (const NF &bkl)
 Assignment operator.
BKLLeftNormalFormoperator*= (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, WordareConjugate (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 $\Delta$. The result is always a correct normal form.
void setDecomposition (const list< Permutation > &d)
 Set the decomposition $(\xi_1,\ldots,\xi_m)$. 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 $\delta = (1,2,3,\ldots,n-1,0)$.

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< PermutationgetSimpleConjugators (const NF &bkl)
 Function returns a set of permutation braids (well, permutations) such that ... Must be checked.
static set< PermutationgetSimpleSummitConjugators (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< PermutationtheDecomposition
 Sequence of permutations.

Detailed Description

Birman-Ko-Lee left normal form.

The standard presentation for BKL is a pair $(p,(\xi_1,\ldots,\xi_m))$, where $p\in \mathbb{Z}$ and each $\xi_i \in S_n$ is a permutation.

Definition at line 34 of file BKLLeftNormalForm.h.


Member Typedef Documentation

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.


Member Enumeration Documentation

The result of the transformation.

Enumerator:
TWO_MULTIPLIERS 
ONE_MULTIPLIER 
NO_CHANGE 

Definition at line 192 of file BKLLeftNormalForm.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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 $\delta = (1,2,3,\ldots,n-1,0)$.

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]
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 $(\xi_1,\ldots,\xi_m)$. 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 $\Delta$. 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.


Member Data Documentation

Sequence of permutations.

Definition at line 227 of file BKLLeftNormalForm.h.

Referenced by getDecomposition(), isTrivial(), operator NF(), operator=(), and setDecomposition().

Power of omega.

Definition at line 224 of file BKLLeftNormalForm.h.

Referenced by getPower(), isTrivial(), operator NF(), operator=(), and setPower().

The rank of the braid group (number of strands).

Definition at line 221 of file BKLLeftNormalForm.h.

Referenced by operator NF(), and operator=().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Mon Sep 26 18:43:46 2011 for CRyptography And Groups (CRAG) by  doxygen 1.6.1