I = symmetricKernel f
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 HunekeEisenbudUlrich) 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 EisenbudHunekeUlrich, 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.



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.


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



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 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.
The object symmetricKernel is a method function with options.