polybori | index ../../../../lib/python2.7/dist-packages/polybori/__init__.py

`The PolyBoRi package implements a framework for computations with Polynomials in Boolean Ring.
The core of PolyBoRi is a C++ library, which provides high-level data types for Boolean polynomials and monomials,
exponent vectors, as well as for the underlying polynomial rings and subsets of the powerset of the Boolean variables.
The description of the latter can be found in the description of the 'dynamic' submodule, as well as in the doxygen-based documentation.
As a unique approach, binary decision diagrams are used as internal storage type for polynomial structures.
On top of this C++-library we provide a Python interface. This allows parsing of complex polynomial systems,
as well as sophisticated and extendable strategies for Groebner base computation.
PolyBoRi features a powerful reference implementation for Groebner basis computation.
AUTHOR:
The PolyBoRi Team, 2007-2011
REFERENCES:
M. Brickenstein, A. Dreyer, G. Greuel, M. Wedler, O. Wienand,
New developments in the theory of Groebner bases and applications
to formal Verification, Preprint at http://arxiv.org/abs/0801.1177
M. Brickenstein, A. Dreyer, PolyBoRi:
A Groebner Basis Framework for Boolean Polynomials,
Reports of Fraunhofer ITWM, No. 122, Kaiserslautern, Germany, 2007.
http://www.itwm.fraunhofer.de/zentral/download/berichte/bericht122.pdf
M. Brickenstein, A. Dreyer, PolyBoRi:
A framework for Groebner basis computations with Boolean polynomials,
Electronic Proceedings of the MEGA 2007 - Effective Methods in Algebraic Geometry, Strobl, Austria, June 2007.
http://www.ricam.oeaw.ac.at/mega2007/electronic/electronic.html`

Package Contents

``

PyPolyBoRi addition blocks check_claims cluster cnf coding context dynamic (package) | easy_polynomials fglm frontend gbcore gbrefs general_boolean_polynomial heuristics interpolate interred | intersect intpolys ll memusage ncf nf parallel parsegat partial | plot randompoly rank simplebb specialsets statistics

Functions

``

contained_vars(...)
  `contained_vars( (BooleSet)arg1) -> BooleSet :
  C++ signature :
  polybori::BooleSet contained_vars(polybori::BooleSet)`

count_double(...)
  `count_double( (BooleSet)arg1) -> float :
  C++ signature :
  double count_double(polybori::BooleSet)`

easy_linear_factors(...)
  `easy_linear_factors( (Polynomial)arg1) -> BoolePolynomialVector :
  C++ signature :
  std::vector<polybori::BoolePolynomial, std::allocator<polybori::BoolePolynomial> > easy_linear_factors(polybori::BoolePolynomial)`

if_then_else(...)
  `if_then_else( (object)arg1, (BooleSet)arg2, (BooleSet)arg3) -> BooleSet :
  if-then else operator
  C++ signature :
  polybori::BooleSet if_then_else(int,polybori::BooleSet,polybori::BooleSet)
  if_then_else( (Variable)arg1, (BooleSet)arg2, (BooleSet)arg3) -> BooleSet :
  if-then else operator
  C++ signature :
  polybori::BooleSet if_then_else(polybori::BooleVariable,polybori::BooleSet,polybori::BooleSet)`

interpolate_smallest_lex(...)
  `interpolate_smallest_lex( (BooleSet)arg1, (BooleSet)arg2) -> Polynomial :
  C++ signature :
  polybori::BoolePolynomial interpolate_smallest_lex(polybori::BooleSet,polybori::BooleSet)`

ll_red_nf_noredsb(...)
  `ll_red_nf_noredsb( (Polynomial)arg1, (BooleSet)arg2) -> Polynomial :
  C++ signature :
  polybori::BoolePolynomial ll_red_nf_noredsb(polybori::BoolePolynomial,polybori::BooleSet)`

ll_red_nf_noredsb_single_recursive_call(...)
  `ll_red_nf_noredsb_single_recursive_call( (Polynomial)arg1, (BooleSet)arg2) -> Polynomial :
  C++ signature :
  polybori::BoolePolynomial ll_red_nf_noredsb_single_recursive_call(polybori::BoolePolynomial,polybori::BooleSet)`

ll_red_nf_redsb(...)
  `ll_red_nf_redsb( (Polynomial)arg1, (BooleSet)arg2) -> Polynomial :
  C++ signature :
  polybori::BoolePolynomial ll_red_nf_redsb(polybori::BoolePolynomial,polybori::BooleSet)`

map_every_x_to_x_plus_one(...)
  `map_every_x_to_x_plus_one( (Polynomial)arg1) -> Polynomial :
  C++ signature :
  polybori::BoolePolynomial map_every_x_to_x_plus_one(polybori::BoolePolynomial)`

mapping(...)
  `mapping( (Polynomial)arg1, (Monomial)arg2, (Monomial)arg3) -> Polynomial :
  C++ signature :
  polybori::BoolePolynomial mapping(polybori::BoolePolynomial,polybori::BooleMonomial,polybori::BooleMonomial)`

mod_mon_set(...)
  `mod_mon_set( (BooleSet)arg1, (BooleSet)arg2) -> BooleSet :
  C++ signature :
  polybori::BooleSet mod_mon_set(polybori::BooleSet,polybori::BooleSet)
  mod_mon_set( (BooleSet)arg1, (BooleSet)arg2) -> BooleSet :
  C++ signature :
  polybori::BooleSet mod_mon_set(polybori::BooleSet,polybori::BooleSet)`

mod_var_set(...)
  `mod_var_set( (BooleSet)arg1, (BooleSet)arg2) -> BooleSet :
  C++ signature :
  polybori::BooleSet mod_var_set(polybori::BooleSet,polybori::BooleSet)`

mult_fast_sim_C(...)
  `mult_fast_sim_C( (BoolePolynomialVector)arg1, (Ring)arg2) -> Polynomial :
  C++ signature :
  polybori::BoolePolynomial mult_fast_sim_C(std::vector<polybori::BoolePolynomial, std::allocator<polybori::BoolePolynomial> >,polybori::BoolePolyRing)`

nf3(...)
  `nf3( (ReductionStrategy)arg1, (Polynomial)arg2, (Monomial)arg3) -> Polynomial :
  C++ signature :
  polybori::BoolePolynomial nf3(polybori::groebner::ReductionStrategy,polybori::BoolePolynomial,polybori::BooleMonomial)`

parallel_reduce(...)
  `parallel_reduce( (BoolePolynomialVector)arg1, (GroebnerStrategy)arg2, (object)arg3, (float)arg4) -> BoolePolynomialVector :
  C++ signature :
  std::vector<polybori::BoolePolynomial, std::allocator<polybori::BoolePolynomial> > parallel_reduce(std::vector<polybori::BoolePolynomial, std::allocator<polybori::BoolePolynomial> >,polybori::groebner::GroebnerStrategy {lvalue},int,double)`

plist(a, b)

random_set(...)
  `random_set( (Monomial)arg1, (int)arg2) -> BooleSet :
  C++ signature :
  polybori::BooleSet random_set(polybori::BooleMonomial,unsigned int)`

recursively_insert(...)
  `recursively_insert( (CCuddNavigator)arg1, (object)arg2, (BooleSet)arg3) -> BooleSet :
  C++ signature :
  polybori::BooleSet recursively_insert(polybori::CCuddNavigator,int,polybori::BooleSet)`

set_random_seed(...)
  `set_random_seed( (int)arg1) -> None :
  C++ signature :
  void set_random_seed(unsigned int)`

spoly(...)
  `spoly( (Polynomial)arg1, (Polynomial)arg2) -> Polynomial :
  Compute s-Polynomial between two Polynomials
  C++ signature :
  polybori::BoolePolynomial spoly(polybori::BoolePolynomial,polybori::BoolePolynomial)`

substitute_variables(...)
  `substitute_variables( (Ring)arg1, (BoolePolynomialVector)arg2, (Polynomial)arg3) -> Polynomial :
  C++ signature :
  polybori::BoolePolynomial substitute_variables(polybori::BoolePolyRing,std::vector<polybori::BoolePolynomial, std::allocator<polybori::BoolePolynomial> >,polybori::BoolePolynomial)`

test_iterate_lex(...)
  `test_iterate_lex( (Polynomial)arg1) -> int :
  C++ signature :
  unsigned long test_iterate_lex(polybori::BoolePolynomial {lvalue})`

test_iterate_lex_reversed(...)
  `test_iterate_lex_reversed( (Polynomial)arg1) -> int :
  C++ signature :
  unsigned long test_iterate_lex_reversed(polybori::BoolePolynomial {lvalue})`

test_iterate_ordered(...)
  `test_iterate_ordered( (Polynomial)arg1) -> int :
  C++ signature :
  unsigned long test_iterate_ordered(polybori::BoolePolynomial {lvalue})`

test_iterate_reference_ordered(...)
  `test_iterate_reference_ordered( (Polynomial)arg1) -> int :
  C++ signature :
  unsigned long test_iterate_reference_ordered(polybori::BoolePolynomial {lvalue})`

testvalidstrat(...)
  `testvalidstrat( (GroebnerStrategy)arg1) -> None :
  C++ signature :
  void testvalidstrat(polybori::groebner::GroebnerStrategy)`

top_index(...)
  `top_index( (BooleSet)arg1) -> int :
  C++ signature :
  int top_index(polybori::BooleSet)`

translate_indices(...)
  `translate_indices( (Polynomial)arg1, (IntVector)arg2) -> Polynomial :
  C++ signature :
  polybori::BoolePolynomial translate_indices(polybori::BoolePolynomial,std::vector<int, std::allocator<int> >)`

variety_lex_groebner_basis(...)
  `variety_lex_groebner_basis( (BooleSet)arg1, (Monomial)arg2) -> BoolePolynomialVector :
  C++ signature :
  std::vector<polybori::BoolePolynomial, std::allocator<polybori::BoolePolynomial> > variety_lex_groebner_basis(polybori::BooleSet,polybori::BooleMonomial)`

variety_lex_leading_terms(...)
  `variety_lex_leading_terms( (BooleSet)arg1, (Monomial)arg2) -> BooleSet :
  C++ signature :
  polybori::BooleSet variety_lex_leading_terms(polybori::BooleSet,polybori::BooleMonomial)`

Data

``

block_dlex = polybori.dynamic.PyPolyBoRi.OrderCode.block_dlex
block_dp_asc = polybori.dynamic.PyPolyBoRi.OrderCode.block_dp_asc
compatibility_mode = False
dlex = polybori.dynamic.PyPolyBoRi.OrderCode.dlex
dp_asc = polybori.dynamic.PyPolyBoRi.OrderCode.dp_asc
k = 4
lp = polybori.dynamic.PyPolyBoRi.OrderCode.lp
modules = {'StringIO': <module 'StringIO' from '/usr/lib/python2.7/StringIO.pyc'>, 'UserDict': <module 'UserDict' from '/usr/lib/python2.7/UserDict.pyc'>, '__builtin__': <module '__builtin__' (built-in)>, '__future__': <module '__future__' from '/usr/lib/python2.7/__future__.pyc'>, '__main__': <module '__main__' from 'doc/genpythondoc.py'>, '_abcoll': <module '_abcoll' from '/usr/lib/python2.7/_abcoll.pyc'>, '_codecs': <module '_codecs' (built-in)>, '_collections': <module '_collections' (built-in)>, '_hashlib': <module '_hashlib' from '/usr/lib/python2.7/lib-dynload/_hashlib.i386-linux-gnu.so'>, '_heapq': <module '_heapq' (built-in)>, ...}
snake_pattern = <_sre.SRE_Pattern object>