#7554: bug in multivariate polynomial factorization
-------------------------------------+-------------------------------------
       Reporter:  was                |        Owner:  malb
           Type:  defect             |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.3
      Component:  commutative        |   Resolution:
  algebra                            |    Merged in:
       Keywords:  sd59               |    Reviewers:
        Authors:  Travis Scrimshaw   |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  17dd13462c4191748f76a2ce91bb671556f0ff24
  public/comm_alg/factor_generic_univariate_polynomials-7554|     Stopgaps:
   Dependencies:                     |
-------------------------------------+-------------------------------------
Changes (by {'newvalue': u'Travis Scrimshaw', 'oldvalue': ''}):

 * status:  new => needs_review
 * commit:   => 17dd13462c4191748f76a2ce91bb671556f0ff24
 * keywords:   => sd59
 * branch:   => public/comm_alg/factor_generic_univariate_polynomials-7554
 * author:   => Travis Scrimshaw


Comment:

 I've implemented a fallback using singular for generic univariate
 polynomials (which is what the multivariate case did). I'm not 100% sure
 it is the best solution (in fact the factorization can be somewhat strange
 IMO), but it works:
 {{{
 sage: L.<q> = LaurentPolynomialRing(QQ)
 sage: F = L.fraction_field()
 sage: R.<x> = PolynomialRing(F)
 sage: factor(x)
 x
 sage: factor(x^2 - q^2)
 (-1) * (-x + q) * (x + q)
 sage: factor(x^2 - q^-2)
 (1/q^2) * (q*x - 1) * (q*x + 1)

 sage: P.<a,b,c> = PolynomialRing(ZZ)
 sage: R.<x> = PolynomialRing(FractionField(P))
 sage: p = (x - a)*(b*x + c)*(a*b*x + a*c) / (a + 2)
 sage: factor(p)
 (a/(a + 2)) * (x - a) * (b*x + c)^2
 }}}
 ----
 New commits:
 
||[http://git.sagemath.org/sage.git/commit/?id=07ab433665c12167d61c688be615c95a6adfcf74
 07ab433]||{{{Implemented fallback univariate factor using singular.}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=17dd13462c4191748f76a2ce91bb671556f0ff24
 17dd134]||{{{Added doctest to multivariate factor on original issue.}}}||

--
Ticket URL: <http://trac.sagemath.org/ticket/7554#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 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/d/optout.

Reply via email to