Huom! Jotta tämän sivun kaavojen alaindeksit ja eksponentit näkyisivät oikein, HTML 3:n soveltuvin osin hallitseva selain on tarpeen. TKK:n atk-keskuksen koneissa sellaisia ovat Arena ja Netscape 2.0, jotka käynnistyvät komennoilla arena ja netscape2.

Tosi monimutkaisia tuloksia vähällä vaivalla

Lasketaan yhtälöparin
       x5 + y4 + z3 - 1 = 0
       x3 + y3 + z2 - 1 = 0
ratkaisut Groebner-kantojen avulla. Huomattakoon, että edellisen kohdan tehtävä poikkeaa tästä vain toisen yhtälön y:n eksponentin osalta. Kyseessä on lähteen [1] tehtävä 2.9.13.b:

Muiden kohtien laskut ovat kestäneet vain muutamia sekunteja, mutta tämä lasku kestää kauan, joten otetaan aikaa.


> clos29pr13b:=[x^5+y^4+z^3-1,x^3+y^3+z^2-1];

                                5    4    3       3    3    2
               clos29pr13b := [x  + y  + z  - 1, x  + y  + z  - 1]

> st:=time(): generalsolve(clos29pr13b,[],[],verbose); time()-st;

The Groebner bases are:
[[3*z+x*y^6-y^6+x*y^5-y^5+3*y, y^9+y^8-2*x*y^4-4*y^4+3+3*x, x^2+1+x], [x^3+y^3+
z^2-1, -x^5-y^4+1+z*x^3+z*y^3-z, 5*y^3*x^3+3*y*x^5+4*y*x^3-y*z-y^3*x^5-x^7*y^6-
2*x^10*y^3-x^12*z-x^10*y^2-x^5*y^7-2*y^4*x^8-4*y^5*x^3-4*x^2*y^6-4*x^7*y^2-x^3*
y^8-x^12*y-x^7*y^5-x^13+5*y^3-4*x^2*y^7+x^7*y-4*x^8*y+2*x^2*y^4+2*x^7-2*y^7+x*y
*z-3*x^4-3*y^4*x^6-2*x*y^8-6*x^5*y^5-4*x^10*y+2*x^2*y^5+6*x^2*y^3+2*x*y^4+2*x^4
*y^4+6*y^2*x^4-x^11-6*y^3*x^6-6*x^3*y^6-4*x^8*y^2-3*x^3*y^7-4*x*y^7-2*x^10*z-3*
... ja tässä välissä 175 riviä lisää. Katso täältä loput, jos haluat...
_Z^2+12*_Z+4)^6+36*RootOf(_Z^9+3*_Z^8+6*_Z^7+11*_Z^6+18*_Z^5+24*_Z^4+25*_Z^3+21
*_Z^2+12*_Z+4)^3+18*RootOf(_Z^9+3*_Z^8+6*_Z^7+11*_Z^6+18*_Z^5+24*_Z^4+25*_Z^3+
21*_Z^2+12*_Z+4)^5+24*RootOf(_Z^9+3*_Z^8+6*_Z^7+11*_Z^6+18*_Z^5+24*_Z^4+25*_Z^3
+21*_Z^2+12*_Z+4)+30*RootOf(_Z^9+3*_Z^8+6*_Z^7+11*_Z^6+18*_Z^5+24*_Z^4+25*_Z^3+
21*_Z^2+12*_Z+4)^4)*_Z^6)}

                                     40.867

Cypress-tehomyllyltä meni yli 40 sekuntia CPU-aikaa (ja keskusmuistia lähes 20 megatavua), eikä saatu edes yhtä ainoaa ratkaisua aikaiseksi.

Tässä tapauksessa Maplen oma solve näyttää pärjäävän paremmin:


> st:=time(): solve(convert(clos29pr13b,set)); time()-st;

{z = 0, y = 0, x = 1}, {z = 0, y = 1, x = 0},

                 3                    2       7        4       5       6     8
{z = 0, y = 18 %2  + 5 + 12 %2 + 17 %2  + 3 %2  + 15 %2  + 9 %2  + 5 %2  + %2 ,

    x = %2},

{y = %1, x = x,

          4      7      13       6       4  2      5   7      8   4     8  4
z = - (2 x  - 2 x  + 2 x   + 2 %1  - 3 %1  x  + 2 x  %1  + 4 x  %1  + %1  x

       5       8       8  2       8  3      6   5      10   3       5  7
 - 2 %1  x + %1  + 3 %1  x  + 2 %1  x  + 7 x  %1  + 4 x   %1  + 4 %1  x

       5  4       4         8         5  3       2  3       2  6     4  5
 + 7 %1  x  - 2 %1  x + 2 %1  x + 2 %1  x  - 3 %1  x  - 2 %1  x  - %1  x

       6  3       3  6       3  3       2  7         4       7  2       2  4
 + 7 %1  x  + 4 %1  x  - 8 %1  x  + 3 %1  x  - 6 %1 x  + 6 %1  x  - 6 %1  x

       7  4       3  7       3  2       7         4  7       4  4         3
 + 4 %1  x  + 9 %1  x  - 9 %1  x  + 4 %1  x + 5 %1  x  - 3 %1  x  - 3 %1 x

         8    11   2         6       13         11       2  5       2  8
 + 2 %1 x  + x   %1  - 5 %1 x  + %1 x   + 5 %1 x   - 7 %1  x  + 6 %1  x

         10         7       4  9         12       5   5      5   6    5   3
 + 7 %1 x   - 3 %1 x  + 2 %1  x  + 3 %1 x   + 10 x  %1  + 6 x  %1  - x  %1

       7  3       4  3       6         3  4       5  2      9   3         5
 + 5 %1  x  - 3 %1  x  + 4 %1  x - 7 %1  x  - 3 %1  x  + 7 x  %1  - 7 %1 x

    8   5    8   6      8   3       6  6     7  6       4  6         9    3
 + x  %1  + x  %1  + 8 x  %1  + 4 %1  x  + %1  x  + 2 %1  x  + 6 %1 x  + x

       3        9   2     10   2       6  7      6  4       6  2      3     4
 - 6 %1  x + 5 x  %1 + 3 x   %1  + 2 %1  x + 8 %1  x  + 6 %1  x - 3 %1  - %1

      11   3      12     5       7      5      10    14      8      9    /
 + 2 x   %1  + 2 x   - %1  + 2 %1  + 2 x  - 2 x   + x   - 3 x  - 3 x )  /  (
                                                                       /

  3           9      8      7      6       5      4       3      2
x  (x - 1) (x  + 3 x  + 6 x + 11 x  + 18 x + 24 x  + 25 x + 21 x  + 12 x + 4))

}

               9     8       3        6       5        4
%1 := RootOf(_Z  + _Z  + (3 x  - 3) _Z  + (2 x  - 2) _Z

             3          6    3    9      3      6      5    10
     + (- 6 x  + 3 + 3 x ) _Z  + x  + 3 x  - 3 x  - 2 x  + x  )

%2 := RootOf(

      9       8       7        6        5        4        3        2
    _Z  + 3 _Z  + 6 _Z  + 11 _Z  + 18 _Z  + 24 _Z  + 25 _Z  + 21 _Z  + 12 _Z + 4

    )

                                     15.083

Seuraavaksi katsotaan, miten rajoitetun optimoinnin tehtäviä ratkottaessa Lagrangen menetelmällä voidaan soveltaa Groebner-kantoja.
Kenrick Bingham 13.5.1996