next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Seminormalization :: seminormalize(...,Variable=>...)

seminormalize(...,Variable=>...) -- set the name for new variables created by the function

Description

This option sets the default variable for new variables created by the above functions. You must pass it a symbol. We first give an example of this in the context of seminormalization.

i1 : A = QQ[a,b]/ideal(a^2-b^5);
i2 : seminormalize(A, Variable=>X)

                 QQ[X ..X ]                           QQ[X ..X ]                       
                     0   2                                0   2                        
o2 = {-------------------------------, map(-------------------------------,A,{X , X }),
        2        2          3                2        2          3             1   0   
      (X  - X , X X  - X , X  - X X )      (X  - X , X X  - X , X  - X X )             
        2    0   0 2    1   0    1 2         2    0   0 2    1   0    1 2              
     ----------------------------------------------------------------------------------------------------------------------------
                    QQ[Yy   , a..b]                       QQ[X ..X ]
                         1,0                                  0   2
     map(-------------------------------------,-------------------------------,{b, a, Yy   })}
                2        2       2    2          2        2          3                  1,0
         (Yy   b  - a, Yy   b - b , Yy    - b) (X  - X , X X  - X , X  - X X )
            1,0          1,0          1,0        2    0   0 2    1   0    1 2

o2 : List

Here is an example where we normalize a non-domain.

i3 : B = QQ[u,v]/ideal(u*v);
i4 : betterNormalizationMap(B, Variable=>Y)

                 QQ[Y0, Y1, Y2]
o4 = map(-----------------------------,B,{Y1, Y0})
            2
         (Y2  - Y2, Y1*Y2 - Y1, Y0*Y2)

                     QQ[Y0, Y1, Y2]
o4 : RingMap ----------------------------- <--- B
                2
             (Y2  - Y2, Y1*Y2 - Y1, Y0*Y2)

We conclude with an example of taking the product of two rings.

i5 : C = QQ[x];
i6 : D = QQ[y];
i7 : ringProduct({C,D}, Variable=>z)

                  QQ[z0, z1, z2, z3]
o7 = {------------------------------------------, MutableList{...2...}, {{z0}, {z2}}}
                      2
      (z1 + z3 - 1, z3  - z3, z2*z3 - z2, z0*z3)

o7 : List

Further information

Functions with optional argument named Variable :