|  |  D.4.2.9 noetherNormal Procedure from libraryalgebra.lib(see  algebra_lib).
 
Example:Usage:
noetherNormal(id[,p]); id ideal, p integer
Return:
|  |          a list l of two ideals, say I,J:
         - I defines a map (coordinate change in the basering), such that:
         - J is generated by a subset of the variables with size(J) = dim(id)
           if we define  map phi=basering,I;
           then k[var(1),...,var(n)]/phi(id) is finite over k[J].
         If p is given, 0<=p<=100, a sparse coordinate change with p percent
         of the matrix entries being 0 (default: p=0 i.e. dense)
 | 
 
Note:
Designed for characteristic 0.It works also in char k > 0 if it
terminates,but may result in an infinite loop in small characteristic.
 |  | LIB "algebra.lib";
ring r=0,(x,y,z),dp;
ideal i= xy,xz;
noetherNormal(i);
==> [1]:
==>    _[1]=x
==>    _[2]=2x+y
==>    _[3]=3x+4y+z
==> [2]:
==>    _[1]=y
==>    _[2]=z
 | 
 
 |