  There exists a well established differential topological theory of
singularities of ordinary differential equations. It has mainly studied scalar
equations of low order. We propose an extension of the key concepts to
arbitrary systems of ordinary or partial differential equations. Furthermore,
we show how a combination of this geometric theory with (differential)
algebraic tools allows us to make parts of the theory algorithmic. Our three
main results are firstly a proof that even in the case of partial differential
equations regular points are generic. Secondly, we present an algorithm for the
effective detection of all singularities at a given order or, more precisely,
for the determination of a regularity decomposition. Finally, we give a
rigorous definition of a regular differential equation, a notoriously difficult
notion ubiquitous in the geometric theory of differential equations, and show
that our algorithm extracts from each prime component a regular differential
equation. Our main tools are on the one hand the algebraic resp. differential
Thomas decomposition and on the other hand the Vessiot theory of differential
equations.
