Bill Allombert on Thu, 14 Nov 2013 14:33:27 +0100

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: factorpadic() for non-squarefree polynomials

On Thu, Nov 14, 2013 at 01:30:08PM +0100, Jeroen Demeyer wrote:
> Hello pari-users,
> The documentation for ??factorpadic states that the discriminant of
> the polynomial much have p-adic valuation less than r. While I
> understand where the condition comes from, does that mean that the
> following is undefined behaviour:

I think the documentation is inaccurate. This function should return
the Q_p factorization reduced to the precision p^r, which is very different
from factoring over Z/p^rZ.

What matter is the precision of the polynomial itself.
If the polynomial has inexact entries and its discriminant is 0 to the
precision, then the Q_p factorization is not well determined (it depend
on a lifting).

On the other hand, if the polynomial has exact entries, there is no issue. 

> gp> factorpadic(t^2, 3, 5)
> %13 =
> [(1 + O(3^5))*t + O(3^5) 2]

t^2 is exact, so there is no ambiguity.

> Indeed, the following example should be equivalent but it's not:
> gp> factorpadic(t^2 + 3^5, 3, 5)
> %14 =
> [(1 + O(3^5))*t^2 + O(3^5)*t + O(3^0) 1]

No, it is not equivalent. t^2 + 3^5 is exact and is different from t^2.
t^2 + 3^5 is irreducible in Q_p[t].

I do not know why it returns + O(3^0).