# Singular

#### D.4.18.15 normalConductor

Procedure from library normal.lib (see normal_lib).

Usage:
normalConductor(I); I ideal

Assume:

Return:
the conductor of R/I as ideal in R

Remarks:
The procedures makes use of the minimal primes and
the generators of the normalization given by the normalization algorithm.

Note:
the optional parameter can be used if the normalization has already been computed. If a list L contains the output of the procedure normal (with options prim, wd and usering if the ring has a mixed ordering), apply normalConductor(I,L)

Example:
 LIB "normal.lib"; /////////////////////////////////////////// // Computation of small conductor ideals // /////////////////////////////////////////// ring R = 0,(x,y,z),ds; ideal I = x2y2 - z; normalConductor(I); ==> _[1]=1 // The conductor is the whole ring - so the ring is normal // We can also see this using the delta invariant: curveDeltaInv(I); ==> 0 ring S = 0,(a,b,c),dp; ideal J = abc; normalConductor(J); ==> _[1]=bc ==> _[2]=ac ==> _[3]=ab // The conductor is not the whole ring - so it is not normal // We can also see this using the delta invariant, which is even infinite curveDeltaInv(J); ==> -1 kill R,S; ///////////////////////////////////// // Computation of a bigger example // ///////////////////////////////////// ring R = 0,(x,y,z,t),ds; ideal I = xyz - yzt, x2y3 - z2t4; I = std(radical(I)); // Ideal I I; ==> I[1]=x2y-xyt ==> I[2]=xyz-yzt ==> I[3]=xzt-zt2 ==> I[4]=xy3-z2t3 ==> I[5]=y3zt-z3t3 // Conductor normalConductor(I); ==> _[1]=xy-yt ==> _[2]=xz-zt ==> _[3]=yt ==> _[4]=x2t-xt2 ==> _[5]=zt2 ==> _[6]=y3z+xz3t-z3t2