Cadabra
Computer algebra system for field theory problems
|
#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 > |
combin::symmetriser< T >::symmetriser |
void combin::symmetriser< T >::apply_symmetry | ( | long | start = -1 , |
long | end = -1 |
||
) |
void combin::symmetriser< T >::clear |
void combin::symmetriser< T >::collect |
Collect equal entries, and adjust the multiplier field accordingly.
const std::vector< T > & combin::symmetriser< T >::operator[] | ( | unsigned int | i | ) | const |
void combin::symmetriser< T >::remove_multiplicity_zero |
void combin::symmetriser< T >::set_multiplicity | ( | unsigned int | pos, |
int | val | ||
) |
int combin::symmetriser< T >::signature | ( | unsigned int | i | ) | const |
unsigned int combin::symmetriser< T >::size |
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).
|
friend |
|
friend |
unsigned int combin::symmetriser< T >::block_length |
|
private |
range_vector_t combin::symmetriser< T >::input_asym |
|
private |
std::vector<T> combin::symmetriser< T >::original |
|
private |
int combin::symmetriser< T >::permutation_sign |
std::vector<unsigned int> combin::symmetriser< T >::permute_blocks |
|
private |
std::vector<unsigned int> combin::symmetriser< T >::sublengths |
range_vector_t combin::symmetriser< T >::sublengths_scattered |
|
private |
std::vector<T> combin::symmetriser< T >::value_permute |