# 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 // 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); ==> _=bc ==> _=ac ==> _=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=x2y-xyt ==> I=xyz-yzt ==> I=xzt-zt2 ==> I=xy3-z2t3 ==> I=y3zt-z3t3 // Conductor normalConductor(I); ==> _=xy-yt ==> _=xz-zt ==> _=yt ==> _=x2t-xt2 ==> _=zt2 ==> _=y3z+xz3t-z3t2 ``` 