next up previous
Next: Non-normal locus Up: Examples Previous: Examples

Ring normalization

We first load the library normal.lib
    LIB "normal.lib";
We define the ring and an ideal, describing two transversal cusps.
    ring S  = 0,(x,y),dp;
    ideal I = (x2-y3)*(x3-y2);
If the printlevel is sufficiently high, the algorithm will display intermediate results and pause during the computation until the user hits the return button in order to be able to follow what's going on. Here we will reproduce only part of the comments and slightly change the SINGULAR output.
    printlevel = 5;
Now we start the computation using the procedure normal from normal.lib:
    list nor = normal(I);
The first normalization loop starts with $ \langle
x^3y^3\!\!\!\:-\!\!\:x^5\!\!\!\:-\!\!\:y^5\!+\!\!\:x^2y^2\rangle$, and computes the radical of the singular locus as

$\displaystyle J = \langle

chooses the non-zerodivisor $ u=3x^2y^3\!\!\!\:-\!\!\:5x^4\!+\!\!\:2xy^2$ in $ J$, computes
$\displaystyle uJ:J$ $\displaystyle =$ $\displaystyle \langle
    $\displaystyle \qquad \qquad\qquad xy^5\!\!\!\:-\!\!\:x^3y^2,\,

and checks that $ A \neq Hom_A(J,J)$. Therefore the ring structure of $ Hom_A(J,J)$ has to be computed. The result is the affine ring $ A_1$ with variables $ T_1,\dots,T_4$ (after eliminating linear equations) modulo the ideal
   ==> T(3)*T(4)-T(4)
   ==> T(1)^4+4*T(1)^2*T(2)*T(4)+4*T(2)^2*T(4)^2
   ==> T(1)^2*T(2)+2*T(2)^2*T(4)-T(1)*T(3)+T(1)
   ==> T(1)^3+2*T(1)*T(2)*T(4)-T(2)^2-2*T(4)   
   ==> T(1)^5+4*T(1)^3*T(2)*T(4)+4*T(1)*T(2)^2*T(4)^2
   ==> T(1)^3*T(2)+2*T(1)*T(2)^2*T(4)-T(1)^2*T(3)
   ==> T(1)^2*T(4)+2*T(2)*T(4)^2
with map $ A = S/I \to A_1$, $ x \mapsto T_1$, $ y
\mapsto T_2$.

Now the second normalization loop has to be started with $ A_1$. Again the criterion for stopping is not fullfilled, that is, $ A_1$ is not equal to $ Hom_{A_1}(J_1,J_1)$, and the ring $ A_2$ will be computed as affine ring in 4 variables modulo 8 equations. Again, the criterion is not fullfilled, and $ A_3$ is a ring in 3 variables modulo 9 equations. Now in $ J_3$ a zero-divisor of $ A_3$ is found and the ring splits into two rings. Both rings are isomorphic to the polynomial ring in one variable and the algorithm stops with the message:

   ==>// 'normal' created a list of 2 ring(s).
   ==>// 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 R1 = nor[1]; setring R1;  norid; normap;
   ==> norid[1]=0
   ==> normap[1]=T(1)^2   normap[2]=T(1)^3
   def R2 = nor[2]; setring R2;  norid; normap;
   ==> norid[1]=0
   ==> normap[1]=-T(1)^3  normap[2]=T(1)^2
Hence, $ R_1=\mathbf{Q}[T]$, $ R_2=\mathbf{Q}[T]$, and the normalization of $ A$ is given as $ A\longrightarrow \mathbf{Q}[T]\oplus \mathbf{Q}[T]$, $ x \mapsto (T^2,-T^3)$, $ y\mapsto (T^3,T^2)$.

next up previous
Next: Non-normal locus Up: Examples Previous: Examples
Christoph Lossen