1 | initial version |
AFAIK, Singular can handle this case but the Sage wrappers restrict the coefficient domain to a field. You can work around this with the magical Singular function interface. Using the example from the previous question linked above:
sage: R.<x,y,z,t> = ZZ[]
sage: C1= 17*x^2 + 7*y^2 - 26*y*z + 7*z^2
sage: C2= 13*y^2 - 7*y*z + 13*z^2 - 51*t^2
sage: I = (C1, C2)*R
sage: f in I
False
sage: 221*f in I
True
sage: lift = sage.libs.singular.ff.lift
sage: lift(I, 221*f)
[ 13*x^2 + 17*y*z - 21*t^2]
[-7*x^2 + 17*y^2 + 17*z^2 + 78*t^2]
sage: (13*x^2 + 17*y*z - 21*t^2)*C1 + (-7*x^2 + 17*y^2 + 17*z^2 + 78*t^2)*C2
221*x^4 + 221*y^4 + 221*z^4 - 3978*t^4
sage: f
x^4 + y^4 + z^4 - 18*t^4