# invNoetherNormalization -- Noether normalization

## Synopsis

• Usage:
N = invNoetherNormalization I
• Inputs:
• Optional inputs:
• PermuteVariables (missing documentation) => ..., default value false,
• Outputs:
• N, a list, the first entry of which is a list defining an invertible coordinate transformation in terms of the images of the variables of the polynomial ring; the second entry is a list of variables whose residue classes modulo the ideal in the new coordinates are (maximally) algebraically independent

## Description

invNoetherNormalization constructs an automorphism of the polynomial ring in which I defines an ideal, such that the image of I under this automorphism is in Noether normal position.

The automorphism is defined by the first list returned: the i-th variable of the polynomial ring is mapped to the i-th entry of that list.

In the new coordinates, the residue class ring is an integral ring extension of the polynomial ring in the variables given in the second list returned.

If the option PermuteVariables is set to true, the second list consists of the last d variables, where d is the Krull dimension of the residue class ring.

Reference: D. Robertz, Noether normalization guided by monomial cone decompositions, Journal of Symbolic Computation 44, 2009, pp. 1359-1373.

 i1 : R = QQ[x,y,z]; i2 : I = ideal(x*y*z); o2 : Ideal of R i3 : J = janetBasis I; i4 : N = invNoetherNormalization J o4 = {{x, - x + y, - x + z}, {z, y}} o4 : List
 i5 : R = QQ[w,x,y,z]; i6 : I = ideal(y^2*z-w*x*y^2, x*y*z-w*z^2, y^2*z-w*x^2*y*z); o6 : Ideal of R i7 : J = janetBasis I; i8 : N = invNoetherNormalization J o8 = {{w, x, - x + y, - w - x + z}, {z, y}} o8 : List