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

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)