Macaulay2 » Documentation
Packages » GenericInitialIdeal :: gin
next | previous | forward | backward | up | index | toc

# gin -- the generic initial ideal

- Usage:
    `gin I`
- Inputs:
  - I, an Ideal in a polynomialRing
- Optional inputs:
  - AttemptCount (missing documentation) => ..., default value 7, sets the number of random coordinate changes the routine attempts before choosing the potentialgin .
  - Modular (missing documentation) => ..., default value false, if set to be true, computations are performed modulo a large random prime .
  - MonomialOrder (missing documentation) => ..., default value null, sets the Monomial Order used in the computation of gin .
  - Multigraded (missing documentation) => ..., default value false, if true computes the multigraded gin w.r.t. the multigrading of ring I.
  - Verbose (missing documentation) => ..., default value false, provides a summary of the random initial ideals generated and warns if the selected one is not strongly stable.
- Outputs:
  - an Ideal, the generic initial ideal of I.

## Description

Example: a complete intersection of type (3,3) in P^3

    i1 : R = QQ[a..d];

    i2 : I = ideal(a^3+c^2*d, b^3-a*d^2);

    o2 : Ideal of R

    i3 : gin(I)

                 3   2      3   5
    o3 = ideal (a , a b, a*b , b )

    o3 : Ideal of R

The Stanley-Reisner ideal of RP^2

    i4 : R = QQ[x0,x1,x2,x3,x4,x5]

    o4 = R

    o4 : PolynomialRing

    i5 : M = matrix {{x1*x3*x4, x0*x3*x4, x1*x2*x4, x0*x2*x3, x0*x1*x2, x2*x4*x5, x0*x4*x5, x2*x3*x5, x1*x3*x5, x0*x1*x5}} --Stanley-Reisner ideal of RP^2

    o5 = | x1x3x4 x0x3x4 x1x2x4 x0x2x3 x0x1x2 x2x4x5 x0x4x5 x2x3x5 x1x3x5 x0x1x5
         ------------------------------------------------------------------------
         |

                 1      10
    o5 : Matrix R  <-- R

    i6 : I=ideal flatten entries M

    o6 = ideal (x1*x3*x4, x0*x3*x4, x1*x2*x4, x0*x2*x3, x0*x1*x2, x2*x4*x5,
         ------------------------------------------------------------------------
         x0*x4*x5, x2*x3*x5, x1*x3*x5, x0*x1*x5)

    o6 : Ideal of R

    i7 : J=(ideal{x0,x1,x2})^3

                  3    2      2         2                 2    3    2         2
    o7 = ideal (x0 , x0 x1, x0 x2, x0*x1 , x0*x1*x2, x0*x2 , x1 , x1 x2, x1*x2 ,
         ------------------------------------------------------------------------
           3
         x2 )

    o7 : Ideal of R

    i8 : assert(gin(I)==J)

Example 1.10 from Conca, De Negri, Gorla 'Cartwright-Sturmfels ideals associated to graphs and linear spaces'.

    i9 : R = QQ[x_1..x_3,y_1..y_3, Degrees=>{{1,0},{1,0},{1,0},{0,1},{0,1},{0,1}}];

    i10 : I = ideal(x_1*y_1,x_2*y_2,x_3*y_2,x_2*y_3,x_3*y_3);

    o10 : Ideal of R

    i11 : gin(I)

                  2         2               3   2
    o11 = ideal (x , x x , x , x x , x x , x , x y )
                  1   1 2   2   1 3   2 3   3   3 1

    o11 : Ideal of R

    i12 : gin(I, Multigraded => true)

                                                2
    o12 = ideal (x y , x y , x y , x y , x y , x y , x x y )
                  1 1   2 1   3 1   1 2   2 2   1 3   1 2 3

    o12 : Ideal of R

This symbol is provided by the package GenericInitialIdeal.

## Caveat

The method gin uses a probabilistic algorithm. The returned answer is correct with high probability in characteristic zero and large positive characteristic, but might be wrong in small positive characteristic. For details in this situation it is recommended to use the Verbose option.

## See also

- lexgin -- the generic initial ideal with respect to lexicographical order

## Ways to use gin:

- gin(Ideal) -- the generic initial ideal
- gin(QuotientRing) -- the generic initial ideal

## For the programmer

The object gin is a method function with options.

The source of this document is in /build/macaulay2-88fgJW/macaulay2-1.25.11+ds/M2/Macaulay2/packages/GenericInitialIdeal.m2:171:0.