next up previous contents index
Next: Using GRÖBNER in Your Up: How to Use GRÖBNER Previous: Input and Output

Sample Session

 

  In this section we show how one can actually compute a Gröbner basis using GRÖBNER\ together with the supplied I/O library and the sample application program. This application repeats the following steps in a loop:

  1. Reading in a set of polynomials from a file or from the terminal by means of the routines provided by the I/O library,
  2. Computing a Gröbner basis of this set by one of the variants of the Gröbner bases algorithm\ contained in GRÖBNER,
  3. Printing intermediate results to the screen or to a file according to the selected trace level (see Section 1.6), and
  4. Printing of the Gröbner basis to the screen or to a file by means of the routines provided by the I/O library.

Suppose we want to compute the Gröbner basis of the set

displaymath6424

over the rational numbers w.r.t. the purely lexical ordering induced by a<x<y<z.

unix% groebner
Starting SACLIB with 4000000 cells in memory
Path for Input-file: /usr/users/wwindste/Groebner/input

Type input-file name ( <RETURN> = stdin, ? = help):

Path for Output-file: /usr/users/wwindste/Groebner/input

Output-file name ( <RETURN> = stdout, ? = help):

***********************************************************
Input File:  stdin
***********************************************************
***********************************************************
Output File: stdout
***********************************************************

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Current Compiled Version:

Coefficient Domain: Rational Numbers
Term Ordering: Purely Lexicographic Ordering
Pair Ordering: Purely Lexicographic Ordering
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

=========================
WELCOME TO GROEBNER
  by RISC-Linz Institute
Good Luck ...
=========================

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

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Groebner Basis with Reduce All
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Initializing Global Variables for GROEBNER ...

Initializing Global Variables for GROEBNER-IO ...

Enter ring-variables in ascending order ( ? for help): a,x,y,z;

***********************************************************
Number of Variables: 4
Ring Variables: z > y > x > a
***********************************************************

Enter Polynomial Set (? for help):

{z^2 - a*x^2 - a*y^2, x*z - 2*z + x*y, x^2 - y}
Reading of polynomial set complete

{

       2
- y + x ,



z x - 2 z + y x,


 2    2     2
z  - y a - x a

}


Groebner Basis =

{

 6     6      5       4       3       2
x a - x  - 4 x a + 5 x a - 4 x a + 4 x a,


     2
y - x ,


    1  5    1  5   1  4    1  4   1  3    1  3   1  2
z + - x a - - x  - - x a - - x  + - x a - - x  - - x a
    8       8      4       4      8       2      4

}

User Time: 0.016667
System Time: 0.000000

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

*****************
       Bye
*****************
unix%

Suppose we now want to compute the Gröbner basis of G over the rational numbers w.r.t. the total degree lexical ordering induced by x<y<z. We want to treat a as a constant (a parameter). This implies that we must use rational functions in a as the coefficient domain. The ordering of pairs (see Section 5.2) should be left unchanged.

We are also interested in some intermediate results, namely we wish to be informed

Thus, we have to adjust the setup in the following respects:

First, we have to edit the relevant lines in the respective setup-files (see Section 2.8, in particular figures 2 to 4). Then we have to re-compile GRÖBNER and, since the change of the coefficient domain affects I/O as well, the I/O library. Finally, we re-compile the application program and start it.

unix% cd Groebner/GROEBNER/include
unix% vi GB.to.setup
unix% vi GB.coef.setup
unix% vi trace.setup
unix% cd ../src
unix% make
unix% cd ../../GROEBNER-IO/src
unix% make
unix% cd ../../APP
unix% make
unix% groebner
Starting SACLIB with 4000000 cells in memory

Path for Input-file: /usr/users/wwindste/Groebner/input

Type input-file name ( <RETURN> = stdin, ? = help):

Path for Output-file: /usr/users/wwindste/Groebner/input

Output-file name ( <RETURN> = stdout, ? = help):

***********************************************************
Input File:  stdin
***********************************************************
***********************************************************
Output File: stdout
***********************************************************

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Current Compiled Version:

Coefficient Domain: Rational Functions
Term Ordering: Total Degree Lexicographic Ordering
Pair Ordering: Purely Lexicographic Ordering
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

=========================
WELCOME TO GROEBNER
  by RISC-Linz Institute
Good Luck ...
=========================


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: 5

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Groebner Basis with Small Pair Set
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Initializing Global Variables for GROEBNER ...
Initializing Global Variables for GROEBNER-IO ...

Enter ring-variables in ascending order ( ? for help): x,y,z;
Enter field-variables (terminated by ";"): a;

***********************************************************
Number of Variables: 3
Ring Variables: z > y > x
Field Variables: a
***********************************************************

Enter Polynomial Set (? for help):

{z^2 - a*x^2 - a*y^2, x*z - 2*z + x*y, x^2 - y}
Reading of polynomial set complete


{

 2
x  - y,



z x + y x - (2) z,


 2        2        2
z  - (a) y  - (a) x

}

Product Criterion
New polynomial:
[1 1 0]
Product Criterion
Zero-reduction
New polynomial:
[0 2 1]
Product Criterion
Chain Criterion
New polynomial:
[0 3 0]
Product Criterion
Product Criterion
Product Criterion
Zero-reduction
Zero-reduction
Zero-reduction
Zero-reduction
Groebner Basis =

{


 2
x  - y,


z x + y x - (2) z,


       2
z y + y  + (2) y x - (4) z,


 2        2
z  - (a) y  - (a) y,



 2    2 a + 2  2   a - 4         8        2 a
y x - ------- y  + ----- y x + ----- z - ----- y,
       a - 1       a - 1       a - 1     a - 1


         2                                                     2
 3    3 a  + 13 a  2       12 a               32 a          4 a  + 4 a
y  - ------------ y  - ------------ y x + ------------ z - ------------ y
      2                 2                  2                2
     a  - 2 a + 1      a  - 2 a + 1       a  - 2 a + 1     a  - 2 a + 1

}


User Time: 0.216667
System Time: 0.000000


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

*****************
       Bye
*****************
unix%

The trace during the calculation is to be interpreted as follows: The first S-polynomial need not be reduced because it reduces to zero by the ``Product Criterion'', the next S-polynomial reduces to a polynomial whose leading term is z y (it has the exponent list [1 1 0]), the fourth S-polynomial reduces to zero, which could not be detected by any of the criteria, the seventh S-polynomial reduces to zero by the ``Chain Criterion'', and so on. 


next up previous contents index
Next: Using GRÖBNER in Your Up: How to Use GRÖBNER Previous: Input and Output

windsteiger wolfgang
Thu Sep 3 14:50:07 MDT 1998