I have the following problem: I'm studying a system of polynomial equations in R^n and I'm looking at the surface which is the solution set of this system. I'm mainly interested in the dimension of this surface at a given point. Now, naively, one would try to compute the Jacobian (of the m polynomials defining the surface) and then the dimension of the surface in that point would be the dimension of the kernel of the Jacobian. The problem is, of course, that this works only under the condition that the rank of the Jacobian is locally constant. But what about the points where this isn't the case? Could one at least say something about the "number of independent directions in which one can go". A simple example: Let's take R^3 (with cordinates x,y,z), for simplicity, and the equations: xy = 0 xz = 0 Now the Jacobian is [[y,x,0],[z,0,x]]. So the kernel is generically 1 dimensional (in particular at the points y=0,z=0) and at the points with x=0 it is 2 dimensional, except the point x=y=z=0 where it is 3 dimensional. This is in accordance with the geometric picture one has, in particular at the point x=y=z=0 we have three "independent directions" (tangent vectors) in which we can go, although the dimension is clearly not 3 at that point, since not all directions are allowed. Does this somehow hold in general - i.e. does the dimension of the kernel of the jacobian always give me the number of independent directions at that point. I'm aware that the notion of a tangent space can break down in these cases and, unfortunately, I don't know what the appropriate terminology in these cases is, but I hope you understand intuitively what I mean. Thank you for any ideas!