|
A.3.10 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, say nor, of two elements.
==> // To see the list type
==> nor;
==>
==> // * nor[1] is a list of 1 ring(s).
==> // To access the i-th ring nor[1][i], give it a name, say Ri, and type
==> def R1 = nor[1][1]; setring R1; norid; normap;
==> // For the other rings type first (if R is the name of your base ring)
==> setring R;
==> // and then continue as for R1.
==> // Ri/norid is the affine algebra of the normalization of R/P_i where
==> // P_i is the i-th component of a decomposition of the input ideal id
==> // and normap the normalization map from R to Ri/norid.
==>
==> // * nor[2] is a list of 1 ideal(s). Let ci be the last generator
==> // of the ideal nor[2][i]. Then the integral closure of R/P_i is
==> // generated as R-submodule of the total ring of fractions by
==> // 1/ci * nor[2][i].
def S=pr[1][1];
setring S;
norid;
==> norid[1]=T(2)*x+y*z
==> norid[2]=T(1)*x^2-T(2)*y
==> norid[3]=-T(1)*y+x^7-x^2*z
==> norid[4]=T(1)*y^2*z+T(2)*x^8-T(2)*x^3*z
==> norid[5]=T(1)^2+T(2)*z+x^4*y*z
==> norid[6]=T(1)*T(2)+x^6*z-x*z^2
==> norid[7]=T(2)^2+T(1)*x*z
==> norid[8]=x^10-x^5*z+y^3*z
// ----- 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, say nor, of two elements.
==> // To see the list type
==> nor;
==>
==> // * nor[1] is a list of 2 ring(s).
==> // To access the i-th ring nor[1][i], give it a name, say Ri, and type
==> def R1 = nor[1][1]; setring R1; norid; normap;
==> // For the other rings type first (if R is the name of your base ring)
==> setring R;
==> // and then continue as for R1.
==> // Ri/norid is the affine algebra of the normalization of R/P_i where
==> // P_i is the i-th component of a decomposition of the input ideal id
==> // and normap the normalization map from R to Ri/norid.
==>
==> // * nor[2] is a list of 2 ideal(s). Let ci be the last generator
==> // of the ideal nor[2][i]. Then the integral closure of R/P_i is
==> // generated as R-submodule of the total ring of fractions by
==> // 1/ci * nor[2][i].
def S1=qr[1][1]; def S2=qr[1][2];
setring S1; norid;
==> norid[1]=-T(1)*y+T(1)*z+x-z
==> norid[2]=T(1)*x-T(1)*y
==> norid[3]=T(1)^2-T(1)
==> norid[4]=x^2-x*y-x*z+y*z
setring S2; norid;
==> norid[1]=y-z
|
|