|
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.
==> // * 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 e.g.
==> def R1 = nor[1][1]; setring R1; norid; normap;
==> // For the other rings type first
==> setring r;
==> // (if r is the name of your original basering) and then continue as
==> // for the first ring.
==> // Ri/norid is the affine algebra of the normalization of the i-th
==> // component r/P_i (where P_i is the i-th component of a decomposition of
==> // the input ideal) and normap the normalization map from r to Ri/norid.
==> // * nor[2] is a list of 1 ideal(s) such that the integral
==> // closure of basering/P_i is generated as module over the basering by
==> // 1/ci * Ui, with Ui the i-th ideal of nor[2] and ci the last element
==> // Ui[size(Ui)] of Ui.
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.
==> // * 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 e.g.
==> def R1 = nor[1][1]; setring R1; norid; normap;
==> // For the other rings type first
==> setring r;
==> // (if r is the name of your original basering) and then continue as
==> // for the first ring.
==> // Ri/norid is the affine algebra of the normalization of the i-th
==> // component r/P_i (where P_i is the i-th component of a decomposition of
==> // the input ideal) and normap the normalization map from r to Ri/norid.
==> // * nor[2] is a list of 1 ideal(s) such that the integral
==> // closure of basering/P_i is generated as module over the basering by
==> // 1/ci * Ui, with Ui the i-th ideal of nor[2] and ci the last element
==> // Ui[size(Ui)] of Ui.
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]=0
|
|