polybori
index
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-2008
 
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
aes
blocks
check_claims
dynamic (package)
fglm
gbcore
gbrefs
heuristics
interpolate
interred
intersect
ll
memusage
ncf
nf
parallel
partial
plot
randompoly
simplebb
specialsets
statistics

 
Functions
       
VariableBlock(...)
add_up_polynomials(...)
append_ring_block(...)
Append integer, which marks start of next block (for block orderings)
change_ordering(...)
contained_vars(...)
count_double(...)
get_order_code(...)
global_ring(...)
have_degree_order(...)
Determines, whether ring ordering is a degree ordering
if_then_else(...)
if-then else operator
 
if-then else operator
interpolate_smallest_lex(...)
ll_red_nf_noredsb(...)
ll_red_nf_redsb(...)
map_every_x_to_x_plus_one(...)
mapping(...)
mod_mon_set(...)
mod_var_set(...)
mult_fast_sim_C(...)
nf3(...)
number_of_variables(...)
Number of variables in the active ring
one(...)
Constant one of the active ring
parallel_reduce(...)
print_ring_info(...)
random_set(...)
recursively_insert(...)
set_random_seed(...)
set_variable_name(...)
spoly(...)
Compute s-Polynomial between two Polynomials
test_iterate_lex(...)
test_iterate_lex_reversed(...)
test_iterate_ordered(...)
test_iterate_reference_ordered(...)
testvalidstrat(...)
top_index(...)
translate_indices(...)
variety_lex_groebner_basis(...)
variety_lex_leading_terms(...)
zero(...)
Constant zero of the active ring

 
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/lib64/python2.4/StringIO.pyc'>, 'UserDict': <module 'UserDict' from '/usr/lib64/python2.4/UserDict.pyc'>, '__builtin__': <module '__builtin__' (built-in)>, '__main__': <module '__main__' from 'doc/python/genpythondoc.py'>, '_codecs': <module '_codecs' (built-in)>, '_locale': <module '_locale' from '/usr/lib64/python2.4/lib-dynload/_locale.so'>, '_random': <module '_random' from '/usr/lib64/python2.4/lib-dynload/_random.so'>, '_sre': <module '_sre' (built-in)>, 'binascii': <module 'binascii' from '/usr/lib64/python2.4/lib-dynload/binascii.so'>, 'codecs': <module 'codecs' from '/usr/lib64/python2.4/codecs.pyc'>, ...}
snake_pattern = <_sre.SRE_Pattern object>