The example below shows that (1 - 3x + 3x**2 - x**3) is factored into (-1 + x)**3.
But it should be (1 - x)**3 or (-1) * (-1 + x)**3.
In [145]: nzmath.poly.factor.integerpolynomialfactorization(uniutil.IntegerPolynomial({0:1,1:-3,2:3,3:-1}, Z))
Out[145]: [(IntegerPolynomial([(0, -1L), (1, 1L)], IntegerRing()), 3)]