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 (-------------------------------,
2 2 3 2 2 3
(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]
1,0
A, {X , X }), map (-------------------------------------,
1 0 2 2 2 2
(Yy b - a, Yy b - b , Yy - b)
1,0 1,0 1,0
------------------------------------------------------------------------
QQ[X ..X ]
0 2
-------------------------------, {b, a, Yy })}
2 2 3 1,0
(X - X , X X - X , X - X X )
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...},
2
(z1 + z3 - 1, z3 - z3, z2*z3 - z2, z0*z3)
------------------------------------------------------------------------
{{z0}, {z2}}}
o7 : List
|