OKlibrary  0.2.1.6
OKlib::SetAlgorithms::Subsumption_hypergraph< RangeF, RangeG, Int > Class Template Reference

Constructing the subsumption hypergraph. More...

#include <SubsumptionHypergraph.hpp>

List of all members.

Public Types

typedef Int vertex_type
typedef std::vector< vertex_typehyperedge_type
typedef std::vector
< hyperedge_type
set_system_type

Public Member Functions

 Subsumption_hypergraph (const RangeF &f_range, const RangeG &g_range)

Public Attributes

const hyperedge_type vertex_set
const set_system_type hyperedges

Detailed Description

template<class RangeF, class RangeG, typename Int = typename boost::range_difference<RangeF>::type>
class OKlib::SetAlgorithms::Subsumption_hypergraph< RangeF, RangeG, Int >

Constructing the subsumption hypergraph.

Given two set systems F and G, as ranges of ranges (of type RangeF and RangeG respectively) of type Int, constructs the standardised ordered subsumption hypergraph.

The subsumption hypergraph is available as the object constructed by this class, with the vertex set (vertex_set) as the list (1,...,length(F)) and the hyperedge set as the list (H_1,...,H_|G|) where for all 1 <= j <= |G| we have that H_j is the sublist of (1,...,|F|), i is in H_j if F_i subsumes G_j and H_j is a list of Int.

The Maxima-specification is subsumption_std_ohg(F,G) (see ComputerAlgebra/Hypergraphs/Lisp/Basics.mac).

Definition at line 101 of file SubsumptionHypergraph.hpp.


Member Typedef Documentation

template<class RangeF, class RangeG, typename Int = typename boost::range_difference<RangeF>::type>
typedef std::vector<vertex_type> OKlib::SetAlgorithms::Subsumption_hypergraph< RangeF, RangeG, Int >::hyperedge_type

The type of container for hyperedges associated with the subsumption hypergraph.

Definition at line 111 of file SubsumptionHypergraph.hpp.

template<class RangeF, class RangeG, typename Int = typename boost::range_difference<RangeF>::type>
typedef std::vector<hyperedge_type> OKlib::SetAlgorithms::Subsumption_hypergraph< RangeF, RangeG, Int >::set_system_type

The type of the set system corresponding to the subsumption hypergraph itself, and specifically the container of it's hyperedges (see Subsumption_hypergraph::hyperedges).

Definition at line 115 of file SubsumptionHypergraph.hpp.

template<class RangeF, class RangeG, typename Int = typename boost::range_difference<RangeF>::type>
typedef Int OKlib::SetAlgorithms::Subsumption_hypergraph< RangeF, RangeG, Int >::vertex_type

The type of vertices associated with the subsumption hypergraph. Note here that these are index/integral types as the hypergraph is standardised.

Definition at line 108 of file SubsumptionHypergraph.hpp.


Constructor & Destructor Documentation

template<class RangeF, class RangeG, typename Int = typename boost::range_difference<RangeF>::type>
OKlib::SetAlgorithms::Subsumption_hypergraph< RangeF, RangeG, Int >::Subsumption_hypergraph ( const RangeF &  f_range,
const RangeG &  g_range 
) [inline]

Definition at line 127 of file SubsumptionHypergraph.hpp.


Member Data Documentation

template<class RangeF, class RangeG, typename Int = typename boost::range_difference<RangeF>::type>
const set_system_type OKlib::SetAlgorithms::Subsumption_hypergraph< RangeF, RangeG, Int >::hyperedges

The hyperedges of the subsumption hypergraph, one for each set in G and a vertex in each edge H for each set in F which subsumes the set in G corresponding to H.

Definition at line 125 of file SubsumptionHypergraph.hpp.

Referenced by OKlib::SetAlgorithms::subsumption_hypergraph().

template<class RangeF, class RangeG, typename Int = typename boost::range_difference<RangeF>::type>
const hyperedge_type OKlib::SetAlgorithms::Subsumption_hypergraph< RangeF, RangeG, Int >::vertex_set

The list of vertices in the subsumption hypergraph, one for every set in F. Note here that these are index/integral types as the hypergraph is standardised.

Definition at line 121 of file SubsumptionHypergraph.hpp.


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