Cadabra
Computer algebra system for field theory problems
Classes | Typedefs | Functions
combin Namespace Reference

Classes

class  combinations_base
 
class  combinations
 
class  symmetriser
 
class  symm_helper
 
class  symm_val_helper
 

Typedefs

typedef std::vector< unsigned int > range_t
 
typedef std::vector< range_trange_vector_t
 
typedef std::vector< int > weights_t
 

Functions

unsigned long factorial (unsigned int x)
 
long vector_sum (const std::vector< int > &)
 sum of elements More...
 
unsigned long vector_prod (const std::vector< unsigned int > &)
 product of elements More...
 
unsigned long vector_prod_fact (const std::vector< unsigned int > &)
 product of factorials of elements More...
 
bool operator== (const std::vector< unsigned int > &, const std::vector< unsigned int > &)
 
long hash (const std::vector< unsigned int > &)
 compute a hash value for a vector of unsigned ints More...
 
int determine_intersection_ranges (const range_vector_t &prod, const range_vector_t &indv, range_vector_t &target)
 
template<class iterator1 , class iterator2 >
int ordersign (iterator1 b1, iterator1 e1, iterator2 b2, iterator2 e2, int stepsize=1)
 
template<class iterator1 >
int ordersign (iterator1 b1, iterator1 e1)
 
template<class T >
fact (T x)
 
template<class T >
std::ostream & operator<< (std::ostream &str, const symmetriser< T > &sym)
 

Typedef Documentation

◆ range_t

typedef std::vector<unsigned int> combin::range_t

◆ range_vector_t

typedef std::vector<range_t> combin::range_vector_t

◆ weights_t

typedef std::vector<int> combin::weights_t

Function Documentation

◆ determine_intersection_ranges()

int combin::determine_intersection_ranges ( const range_vector_t prod,
const range_vector_t indv,
combin::range_vector_t target 
)

◆ fact()

template<class T >
T combin::fact ( x)

◆ factorial()

unsigned long combin::factorial ( unsigned int  x)

◆ hash()

long combin::hash ( const std::vector< unsigned int > &  one)

compute a hash value for a vector of unsigned ints

◆ operator<<()

template<class T >
std::ostream & combin::operator<< ( std::ostream &  str,
const symmetriser< T > &  sym 
)

◆ operator==()

bool combin::operator== ( const std::vector< unsigned int > &  one,
const std::vector< unsigned int > &  two 
)

◆ ordersign() [1/2]

template<class iterator1 >
int combin::ordersign ( iterator1  b1,
iterator1  e1 
)

◆ ordersign() [2/2]

template<class iterator1 , class iterator2 >
int combin::ordersign ( iterator1  b1,
iterator1  e1,
iterator2  b2,
iterator2  e2,
int  stepsize = 1 
)

◆ vector_prod()

unsigned long combin::vector_prod ( const std::vector< unsigned int > &  v)

product of elements

◆ vector_prod_fact()

unsigned long combin::vector_prod_fact ( const std::vector< unsigned int > &  v)

product of factorials of elements

◆ vector_sum()

long combin::vector_sum ( const std::vector< int > &  v)

sum of elements