BKLRightNormalForm Class Reference

(Contains errors!!! Not to be used yet) Birman-Ko-Lee right normal form. More...

#include <BKLRightNormalForm.h>

List of all members.

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.
BKLRightNormalFormoperator= (const BKLRightNormalForm &bkl)
 Assignment operator.
BKLRightNormalFormoperator= (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 $\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)$.
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< PermutationtheDecomposition
 Sequence of permutations.

Detailed Description

(Contains errors!!! Not to be used yet) Birman-Ko-Lee right 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 37 of file BKLRightNormalForm.h.


Member Typedef Documentation

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.


Member Enumeration Documentation

The result of the transformation.

Enumerator:
TWO_MULTIPLIERS 
ONE_MULTIPLIER 
NO_CHANGE 

Definition at line 193 of file BKLRightNormalForm.h.


Constructor & Destructor Documentation

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.


Member Function Documentation

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

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]

Invert a normal form.

Definition at line 113 of file BKLRightNormalForm.h.

References inverse().

bool BKLRightNormalForm::operator< ( const BKLRightNormalForm bkl  )  const
BKLRightNormalForm& BKLRightNormalForm::operator= ( const NF bkl  )  [inline]
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 $(\xi_1,\ldots,\xi_m)$. 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 $\Delta$. 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.


Member Data Documentation

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


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