polybori::BoolePolynomial Class Reference

This class wraps the underlying decicion diagram type and defines the necessary operations. More...

#include <BoolePolynomial.h>

List of all members.

Public Types

typedef BoolePolynomial self
 Generic access to current type.
typedef dd_type::first_iterator first_iterator
 Iterator type for iterating over indices of the leading term.
typedef dd_type::navigator navigator
 Iterator-like type for navigating through diagram structure.
typedef dd_type::pretty_out_type pretty_out_type
 Type for output of pretty print.
typedef dd_type::filename_type filename_type
 Type for naming file for pretty print.
typedef BooleMonomial monom_type
typedef BooleVariable var_type
 Fix type for treatment of monomials.
typedef BooleExponent exp_type
 Fix type for treatment of exponent vectors.
typedef BooleConstant constant_type
 Type for wrapping integer and bool values.
typedef BooleRing ring_type
 Type for Boolean polynomial rings (without ordering).
typedef binary_composition
< std::plus< size_type >
, project_ith
< 1 >, integral_constant
< size_type, 1 > > 
increment_type
 Incrementation functional type.
typedef binary_composition
< std::minus< size_type >
, project_ith
< 1 >, integral_constant
< size_type, 1 > > 
decrement_type
 Decrementation functional type.
typedef COrderedIter
< navigator, exp_type
ordered_exp_iterator
 Iterator type for iterating over all exponents in ordering order.
typedef COrderedIter
< navigator, monom_type
ordered_iterator
 Iterator type for iterating over all monomials in ordering order.
typedef lex_iterator const_iterator
 Iterator type for iterating over all monomials.
typedef CExpIter< navigator,
exp_type
exp_iterator
 Iterator type for iterating all exponent vectors.
typedef CGenericIter< LexOrder,
navigator, size_type
deg_iterator
 Iterator type for iterating all monomials (dereferencing to degree).
typedef std::vector< monom_typetermlist_type
 Type for lists of terms.
typedef
dd_type::easy_equality_property 
easy_equality_property
 The property whether the equality check is easy is inherited from dd_type.
typedef BooleSet set_type
 Type for sets of Boolean variables.
typedef std::map< self,
idx_type,
symmetric_composition
< std::less< navigator >
, navigates< self > > > 
idx_map_type
 Type for index maps.
typedef std::map< self,
std::vector< self >
, symmetric_composition
< std::less< navigator >
, navigates< self > > > 
poly_vec_map_type
Adopt global type definitions
typedef CTypes::manager_type manager_type
typedef CTypes::manager_reference manager_reference
typedef CTypes::manager_ptr manager_ptr
typedef CTypes::dd_type dd_type
typedef CTypes::size_type size_type
typedef CTypes::idx_type idx_type
typedef CTypes::bool_type bool_type
typedef CTypes::ostream_type ostream_type
typedef CTypes::hash_type hash_type
Generic iterators for various orderings
typedef CGenericIter< LexOrder,
navigator, monom_type
lex_iterator
typedef CGenericIter
< DegLexOrder, navigator,
monom_type
dlex_iterator
typedef CGenericIter
< DegRevLexAscOrder, navigator,
monom_type
dp_asc_iterator
typedef CGenericIter
< BlockDegLexOrder, navigator,
monom_type
block_dlex_iterator
typedef CGenericIter
< BlockDegRevLexAscOrder,
navigator, monom_type
block_dp_asc_iterator
typedef CGenericIter< LexOrder,
navigator, exp_type
lex_exp_iterator
typedef CGenericIter
< DegLexOrder, navigator,
exp_type
dlex_exp_iterator
typedef CGenericIter
< DegRevLexAscOrder, navigator,
exp_type
dp_asc_exp_iterator
typedef CGenericIter
< BlockDegLexOrder, navigator,
exp_type
block_dlex_exp_iterator
typedef CGenericIter
< BlockDegRevLexAscOrder,
navigator, exp_type
block_dp_asc_exp_iterator

Public Member Functions

 BoolePolynomial ()
 Default constructor.
 BoolePolynomial (constant_type)
 Construct polynomial from a constant value 0 or 1.
 BoolePolynomial (constant_type isOne, const ring_type &ring)
 Construct polynomial from a constant value 0 or 1.
 BoolePolynomial (const dd_type &rhs)
 Construct polynomial from decision diagram.
 BoolePolynomial (const set_type &rhs)
 Construct polynomial from a subset of the powerset over all variables.
 BoolePolynomial (const exp_type &, const ring_type &)
 Construct polynomial from exponent vector.
 BoolePolynomial (const navigator &rhs, const ring_type &ring)
 Construct polynomial from navigator.
 ~BoolePolynomial ()
 Destructor.
selfoperator= (constant_type rhs)
bool_type isZero () const
 Check whether polynomial is constant zero.
bool_type isOne () const
 Check whether polynomial is constant one.
bool_type isConstant () const
 Check whether polynomial is zero or one.
bool_type hasConstantPart () const
 Check whether polynomial has term one.
bool_type reducibleBy (const self &) const
 Tests whether polynomial can be reduced by right-hand side.
monom_type lead () const
 Get leading term.
monom_type lexLead () const
 Get leading term w.r.t. lexicographical order.
monom_type boundedLead (size_type bound) const
 Get leading term (using upper bound).
exp_type leadExp () const
 Get leading term.
exp_type boundedLeadExp (size_type bound) const
 Get leading term (using upper bound).
set_type lmDivisors () const
 Get all divisors of the leading term.
hash_type hash () const
 Get unique hash value (may change from run to run).
hash_type stableHash () const
 Get hash value, which is reproducible.
hash_type lmStableHash () const
 Hash value of the leading term.
size_type deg () const
 Maximal degree of the polynomial.
size_type lmDeg () const
 Degree of the leading term.
size_type lexLmDeg () const
 Degree of the leading term w.r.t. lexicographical ordering.
size_type totalDeg () const
 Total maximal degree of the polynomial.
size_type lmTotalDeg () const
 Total degree of the leading term.
self gradedPart (size_type deg) const
 Get part of given degree.
size_type nNodes () const
 Number of nodes in the decision diagram.
size_type nUsedVariables () const
 Number of variables of the polynomial.
monom_type usedVariables () const
 Set of variables of the polynomial.
exp_type usedVariablesExp () const
 Exponent vector of all of variables of the polynomial.
size_type length () const
 Returns number of terms.
ostream_typeprint (ostream_type &) const
 Print current polynomial to output stream.
void prettyPrint () const
 Pretty print to stdout.
void prettyPrint (const char *filename) const
 Pretty print to filename.
const_iterator begin () const
 Start of iteration over monomials.
const_iterator end () const
 Finish of iteration over monomials.
exp_iterator expBegin () const
 Start of iteration over exponent vectors.
exp_iterator expEnd () const
 Finish of iteration over exponent vectors.
first_iterator firstBegin () const
 Start of first term.
first_iterator firstEnd () const
 Finish of first term.
monom_type firstTerm () const
 Get of first lexicographic term.
deg_iterator degBegin () const
 Start of degrees.
deg_iterator degEnd () const
 Finish of degrees.
ordered_iterator orderedBegin () const
 Start of ordering respecting iterator.
ordered_iterator orderedEnd () const
 Finish of ordering respecting iterator.
ordered_exp_iterator orderedExpBegin () const
 Start of ordering respecting exponent iterator.
ordered_exp_iterator orderedExpEnd () const
 Finish of ordering respecting exponent iterator.
navigator navigation () const
 Navigate through structure.
navigator endOfNavigation () const
 End of navigation marker.
dd_type copyDiagram ()
 gives a copy of the diagram
 operator set_type () const
 Casting operator to Boolean set.
size_type eliminationLength () const
size_type eliminationLengthWithDegBound (size_type garantied_deg_bound) const
void fetchTerms (termlist_type &) const
 Get list of all terms.
termlist_type terms () const
 Return of all terms.
const dd_typediagram () const
 Read-only access to internal decision diagramm structure.
set_type set () const
 Get corresponding subset of of the powerset over all variables.
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.
ring_type ring () const
 Access ring, where this belongs to.
Arithmetical operations
const selfoperator- () const
selfoperator+= (const self &)
selfoperator+= (constant_type rhs)
template<class RHSType >
selfoperator-= (const RHSType &rhs)
selfoperator*= (const monom_type &)
selfoperator*= (const exp_type &)
selfoperator*= (const self &)
selfoperator*= (constant_type rhs)
selfoperator/= (const monom_type &)
selfoperator/= (const exp_type &)
selfoperator/= (const self &rhs)
selfoperator/= (constant_type rhs)
selfoperator%= (const monom_type &)
selfoperator%= (const self &rhs)
selfoperator%= (constant_type rhs)
Logical operations
bool_type operator== (const self &rhs) const
bool_type operator!= (const self &rhs) const
bool_type operator== (constant_type rhs) const
bool_type operator!= (constant_type rhs) const
Compile-time access to generic iterators
lex_iterator genericBegin (lex_tag) const
lex_iterator genericEnd (lex_tag) const
dlex_iterator genericBegin (dlex_tag) const
dlex_iterator genericEnd (dlex_tag) const
dp_asc_iterator genericBegin (dp_asc_tag) const
dp_asc_iterator genericEnd (dp_asc_tag) const
block_dlex_iterator genericBegin (block_dlex_tag) const
block_dlex_iterator genericEnd (block_dlex_tag) const
block_dp_asc_iterator genericBegin (block_dp_asc_tag) const
block_dp_asc_iterator genericEnd (block_dp_asc_tag) const
lex_exp_iterator genericExpBegin (lex_tag) const
lex_exp_iterator genericExpEnd (lex_tag) const
dlex_exp_iterator genericExpBegin (dlex_tag) const
dlex_exp_iterator genericExpEnd (dlex_tag) const
dp_asc_exp_iterator genericExpBegin (dp_asc_tag) const
dp_asc_exp_iterator genericExpEnd (dp_asc_tag) const
block_dlex_exp_iterator genericExpBegin (block_dlex_tag) const
block_dlex_exp_iterator genericExpEnd (block_dlex_tag) const
block_dp_asc_exp_iterator genericExpBegin (block_dp_asc_tag) const
block_dp_asc_exp_iterator genericExpEnd (block_dp_asc_tag) const

Protected Member Functions

dd_typeinternalDiagram ()
 Access to internal decision diagramm structure.
self leadFirst () const
 Generate a polynomial, whose first term is the leading term.
set_type firstDivisors () const
 Get all divisors of the first term.

Friends

class BooleMonomial
 Let BooleMonomial access protected and private members.


Detailed Description

This class wraps the underlying decicion diagram type and defines the necessary operations.

Member Typedef Documentation

Iterator type for iterating over all monomials.

Type for wrapping integer and bool values.

Decrementation functional type.

Iterator type for iterating all monomials (dereferencing to degree).

The property whether the equality check is easy is inherited from dd_type.

Iterator type for iterating all exponent vectors.

Fix type for treatment of exponent vectors.

Type for naming file for pretty print.

Iterator type for iterating over indices of the leading term.

Type for index maps.

Incrementation functional type.

Todo:
A more sophisticated treatment for monomials is needed.
Fix type for treatment of monomials

Iterator-like type for navigating through diagram structure.

Iterator type for iterating over all exponents in ordering order.

Iterator type for iterating over all monomials in ordering order.

Type for output of pretty print.

Type for Boolean polynomial rings (without ordering).

Generic access to current type.

Type for sets of Boolean variables.

Type for lists of terms.

Fix type for treatment of monomials.


Constructor & Destructor Documentation

polybori::BoolePolynomial::BoolePolynomial (  ) 

Default constructor.

References PBORI_TRACE_FUNC.

polybori::BoolePolynomial::BoolePolynomial ( constant_type  isOne  )  [explicit]

Construct polynomial from a constant value 0 or 1.

References PBORI_TRACE_FUNC.

polybori::BoolePolynomial::BoolePolynomial ( constant_type  isOne,
const ring_type ring 
) [inline]

Construct polynomial from a constant value 0 or 1.

polybori::BoolePolynomial::BoolePolynomial ( const dd_type rhs  )  [inline]

Construct polynomial from decision diagram.

polybori::BoolePolynomial::BoolePolynomial ( const set_type rhs  )  [inline]

Construct polynomial from a subset of the powerset over all variables.

polybori::BoolePolynomial::BoolePolynomial ( const exp_type rhs,
const ring_type ring 
)

polybori::BoolePolynomial::BoolePolynomial ( const navigator rhs,
const ring_type ring 
) [inline]

Construct polynomial from navigator.

References polybori::CCuddNavigator::isValid().

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

Destructor.


Member Function Documentation

BoolePolynomial::const_iterator polybori::BoolePolynomial::begin (  )  const

BoolePolynomial::monom_type polybori::BoolePolynomial::boundedLead ( size_type  bound  )  const

BoolePolynomial::exp_type polybori::BoolePolynomial::boundedLeadExp ( size_type  bound  )  const

Get leading term (using upper bound).

References isZero(), polybori::BooleEnv::ordering(), PBORI_TRACE_FUNC, and UNLIKELY.

dd_type polybori::BoolePolynomial::copyDiagram (  )  [inline]

gives a copy of the diagram

BoolePolynomial::size_type polybori::BoolePolynomial::deg (  )  const

BoolePolynomial::deg_iterator polybori::BoolePolynomial::degBegin (  )  const

BoolePolynomial::deg_iterator polybori::BoolePolynomial::degEnd (  )  const

Finish of degrees.

References PBORI_TRACE_FUNC.

Referenced by deg(), and eliminationLength().

const dd_type& polybori::BoolePolynomial::diagram (  )  const [inline]

Read-only access to internal decision diagramm structure.

Referenced by polybori::groebner::GroebnerStrategy::addGenerator(), polybori::groebner::addPolynomialToReductor(), polybori::BooleExponent::divisors(), polybori::groebner::do_is_rewriteable(), polybori::groebner::do_plug_1(), polybori::groebner::gen_random_subset(), polybori::groebner::GroebnerStrategy::GroebnerStrategy(), polybori::groebner::interpolate_smallest_lex(), polybori::DegRevLexAscOrder::lead(), polybori::DegLexOrder::lead(), polybori::BlockDegRevLexAscOrder::lead(), polybori::BlockDegLexOrder::lead(), polybori::DegRevLexAscOrder::leadExp(), polybori::DegLexOrder::leadExp(), polybori::LexOrder::leadExpIteratorBegin(), polybori::DegRevLexAscOrder::leadExpIteratorBegin(), polybori::DegLexOrder::leadExpIteratorBegin(), polybori::BlockDegRevLexAscOrder::leadExpIteratorBegin(), polybori::BlockDegLexOrder::leadExpIteratorBegin(), polybori::LexOrder::leadIteratorBegin(), polybori::DegRevLexAscOrder::leadIteratorBegin(), polybori::DegLexOrder::leadIteratorBegin(), polybori::BlockDegRevLexAscOrder::leadIteratorBegin(), polybori::BlockDegLexOrder::leadIteratorBegin(), polybori::groebner::ll_red_nf_generic(), polybori::groebner::map_every_x_to_x_plus_one(), polybori::BooleMonomial::multiples(), polybori::BooleExponent::multiples(), polybori::groebner::nf2(), polybori::groebner::nf2_short(), polybori::groebner::nf_delaying(), polybori::groebner::nf_delaying_exchanging(), operator*=(), operator/=(), polybori::groebner::plug_1_top(), polybori::groebner::GroebnerStrategy::propagate_step(), polybori::groebner::red_tail_general(), polybori::groebner::red_tail_generic(), polybori::groebner::reduce_complete(), polybori::groebner::translate_indices(), usedVariables(), and polybori::groebner::zeros().

BoolePolynomial::size_type polybori::BoolePolynomial::eliminationLength (  )  const

BoolePolynomial::size_type polybori::BoolePolynomial::eliminationLengthWithDegBound ( BoolePolynomial::size_type  garantied_deg_bound  )  const

BoolePolynomial::const_iterator polybori::BoolePolynomial::end (  )  const

navigator polybori::BoolePolynomial::endOfNavigation (  )  const [inline]

BoolePolynomial::exp_iterator polybori::BoolePolynomial::expBegin (  )  const

Start of iteration over exponent vectors.

References navigation(), and PBORI_TRACE_FUNC.

Referenced by polybori::groebner::GroebnerStrategy::addGenerator(), and polybori::groebner::p2code().

BoolePolynomial::exp_iterator polybori::BoolePolynomial::expEnd (  )  const

Finish of iteration over exponent vectors.

References PBORI_TRACE_FUNC.

Referenced by polybori::groebner::GroebnerStrategy::addGenerator(), and polybori::groebner::p2code().

void polybori::BoolePolynomial::fetchTerms ( termlist_type theOutputList  )  const

Get list of all terms.

References begin(), end(), length(), and PBORI_TRACE_FUNC.

Referenced by terms().

BoolePolynomial::first_iterator polybori::BoolePolynomial::firstBegin (  )  const

BoolePolynomial::set_type polybori::BoolePolynomial::firstDivisors (  )  const [protected]

BoolePolynomial::first_iterator polybori::BoolePolynomial::firstEnd (  )  const

BoolePolynomial::monom_type polybori::BoolePolynomial::firstTerm (  )  const

Get of first lexicographic term.

References PBORI_TRACE_FUNC.

BoolePolynomial::block_dp_asc_iterator polybori::BoolePolynomial::genericBegin ( block_dp_asc_tag   )  const

BoolePolynomial::block_dlex_iterator polybori::BoolePolynomial::genericBegin ( block_dlex_tag   )  const

BoolePolynomial::dp_asc_iterator polybori::BoolePolynomial::genericBegin ( dp_asc_tag   )  const

BoolePolynomial::dlex_iterator polybori::BoolePolynomial::genericBegin ( dlex_tag   )  const

BoolePolynomial::lex_iterator polybori::BoolePolynomial::genericBegin ( lex_tag   )  const

BoolePolynomial::block_dp_asc_iterator polybori::BoolePolynomial::genericEnd ( block_dp_asc_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::block_dlex_iterator polybori::BoolePolynomial::genericEnd ( block_dlex_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::dp_asc_iterator polybori::BoolePolynomial::genericEnd ( dp_asc_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::dlex_iterator polybori::BoolePolynomial::genericEnd ( dlex_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::lex_iterator polybori::BoolePolynomial::genericEnd ( lex_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::block_dp_asc_exp_iterator polybori::BoolePolynomial::genericExpBegin ( block_dp_asc_tag   )  const

BoolePolynomial::block_dlex_exp_iterator polybori::BoolePolynomial::genericExpBegin ( block_dlex_tag   )  const

BoolePolynomial::dp_asc_exp_iterator polybori::BoolePolynomial::genericExpBegin ( dp_asc_tag   )  const

BoolePolynomial::dlex_exp_iterator polybori::BoolePolynomial::genericExpBegin ( dlex_tag   )  const

BoolePolynomial::lex_exp_iterator polybori::BoolePolynomial::genericExpBegin ( lex_tag   )  const

BoolePolynomial::block_dp_asc_exp_iterator polybori::BoolePolynomial::genericExpEnd ( block_dp_asc_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::block_dlex_exp_iterator polybori::BoolePolynomial::genericExpEnd ( block_dlex_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::dp_asc_exp_iterator polybori::BoolePolynomial::genericExpEnd ( dp_asc_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::dlex_exp_iterator polybori::BoolePolynomial::genericExpEnd ( dlex_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial::lex_exp_iterator polybori::BoolePolynomial::genericExpEnd ( lex_tag   )  const

References PBORI_TRACE_FUNC.

BoolePolynomial polybori::BoolePolynomial::gradedPart ( size_type  deg  )  const

bool_type polybori::BoolePolynomial::hasConstantPart (  )  const [inline]

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

Get unique hash value (may change from run to run).

dd_type& polybori::BoolePolynomial::internalDiagram (  )  [inline, protected]

bool_type polybori::BoolePolynomial::isConstant (  )  const [inline]

bool_type polybori::BoolePolynomial::isOne (  )  const [inline]

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

Test, whether we have two terms only.

References polybori::dd_is_pair().

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

Test, whether we have one term only.

References polybori::dd_is_singleton().

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

Test, whether we have one or two terms only.

References polybori::dd_is_singleton_or_pair().

bool_type polybori::BoolePolynomial::isZero (  )  const [inline]

BoolePolynomial::monom_type polybori::BoolePolynomial::lead (  )  const

BoolePolynomial::exp_type polybori::BoolePolynomial::leadExp (  )  const

BoolePolynomial polybori::BoolePolynomial::leadFirst (  )  const [protected]

Generate a polynomial, whose first term is the leading term.

References polybori::BooleEnv::ordering(), and PBORI_TRACE_FUNC.

Referenced by lmDeg(), and lmStableHash().

BoolePolynomial::size_type polybori::BoolePolynomial::length (  )  const

BoolePolynomial::monom_type polybori::BoolePolynomial::lexLead (  )  const

Get leading term w.r.t. lexicographical order.

References isZero(), PBORI_TRACE_FUNC, and UNLIKELY.

BoolePolynomial::size_type polybori::BoolePolynomial::lexLmDeg (  )  const

Degree of the leading term w.r.t. lexicographical ordering.

References firstBegin(), firstEnd(), and PBORI_TRACE_FUNC.

Referenced by polybori::LexOrder::lead(), and polybori::LexOrder::leadExp().

BoolePolynomial::size_type polybori::BoolePolynomial::lmDeg (  )  const

set_type polybori::BoolePolynomial::lmDivisors (  )  const [inline]

Get all divisors of the leading term.

References polybori::CDDInterface< CuddLikeZDD >::firstDivisors().

BoolePolynomial::hash_type polybori::BoolePolynomial::lmStableHash (  )  const

Hash value of the leading term.

References leadFirst(), PBORI_TRACE_FUNC, and polybori::stable_first_hash_range().

BoolePolynomial::size_type polybori::BoolePolynomial::lmTotalDeg (  )  const

Total degree of the leading term.

References lmDeg(), and PBORI_TRACE_FUNC.

navigator polybori::BoolePolynomial::navigation (  )  const [inline]

Navigate through structure.

Referenced by polybori::groebner::GroebnerStrategy::addGenerator(), polybori::groebner::addPolynomialToReductor(), begin(), deg(), degBegin(), polybori::groebner::do_is_rewriteable(), polybori::groebner::do_plug_1(), expBegin(), genericBegin(), genericExpBegin(), gradedPart(), polybori::generic_iteration< DegRevLexAscOrder, Iterator >::incrementIterator(), polybori::generic_iteration< DegLexOrder, Iterator >::incrementIterator(), polybori::DegRevLexAscOrder::lead(), polybori::DegLexOrder::lead(), polybori::BlockDegRevLexAscOrder::lead(), polybori::BlockDegLexOrder::lead(), polybori::DegRevLexAscOrder::leadExp(), polybori::DegLexOrder::leadExp(), polybori::LexOrder::leadExpIteratorBegin(), polybori::DegRevLexAscOrder::leadExpIteratorBegin(), polybori::DegLexOrder::leadExpIteratorBegin(), polybori::BlockDegRevLexAscOrder::leadExpIteratorBegin(), polybori::BlockDegLexOrder::leadExpIteratorBegin(), polybori::generic_iteration< DegRevLexAscOrder, Iterator >::leadIterator(), polybori::generic_iteration< DegLexOrder, Iterator >::leadIterator(), polybori::generic_iteration< LexOrder, Iterator >::leadIterator(), polybori::LexOrder::leadIteratorBegin(), polybori::DegRevLexAscOrder::leadIteratorBegin(), polybori::DegLexOrder::leadIteratorBegin(), polybori::BlockDegRevLexAscOrder::leadIteratorBegin(), polybori::BlockDegLexOrder::leadIteratorBegin(), polybori::groebner::ll_red_nf_generic(), polybori::groebner::nf_delaying(), polybori::groebner::nf_delaying_exchanging(), operator*=(), operator/=(), polybori::groebner::red_tail_in_last_block(), polybori::groebner::translate_indices(), polybori::groebner::LexBucket::updateTailStart(), and polybori::groebner::without_prior_part().

BoolePolynomial::size_type polybori::BoolePolynomial::nNodes (  )  const

BoolePolynomial::size_type polybori::BoolePolynomial::nUsedVariables (  )  const

polybori::BoolePolynomial::operator set_type (  )  const [inline]

Casting operator to Boolean set.

bool_type polybori::BoolePolynomial::operator!= ( constant_type  rhs  )  const [inline]

bool_type polybori::BoolePolynomial::operator!= ( const self rhs  )  const [inline]

self& polybori::BoolePolynomial::operator%= ( constant_type  rhs  )  [inline]

self& polybori::BoolePolynomial::operator%= ( const self rhs  )  [inline]

BoolePolynomial & polybori::BoolePolynomial::operator%= ( const monom_type rhs  ) 

self& polybori::BoolePolynomial::operator*= ( constant_type  rhs  )  [inline]

BoolePolynomial & polybori::BoolePolynomial::operator*= ( const self rhs  ) 

BoolePolynomial & polybori::BoolePolynomial::operator*= ( const exp_type rhs  ) 

BoolePolynomial & polybori::BoolePolynomial::operator*= ( const monom_type rhs  ) 

self& polybori::BoolePolynomial::operator+= ( constant_type  rhs  )  [inline]

BoolePolynomial & polybori::BoolePolynomial::operator+= ( const self rhs  ) 

References PBORI_TRACE_FUNC.

const self& polybori::BoolePolynomial::operator- (  )  const [inline]

template<class RHSType >
self& polybori::BoolePolynomial::operator-= ( const RHSType &  rhs  )  [inline]

BoolePolynomial & polybori::BoolePolynomial::operator/= ( constant_type  rhs  ) 

References PBORI_TRACE_FUNC, and UNLIKELY.

BoolePolynomial & polybori::BoolePolynomial::operator/= ( const self rhs  ) 

BoolePolynomial & polybori::BoolePolynomial::operator/= ( const exp_type rhs  ) 

BoolePolynomial & polybori::BoolePolynomial::operator/= ( const monom_type rhs  ) 

self& polybori::BoolePolynomial::operator= ( constant_type  rhs  )  [inline]

bool_type polybori::BoolePolynomial::operator== ( constant_type  rhs  )  const [inline]

bool_type polybori::BoolePolynomial::operator== ( const self rhs  )  const [inline]

BoolePolynomial::ordered_iterator polybori::BoolePolynomial::orderedBegin (  )  const

BoolePolynomial::ordered_iterator polybori::BoolePolynomial::orderedEnd (  )  const

BoolePolynomial::ordered_exp_iterator polybori::BoolePolynomial::orderedExpBegin (  )  const

Start of ordering respecting exponent iterator.

References polybori::BooleEnv::ordering(), and PBORI_TRACE_FUNC.

Referenced by print().

BoolePolynomial::ordered_exp_iterator polybori::BoolePolynomial::orderedExpEnd (  )  const

Finish of ordering respecting exponent iterator.

References polybori::BooleEnv::ordering(), and PBORI_TRACE_FUNC.

Referenced by print().

void polybori::BoolePolynomial::prettyPrint ( const char *  filename  )  const

Pretty print to filename.

void polybori::BoolePolynomial::prettyPrint (  )  const

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

BoolePolynomial::bool_type polybori::BoolePolynomial::reducibleBy ( const self rhs  )  const [inline]

Tests whether polynomial can be reduced by right-hand side.

References firstBegin(), firstEnd(), isZero(), and PBORI_TRACE_FUNC.

Referenced by polybori::groebner::nf2(), polybori::groebner::nf2_short(), and polybori::BooleMonomial::reducibleBy().

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

set_type polybori::BoolePolynomial::set (  )  const [inline]

Get corresponding subset of of the powerset over all variables.

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

Get hash value, which is reproducible.

BoolePolynomial::termlist_type polybori::BoolePolynomial::terms (  )  const

Return of all terms.

References fetchTerms(), and PBORI_TRACE_FUNC.

Referenced by firstDivisors().

BoolePolynomial::size_type polybori::BoolePolynomial::totalDeg (  )  const

Total maximal degree of the polynomial.

References deg(), and PBORI_TRACE_FUNC.

BoolePolynomial::monom_type polybori::BoolePolynomial::usedVariables (  )  const

Set of variables of the polynomial.

References diagram(), and PBORI_TRACE_FUNC.

Referenced by polybori::groebner::polynomial_in_one_block().

BoolePolynomial::exp_type polybori::BoolePolynomial::usedVariablesExp (  )  const


Friends And Related Function Documentation

friend class BooleMonomial [friend]

Let BooleMonomial access protected and private members.


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

Generated on Wed Sep 9 14:31:01 2009 for PolyBoRi by  doxygen 1.5.9