OKlibrary  0.2.1.6
Ramsey::Enumerate_hyperedges< Int > Class Template Reference

Computing the hypergraphs underlying Ramsey-instances. More...

#include <Ramsey.hpp>

List of all members.

Public Types

typedef Int size_type
typedef std::vector< size_typeedge_type
typedef std::vector< edge_typehyperedge_type

Public Member Functions

 Enumerate_hyperedges (const size_type q, const size_type r, const size_type n)
void next ()

Public Attributes

const size_type q
const size_type r
const size_type n
const size_type number_vertices_hypergraph
const size_type size_hyperedges
const size_type number_hyperedges
hyperedge_type current_hyperedge

Detailed Description

template<typename Int = int>
class Ramsey::Enumerate_hyperedges< Int >

Computing the hypergraphs underlying Ramsey-instances.

The procedural specification is given by ramsey_ohg(q,r,n) in ComputerAlgebra/Hypergraphs/Lisp/Generators/Ramsey.mac.

That is, vertices are the r-subsets of {1, ..., n}, and for every q-subset T of {1, ..., n} there is the hyperedge of r-subsets of T. Precondition: n >= q >= r >= 0.

Todo:
See ComputerAlgebra/Hypergraphs/Lisp/Generators/plans/Ramsey.hpp
Todo:
Update the underlying notion of "hypergraph"

Definition at line 58 of file Ramsey.hpp.


Member Typedef Documentation

template<typename Int = int>
typedef std::vector<size_type> Ramsey::Enumerate_hyperedges< Int >::edge_type

Definition at line 67 of file Ramsey.hpp.

template<typename Int = int>
typedef std::vector<edge_type> Ramsey::Enumerate_hyperedges< Int >::hyperedge_type

Definition at line 68 of file Ramsey.hpp.

template<typename Int = int>
typedef Int Ramsey::Enumerate_hyperedges< Int >::size_type

Definition at line 60 of file Ramsey.hpp.


Constructor & Destructor Documentation

template<typename Int = int>
Ramsey::Enumerate_hyperedges< Int >::Enumerate_hyperedges ( const size_type  q,
const size_type  r,
const size_type  n 
) [inline]

Member Function Documentation

template<typename Int = int>
void Ramsey::Enumerate_hyperedges< Int >::next ( ) [inline]

Definition at line 83 of file Ramsey.hpp.

References Combinatorics::choose_next(), and Combinatorics::no_further_subsets.


Member Data Documentation

template<typename Int = int>
const size_type Ramsey::Enumerate_hyperedges< Int >::n

Definition at line 63 of file Ramsey.hpp.

template<typename Int = int>
const size_type Ramsey::Enumerate_hyperedges< Int >::number_hyperedges

Definition at line 66 of file Ramsey.hpp.

template<typename Int = int>
const size_type Ramsey::Enumerate_hyperedges< Int >::number_vertices_hypergraph

Definition at line 64 of file Ramsey.hpp.

template<typename Int = int>
const size_type Ramsey::Enumerate_hyperedges< Int >::q

Definition at line 61 of file Ramsey.hpp.

template<typename Int = int>
const size_type Ramsey::Enumerate_hyperedges< Int >::r

Definition at line 62 of file Ramsey.hpp.

template<typename Int = int>
const size_type Ramsey::Enumerate_hyperedges< Int >::size_hyperedges

The documentation for this class was generated from the following file: