Suppose we want to compute the Gröbner basis of the set
(see Section 2.1) for the following setup:
The dialog would look as follows:
unix% groebner_setup ============================================ GENERAL SETUP MENU ============================================ Coefficient Domain ................... C Term Ordering ........................ TO Pair Ordering ........................ PO Normal Form Algorithm ................ N List Operations ...................... L Representation of Power Products ..... PoPr Representation of Pure Polynomials ... PuPo Polynomial Structure ................. PoSt Representation of Polynomial Sets .... PoSe Tracing .............................. T EXIT ................................. X ============================================ Enter your choice: C ================================================= Current setting is: rational_numbers ================================================= Rational Numbers ........ RN Rational Functions ...... RF Finite Field Zp ......... FF Galois Field ............ GF Floting Point Numbers ... FPN Leave Unmodified ........ <return> Enter your choice: ============================================ GENERAL SETUP MENU ============================================ Coefficient Domain ................... C Term Ordering ........................ TO Pair Ordering ........................ PO Normal Form Algorithm ................ N List Operations ...................... L Representation of Power Products ..... PoPr Representation of Pure Polynomials ... PuPo Polynomial Structure ................. PoSt Representation of Polynomial Sets .... PoSe Tracing .............................. T EXIT ................................. X ============================================ Enter your choice: TO ================================================= Current setting is: lexical ================================================= Total Degree Inverse Lexical ... TDI Total Degree Lexical ........... TD Lexical ........................ Lex Matrix ......................... Mat Leave Unmodified ............... <return> Enter your choice: TDI ============================================ GENERAL SETUP MENU ============================================ Coefficient Domain ................... C Term Ordering ........................ TO Pair Ordering ........................ PO Normal Form Algorithm ................ N List Operations ...................... L Representation of Power Products ..... PoPr Representation of Pure Polynomials ... PuPo Polynomial Structure ................. PoSt Representation of Polynomial Sets .... PoSe Tracing .............................. T EXIT ................................. X ============================================ Enter your choice: PO ================================================= Current setting is: total_degree_inverse_lexical ================================================= Total Degree Inverse Lexical ... TDI Total Degree Lexical ........... TD Lexical ........................ Lex Matrix ......................... Mat Leave Unmodified ............... <return> Enter your choice: ============================================ GENERAL SETUP MENU ============================================ Coefficient Domain ................... C Term Ordering ........................ TO Pair Ordering ........................ PO Normal Form Algorithm ................ N List Operations ...................... L Representation of Power Products ..... PoPr Representation of Pure Polynomials ... PuPo Polynomial Structure ................. PoSt Representation of Polynomial Sets .... PoSe Tracing .............................. T EXIT ................................. X ============================================ Enter your choice: T Group 1: Include IO-library header file: Y Group 2: Print algorithm variant : N Group 4: Print the current setup (general): Y Group 8: Print the current setup (details): Y Group 16: Statistics: N Group 32: Inform about reduction: N Group 64: Inform about new polynomial retrieved from reduction: Y Group 128: Label (i.e. number) of this polynomial: N Group 256: Leading power product: Y Group 512: Size (i.e. number of terms): N Group 1024: Whole polynomial: N Group 2048: Inform about application of criteria: Y Group 4096: Announce zero-reduction: Y Group 8192: Print size of basis and pair set: N Group 16384: Details during reduction: N ============================================ GENERAL SETUP MENU ============================================ Coefficient Domain ................... C Term Ordering ........................ TO Pair Ordering ........................ PO Normal Form Algorithm ................ N List Operations ...................... L Representation of Power Products ..... PoPr Representation of Pure Polynomials ... PuPo Polynomial Structure ................. PoSt Representation of Polynomial Sets .... PoSe Tracing .............................. T EXIT ................................. X ============================================ Enter your choice: X Setup finished unix% groebner <Compiling Messages> Done. Path for Input-file: /disk2/users/groebner/Groebner/input Type input-file name ( <RETURN> = stdin, ? = help): Path for Output-file: /disk2/users/groebner/Groebner/input Output-file name ( <RETURN> = stdout, ? = help): *********************************************************** Input File: stdin *********************************************************** *********************************************************** Output File: stdout *********************************************************** ============================ WELCOME TO GROEBNER Version 2.1 I/O library Version 2.1 by the RISC-Linz Institute Good Luck ... ============================ SACLIB initialized with 500000 cells in SPACE. Compute GROEBNER BASIS (Crude Version) ........... 1 Compute GROEBNER BASIS (Criteria) ................ 2 Compute GROEBNER BASIS (Reduce All) .............. 3 Compute GROEBNER BASIS (Small Pair Set) .......... 4 EXIT ............................................. 0 Enter your choice: 3 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Current Compiled Version: Groebner Library: Version 2.1 List Operations: Recursive Coefficient Domain: Rational Numbers Term Ordering: Total Degree Inverse Lexicographic Ordering Pair Ordering: Total Degree Inverse Lexicographic Ordering Normal Form Algorithm: Complete Normal Form ----------------------------------------------------------- Node Type: hp9000s700 Host: hotblack +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Groebner Basis with Reduce All xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Initializing Global Variables for GROEBNER ... Done. Initializing Global Variables for GROEBNER-IO ... Enter ring-variables in ascending order (? for help): z y x; Done. =========================================================== Number of Variables: 3 Ring Variables: x > y > z =========================================================== Enter Polynomial Set (? for help): {16*x^2 + 4*x*y^2 - 4*z + 1, 4*x + 2*y^2*z + 1, 2*x^2*z - x - 2*y^2} Reading of polynomial set complete { 2 2 y z + 4 x + 1, 2 2 2 x z - 2 y - x, 2 2 4 x y + 16 x - 4 z + 1 } New polynomial: [0 2 1] New polynomial: [2 0 1] New polynomial: [1 2 0] New polynomial: [2 0 0] New polynomial: [0 0 3] New polynomial: [0 4 0] Zero-reduction Product Criterion Zero-reduction Product Criterion Zero-reduction Product Criterion Product Criterion Product Criterion Groebner Basis = { 2 2 1 2 3 1 x - 2 y + - z - - x - - z, 2 4 8 3 2 3 1 2 z + 2 y - - x z - - z + 9 x + 2, 2 4 2 1 y z + 2 x + -, 2 2 2 2 1 1 x y + 8 y - 2 z + 3 x - - z + -, 2 4 4 2 2 1 2 5 9 y - x z - 32 y + - x z + 8 z - 12 x + - z - - 4 2 8 } User Time: 0.030000 Compute GROEBNER BASIS (Crude Version) ........... 1 Compute GROEBNER BASIS (Criteria) ................ 2 Compute GROEBNER BASIS (Reduce All) .............. 3 Compute GROEBNER BASIS (Small Pair Set) .......... 4 EXIT ............................................. 0 Enter your choice: 0
Never forget that you have access to the source code. In many of the source files as well as in the shell-scripts described in Section 4 you can find rich documentation. For example, every source file contains a descriprion of datastructures used and some other useful information on the respective domain. Detailed information on the different variants of the Gröbner bases algorithm available can also be found at the beginning of the respective source files. We do not duplicate all those informations in the manuals!
I want to thank the Department of Electronics and Electric Engineering at the University of Pretoria, Prof. Walter Penzhorn particularly, for the opportunity of my visit and the interesting applications of the GRÖBNER package in Coding Theory. Actually, implementation of the the general case of finite fields, namely , as well as the introduction of as an additional choice for the base domain of rational functions is due to these applications.
I also want to thank Cobus Nel for spending much time in maintaining the computing environment, which helped a lot during the installation of the GRÖBNER library.
Last but not least, I want to thank Prof. Bruno Buchberger for all his support during the years and for giving me the opportunity of my visit at the University of Pretoria.