Given a map between free modules f: F →G this function computes the kernel of the induced map of symmetric algebras, Sym(f): Sym(F) →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 , w ] 0 1 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 , w ] 0 1 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.