wrapInterface, poly) |
wrapInterface
:
poly
: The class Wrap contains the following methods:
) |
) |
) |
) |
) |
) |
) |
A small program illustrates the work with wrapping of polynomials after the Gröbner basis construction:
import ginv st = ginv.SystemType("Polynomial") im = ginv.MonomInterface("DegRevLex", st, ['x', 'y', 'z']) ic = ginv.CoeffInterface("GmpZ", st) ip = ginv.PolyInterface("PolyList", st, im, ic) iw = ginv.WrapInterface("CritPartially", ip) iD = ginv.DivisionInterface("Janet", iw) def printWrap(w): print " lm =", w.lm() print " ancestor =", w.ancestor() print " poly =", w.poly() print " multi =", w.multi() print " degProlong =", w.degProlong() print " isProlong =", w.isProlong() print "buildProlong =", w.buildProlong() basis = ginv.basisBuild("TQBlockLow", iD, \ ['x^3 - y^2 + z - 1',\ 'y^3 - z^2 + x - 1',\ 'z^3 - x^2 + y - 1']) for i in [0, 6, 12]: printWrap(basis[i])
lm = x^2*y^2*z^3 ancestor = z^3 poly = x^2*y^2*z^3 + (-1)*x^2*y^2 + x*y^2*z + x^2*z^2 + (-1)*x*y*z^2 + x^2*y + (-1)*x*y^2 + x^2 + (-1)*x*y + (-1)*y^2 + z + (-1) multi = 1 degProlong = 0 isProlong = True buildProlong = [1, 1, 0] lm = x^2*y^3 ancestor = y^3 poly = x^2*y^3 + (-1)*x^2*z^2 + (-1)*x^2 + y^2 + (-1)*z + 1 multi = 2 degProlong = 0 isProlong = True buildProlong = [1, 0, 0] lm = z^3 ancestor = z^3 poly = z^3 + (-1)*x^2 + y + (-1) multi = 1 degProlong = 0 isProlong = False buildProlong = [1, 1, 0]