OKlibrary  0.2.1.6
OKlib::Combinatorics::Hypergraphs::Generators::GreenTao< UInt > Class Template Reference

Class for creating GreenTao hypergraphs. More...

#include <GreenTao.hpp>

List of all members.

Public Types

typedef UInt vertex_type
typedef std::vector< vertex_typehyperedge_type
typedef std::vector
< hyperedge_type
set_system_type
typedef set_system_type::size_type size_type

Public Member Functions

 GreenTao (const vertex_type k, const vertex_type n)
 GreenTao (const vertex_type k, const vertex_type n, const hyperedge_type &V)
size_type nver () const
size_type max_index () const
size_type nhyp () const
const hyperedge_typevertex_set () const
set_system_type hyperedge_set () const
bool prime (const vertex_type e) const

Public Attributes

const vertex_type k
const bool prime_k

Static Public Attributes

static const unsigned int max_k = 19
static const unsigned int rounds_compositeness_test = 10

Detailed Description

template<typename UInt = unsigned long>
class OKlib::Combinatorics::Hypergraphs::Generators::GreenTao< UInt >

Class for creating GreenTao hypergraphs.

Specification: arithprog_primes_ohg(k,n) in ComputerAlgebra/Hypergraphs/Lisp/Generators/GreenTao.mac, together with nver_arithprog_primes_ohg and nhyp_arithprog_primes_ohg.

The hypergraph is represented as a vector of vectors.

Todo:
Complete implementation
  • DONE Provide an alternative constructor which just copies the vertex set.
  • Missing is member function nhyp.
  • Shouldn't member function vertex_set return a const reference?
  • We need a member function, which for given 1 <= i <= n just computes the vector of hyperedges ending with prime p_i. This is useful on its own (for cumulative computations), and should also be used for computing all hyperedges.
  • The hyperedges should be alternatively provided by just a nested iterator, without storing the hyperedges.
Todo:
To be tested
  • Test the statistics-functions.

Definition at line 94 of file GreenTao.hpp.


Member Typedef Documentation

template<typename UInt = unsigned long>
typedef std::vector<vertex_type> OKlib::Combinatorics::Hypergraphs::Generators::GreenTao< UInt >::hyperedge_type

Definition at line 97 of file GreenTao.hpp.

template<typename UInt = unsigned long>
typedef std::vector<hyperedge_type> OKlib::Combinatorics::Hypergraphs::Generators::GreenTao< UInt >::set_system_type

Definition at line 98 of file GreenTao.hpp.

template<typename UInt = unsigned long>
typedef set_system_type::size_type OKlib::Combinatorics::Hypergraphs::Generators::GreenTao< UInt >::size_type

Definition at line 99 of file GreenTao.hpp.

template<typename UInt = unsigned long>
typedef UInt OKlib::Combinatorics::Hypergraphs::Generators::GreenTao< UInt >::vertex_type

Definition at line 96 of file GreenTao.hpp.


Constructor & Destructor Documentation

template<typename UInt = unsigned long>
OKlib::Combinatorics::Hypergraphs::Generators::GreenTao< UInt >::GreenTao ( const vertex_type  k,
const vertex_type  n 
) [inline]
template<typename UInt = unsigned long>
OKlib::Combinatorics::Hypergraphs::Generators::GreenTao< UInt >::GreenTao ( const vertex_type  k,
const vertex_type  n,
const hyperedge_type V 
) [inline]

Member Function Documentation

template<typename UInt = unsigned long>
size_type OKlib::Combinatorics::Hypergraphs::Generators::GreenTao< UInt >::max_index ( ) const [inline]

Definition at line 123 of file GreenTao.hpp.

template<typename UInt = unsigned long>
size_type OKlib::Combinatorics::Hypergraphs::Generators::GreenTao< UInt >::nhyp ( ) const
template<typename UInt = unsigned long>
size_type OKlib::Combinatorics::Hypergraphs::Generators::GreenTao< UInt >::nver ( ) const [inline]

Definition at line 122 of file GreenTao.hpp.

template<typename UInt = unsigned long>
bool OKlib::Combinatorics::Hypergraphs::Generators::GreenTao< UInt >::prime ( const vertex_type  e) const [inline]
template<typename UInt = unsigned long>
const hyperedge_type& OKlib::Combinatorics::Hypergraphs::Generators::GreenTao< UInt >::vertex_set ( ) const [inline]

Member Data Documentation

template<typename UInt = unsigned long>
const unsigned int OKlib::Combinatorics::Hypergraphs::Generators::GreenTao< UInt >::max_k = 19 [static]
template<typename UInt = unsigned long>
const bool OKlib::Combinatorics::Hypergraphs::Generators::GreenTao< UInt >::prime_k
template<typename UInt = unsigned long>
const unsigned int OKlib::Combinatorics::Hypergraphs::Generators::GreenTao< UInt >::rounds_compositeness_test = 10 [static]

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