# How can I compute the full set of nodes of a surface?

The nodes of a surface are special cases of more general singularities. For example, the Cayley cubic has four nodes.

The full set of singularities of a surface can be characterized by finding all points where the partial derivatives are all zero. However, not all singularities are nodes. Some are cusps or other kinds of singularities. For example, the Cayley cubic has five singularities, four of which occur at the nodes of the internal elliptope and the fifth which occurs at zero and is apparently not a node.

Is there a simple way to check which singularities are surface nodes? Or, more interestingly, is there a way to compute the full set of nodes of a surface directly?

-

A node (as in Cayley's surface) is a double point with nondegenerate tangent cone. To check whether a given point on a surface in A^3 is a node in this sense, change coordinates so that it is the origin and write the equation as 0=F_2+F_3+... with F_i homogeneous of degree i. The point is a node iff F_2 is irreducible. I am assuming the base field is algebraically closed.

-
There is a notion of a node of a surface which is, I believe, just an $A_1$ singularity, that is, analytically isomorphic to the vertex of the cone $(xy-z^2)\subset \mathbb A^3_{x,y,z}$.
Then even if you restrict to double self-intersections, that is still not unique. Do you want (simple) normal crossing such as $(xy=0)\subset \mathbb A^3_{x,y,z}$, the non-Cohen-Macaulay $(x=y=0)\cap (z=t=0)\subset \mathbb A^4_{x,y,z,t}$, or something else?