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 ] 0 2 o2 = {-------------------------------, 2 2 3 (X - X , X X - X , X - X X ) 2 0 0 2 1 0 1 2 ------------------------------------------------------------------------ QQ[X ..X ] 0 2 map(-------------------------------,A,{X , X }), 2 2 3 1 0 (X - X , X X - X , X - X X ) 2 0 0 2 1 0 1 2 ------------------------------------------------------------------------ QQ[Yy , a..b] QQ[X ..X ] 1,0 0 2 map(-------------------------------------,------------------------------ 2 2 2 2 2 2 3 (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 ------------------------------------------------------------------------ -,{b, a, Yy })} 1,0 ) 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 |