#29076 closed defect (fixed)

multivariate factorization in AA[x,y] broken in 9.0

Reported by: mkoeppe Owned by:
Priority: blocker Milestone: sage-9.1
Component: algebra Keywords:
Cc: gh-BrentBaccala, tscrim, mmezzarobba, vdelecroix Merged in:
Authors: Brent Baccala Reviewers: Matthias Koeppe
Report Upstream: N/A Work issues:
Branch: 210af7d (Commits, GitHub, GitLab) Commit: 210af7d9156968019284f6a324814e6e73a2ddae
Dependencies: Stopgaps:

Status badges

Description

sage: AA['x','y'](1).factor()
AttributeError: 'sage.rings.integer.Integer' object has no attribute 'lc'

(This used to work in 8.9)

I'm guessing, but have not verified, that this was introduced in #25390 - multivariate factorization over QQbar

Change History (4)

comment:1 Changed 14 months ago by vdelecroix

As far as I understand the problem comes from

Factorization([]).value()

being an integer. This is used in line 973 of qqbar.py

.../sage/rings/qqbar.py in _factor_multivariate_polynomial(self, f, proof)
    973         trial = Factorization(factorization).value()
    974 
--> 975         return Factorization(factorization, unit = f.lc() / trial.lc())
    976 
    977 

Which is where the error comes from.

comment:2 Changed 14 months ago by gh-BrentBaccala

  • Authors set to Brent Baccala
  • Branch set to public/29076
  • Commit set to 210af7d9156968019284f6a324814e6e73a2ddae
  • Status changed from new to needs_review

I apologize for this. Zero-degree polynomials are an obvious special case. My test coverage just isn't what it should be.


New commits:

210af7dTrac #29076: bug fix with doctest in QQbar/AA multivariate factorization

comment:3 Changed 14 months ago by mkoeppe

  • Reviewers set to Matthias Koeppe
  • Status changed from needs_review to positive_review

Thanks for the speedy reaction and fix.

comment:4 Changed 13 months ago by vbraun

  • Branch changed from public/29076 to 210af7d9156968019284f6a324814e6e73a2ddae
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.