PermLib
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends

permlib::Permutation Class Reference

Permutation class storing all values explicitly. More...

#include <permutation.h>

List of all members.

Public Types

typedef std::vector< dom_int > perm
 typedef for permutation image
typedef boost::shared_ptr
< Permutation
ptr
 boost shared_ptr of this class

Public Member Functions

 Permutation (dom_int n)
 constructs identity permutation acting on n elements
 Permutation (dom_int n, const std::string &cycles)
 constructs permutation acting on n elements, given by string in cycle form
 Permutation (const perm &p)
 sort of copy constructor
 Permutation (const Permutation &p)
 copy constructor
template<class InputIterator >
 Permutation (InputIterator begin, InputIterator end)
 construct from dom_int-iterator
Permutation operator* (const Permutation &p) const
 permutation multiplication from the right
Permutationoperator*= (const Permutation &p)
 permutation inplace multiplication from the right
Permutationoperator^= (const Permutation &p)
 permutation inplace multiplication from the left
Permutation operator~ () const
 permutation inversion
PermutationinvertInplace ()
 permutation inplace inversion
bool operator== (const Permutation &p2) const
 equals operator
dom_int operator/ (dom_int val) const
 lets permutation act on val
dom_int at (dom_int val) const
 lets permutation act on val
dom_int operator% (dom_int val) const
 lets inverse permutation act on val, i.e. compute j such that (this->at(j) == val)
bool isIdentity () const
 returns true if this permutation is identity
void flush ()
 dummy stub for interface compatability with PermutationWord
dom_int size () const
 number of points this permutation acts on
void setTransposition (dom_int pos, dom_int val)
 updates this permutation such that pos is mapped onto val and val onto pos

Protected Member Functions

 Permutation (dom_int n, bool)
 INTERNAL ONLY: constructs an "empty" permutation, i.e. without element mapping.

Protected Attributes

perm m_perm
 defintion of permutation behavior
bool m_isIdentity
 if set to true, permutation is identity; if set to false then it is not known whether this is identity;

Friends

std::ostream & operator<< (std::ostream &out, const Permutation &p)
 output in cycle form

Detailed Description

Permutation class storing all values explicitly.


Member Function Documentation

bool permlib::Permutation::isIdentity ( ) const [inline]

returns true if this permutation is identity

This is done by checking the image of every point.

Permutation & permlib::Permutation::operator*= ( const Permutation p) [inline]

permutation inplace multiplication from the right

i.e. THIS := THIS * p

Permutation & permlib::Permutation::operator^= ( const Permutation p) [inline]

permutation inplace multiplication from the left

i.e. THIS := p * THIS


The documentation for this class was generated from the following file: