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) ```