polybori::BooleSet Class Reference

#include <BooleSet.h>

Inheritance diagram for polybori::BooleSet:

polybori::CCuddDDFacade< RingType, DiagramType > polybori::CApplyNodeFacade< DiagramType, DdNode * > polybori::CAuxTypes polybori::groebner::LLReductor polybori::groebner::MinimalLeadingTerms polybori::groebner::TermsFacade< NewType > polybori::groebner::TermsFacade< polybori::groebner::LeadingTerms > polybori::groebner::TermsFacade< polybori::groebner::LeadingTerms00 > polybori::groebner::TermsFacade< polybori::groebner::LeadingTerms11 > polybori::groebner::TermsFacade< polybori::groebner::MonomialPlusOneTerms > polybori::groebner::TermsFacade< polybori::groebner::MonomialTerms >

List of all members.

Public Types

typedef self dd_type
 Generic access to type of *this.
typedef CCuddDDFacade
< BoolePolyRing, BooleSet
base
 Generic access to base type.
typedef BooleMonomial term_type
 Type of terms.
typedef BooleExponent exp_type
 Fix type for treatment of exponent vectors.
typedef BoolePolyRing ring_type
 Type for Boolean polynomial rings (without ordering).
typedef CGenericIter< LexOrder,
navigator, term_type
const_iterator
 Iterator type for iterating all monomials.
typedef CGenericIter< LexOrder,
navigator, exp_type
exp_iterator
 Iterator type for iterating all exponent vectors.
typedef CReverseIter< LexOrder,
navigator, exp_type
reverse_exp_iterator
 Iterator type for iterating all exponent vectors.
typedef CReverseIter< LexOrder,
navigator, term_type
const_reverse_iterator
 Iterator type for iterating all monomials.

Public Member Functions

 BooleSet (const self &rhs)
 Copy constructor.
 BooleSet (const base &rhs)
 Copy constructor.
 BooleSet (idx_type idx, const self &first, const self &second)
 Construct new node.
 BooleSet (idx_type idx, navigator first, navigator second, const ring_type &ring)
 Construct new node (using navigator nodes).
 BooleSet (const ring_type &ring, node_ptr node)
 Construct new node (using nodes).
 BooleSet (const ring_type &ring, navigator navi)
 Construct new node (using navigator nodes).
 BooleSet (const ring_type &ring)
 Construct empty set in ring.
 BooleSet (idx_type idx, const self &rhs)
 Construct new node (using navigator for then and else-branches).
 BooleSet (navigator navi, const ring_type &ring)
 Construct from navigator node.
 ~BooleSet ()
 Destructor.
const_iterator begin () const
 Start of iteration over terms.
const_iterator end () const
 Finish of iteration over terms.
const_reverse_iterator rbegin () const
 Start of backward iteration over terms.
const_reverse_iterator rend () const
 Finish of backward iteration over terms.
reverse_exp_iterator rExpBegin () const
 Start of backward exponent iteration over terms.
reverse_exp_iterator rExpEnd () const
 Finish of backward iteration over terms.
exp_iterator expBegin () const
 Start of iteration over exponent vectors.
exp_iterator expEnd () const
 Finish of iteration over exponent vectors.
hash_type hash () const
 Get unique hash value (valid only per runtime).
hash_type stableHash () const
 Get stable hash value, which is reproducible.
term_type usedVariables () const
 Set of variables of the whole set.
exp_type usedVariablesExp () const
 Exponent vector of variables of the whole set.
self change (idx_type idx) const
self add (const term_type &rhs) const
 Add given monomial to sets.
bool_type owns (const term_type &rhs) const
bool_type owns (const exp_type &) const
 Check whether rhs is included in *this.
term_type lastLexicographicalTerm () const
 Get last term (wrt. lexicographical order).
self divisorsOf (const term_type &rhs) const
 Compute intersection with divisors of rhs.
self divisorsOf (const exp_type &rhs) const
 Compute intersection with divisors of rhs.
self firstDivisorsOf (const self &rhs) const
 Intersection with divisors of first (lexicographical) term of rhs.
self multiplesOf (const term_type &rhs) const
 Compute intersection with multiples of rhs.
self divide (const term_type &rhs) const
 Division by given term.
bool_type hasTermOfVariables (const term_type &rhs) const
self minimalElements () const
 Get minimal elements wrt. inclusion.
bool_type ownsOne () const
 Test whether the empty set is included.
bool_type isSingleton () const
 Test, whether we have one term only.
bool_type isSingletonOrPair () const
 Test, whether we have one or two terms only.
bool_type isPair () const
 Test, whether we have two terms only.
self existAbstract (const term_type &rhs) const
const selfdiagram () const
 Access internal decision diagram.
self cartesianProduct (const self &rhs) const
 Cartesean product.
bool_type contains (const self &rhs) const
 Test containment.
size_type size () const
 Returns number of terms.
size_type length () const
 Returns number of terms (deprecated).
size_type nVariables () const
 Returns number of variables in manager.
double sizeDouble () const
 Approximation of number of terms.
ostream_typeprint (ostream_type &) const
 Print current set to output stream.
self emptyElement () const
 Get corresponding zero element (may be removed in the future).
size_type countIndex (idx_type idx) const
 Count terms containing BooleVariable(idx).
double countIndexDouble (idx_type idx) const
 Count many terms containing BooleVariable(idx).
bool_type containsDivisorsOfDecDeg (const term_type &rhs) const
 Test whether, all divisors of degree -1 of term rhs are contained in this.
bool_type containsDivisorsOfDecDeg (const exp_type &rhs) const
 Test for term corresponding to exponent rhs.


Member Typedef Documentation

Generic access to type of *this.

Generic access to base type.

Reimplemented from polybori::CCuddDDFacade< RingType, DiagramType >.

Type of terms.

Fix type for treatment of exponent vectors.

Type for Boolean polynomial rings (without ordering).

Reimplemented from polybori::CCuddDDFacade< RingType, DiagramType >.

Iterator type for iterating all monomials.

Iterator type for iterating all exponent vectors.

Iterator type for iterating all exponent vectors.

Iterator type for iterating all monomials.


Constructor & Destructor Documentation

polybori::BooleSet::BooleSet ( const self rhs  )  [inline]

Copy constructor.

polybori::BooleSet::BooleSet ( const base rhs  )  [inline]

Copy constructor.

polybori::BooleSet::BooleSet ( idx_type  idx,
const self first,
const self second 
) [inline]

Construct new node.

polybori::BooleSet::BooleSet ( idx_type  idx,
navigator  first,
navigator  second,
const ring_type ring 
) [inline]

Construct new node (using navigator nodes).

polybori::BooleSet::BooleSet ( const ring_type ring,
node_ptr  node 
) [inline]

Construct new node (using nodes).

polybori::BooleSet::BooleSet ( const ring_type ring,
navigator  navi 
) [inline]

Construct new node (using navigator nodes).

polybori::BooleSet::BooleSet ( const ring_type ring  )  [inline]

Construct empty set in ring.

polybori::BooleSet::BooleSet ( idx_type  idx,
const self rhs 
) [inline]

Construct new node (using navigator for then and else-branches).

polybori::BooleSet::BooleSet ( navigator  navi,
const ring_type ring 
) [inline]

Construct from navigator node.

polybori::BooleSet::~BooleSet (  )  [inline]

Destructor.


Member Function Documentation

BooleSet::const_iterator polybori::BooleSet::begin (  )  const

BooleSet::const_iterator polybori::BooleSet::end (  )  const

BooleSet::const_reverse_iterator polybori::BooleSet::rbegin (  )  const

BooleSet::const_reverse_iterator polybori::BooleSet::rend (  )  const

Finish of backward iteration over terms.

References PBORI_TRACE_FUNC, and polybori::CCuddDDFacade< RingType, DiagramType >::ring().

BooleSet::reverse_exp_iterator polybori::BooleSet::rExpBegin (  )  const

BooleSet::reverse_exp_iterator polybori::BooleSet::rExpEnd (  )  const

BooleSet::exp_iterator polybori::BooleSet::expBegin (  )  const

BooleSet::exp_iterator polybori::BooleSet::expEnd (  )  const

hash_type polybori::BooleSet::hash (  )  const [inline]

Get unique hash value (valid only per runtime).

hash_type polybori::BooleSet::stableHash (  )  const [inline]

Get stable hash value, which is reproducible.

References polybori::stable_hash_range().

BooleSet::term_type polybori::BooleSet::usedVariables (  )  const

Set of variables of the whole set.

References PBORI_TRACE_FUNC.

Referenced by polybori::groebner::FGLMStrategy::analyzeGB(), and usedVariablesExp().

BooleSet::exp_type polybori::BooleSet::usedVariablesExp (  )  const

Exponent vector of variables of the whole set.

References polybori::BooleMonomial::exp(), PBORI_TRACE_FUNC, and usedVariables().

Referenced by polybori::BoolePolynomial::usedVariablesExp().

self polybori::BooleSet::change ( idx_type  idx  )  const [inline]

BooleSet polybori::BooleSet::add ( const term_type rhs  )  const

Add given monomial to sets.

References PBORI_TRACE_FUNC, and polybori::BooleMonomial::set().

BooleSet::bool_type polybori::BooleSet::owns ( const term_type rhs  )  const

BooleSet::bool_type polybori::BooleSet::owns ( const exp_type rhs  )  const

BooleSet::term_type polybori::BooleSet::lastLexicographicalTerm (  )  const

BooleSet polybori::BooleSet::divisorsOf ( const term_type rhs  )  const

BooleSet polybori::BooleSet::divisorsOf ( const exp_type rhs  )  const

Compute intersection with divisors of rhs.

References diagram(), firstDivisorsOf(), PBORI_TRACE_FUNC, and polybori::CCuddDDFacade< RingType, DiagramType >::ring().

BooleSet polybori::BooleSet::firstDivisorsOf ( const self rhs  )  const

BooleSet polybori::BooleSet::multiplesOf ( const term_type rhs  )  const

BooleSet polybori::BooleSet::divide ( const term_type rhs  )  const

BooleSet::bool_type polybori::BooleSet::hasTermOfVariables ( const term_type rhs  )  const

BooleSet polybori::BooleSet::minimalElements (  )  const

bool_type polybori::BooleSet::ownsOne (  )  const [inline]

bool_type polybori::BooleSet::isSingleton (  )  const [inline]

Test, whether we have one term only.

References polybori::dd_is_singleton().

bool_type polybori::BooleSet::isSingletonOrPair (  )  const [inline]

Test, whether we have one or two terms only.

References polybori::dd_is_singleton_or_pair().

bool_type polybori::BooleSet::isPair (  )  const [inline]

Test, whether we have two terms only.

References polybori::dd_is_pair().

BooleSet polybori::BooleSet::existAbstract ( const term_type rhs  )  const

Compute existential abstraction: Given a diagram F, and a set of variables S, remove all occurrences of each s in S from any subset in F. This can be implemented by cofactoring F w.r.t. s = 1 and s = 0, then forming their union

References polybori::dd_existential_abstraction(), polybori::BooleMonomial::diagram(), polybori::CCuddDDFacade< RingType, DiagramType >::navigation(), PBORI_TRACE_FUNC, and polybori::CCuddDDFacade< RingType, DiagramType >::ring().

Referenced by polybori::groebner::minimal_elements_divided(), and polybori::groebner::minimal_elements_multiplied_monoms().

const self& polybori::BooleSet::diagram (  )  const [inline]

Access internal decision diagram.

Referenced by divisorsOf().

self polybori::BooleSet::cartesianProduct ( const self rhs  )  const [inline]

bool_type polybori::BooleSet::contains ( const self rhs  )  const [inline]

Test containment.

size_type polybori::BooleSet::size (  )  const [inline]

size_type polybori::BooleSet::length (  )  const [inline]

size_type polybori::BooleSet::nVariables (  )  const [inline]

Returns number of variables in manager.

double polybori::BooleSet::sizeDouble (  )  const [inline]

Approximation of number of terms.

BooleSet::ostream_type & polybori::BooleSet::print ( ostream_type os  )  const

self polybori::BooleSet::emptyElement (  )  const [inline]

Get corresponding zero element (may be removed in the future).

BooleSet::size_type polybori::BooleSet::countIndex ( idx_type  idx  )  const

Count terms containing BooleVariable(idx).

References polybori::count_index(), and size().

double polybori::BooleSet::countIndexDouble ( idx_type  idx  )  const

Count many terms containing BooleVariable(idx).

References polybori::count_index(), and size().

BooleSet::bool_type polybori::BooleSet::containsDivisorsOfDecDeg ( const term_type rhs  )  const

BooleSet::bool_type polybori::BooleSet::containsDivisorsOfDecDeg ( const exp_type rhs  )  const


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

Generated on Wed Jan 30 16:39:52 2013 for PolyBoRi by  doxygen 1.5.6