I want to do this:
L.<t> = FunctionField(GF(5))
R.<x,y> = PolynomialRing(L)
p = x^2-t^2*y^2
p.factor()
As a result, I would like to get something like (x+t*y)(x-t*y)
or (x+t*y)(x+4*t*y)
.
But what I get is:
sage: L.<t> = FunctionField(GF(5))
/software/sagemath/9.0/SageMath/local/lib/python3.7/site-packages/sage/rings/function_field/ideal.py:2217: DeprecationWarning: invalid escape sequence \g
"""
sage: R.<x,y> = PolynomialRing(L)
sage: p = x^2-t^2*y^2
sage: p.factor()
---------------------------------------------------------------------------
NotImplementedError Traceback (most recent call last)
<ipython-input-5-f448610e9d77> in <module>()
----> 1 p.factor()
/software/sagemath/9.0/SageMath/local/lib/python3.7/site-packages/sage/rings/polynomial/multi_polynomial_element.py in factor(self, proof)
1842 proof = get_flag(subsystem="polynomial")
1843 if proof:
-> 1844 raise NotImplementedError("Provably correct factorization not implemented. Disable this error by wrapping your code in a `with proof.WithProof('polynomial', False):` block.")
1845
1846 R._singular_().set_ring()
NotImplementedError: Provably correct factorization not implemented. Disable this error by wrapping your code in a `with proof.WithProof('polynomial', False):` block.
However, this works, but (as already indicated in the parentheses) I get a wrong result:
sage: p.factor(false)
[(x + t*y, 1), (-x + t*y, 1)]
Unlike the univariate case, there is also no option to check whether the polynomial is irreducible, i.e. p.is_irreducible()
doesn't exist.