# Algorithm to find relations between polynomials

Let $p_1,\ldots,p_k\in\mathbb{C}[x_1,\ldots,x_n]$ be polynomials. Is there an algorithm to compute the ideal of relations between them?

More precisely, to find a set of generators for the kernel of the ring homomorphism $$\mathbb{C}[y_1,\ldots,y_k]\to \mathbb{C}[x_1,\ldots,x_n],\quad y_i\mapsto p_i(x_1,\ldots,x_n).$$ (This enables us to compute $\mathbb{C}[p_1,\ldots,p_k]$).

Example: Consider $$x_1x_2,x_3x_4,x_1x_3,x_2x_4\in\mathbb{C}[x_1,x_2,x_3,x_4].$$ One obvious relation between them is $$(x_1x_2)(x_3x_4)=(x_1x_3)(x_2x_4).$$ Thus, if $$\varphi:\mathbb{C}[y_1,y_2,y_3,y_4]\to\mathbb{C}[x_1,x_2,x_3,x_4]$$ is the homomorphism defined by $$y_1\mapsto x_1x_2,\quad y_2\mapsto x_3x_4,\quad y_3\mapsto x_1x_3,\quad y_4\mapsto x_2x_4,$$ then $y_1y_2-y_3y_4\in\ker \varphi$. It is easy to see that $\ker\varphi$ is in fact generated by $y_1y_2-y_3y_4$, so $$\mathbb{C}[x_1x_2,x_3x_4,x_1x_3,x_2x_4]\cong\mathbb{C}[y_1,y_2,y_3,y_3]/(y_1y_2-y_3y_4).$$

(I posted a similar question in mathematica.stackexchange.)