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

NoetherNormalization -- routines related to Noether normalization

Description

NoetherNormalization is a package for computing ring homomorphisms which will place ideals in Noether normal position. The algorithms used are based on algorithms found in A. Logar's paper: A Computational Proof of the Noether Normalization Lemma. In: Proceedings 6th AAEEC, Lecture Notes in Computer Science 357, Springer, 1989, 259-273.

A first example computes a random linear change of coordinates that places an ideal in Noether normal position.
i1 : R = QQ[x_1..x_4];
i2 : I = ideal(x_2^2+x_1*x_2+1, x_1*x_2*x_3*x_4+1);

o2 : Ideal of R
i3 : (f,J,X) = noetherNormalization I

                  3     9             7     9                      7 2  
o3 = (map (R, R, {-x  + -x  + x , x , -x  + -x  + x , x }), ideal (-x  +
                  4 1   2 2    4   1  4 1   4 2    3   2           4 1  
     ------------------------------------------------------------------------
     9                 21 3     153 2 2   81   3   3 2       9   2    
     -x x  + x x  + 1, --x x  + ---x x  + --x x  + -x x x  + -x x x  +
     2 1 2    1 4      16 1 2    16 1 2    8 1 2   4 1 2 3   2 1 2 3  
     ------------------------------------------------------------------------
     7 2       9   2
     -x x x  + -x x x  + x x x x  + 1), {x , x })
     4 1 2 4   4 1 2 4    1 2 3 4         4   3

o3 : Sequence

See also

Authors

Version

This documentation describes version 0.9.3 of NoetherNormalization, released Sept, 2010.

Citation

If you have used this package in your research, please cite it as follows:

@misc{NoetherNormalizationSource,
  title = {{NoetherNormalization: place an ideal in Noether normal position. Version~0.9.3}},
  author = {Bart Snapp and Nathaniel Stapleton},
  howpublished = {A \emph{Macaulay2} package available at
    \url{https://github.com/Macaulay2/M2/tree/stable/M2/Macaulay2/packages}}
}

Exports

For the programmer

The object NoetherNormalization is a package, defined in NoetherNormalization.m2.


The source of this document is in NoetherNormalization.m2:242:0.