Macaulay2 » Documentation
Packages » Jets > jetsRadical
next | previous | forward | backward | up | index | toc

jetsRadical -- compute radicals of jets ideals

Synopsis

Description

This function is provided by the package Jets. It returns the radical of the ideal of jets of the input ideal.

If the input is not a monomial ideal, this function uses the radical function from the MinimalPrimes package.

If the input is a monomial ideal, it uses an algorithm based on the proof of Theorem 3.2 in R.A. Goward and K.E. Smith, The jet scheme of a monomial scheme. This has the potential to speed up the computation, especially for large jet orders. Note that the generating set of the output may not be minimal, unless the generators of the input are squarefree monomials.

An ideal generated by squarefree monomials:

i1 : R = QQ[x,y,z]

o1 = R

o1 : PolynomialRing
i2 : I = ideal (x*z, y*z)

o2 = ideal (x*z, y*z)

o2 : Ideal of R
i3 : J = jets(1,I);

o3 : Ideal of QQ[x0, y0, z0][x1, y1, z1]
i4 : MP = radical J;

o4 : Ideal of QQ[x0, y0, z0][x1, y1, z1]
i5 : GS = jetsRadical(1,I);

o5 : Ideal of QQ[x0, y0, z0][x1, y1, z1]
i6 : netList sort MP_* | netList sort GS_*

     +-----++-----+
o6 = |y0*z0||y0*z0|
     +-----++-----+
     |x0*z0||x0*z0|
     +-----++-----+
     |y0*z1||y0*z1|
     +-----++-----+
     |x0*z1||x0*z1|
     +-----++-----+
     |z0*y1||z0*y1|
     +-----++-----+
     |z0*x1||z0*x1|
     +-----++-----+

An ideal with generators which are not squarefree:

i7 : R = QQ[x,y,z]

o7 = R

o7 : PolynomialRing
i8 : I = ideal(x*y^2, z*x, x^3)

               2        3
o8 = ideal (x*y , x*z, x )

o8 : Ideal of R
i9 : J = jets(1,I);

o9 : Ideal of QQ[x0, y0, z0][x1, y1, z1]
i10 : MP = radical J;

o10 : Ideal of QQ[x0, y0, z0][x1, y1, z1]
i11 : GS = jetsRadical(1,I);

o11 : Ideal of QQ[x0, y0, z0][x1, y1, z1]
i12 : netList sort MP_* | netList sort GS_*

      +-----++--------+
o12 = |x0   ||x0      |
      +-----++--------+
      |z0*x1||x0*z0   |
      +-----++--------+
      |y0*x1||x0*y0   |
      +-----++--------+
             |x0*z1   |
             +--------+
             |x0*y0*y1|
             +--------+
             |z0*x1   |
             +--------+
             |y0*x1   |
             +--------+
             |x0*x1   |
             +--------+
i13 : MP == GS

o13 = true

Ways to use jetsRadical :

For the programmer

The object jetsRadical is a method function.