In the function:
def compute_numberfield_product_of_pairs(polynomial_ring, f, integer_pairs, vector):
remove
I = polynomial_ring.ideal(f)
and change
product_polynomial.mod(I)
to:
product_polynomial = product_polynomial.mod(f)
This should work.
The modified function is as follows:
def compute_numberfield_product_of_pairs(polynomial_ring, f, integer_pairs, vector):
product_polynomial = polynomial_ring([1])
for j in xrange(len(vector)):
if (1 == vector[j]):
linear_poly = polynomial_ring([integer_pairs[j][0], integer_pairs[j][1]])
product_polynomial = product_polynomial * linear_poly
product_polynomial = product_polynomial.mod(f)
return product_polynomial
Best, slelievre