Computer algebra system for field theory problems
Classes | Namespaces | Typedefs | Functions
Combinatorics.hh File Reference
#include <vector>
#include <cassert>
#include <algorithm>
#include <iomanip>
#include <iostream>
#include <map>

Go to the source code of this file.


class  combin::combinations_base< T >
class  combin::combinations< T >
class  combin::symm_helper< T >
class  combin::symm_val_helper< T >
class  combin::symmetriser< T >




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


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