I have a polynomial f in ZZ[X,Y] which I want to factor. (Typical example has degree 84 in X, degree 336 in Y and factors into degrees (6,24)+(78,312).)
f.factor() does not work: NotImplementedError: Factorization of multivariate polynomials over non-fields is not implemented. Changing ring to QQ[X,Y] works but takes over 10 hours!!!! Changing ring to GF(p)[X,Y] works very nicely and takes only about 6 seconds -- but only for smallish primes! In the example, the first factor has maximum coefficeint about 5*10^13, so should be computable by factoring over GF(p) for p=next_prime(10^14), but that leads to some nasty Singular error message: TypeError: Singular error: ? Wrong ground field specification ? cannot make ring ? error occurred in or before STDIN line 27: `ring sage7=100000000000031,(Xr, tr),dp;` ? expected ring-expression. type 'help ring;' I can easily factor mod two primes around 10^7 and then use CRT, though that is a bit of a pain. So my question is: what's this limit on the size of primes p for which factorization over GF(p)[X,Y] is possible, where does this limit come from, and is it documented? And of course the follow-up question is: does anyone out there fancy implementing factorization over ZZ[X,Y], say by factoring modulo some not-too-large primes and using CRT until the results stabilise (all of which must be standard practice and written down somewhere with proper bounds, etc)? John Cremona -- To post to this group, send email to sage-support@googlegroups.com To unsubscribe from this group, send email to sage-support+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-support URL: http://www.sagemath.org