]> gitweb.michael.orlitzky.com - sage.d.git/commitdiff
mjo/polynomial.py: add a (failing!) test for Example 4 in the text.
authorMichael Orlitzky <michael@orlitzky.com>
Mon, 18 Feb 2019 18:56:03 +0000 (13:56 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Thu, 21 Feb 2019 01:18:22 +0000 (20:18 -0500)
mjo/polynomial.py

index 4fe4b71f03c53cd167f0d86975a9acfb1c28ff96..8b493711924d705e17eb612efd56e390ea98e88e 100644 (file)
@@ -114,6 +114,22 @@ def multidiv(f, gs):
         sage: r.is_zero()
         False
 
+    Example 4 in Section 2.3 of Cox, Little, and O'Shea. This is the
+    same as Example 2, except with the order of ``gs`` reversed::
+
+        sage: R = PolynomialRing(QQ, 'x,y', order='lex')
+        sage: x,y = R.gens()
+        sage: f = x^2*y + x*y^2 + y^2
+        sage: gs = [ y^2 - 1, x*y - 1 ]
+        sage: (qs, r) = multidiv(f, gs)
+        sage: (qs, r)
+        ([x + 1, x], 2*x + 1)
+        sage: r + sum( qs[i]*gs[i] for i in range(len(gs)) ) == f
+        True
+        sage: not any( g.lt().divides(m) for m in r.monomials()
+        ....:          for g in gs )
+        True
+
     TESTS:
 
     If we get a zero remainder, then the numerator should belong to