#20220: GCD of polyomials over polynomial rings
-------------------------------------+-------------------------------------
Reporter: bruno | Owner:
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-7.1
Component: commutative | Resolution:
algebra | Merged in:
Keywords: gcd, polynomial | Reviewers: Aly Deines
Authors: Bruno Grenet | Work issues:
Report Upstream: N/A | Commit:
Branch: | e83510aa08cd714a319f6ba81c60d536f1554833
u/bruno/gcd_polys_polyrings | Stopgaps:
Dependencies: |
-------------------------------------+-------------------------------------
Changes (by aly.deines):
* status: needs_review => needs_work
* reviewer: => Aly Deines
* type: PLEASE CHANGE => enhancement
Comment:
The following doctest now fail:
{{{
aly@aly-laptop:~/Sage/sage$ ./sage -t
src/sage/schemes/elliptic_curves/ell_curve_isogeny.py
Running doctests with ID 2016-03-20-12-44-23-b7ac0a73.
Git branch: ticket/20220
Using --optional=ccache,mpir,python2,sage
Doctesting 1 file.
sage -t --warn-long 17.3
src/sage/schemes/elliptic_curves/ell_curve_isogeny.py
**********************************************************************
File "src/sage/schemes/elliptic_curves/ell_curve_isogeny.py", line 847, in
sage.schemes.elliptic_curves.ell_curve_isogeny.EllipticCurveIsogeny
Failed example:
isogs[0].rational_maps()
Expected:
((x^2 - t^2)/x, (x^3*y + t^2*x*y)/x^3)
Got:
((x^2 - t^2)/x, (x^2*y + t^2*y)/x^2)
**********************************************************************
File "src/sage/schemes/elliptic_curves/ell_curve_isogeny.py", line 852, in
sage.schemes.elliptic_curves.ell_curve_isogeny.EllipticCurveIsogeny
Failed example:
duals[0].rational_maps()
Expected:
((1/4*x^2 + t^2)/x, (1/8*x^3*y + (-1/2*t^2)*x*y)/x^3)
Got:
((1/4*x^2 + t^2)/x, (1/8*x^2*y + (-1/2*t^2)*y)/x^2)
**********************************************************************
1 item had failures:
2 of 139 in
sage.schemes.elliptic_curves.ell_curve_isogeny.EllipticCurveIsogeny
[979 tests, 2 failures, 19.24 s]
----------------------------------------------------------------------
sage -t --warn-long 17.3
src/sage/schemes/elliptic_curves/ell_curve_isogeny.py # 2 doctests failed
----------------------------------------------------------------------
Total time for all tests: 19.4 seconds
cpu time: 19.2 seconds
cumulative wall time: 19.2 seconds
}}}
and
{{{
aly@aly-laptop:~/Sage/sage$ ./sage -t
src/sage/schemes/affine/affine_morphism.py
Running doctests with ID 2016-03-20-12-44-52-88984cb0.
Git branch: ticket/20220
Using --optional=ccache,mpir,python2,sage
Doctesting 1 file.
sage -t --warn-long 17.3 src/sage/schemes/affine/affine_morphism.py
**********************************************************************
File "src/sage/schemes/affine/affine_morphism.py", line 418, in
sage.schemes.affine.affine_morphism.SchemeMorphism_polynomial_affine_space.homogenize
Failed example:
f.homogenize((2, 0))
Exception raised:
Traceback (most recent call last):
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/doctest/forker.py", line 496, in _run
self.compile_and_execute(example, compiler, test.globs)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/doctest/forker.py", line 858, in compile_and_execute
exec(compiled, globs)
File "<doctest
sage.schemes.affine.affine_morphism.SchemeMorphism_polynomial_affine_space.homogenize[7]>",
line 1, in <module>
f.homogenize((Integer(2), Integer(0)))
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/schemes/affine/affine_morphism.py", line 526, in homogenize
g = gcd(F)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/arith/misc.py", line 1614, in gcd
return __GCD_sequence(seq, **kwargs)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/arith/misc.py", line 1656, in __GCD_sequence
g = vi.gcd(g, **kwargs)
File "sage/rings/polynomial/multi_polynomial.pyx", line 1758, in
sage.rings.polynomial.multi_polynomial.MPolynomial.gcd
(build/cythonized/sage/rings/polynomial/multi_polynomial.c:17781)
return self._parent(unibase._gcd_univariate_polynomial(uniself,
other.polynomial(x)))
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/categories/unique_factorization_domains.py", line 181, in
_gcd_univariate_polynomial
d = a.gcd(b)
File "sage/rings/polynomial/multi_polynomial.pyx", line 1758, in
sage.rings.polynomial.multi_polynomial.MPolynomial.gcd
(build/cythonized/sage/rings/polynomial/multi_polynomial.c:17781)
return self._parent(unibase._gcd_univariate_polynomial(uniself,
other.polynomial(x)))
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/categories/unique_factorization_domains.py", line 182, in
_gcd_univariate_polynomial
A = parent(A/a)
File "sage/structure/parent.pyx", line 1111, in
sage.structure.parent.Parent.__call__
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/parent.c:9828)
return mor._call_(x)
File "sage/structure/coerce_maps.pyx", line 109, in
sage.structure.coerce_maps.DefaultConvertMap_unique._call_
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/coerce_maps.c:4542)
raise
File "sage/structure/coerce_maps.pyx", line 104, in
sage.structure.coerce_maps.DefaultConvertMap_unique._call_
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/coerce_maps.c:4435)
return C._element_constructor(x)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/rings/polynomial/polynomial_ring.py", line 439, in
_element_constructor_
return C(self, x, check, is_gen, construct=construct, **kwds)
File "sage/rings/polynomial/polynomial_element.pyx", line 7974, in
sage.rings.polynomial.polynomial_element.Polynomial_generic_dense.__init__
(build/cythonized/sage/rings/polynomial/polynomial_element.c:68167)
self.__coeffs = [R(a, **kwds) for a in x.list()]
File "sage/structure/parent.pyx", line 1111, in
sage.structure.parent.Parent.__call__
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/parent.c:9828)
return mor._call_(x)
File "sage/structure/coerce_maps.pyx", line 109, in
sage.structure.coerce_maps.DefaultConvertMap_unique._call_
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/coerce_maps.c:4542)
raise
File "sage/structure/coerce_maps.pyx", line 104, in
sage.structure.coerce_maps.DefaultConvertMap_unique._call_
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/coerce_maps.c:4435)
return C._element_constructor(x)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/rings/polynomial/polynomial_ring.py", line 426, in
_element_constructor_
raise TypeError("denominator must be a unit")
TypeError: denominator must be a unit
**********************************************************************
File "src/sage/schemes/affine/affine_morphism.py", line 583, in
sage.schemes.affine.affine_morphism.SchemeMorphism_polynomial_affine_space.dynatomic_polynomial
Failed example:
f.dynatomic_polynomial(3)
Exception raised:
Traceback (most recent call last):
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/doctest/forker.py", line 496, in _run
self.compile_and_execute(example, compiler, test.globs)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/doctest/forker.py", line 858, in compile_and_execute
exec(compiled, globs)
File "<doctest
sage.schemes.affine.affine_morphism.SchemeMorphism_polynomial_affine_space.dynatomic_polynomial[11]>",
line 1, in <module>
f.dynatomic_polynomial(Integer(3))
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/schemes/affine/affine_morphism.py", line 621, in
dynatomic_polynomial
F = self.homogenize(1).dynatomic_polynomial(period)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/schemes/affine/affine_morphism.py", line 526, in homogenize
g = gcd(F)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/arith/misc.py", line 1614, in gcd
return __GCD_sequence(seq, **kwargs)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/arith/misc.py", line 1656, in __GCD_sequence
g = vi.gcd(g, **kwargs)
File "sage/rings/polynomial/multi_polynomial.pyx", line 1758, in
sage.rings.polynomial.multi_polynomial.MPolynomial.gcd
(build/cythonized/sage/rings/polynomial/multi_polynomial.c:17781)
return self._parent(unibase._gcd_univariate_polynomial(uniself,
other.polynomial(x)))
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/categories/unique_factorization_domains.py", line 182, in
_gcd_univariate_polynomial
A = parent(A/a)
File "sage/structure/parent.pyx", line 1111, in
sage.structure.parent.Parent.__call__
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/parent.c:9828)
return mor._call_(x)
File "sage/structure/coerce_maps.pyx", line 109, in
sage.structure.coerce_maps.DefaultConvertMap_unique._call_
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/coerce_maps.c:4542)
raise
File "sage/structure/coerce_maps.pyx", line 104, in
sage.structure.coerce_maps.DefaultConvertMap_unique._call_
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/coerce_maps.c:4435)
return C._element_constructor(x)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/rings/polynomial/polynomial_ring.py", line 439, in
_element_constructor_
return C(self, x, check, is_gen, construct=construct, **kwds)
File "sage/rings/polynomial/polynomial_element.pyx", line 7974, in
sage.rings.polynomial.polynomial_element.Polynomial_generic_dense.__init__
(build/cythonized/sage/rings/polynomial/polynomial_element.c:68167)
self.__coeffs = [R(a, **kwds) for a in x.list()]
File "sage/structure/parent.pyx", line 1111, in
sage.structure.parent.Parent.__call__
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/parent.c:9828)
return mor._call_(x)
File "sage/structure/coerce_maps.pyx", line 109, in
sage.structure.coerce_maps.DefaultConvertMap_unique._call_
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/coerce_maps.c:4542)
raise
File "sage/structure/coerce_maps.pyx", line 104, in
sage.structure.coerce_maps.DefaultConvertMap_unique._call_
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/coerce_maps.c:4435)
return C._element_constructor(x)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/rings/polynomial/polynomial_ring.py", line 426, in
_element_constructor_
raise TypeError("denominator must be a unit")
TypeError: denominator must be a unit
**********************************************************************
File "src/sage/schemes/affine/affine_morphism.py", line 600, in
sage.schemes.affine.affine_morphism.SchemeMorphism_polynomial_affine_space.dynatomic_polynomial
Failed example:
f.dynatomic_polynomial(2)
Exception raised:
Traceback (most recent call last):
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/doctest/forker.py", line 496, in _run
self.compile_and_execute(example, compiler, test.globs)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/doctest/forker.py", line 858, in compile_and_execute
exec(compiled, globs)
File "<doctest
sage.schemes.affine.affine_morphism.SchemeMorphism_polynomial_affine_space.dynatomic_polynomial[19]>",
line 1, in <module>
f.dynatomic_polynomial(Integer(2))
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/schemes/affine/affine_morphism.py", line 621, in
dynatomic_polynomial
F = self.homogenize(1).dynatomic_polynomial(period)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/schemes/affine/affine_morphism.py", line 526, in homogenize
g = gcd(F)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/arith/misc.py", line 1614, in gcd
return __GCD_sequence(seq, **kwargs)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/arith/misc.py", line 1656, in __GCD_sequence
g = vi.gcd(g, **kwargs)
File "sage/rings/polynomial/multi_polynomial.pyx", line 1758, in
sage.rings.polynomial.multi_polynomial.MPolynomial.gcd
(build/cythonized/sage/rings/polynomial/multi_polynomial.c:17781)
return self._parent(unibase._gcd_univariate_polynomial(uniself,
other.polynomial(x)))
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/categories/unique_factorization_domains.py", line 183, in
_gcd_univariate_polynomial
B = parent(B/b)
File "sage/structure/parent.pyx", line 1111, in
sage.structure.parent.Parent.__call__
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/parent.c:9828)
return mor._call_(x)
File "sage/structure/coerce_maps.pyx", line 109, in
sage.structure.coerce_maps.DefaultConvertMap_unique._call_
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/coerce_maps.c:4542)
raise
File "sage/structure/coerce_maps.pyx", line 104, in
sage.structure.coerce_maps.DefaultConvertMap_unique._call_
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/coerce_maps.c:4435)
return C._element_constructor(x)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/rings/polynomial/polynomial_ring.py", line 439, in
_element_constructor_
return C(self, x, check, is_gen, construct=construct, **kwds)
File "sage/rings/polynomial/polynomial_element.pyx", line 7974, in
sage.rings.polynomial.polynomial_element.Polynomial_generic_dense.__init__
(build/cythonized/sage/rings/polynomial/polynomial_element.c:68167)
self.__coeffs = [R(a, **kwds) for a in x.list()]
File "sage/structure/parent.pyx", line 1111, in
sage.structure.parent.Parent.__call__
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/parent.c:9828)
return mor._call_(x)
File "sage/structure/coerce_maps.pyx", line 109, in
sage.structure.coerce_maps.DefaultConvertMap_unique._call_
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/coerce_maps.c:4542)
raise
File "sage/structure/coerce_maps.pyx", line 104, in
sage.structure.coerce_maps.DefaultConvertMap_unique._call_
(/home/aly/Sage/sage/src/build/cythonized/sage/structure/coerce_maps.c:4435)
return C._element_constructor(x)
File "/home/aly/Sage/sage/local/lib/python2.7/site-
packages/sage/rings/polynomial/polynomial_ring.py", line 426, in
_element_constructor_
raise TypeError("denominator must be a unit")
TypeError: denominator must be a unit
**********************************************************************
2 items had failures:
2 of 25 in
sage.schemes.affine.affine_morphism.SchemeMorphism_polynomial_affine_space.dynatomic_polynomial
1 of 31 in
sage.schemes.affine.affine_morphism.SchemeMorphism_polynomial_affine_space.homogenize
[268 tests, 3 failures, 0.81 s]
----------------------------------------------------------------------
sage -t --warn-long 17.3 src/sage/schemes/affine/affine_morphism.py # 3
doctests failed
----------------------------------------------------------------------
Total time for all tests: 0.9 seconds
cpu time: 0.8 seconds
cumulative wall time: 0.8 seconds
aly@aly-laptop:~/Sage/sage$
}}}
--
Ticket URL: <http://trac.sagemath.org/ticket/20220#comment:4>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.