# PermuteVariables -- ensure that the last dim(I) var's are algebraically independent modulo I

## Description

The symbol PermuteVariables is an option for invNoetherNormalization.

The default value for this option is false. If set to true, the second list of the result of invNoetherNormalization consists of the last d variables in the new coordinates, where d is the Krull dimension of the ring under consideration.

In the new coordinates defined by invNoetherNormalization the residue class ring is an integral ring extension of the polynomial ring in the last d variables.

 i1 : R = QQ[x,y,z]; i2 : I = ideal(x*y^2+2*x^2*y, z^3); o2 : Ideal of R i3 : J = janetBasis I; i4 : N1 = invNoetherNormalization J o4 = {{x, - x + y, z}, {y}} o4 : List i5 : N2 = invNoetherNormalization(J, PermuteVariables => true) o5 = {{x, - x + z, y}, {z}} o5 : List
 i6 : R = QQ[w,x,y,z]; i7 : I = ideal(w*x-y^2, y*z-x^2) 2 2 o7 = ideal (w*x - y , - x + y*z) o7 : Ideal of R i8 : J = janetBasis I; i9 : N1 = invNoetherNormalization J o9 = {{w, x, y, z}, {z, w}} o9 : List i10 : J1 = janetBasis substitute(gens I, for i in toList(0..numgens(R)-1) list R_i => N1#0#i); i11 : F1 = factorModuleBasis(J1) +----+------+ o11 = |1 |{z} | +----+------+ |y |{z} | +----+------+ | 2 | | |y |{z} | +----+------+ | 3 | | |y |{z} | +----+------+ |x |{z} | +----+------+ |x*y |{z} | +----+------+ |w |{z, w}| +----+------+ |w*y |{z, w}| +----+------+ | 2| | |w*y |{z, w}| +----+------+ | 3| | |w*y |{z, w}| +----+------+ o11 : FactorModuleBasis i12 : N2 = invNoetherNormalization(J, PermuteVariables => true) o12 = {{y, x, w, z}, {z, y}} o12 : List i13 : J2 = janetBasis substitute(gens I, for i in toList(0..numgens(R)-1) list R_i => N2#0#i); i14 : F2 = factorModuleBasis(J2) +---+------+ o14 = |1 |{z, y}| +---+------+ |x |{z, y}| +---+------+ |w |{z, y}| +---+------+ |w*x|{z, y}| +---+------+ o14 : FactorModuleBasis

## Functions with optional argument named PermuteVariables :

• invNoetherNormalization(...,PermuteVariables=>...) (missing documentation)

## For the programmer

The object PermuteVariables is .