#7097: bug in polynomial factorization over number fields
-----------------------+----------------------------------------------------
   Reporter:  cremona  |       Owner:  tbd                                
       Type:  defect   |      Status:  needs_work                         
   Priority:  major    |   Milestone:  sage-4.2                           
  Component:  algebra  |    Keywords:  polynomial factor root number field
Work_issues:           |      Author:                                     
   Reviewer:           |      Merged:                                     
-----------------------+----------------------------------------------------
Changes (by cremona):

  * status:  new => needs_work


Comment:

 I reported the bug to pari developers (it is bug #1006 there).  Karim just
 replied as follows:
 {{{
 * John Cremona [2009-10-02 18:42]:
 > Factoring a non-monic integer polynomial of degree 9 over a number
 > field of degree 24 yields an incomplete factorization.
 [...]
 > ? g = y^24 - 12*y^23 + 72*y^22 - 286*y^21 + 849*y^20 - 2022*y^19 +
 > 4034*y^18 - 6894*y^17 + 10182*y^16 - 13048*y^15 + 14532*y^14 -
 > 13974*y^13 + 11365*y^12 - 7578*y^11 + 4038*y^10 - 1766*y^9 + 762*y^8 -
 > 408*y^7 + 236*y^6 - 126*y^5 + 69*y^4 - 38*y^3 + 18*y^2 - 6*y + 1
 > %1 = y^24 - 12*y^23 + 72*y^22 - 286*y^21 + 849*y^20 - 2022*y^19 +
 > 4034*y^18 - 6894*y^17 + 10182*y^16 - 13048*y^15 + 14532*y^14 -
 > 13974*y^13 + 11365*y^12 - 7578*y^11 + 4038*y^10 - 1766*y^9 + 762*y^8 -
 > 408*y^7 + 236*y^6 - 126*y^5 + 69*y^4 - 38*y^3 + 18*y^2 - 6*y + 1
 > ? K = nfinit(g);
 > ? f = 8*x^9 + 42*x^6 + 6*x^3 - 1
 > %3 = 8*x^9 + 42*x^6 + 6*x^3 - 1
 > ? nffactor(K,f)
 >
 > returns factors of degrees 1 and 8, but there should be 9 linear
 > factors.  In fact, K is the 4-division field of the elliptic curve
 > [0,0,1,0,0] and f is the 4-division polynomial.

 The logic used to handle non-monic polynomials in nffactor() was flawed,
 leading to "increasing" leading coefficients that eventually became too
 large compared to our a priori factor bound. Thus factors were missed.

 Neither factornf(), nor nfroots() are affected.

 Fixed in svn. The fix is non trivial and quite extensive, I won't be
 able to backport it to pari-stable in a safe way. pari-stable user will
 have to rely on factornf() to handle non-monic polynomials for a few
 more months.

 Cheers,

    K.B.
 }}}

 Since it will be a while until this bugfix in pari percolates through to
 Sage, I suggest that the code in Sage does a change of variables so that
 the polynomial passed to pari's {{{nffactor()}}} is always monic.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7097#comment:5>
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 post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to