-
-
Notifications
You must be signed in to change notification settings - Fork 673
Open
Description
The generic polynomial class truncates leading zeroes, and this can cause problems when working over an inexact ring in which is_zero can return True even for an inexact zero (e.g., see #2943). Here is a simple example:
sage: C.<t> = PowerSeriesRing(Integers())
sage: D.<s> = PolynomialRing(C)
sage: y = O(t)
sage: y
O(t^1)
sage: z = y*s
sage: z
0
sage: z.list()
[]
This was recognized earlier for p-adics and fixed (I'm not sure which ticket this was):
sage: C = pAdicField(11)
sage: D.<s> = PolynomialRing(C)
sage: y = O(11)
sage: y
O(11)
sage: z = y*s
sage: z
(O(11))*s
The other main class of inexact rings are interval fields, but I believe for those is_zero returns False for an inexact zero, so this doesn't come up.
CC: @sagetrac-dmharvey @nilesjohnson @categorie
Component: algebra
Keywords: polynomials, power series, inexact rings
Stopgaps: todo
Issue created by migration from https://trac.sagemath.org/ticket/5075