Cadabra
Computer algebra system for field theory problems
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Public Attributes | Private Attributes | Friends | List of all members
combin::symmetriser< T > Class Template Reference

#include <Combinatorics.hh>

Public Member Functions

 symmetriser ()
 
void apply_symmetry (long start=-1, long end=-1)
 
range_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). More...
 
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. More...
 
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 >
 

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  i) 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  i) 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: