next | previous | forward | backward | up | top | index | toc | Macaulay2 website
ReesAlgebra :: symmetricKernel

symmetricKernel -- Compute the Rees ring of the image of a matrix



Given a map between free modules $f: F \to G$ this function computes the kernel of the induced map of symmetric algebras, $Sym(f): Sym(F) \to Sym(G)$ as an ideal in $Sym(F)$. When $f$ defines a versal embedding of $Im f$ then by the definition of Huneke-Eisenbud-Ulrich) this is equal to the defining ideal of the Rees algebra of the module Im f, the Rees ideal of M.

When $M$ is an ideal (and in general in characteristic 0) then, by a theorem of Eisenbud-Huneke-Ulrich, any embedding of M into a free module may be used, and it follows that the Rees ideal is equal to the saturation of the defining ideal of symmetric algebra of M with respect to any element f of the ground ring such that M[f^{-1}] is free. And this often gives a faster computation.

Most users will prefer to use one of the front end commands reesAlgebra, reesIdeal to compute the ideal.

i1 : R = QQ[a..e]

o1 = R

o1 : PolynomialRing
i2 : J = monomialCurveIdeal(R, {1,2,3})

             2                    2
o2 = ideal (c  - b*d, b*c - a*d, b  - a*c)

o2 : Ideal of R
i3 : symmetricKernel (gens J)

o3 = ideal (b*w  - c*w  + d*w , a*w  - b*w  + c*w )
               0      1      2     0      1      2

o3 : Ideal of R[w ..w ]
                 0   2

Let I be the ideal returned and let S be the ring it lives in (also printed). The ring S/I is isomorphic to the Rees algebra R[Jt]. We can get the same information above using reesIdeal(J), see reesIdeal. Note that the degree length of S is one more than the degree length of R; the old variables now have first degree 0, while the new variables have first degree 1.

i4 : S = ring oo;
i5 : (monoid S).Options.Degrees

o5 = {{1, 2}, {1, 2}, {1, 2}}

o5 : List

The function symmetricKernel can also be computed over a quotient ring.

i6 : R = QQ[x,y,z]/ideal(x*y^2-z^9)

o6 = R

o6 : QuotientRing
i7 : J = ideal(x,y,z)

o7 = ideal (x, y, z)

o7 : Ideal of R
i8 : symmetricKernel(gens J)

                                                             8       2  
o8 = ideal (z*w  - y*w , z*w  - x*w , y*w  - x*w , x*y*w  - z w , x*w  -
               1      2     0      2     0      1       1      2     1  
      7 2     2    6 3
     z w , w w  - z w )
        2   0 1      2

o8 : Ideal of R[w ..w ]
                 0   2

The many ways of working with this function allows the system to compute both the classic Rees algebra of an ideal over a ring (polynomial or quotient) and to compute the the Rees algebra of a module or ideal using a versal embedding as described in the paper of Eisenbud, Huneke and Ulrich. It also allows different ways of setting up the quotient ring.

See also

Ways to use symmetricKernel :

For the programmer

The object symmetricKernel is a method function with options.