This seminormalizes a reduced ring and outputs the map from the original ring to the seminormalization .
i1 : R = QQ[x,y]/ideal(x^3 - y^2); |
i2 : L = seminormalize(R) QQ[Yy , Yy , Yy ] 0 1 2 o2 = {---------------------------------------, 2 2 (Yy - Yy , Yy Yy - Yy , Yy - Yy Yy ) 2 1 1 2 0 1 0 2 ------------------------------------------------------------------------ QQ[Yy , Yy , Yy ] 0 1 2 map(---------------------------------------,R,{Yy , Yy }), 2 2 1 0 (Yy - Yy , Yy Yy - Yy , Yy - Yy Yy ) 2 1 1 2 0 1 0 2 ------------------------------------------------------------------------ QQ[Yy00000RE1, xRE1, yRE1] map(-------------------------------------------------------------------- 2 2 (Yy00000RE1*yRE1 - xRE1 , Yy00000RE1*xRE1 - yRE1, Yy00000RE1 - xRE1 ------------------------------------------------------------------------ QQ[Yy , Yy , Yy ] 0 1 2 -,---------------------------------------,{yRE1, xRE1, Yy00000RE1})} 2 2 ) (Yy - Yy , Yy Yy - Yy , Yy - Yy Yy ) 2 1 1 2 0 1 0 2 o2 : List |
i3 : L#0 QQ[Yy , Yy , Yy ] 0 1 2 o3 = --------------------------------------- 2 2 (Yy - Yy , Yy Yy - Yy , Yy - Yy Yy ) 2 1 1 2 0 1 0 2 o3 : QuotientRing |
The previous example seminormalized a non-seminormal ring. Let’s try a seminormal ring.
i4 : R = QQ[x,y,z]/ideal(x^2*y-z^2); |
i5 : L = seminormalize(R) QQ[Yy , Yy , Yy ] QQ[Yy , Yy , Yy ] 0 1 2 0 1 2 o5 = {-----------------, map(-----------------,R,{Yy , Yy , Yy }), 2 2 2 2 1 2 0 Yy Yy - Yy Yy Yy - Yy 1 2 0 1 2 0 ------------------------------------------------------------------------ QQ[Yy00000RE1, xRE1, yRE1, zRE1] map(-------------------------------------------------------------------- 2 (Yy00000RE1*zRE1 - xRE1*yRE1, Yy00000RE1*xRE1 - zRE1, Yy00000RE1 - ------------------------------------------------------------------------ QQ[Yy , Yy , Yy ] 0 1 2 -----,-----------------,{zRE1, xRE1, yRE1})} 2 2 yRE1) Yy Yy - Yy 1 2 0 o5 : List |
i6 : L#0 QQ[Yy , Yy , Yy ] 0 1 2 o6 = ----------------- 2 2 Yy Yy - Yy 1 2 0 o6 : QuotientRing |