Something seems wrong here with the performance of PolynomialQuotient. Is there blowup because the leading coefficient in x is a polynomial? Also it seems slower in Mathematica 9 versus v8.
d = 5 f = Expand[ ((1+x)*(1+y)*(1+z))^d + 1 ]; g = Expand[ ((1-x)*(1-y)*(1-z))^d + 1 ]; AbsoluteTiming[ p = Expand[ f g ]; ] AbsoluteTiming[ q = PolynomialQuotient[p, f, x]; ] AbsoluteTiming[ P = Factor[ p ]; ]
What is the preferred method for (exact) division of polynomials? On this example I tried Cancel[ p/f ] and it works fine, but on other problems it is faster to use PolynomialQuotient. Suggestions?