Macaulay2 » Documentation
Packages » ResidualIntersections :: genericArtinNagata
next | previous | forward | backward | up | index | toc

# genericArtinNagata -- Generic Artin nagata

- Usage:
    `L = genericArtinNagata(s,I)`
- Inputs:
  - s, an integer,
  - I, an ideal,
- Outputs:
  - L, a list,

## Description

forms an ideal F generated by s generic linear combinations of the generators of I in the degree of the highest degree generator, and computes K = F:I. If the codimension of K is not equal to s, returns {-1,K}. Otherwise returns {codepth R/K,K}, where codepth R/K is the deviation from Cohen-Macaulayness. Thus genericArtinNagata(s,I)_0 = 0 means that K is an s-residual intersection of codim s and R/K is Cohen-Macaulay.

If I is a monomial ideal, the function residualCodims I returns the list of codimensions s for which there might be a residual intersection of codimension s.

In the following example, all the generic residual intersections are Cohen-Macaulay, until we get to the 6-residual intersection, which cannot be codim 6 because there are only 5 variables.

    i1 : setRandomSeed 0
     -- setting random seed to 0

    o1 = 0

    i2 : S = ZZ/101[a,b,c,d,e]

    o2 = S

    o2 : PolynomialRing

    i3 : I = minors(2, random(S^2, S^{3:-1}))

                   2              2                      2
    o3 = ideal (45a  + 24a*b - 50b  + 10a*c + 48b*c + 45c  - 49a*d - 50b*d -
         ------------------------------------------------------------------------
                    2                                  2     2              2
         10c*d + 23d  + 3a*e - 7b*e + 8c*e - 4d*e + 16e , 22a  + 45a*b + 17b  +
         ------------------------------------------------------------------------
                         2                             2
         36a*c + b*c + 6c  - 31a*d - 13b*d - 4c*d + 22d  - 27a*e - 30b*e + 44c*e
         ------------------------------------------------------------------------
                     2     2             2                      2
         + 21d*e + 4e , 24a  + 2a*b + 35b  + 44a*c + 15b*c + 34c  - 41a*d + 18b*d
         ------------------------------------------------------------------------
                      2                                      2
         + 48c*d + 49d  + 41a*e - 15b*e + 16c*e - 13d*e - 32e )

    o3 : Ideal of S

    i4 : apply(5, i-> (genericArtinNagata(i+2,I))_0)

    o4 = {0, 0, 0, 0, -1}

    o4 : List

    i5 : I = randomShellableIdeal(S,2,4)

    o5 = monomialIdeal (a*b*d, c*d, c*e)

    o5 : MonomialIdeal of S

    i6 : residualCodims I

    o6 = {3, 4, 5, 6}

    o6 : List

    i7 : apply(5, i-> (genericArtinNagata(i+2,I))_0)

    o7 = {0, 0, 0, 0, -1}

    o7 : List

## Caveat

## Ways to use genericArtinNagata:

- `genericArtinNagata(ZZ,Ideal)`

## For the programmer

The object genericArtinNagata is a method function.

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