up previous next
gin

generic initial ideal

Syntax
gin(I: IDEAL): IDEAL
gin(I: IDEAL, flag1: STRING): IDEAL

Description
These functions return the [probabilistic] gin (generic initial ideal) of the ideal I . It is obtained by computing twice the leading term ideal of g(I), where g is a random change of coordinates with integer coefficients in the range [-10^6, 10^6] using TwinFloats (see NewRingTwinFloat ) to allow a much wider range of coefficients than a direct computation over the rationals (use second argument to see the TwinFloat precision needed).

Example
/**/  Use R ::= QQ[x,y,z], DegRevLex;
/**/  gin(ideal(y^2-x*z, x^2*z-y*z^2));  -- computed twice using TwinFloats
ideal(x^2, x*y^2, y^4)

/**/  gin(ideal(y^7-x^4*z^3, x^5*z-y*z^5), "verbose");
[
  15915*x,
  872152*x -383743*y,
  412211*x -406393*y -383480*z
]
-- trying with FloatPrecision 64
[
  -925894*x,
  327379*x -729412*y,
  -945709*x +550455*y +499099*z
]
-- trying with FloatPrecision 64
ideal(x^6, x^5*y^2, x^4*y^4, x^3*y^6, x^2*y^8, x*y^10, y^12)

See Also