#### D.4.2.9 noetherNormal

Procedure from library `algebra.lib` (see algebra_lib).

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.

Example:

    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

User manual for Singular version 4-0-3, 2016, generated by texi2html.