Macaulay2 » Documentation
Packages » InvolutiveBases :: PermuteVariables
next | previous | forward | backward | up | index | toc

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 :

For the programmer

The object PermuteVariables is a symbol.