#15422: factorization of non-squarefree polynomials over the p-adics
-----------------------------------------------+---------------------------
Reporter: jdemeyer | Owner:
Type: defect | Status:
Priority: major | needs_review
Component: padics | Milestone: sage-5.13
Keywords: | Resolution:
Authors: Jeroen Demeyer | Merged in:
Report Upstream: N/A | Reviewers: Robert
Branch: | Bradshaw
Dependencies: #864, #9640, #10018, #11868 | Work issues:
| Commit:
| Stopgaps:
-----------------------------------------------+---------------------------
Comment (by roed):
Sorry for the delay again.
You are right that original claim is invalidated by Hensel lifting. But I
still believe that we should factor `t^2+O(3^20)` as `(t + O(3^10))^2` by
analogy with linear algebra. Here's what I mean.
Consider the problem of finding the kernel of a matrix `A` over the
p-adics. Sometimes, we will be able to tell that this kernel is trivial
(when
{{{
A = [1 + O(3^20) O(3^20)]
[ O(3^20) 1 + O(3^20)]
}}}
for example). But other times we don't know if the dimension is 0 or 1:
{{{
A = [1 + O(3^20) O(3^20)]
[ O(3^20) O(3^20)],
}}}
or even if the dimension is 0, 1 or 2:
{{{
A = [ O(3^20) O(3^20)]
[ O(3^20) O(3^20)].
}}}
We often design algorithms so that they produce a matrix with non-trivial
kernel, and rely on being able to find it. I don't want Sage to raise a
`PrecisionError` whenever there is a nontrivial kernel.
Of course, if the matrix ''does'' have a kernel then we can find it, and
we can determine the precision to which we know that kernel. I would
argue that that is the more useful answer. In the same way, if a user
actually has a polynomial that is not squarefree, it's more useful to tell
them that the polynomial factors in a certain way, assuming that it's
reducible in the first place.
I think it's a question of how we warn the user that the result is
uncertain in this way: include a warning in the documentation of `factor`
or raise a `PrecisionError` unless the user passes in a certain keyword
argument. If we disagree on which option is more appropriate in this
case, I would suggest bringing the issue up on `sage-nt` and `sage-padic`.
--
Ticket URL: <http://trac.sagemath.org/ticket/15422#comment:28>
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.