Given a reduced ring $S$, this returns the normalization map $S \to S^N$. It works by computing the normalization after modding out by each minimal prime, and then taking the product of the rings. This should be compared to the function icMap built into Macaulay2.
i1 : R = QQ[x,y]/ideal(x*y); |
i2 : icMap(R); o2 : RingMap R <--- R |
i3 : h2 = betterNormalizationMap(R); QQ[Yy0, Yy1, Yy2] o3 : RingMap ------------------------------------ <--- R 2 (Yy2 - Yy2, Yy1*Yy2 - Yy1, Yy0*Yy2) |
i4 : RN = target h2 o4 = RN o4 : QuotientRing |
i5 : radical ideal singularLocus RN o5 = ideal 1 o5 : Ideal of QQ[Yy0, Yy1, Yy2] |
The object betterNormalizationMap is a method function with options.