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

## ◆ range_t

 typedef std::vector combin::range_t

## ◆ range_vector_t

 typedef std::vector combin::range_vector_t

## ◆ weights_t

 typedef std::vector combin::weights_t

## ◆ 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 ( T 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