Search
Forbidden methods: sympy.polys.polytools.reduced, sympy.polys.polytools.groebner
Implement the algorithm of multivariate polynomial division for more than one divisor (the examples and pseudo-algorithm of polynomial division can be found in lab slides from week 8 or lecture slides from week 9 and 10. )
Create a function poly_div(f, divs, mo) for dividing the polynomial f by the list of polynomials divs using the specified monomial ordering mo.
poly_div(f, divs, mo)
f
divs
mo
Input/Output specifications for poly_div:
poly_div
Poly
“q”
“r”
$$ f = \sum_{i}q[i]\cdot divs[i] + r, \quad \mathrm{LT}_{\mathrm{mo}}(r) \text{ is not divisible by any of } \mathrm{LT}_{\mathrm{mo}}(divs[i]) \;\text{ or }\; r = 0. $$
“lex”
“grlex”
“grevlex”
Implement the Buchberger's algorithm for Gröbner basis computation.
Create a function groebner_basis(F, mo) for computing a Gröbner basis of the list of polynomials F w.r.t. the monomial ordering mo.
groebner_basis(F, mo)
F
Input/Output specifications for groebner_basis:
groebner_basis
Upload a zip archive hw06.zip (via the course ware) containing the following files:
hw06.zip
hw06.py