#15422: factorization of non-squarefree polynomials over the p-adics
----------------------------------+----------------------------
       Reporter:  jdemeyer        |        Owner:
           Type:  defect          |       Status:  needs_review
       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:
----------------------------------+----------------------------
Description changed by jdemeyer:

Old description:

> 1) The following should be an `ArithmeticError` since whether or not the
> polynomial factors depends on the `O(3^20)` error term (`t^2 - 3^20`
> factors while `t^2 - 3^21` does not):
> {{{
> sage: R.<t> = PolynomialRing(Qp(3))
> sage: (t^2).factor()
> ((1 + O(3^20))*t + (O(3^20)))^2
> }}}
>
> 2) The following should directly call PARI's `factorpadic` without
> coercing the coefficients to `Qp` first:
> {{{
> sage: R.<t> = PolynomialRing(QQ)
> sage: ((t-1)^2).factor_padic(3,5)
> (1 + O(3^5))*t^2 + (1 + 2*3 + 2*3^2 + 2*3^3 + 2*3^4 + O(3^5))*t + (1 +
> O(3^5))
> }}}

New description:

 1) The following should be an `ArithmeticError` since whether or not the
 polynomial factors depends on the `O(3^20)` error term (`t^2 - 3^20`
 factors while `t^2 - 3^21` does not):
 {{{
 sage: R.<t> = PolynomialRing(Qp(3))
 sage: (t^2).factor()
 ((1 + O(3^20))*t + (O(3^20)))^2
 }}}

 2) The following should directly call PARI's `factorpadic` without
 coercing the coefficients to `Qp` first:
 {{{
 sage: R.<t> = PolynomialRing(QQ)
 sage: ((t-1)^2).factor_padic(3,5)
 (1 + O(3^5))*t^2 + (1 + 2*3 + 2*3^2 + 2*3^3 + 2*3^4 + O(3^5))*t + (1 +
 O(3^5))
 }}}

 The attached patch also does some clean-up of the various p-adic
 polynomial classes, now `_repr()` and `_factor()` are implemented in
 exactly one place. One consequence of this is that `_repr()` for
 polynomials over `Zp` has changed: non-exact zeros are now printed.

 '''Apply''' [attachment:15422_factorpadic.patch]

--

--
Ticket URL: <http://trac.sagemath.org/ticket/15422#comment:9>
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