Example

In [1]: declare_ring([Block("x",3),Block("y",3)],globals())
Out[1]: <polybori.dynamic.PyPolyBoRi.Ring object at 0x1848b10>

In [2]: change_ordering(block_dp_asc)

In [3]: for b in block_start_hints:
   ...:     append_ring_block(b)
   ...:     
   ...:     

In [4]: G=[x(0)*x(2)*y(0)*y(1) + y(1)*y(2) + y(1),
   ...:  x(1)*x(2)*y(0)*y(2) + x(0)*x(1)*y(2) + y(1),
   ...:  x(0)*x(1)*x(2)*y(1) + x(1) + y(1)*y(2)]

In [5]: H=groebner_basis(G)

In [6]: H
Out[6]: 
[x(0)*y(0)*y(1) + x(0)*y(1) + y(0)*y(1) + y(1),
 x(1) + y(1),
 x(2)*y(1) + x(0)*y(1) + y(1),
 y(1)*y(2) + y(1)]

In [7]: [p for p in H if p.set().navigation().value()>=y(0).index()]
Out[7]: [y(1)*y(2) + y(1)]

For special cases elimination (depending on the formulation of the equations) elimination of (auxiliary) variables can be done much faster as can be seen in [*].



2009-10-25