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
|