How can I tell if a variety is normal?

Suppose $R$ is a subalgebra of ${\mathbb C}[x_1,...,x_N]$ generated by polynomials $p_1,...,p_k.$ I know that ${\mathbb C}[x_1,...,x_N]$ is the integral closure of $R$. Is there an algorithm to determine if $R={\mathbb C}[x_1,...,x_N]$ which would work for large $N$? (Say $N=20$).

Clearly, it is a question about the normality of the variety $X=Spec(R).$ The problem is that I don't know relations between the generators of $R$ (and these may be difficult to compute for large $N$)-- otherwise I could check if $X$ is smooth and if the map ${\mathbb C}^n\to X$ is an immersion -- conditions which imply that $R={\mathbb C}[x_1,...,x_N]$.

• Interesting question. I have three small questions. Firstly, can one "algorithmically" determine whether $R$ is reduced? Also, what about determining whether Spec $R$ is irreducible? Finally, is Serre's criterion good for algorithmic purposes? That is, can you determine whether Spec $R$ satisfies the properties $(R1)$ and $(S2)$ in finite time? (Recall that the condition $(S2)$ is satisfied when Spec $R$ is Cohen-Macaulay.) You can read about Serre's criterion in Section 8.2 of Liu's book Algebraic geometry and Arithmetic curves or page 183 of Matsumura's Commutative Ring Theory. – Ariyan Javanpeykar Aug 11 '12 at 8:26
• I would also like to add that the following question and its answers might be relevant: mathoverflow.net/questions/60097/… – Ariyan Javanpeykar Aug 11 '12 at 8:29
• @Adam: The normality problem comes up for example when studying closures of nilpotent orbits in a complex semisimple Lie algebra. This has been settled case-by-case (sometimes positively, sometimes negatively) in almost all cases, but there is no sign of an effective algorithmic solution in that situation. It's a challenging test case for any general approach. – Jim Humphreys Aug 12 '12 at 19:31

Consider the ideal $(p_1(x_1,\dots,x_n)-p_1(y_1,\dots,y_n),\dots,(p_k(x_1,\dots,x_n)-p_k(y_1,\dots,y_n))$. If the polynomials generate the ring, this is the ideal $(x_1-y_1,\dots,x_k-y_k)$. This is clear, but the converse is also true, since a map is a closed immersion if it is proper and separates points and tangent vectors, which we can check using the ideal.
Proof: To check that two points $P$ and $Q$ are separated, choose a $p_i$ that does not vanish at $P,Q$. To check that two tangent vectors $t_1$ and $t_2$ at $P$ are separated, choose a $p_i$ such that the derivative of $p_i$ at $P$ in the direction $(t_1,t_2)$ is nonzero, which there must be since $t_1$ and $t_2$ differ along some coordinate $x_j$, so the derivative of $x_j-y_j$ is nonzero.
A closed immersion of affine schemes is a quotient by an ideal, but this map has no kernel, so it is an isomorphism as long as $(p_1(x_1,\dots,x_n)-p_1(y_1,\dots,y_n),\dots,(p_k(x_1,\dots,x_n)-p_k(y_1,\dots,y_n))=(x_1-y_1,\dots,x_k-y_k)$
• I think you mixed up the indices in the definition of the ideal in the first line. And maybe it's obvious, but I don't understand how one can deduce from the ideal in question being equal to $(x_1-y_1,\ldots,x_n-y_n)$ that the map $p: \mathbb C^N \longrightarrow \mathbb C^k$ has non-singular differential in each point (presuming that's what you meant). I see that it implies that the map is injective, but I don't see how it implies that it's an immersion. How do you show that? – Florian Eisele Aug 11 '12 at 18:43