combin::symmetriser< T > Class Template Reference

#include <combinatorics.hh>

List of all members.

Public Member Functions

 symmetriser ()
void apply_symmetry (long start=-1, long end=-1)
range_t values_to_locations (const std::vector< T > &values) const
const std::vector< T > & operator[] (unsigned int) const
int signature (unsigned int) const
void set_multiplicity (unsigned int pos, int val)
unsigned int size () const
void clear ()
void collect ()
 Collect equal entries, and adjust the multiplier field accordingly.
void remove_multiplicity_zero ()

Public Attributes

std::vector< T > original
unsigned int block_length
std::vector< unsigned int > permute_blocks
std::vector< T > value_permute
int permutation_sign
std::vector< unsigned int > sublengths
range_vector_t input_asym
range_vector_t sublengths_scattered

Private Attributes

symm_helper< T > sh_
symm_val_helper< T > svh_
unsigned int current_
std::vector< std::vector<
T > > 
originals
std::vector< int > multiplicity

Friends

class symm_helper< T >
class symm_val_helper< T >

template<class T>
class combin::symmetriser< T >


Constructor & Destructor Documentation

template<class T>
combin::symmetriser< T >::symmetriser  ) 
 


Member Function Documentation

template<class T>
void combin::symmetriser< T >::apply_symmetry long  start = -1,
long  end = -1
 

template<class T>
void combin::symmetriser< T >::clear  ) 
 

template<class T>
void combin::symmetriser< T >::collect  ) 
 

Collect equal entries, and adjust the multiplier field accordingly.

template<class T>
const std::vector< T > & combin::symmetriser< T >::operator[] unsigned  int  )  const
 

template<class T>
void combin::symmetriser< T >::remove_multiplicity_zero  ) 
 

template<class T>
void combin::symmetriser< T >::set_multiplicity unsigned int  pos,
int  val
 

template<class T>
int combin::symmetriser< T >::signature unsigned  int  )  const
 

template<class T>
unsigned int combin::symmetriser< T >::size  )  const
 

template<class T>
range_t combin::symmetriser< T >::values_to_locations const std::vector< T > &  values  )  const
 

Convert vectors of values to vectors of locations in the original (mainly useful to create input_asym for permutation by value).


Friends And Related Function Documentation

template<class T>
friend class symm_helper< T > [friend]
 

template<class T>
friend class symm_val_helper< T > [friend]
 


Member Data Documentation

template<class T>
unsigned int combin::symmetriser< T >::block_length
 

template<class T>
unsigned int combin::symmetriser< T >::current_ [private]
 

template<class T>
range_vector_t combin::symmetriser< T >::input_asym
 

template<class T>
std::vector<int> combin::symmetriser< T >::multiplicity [private]
 

template<class T>
std::vector<T> combin::symmetriser< T >::original
 

template<class T>
std::vector<std::vector<T> > combin::symmetriser< T >::originals [private]
 

template<class T>
int combin::symmetriser< T >::permutation_sign
 

template<class T>
std::vector<unsigned int> combin::symmetriser< T >::permute_blocks
 

template<class T>
symm_helper<T> combin::symmetriser< T >::sh_ [private]
 

template<class T>
std::vector<unsigned int> combin::symmetriser< T >::sublengths
 

template<class T>
range_vector_t combin::symmetriser< T >::sublengths_scattered
 

template<class T>
symm_val_helper<T> combin::symmetriser< T >::svh_ [private]
 

template<class T>
std::vector<T> combin::symmetriser< T >::value_permute
 


The documentation for this class was generated from the following file:
Generated on Sat Jul 18 23:03:19 2009 for cadabra by  doxygen 1.4.6