# Singular          #### D.4.16.5 NoetherPosition

Procedure from library `mregular.lib` (see mregular_lib).

Usage:
NoetherPosition (i); i ideal

Return:
ideal such that, for the homogeneous linear transformation map phi=S,NoetherPosition(i);
one has that K[x(n-d+1),...,x(n)] is a Noether normalization of S/phi(i) where S=K[x(0),...x(n)] is the basering and d=dim(S/i). (returns -1 if i = (0) or (1)).

Assume:
The field K is infinite and i is a nonzero proper ideal.

Note:
1. It works also if K is a finite field if it terminates, but may result in an infinite loop. If the procedure enters more than 30 loops, -1 is returned and a warning message is displayed.
2. If printlevel > 0 (default = 0), additional info is displayed: dim(S/i) and K[x(n-d+1),...,x(n)] are given.

Example:
 ```LIB "mregular.lib"; ring r=0,(x,y,z,t,u),dp; ideal i1=y,z,t,u; ideal i2=x,z,t,u; ideal i3=x,y,t,u; ideal i4=x,y,z,u; ideal i5=x,y,z,t; ideal i=intersect(i1,i2,i3,i4,i5); map phi=r,NoetherPosition(i); phi; ==> phi=x ==> phi=y ==> phi=z ==> phi=t ==> phi=53x+27y-75z+45t+u ring r5=5,(x,y,z,t,u),dp; ideal i=imap(r,i); map phi=r5,NoetherPosition(i); phi; ==> phi=x ==> phi=y ==> phi=z ==> phi=t ==> phi=x-y+z-t+u // Additional information is displayed if you change printlevel (=1); ```

### Misc 