up previous next
 gin

generic initial ideal

 Syntax
 `gin(I: IDEAL): 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).

See rgin for computing wrt DegRevLex independently of the current ring.

Verbosity:

with verbosity >=50 it prints

the two random changes of coordinates used

and the NewRingTwinFloat precision used.

 Example
 ```/**/ use R ::= QQ[x,y,z]; /**/ gin(ideal(y^2-x*z, x^2*z-y*z^2)); -- computed twice using TwinFloats ideal(x^2, x*y^2, y^4) /**/ SetVerbosityLevel(50); --> get some internal progress information /**/ gin(ideal(y^7-x^4*z^3, x^5*z-y*z^5)); RandIdeal: g = [ -439946*x, 742383*x -909613*y, 129429*x +49607*y +832207*z ] TryPrecisions: -- trying with FloatPrecision 64 RandIdeal: g = [ -187890*x, -127769*x +272107*y, 377492*x +778394*y -547019*z ] TryPrecisions: -- 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