"On algorithmic desingularization of hypersurfaces" Gabor Bodnar and Josef Schicho. Research Institute for Symbolic Computation Linz RISC-Linz, Joh. Kepler. Univ., A-4040 Linz Linz, Austria, A-4040 Austria E-mail:{Bodnar,Schicho}@risc.uni-linz.ac.at The need to desingularize algebraic varieties has arised from the desire to extend the rich results from the nonsingular theory to the general case. For curves, the problem is easy, and the common answer is normalization (see \cite{Trager:76}). But for higher dimensional varieties, the problem is much more difficult. For instance, algorithmic desingularization of surfaces was posed as an open problem in \cite{Eisenbud:93}. Theoretically, the problem was solved in the famous paper \cite{Hironaka:64}, which proved existence of desingularizations for varieties in characteristic zero. Other proofs have been suggested by \cite{Jung:08,Walker:35,Zariski:39,Abhyankar:69,Hironaka:84,Lipman:78} in the surface case and by \cite{Villamayor:89,Bierstone_Milman:91} for arbitrary dimensions. Unfortunately, almost all approaches to the desingularization problem are not algorithmic. But a desingularization algorithm is essential for effective application of all the results mentioned above. For instance, \cite{Schicho:97} uses surface desingularization for the parameterization of rational surfaces. In the same paper, desingularization is used to compute ``adjoints'', a powerful tool in computational algebraic geometry (see also \cite{Blass_Lipman:79}). Other applications would be possible in the theory of differential equations (see \cite{Cano_Cerveau:92}). >From an algorithmic point of view, the breakthrough was the paper~\cite{Villamayor:89}. It describes a desingularization of hypersurfaces by blowing up similar to Hironaka's desingularization (still characteristic zero). But unlike Hironaka, Villamayor gives a way to determine the blowing up centers explicitly. Hence the paper contains a desingularization algorithm, at least implicitly (see also \cite{Villamayor:91}). Up to now, Villamayor's algorithm was not implemented. The reasons are two-fold. First, the common way of representing blowing ups embeds the blowup variety in some higher dimensional space (see \cite{Hartshorne:77}) . This is not convenient for performing the differential operations that are necessary in the algorithm. Second, the algorithm itself is rather complicated, even without taking the problem of representing blowing up into account. In this paper we present an implementation of Villamayor's algorithm, and a solution to the technical problem of representing blowing ups. The idea is to work simultanously with two coordinate frames. The affine coordinates generate the coordinate ring, and they are used for all kinds of algebraic computations, based on the method of Gr\"obner bases (see \cite{Buchberger:65,Buchberger:85}). The differentiable frame is a set of regular functions that form a regular system of parameters for each point, modulo translation. It is used for differentiating and for defining all objects in the algorithm that are supposed to be nonsingular (i.e. the blowing up centers).