Dear Davis,
concerning your first question, I do not know a general procedure for finding the conductor of a map. For the normalization map, however, Corollary 3.6.11 in the textbook "A Singular Introduction to Commutative Algebra" (by Greuel and Pfister) may provide the basis for an iterative algorithm computing the conductor (that is, Ann_A(Abar/A), where Abar
is the normalization of A.
By the way, the radical of the conductor coincides with the radical of the ideal computed by Algorithm 3.6.12 (non-normalLocus) in the book cited above.
Concerning your second question:
> Secondly, working with said hypersurface ... , the results I get seem to
> depend heavily on my base ring. Over Q, Singular seems to think this
> ring is already normal (it's not); ....
I cannot reproduce this problem. The following Singular (3-0-0) session computes the normalization of your hypersurface over Q (result coincides with result in char 32003):
Code:
ring r=0,(a,b,c,d,e),dp;
ideal I= d^3+a^2*c*d-a^3*e+2*b*c*d^2-3*a*b*d*e+b^2*c^2*d
-a*b^2*c*e-b^3*e^2;
LIB "normal.lib";
def L=normal(I);
def R=L[1];
setring R; norid; normap;
//->norid[1]=0
//->normap[1]=T(1)
//->normap[2]=T(2)
//->normap[3]=T(3)
//->normap[4]=T(2)*T(4)^2+T(1)*T(4)
//->normap[5]=T(4)^3+T(3)*T(4)
Concerning the computation of the normalization over C, note that one cannot simply define a ring r=(0,complex),..... . This makes SIngular compute with floating point numbers and most Singular routines are not implemented for computing with floating point numbers (at this writing, these kind of rings are only implemented for applications in the context of symbolic-numerical solving).
Christoph Lossen
(Singular-Team)