#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.

Reply via email to