Cadabra Computer algebra system for field theory problems
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 >

## ◆ symmetriser()

template<class T >

## ◆ apply_symmetry()

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

## ◆ clear()

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

## ◆ collect()

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

Collect equal entries, and adjust the multiplier field accordingly.

## ◆ operator[]()

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

## ◆ remove_multiplicity_zero()

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

## ◆ set_multiplicity()

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

## ◆ signature()

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

## ◆ size()

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

## ◆ values_to_locations()

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

## ◆ symm_helper< T >

template<class T >
 friend class symm_helper< T >
friend

## ◆ symm_val_helper< T >

template<class T >
 friend class symm_val_helper< T >
friend

## ◆ block_length

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

## ◆ current_

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

## ◆ input_asym

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

## ◆ multiplicity

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

## ◆ original

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

## ◆ originals

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

## ◆ permutation_sign

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

## ◆ permute_blocks

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

## ◆ sh_

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

## ◆ sublengths

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

## ◆ sublengths_scattered

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

## ◆ svh_

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

## ◆ value_permute

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

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