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

Classes

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

Namespaces

 combin
 

Typedefs

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

Functions

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)