#15422: factorization of non-squarefree polynomials over the p-adics
----------------------------------+--------------------------
Reporter: jdemeyer | Owner:
Type: defect | Status: needs_work
Priority: major | Milestone: sage-5.13
Component: padics | Resolution:
Keywords: | Merged in:
Authors: Jeroen Demeyer | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: #9640 | Stopgaps:
----------------------------------+--------------------------
Comment (by roed):
Replying to [comment:19 jdemeyer]:
> In other words: I think it is wrong to claim that `(t^2 - 3^21)*(1 +
O(3^20))` has a 3-adic root of multiplicity 2. When you're interpreting
`t^2*(1 + O(3^20))` as the `p`-adic coercion of `t^2` and not `t^2 -
3^21`, you're simply guessing.
You can '''never''' say that a p-adic polynomial has a root. The
subvariety of irreducible polynomials is open (in either the Zariski or
the p-adic topology), and any ball will intersect it. So for a given
p-adic polynomial with finite precision, it is either definitely
irreducible, or has unknown status. Rather than always raising an
`ArithmeticError` instead of factoring, we should make the convention that
we will return a factorization to the greatest extent possible among the
polynomials within that ball. There is a nice algorithm to determine the
precision of the resulting factors.
In particular, the only thing special about polynomials whose discriminant
is indistinguishable from zero is that they have the maximum precision
loss among reducible polynomials. Among the reducible polynomials in the
ball `(1 + O(3^20))*t^2 + (O(3^20))*t + (O(3^20))`, all of them have monic
factorizations of the form `((1 + O(3^20))*t + (O(3^10)))*((1 + O(3^20))*t
+ (O(3^10)))`. For example, (t+3^10)*(t-3^10) would be another possible
factorization.
--
Ticket URL: <http://trac.sagemath.org/ticket/15422#comment:20>
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 http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.