Top
Back: Primary decomposition
Forward: Kernel of module homomorphisms
FastBack: Computing Groebner and Standard Bases
FastForward: Singularity Theory
Up: Commutative Algebra
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

A.3.10 Normalization

The normalization will be computed for a reduced ring $R/I$. The result is a list of rings; ideals are always called norid in the rings of this list. The normalization of $R/I$ 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


Top Back: Primary decomposition Forward: Kernel of module homomorphisms FastBack: Computing Groebner and Standard Bases FastForward: Singularity Theory Up: Commutative Algebra Top: Singular Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 3-1-0, Mar 2009, generated by texi2html.