# Efficient techniques for computing singular locus

Let $$X = \operatorname{Spec} k[x_1,\ldots,x_n]/I$$ be an affine variety of dimension $$d$$. By definition the singular locus of $$X$$ is the locus of points of $$X$$ where the rank of the Jacobian matrix is $$< n - d$$.

In theory the singular locus is easy to compute: its ideal is generated by $$I$$ and all the $$(n - d) \times (n - d)$$ minors of the Jacobian.

In practice, computing the singular locus can be infeasible. For instance, suppose $$X \subset \mathbf{A}^{12}$$ is a dimension $$4$$ variety defined by $$18$$ equations. (Let us assume this is a minimal number of equations for $$X$$.) The the Jacobian is an $$18 \times 12$$ matrix, and one must compute all the $$8 \times 8$$ minors of this matrix, of which there are over $$21$$ million! Even a computer will struggle greatly with this task.

Are there any known algorithms or techniques for getting a handle on the singularities of $$X$$ when faced with such a computationally difficult situation?