Permutation Class Reference

#include <Permutation.h>

List of all members.

Public Member Functions

 Permutation (int l=0)
 Permutation (int size, const int *p)
 Permutation (const vector< int > &p)
int operator[] (int ind) const
int & operator[] (int ind)
bool operator== (const Permutation &p) const
bool operator!= (const Permutation &p) const
bool operator< (const Permutation &p) const
Permutation operator * (const Permutation &p) const
Permutationoperator *= (const Permutation &p)
Permutation operator- () const
Permutation inverse () const
Permutationleft_mult_by_cycle (const vector< int > &cycle)
void change (int i, int j)
const vector< int > & getVector () const
Permutation power (int p) const
int size () const
int difference (const Permutation &p) const
Permutation computeConjugacyClassRepresentative (Permutation &conj) const
Permutation computeConjugator (const Permutation &p) const
Permutation meet (const Permutation &p) const
Permutation meet2 (const Permutation &p) const
Permutation join2 (const Permutation &p) const
bool isTrivial () const
vector< int > geodesic () const
vector< int > getWordPresentation () const
Permutation tinyFlip (int sh) const

Static Public Member Functions

static Permutation CYCLE (int N, const vector< int > &cycle)
static void lr_multiply_by_cycles (Permutation &P, Permutation &I, const vector< int > &M1, const vector< int > &M2)
static Permutation random (int l)
static bool mixable (const Permutation &p1, const Permutation &p2)

Private Member Functions

void _sub_meet (const Permutation &p, const Permutation &ip1, const Permutation &ip2, Permutation &cur, int *left_indeces_a, int *left_indeces_b, int *right_indeces_a, int *right_indeces_b, int beg, int end) const
void prepare_pairs (int N, Permutation &P, vector< pair< int, int > > &pairs) const

Private Attributes

vector< int > theValue

Friends

class BraidGroup
ostream & operator<< (ostream &os, const Permutation &p)

Classes

struct  triple


Detailed Description

Definition at line 15 of file Permutation.h.


Constructor & Destructor Documentation

Permutation::Permutation int  l = 0  ) 
 

Permutation::Permutation int  size,
const int *  p
 

Permutation::Permutation const vector< int > &  p  ) 
 


Member Function Documentation

void Permutation::_sub_meet const Permutation p,
const Permutation ip1,
const Permutation ip2,
Permutation cur,
int *  left_indeces_a,
int *  left_indeces_b,
int *  right_indeces_a,
int *  right_indeces_b,
int  beg,
int  end
const [private]
 

void Permutation::change int  i,
int  j
[inline]
 

Definition at line 66 of file Permutation.h.

References theValue.

Permutation Permutation::computeConjugacyClassRepresentative Permutation conj  )  const
 

Permutation Permutation::computeConjugator const Permutation p  )  const
 

static Permutation Permutation::CYCLE int  N,
const vector< int > &  cycle
[static]
 

int Permutation::difference const Permutation p  )  const
 

vector<int> Permutation::geodesic  )  const
 

const vector< int >& Permutation::getVector  )  const [inline]
 

Definition at line 68 of file Permutation.h.

References theValue.

vector<int> Permutation::getWordPresentation  )  const
 

Permutation Permutation::inverse  )  const
 

Referenced by operator-().

bool Permutation::isTrivial  )  const
 

Permutation Permutation::join2 const Permutation p  )  const
 

Permutation& Permutation::left_mult_by_cycle const vector< int > &  cycle  ) 
 

static void Permutation::lr_multiply_by_cycles Permutation P,
Permutation I,
const vector< int > &  M1,
const vector< int > &  M2
[static]
 

Permutation Permutation::meet const Permutation p  )  const
 

Permutation Permutation::meet2 const Permutation p  )  const
 

static bool Permutation::mixable const Permutation p1,
const Permutation p2
[static]
 

Permutation Permutation::operator * const Permutation p  )  const
 

Permutation& Permutation::operator *= const Permutation p  ) 
 

bool Permutation::operator!= const Permutation p  )  const
 

Permutation Permutation::operator-  )  const [inline]
 

Definition at line 49 of file Permutation.h.

References inverse().

bool Permutation::operator< const Permutation p  )  const
 

bool Permutation::operator== const Permutation p  )  const
 

int& Permutation::operator[] int  ind  )  [inline]
 

Definition at line 42 of file Permutation.h.

References theValue.

int Permutation::operator[] int  ind  )  const [inline]
 

Definition at line 41 of file Permutation.h.

References theValue.

Permutation Permutation::power int  p  )  const
 

void Permutation::prepare_pairs int  N,
Permutation P,
vector< pair< int, int > > &  pairs
const [private]
 

static Permutation Permutation::random int  l  )  [static]
 

int Permutation::size  )  const [inline]
 

Definition at line 71 of file Permutation.h.

References theValue.

Permutation Permutation::tinyFlip int  sh  )  const
 


Friends And Related Function Documentation

friend class BraidGroup [friend]
 

Definition at line 145 of file Permutation.h.

ostream& operator<< ostream &  os,
const Permutation p
[friend]
 


Member Data Documentation

vector< int > Permutation::theValue [private]
 

Definition at line 149 of file Permutation.h.

Referenced by change(), getVector(), operator[](), and size().


The documentation for this class was generated from the following file:
Generated on Mon Feb 27 22:47:16 2006 for CRyptography And Groups (CRAG) by  doxygen 1.4.4