|
A.22 Normalization
The normalization will be computed for a reduced ring
. The
result is a list of rings; ideals are always called norid in the
rings of this list. The normalization of
is the product of
the factor rings of the rings in the list divided out by the ideals
norid .
| LIB "normal.lib";
// ----- first example: rational quadruple point -----
ring R=32003,(x,y,z),wp(3,5,15);
ideal I=z*(y3-x5)+x10;
list pr=normal(I);
==>
==> // 'normal' created a list of 1 ring(s).
==> // nor[1+1] is the delta-invariant in case of choose=wd.
==> // To see the rings, type (if the name of your list is nor):
==> show( nor);
==> // To access the 1-st ring and map (similar for the others), type:
==> def R = nor[1]; setring R; norid; normap;
==> // R/norid is the 1-st ring of the normalization and
==> // normap the map from the original basering to R/norid
def S=pr[1];
setring S;
norid;
==> norid[1]=T(2)*T(3)-T(1)*T(4)
==> norid[2]=T(1)^7-T(1)^2*T(3)+T(2)*T(5)
==> norid[3]=T(1)^2*T(5)-T(2)*T(4)
==> norid[4]=T(1)^5*T(4)-T(3)*T(4)+T(5)^2
==> norid[5]=T(1)^6*T(3)-T(1)*T(3)^2+T(4)*T(5)
==> norid[6]=T(1)*T(3)*T(5)-T(4)^2
// ----- second example: union of straight lines -----
ring R1=0,(x,y,z),dp;
ideal I=(x-y)*(x-z)*(y-z);
list qr=normal(I);
==>
==> // 'normal' created a list of 3 ring(s).
==> // nor[3+1] is the delta-invariant in case of choose=wd.
==> // To see the rings, type (if the name of your list is nor):
==> show( nor);
==> // To access the 1-st ring and map (similar for the others), type:
==> def R = nor[1]; setring R; norid; normap;
==> // R/norid is the 1-st ring of the normalization and
==> // normap the map from the original basering to R/norid
def S1=qr[1]; def S2=qr[2];
setring S1; norid;
==> norid[1]=0
setring S2; norid;
==> norid[1]=0
|
|