lec3.mw

MCS 563 Friday 27 August 2004 Illustration of Groebner basis computation in Maple 9

> restart;

We use the example on page 26 of the textbook.

> p1 := x^2 + 4*x*y + 4*y^2 - 4;

p1 := x^2+4*x*y+4*y^2-4

> p2 := 4*x^2 - 4*x*y + y^2 - 4;

p2 := 4*x^2-4*x*y+y^2-4

The polynomials in the system are products of linear polynomials:

> factor(p1);

(x+2*y+2)*(x+2*y-2)

> factor(p2);

(2*x-y+2)*(2*x-y-2)

> with(Groebner);

[GB_Internals, MulMatrix, SetBasis, fglm_algo, gbasis, gsolve, hilbertdim, hilbertpoly, hilbertseries, inter_reduce, is_finite, is_solvable, leadcoeff, leadmon, leadterm, normalf, pretend_gbasis, redu...[GB_Internals, MulMatrix, SetBasis, fglm_algo, gbasis, gsolve, hilbertdim, hilbertpoly, hilbertseries, inter_reduce, is_finite, is_solvable, leadcoeff, leadmon, leadterm, normalf, pretend_gbasis, redu...[GB_Internals, MulMatrix, SetBasis, fglm_algo, gbasis, gsolve, hilbertdim, hilbertpoly, hilbertseries, inter_reduce, is_finite, is_solvable, leadcoeff, leadmon, leadterm, normalf, pretend_gbasis, redu...

> ?Groebner;

> triangular_basis := gbasis([p1,p2],plex(x,y));

triangular_basis := [-1000*y^2+144+625*y^4, 125*y^3-164*y+48*x]

> total_degree_basis := gbasis([p1,p2],tdeg(x,y));

total_degree_basis := [20*x*y+15*y^2-12, 5*x^2+5*y^2-8, 125*y^3-164*y+48*x]

> ?SetBasis;

> ns,rv := SetBasis(total_degree_basis,tdeg(x,y));

ns, rv := [1, y, x, y^2], TABLE([1 = 1, y^2 = 4, x = 3, y = 2])

> My := MulMatrix(y,ns,rv,total_degree_basis,tdeg(x,y));

My := Matrix([[0, 1, 0, 0], [0, 0, 0, 1], [3/5, 0, 0, (-3)/4], [0, 164/125, (-48)/125, 0]])

> y_values := LinearAlgebra[Eigenvalues](My);

y_values := Vector[column]([[2/5], [(-2)/5], [6/5], [(-6)/5]])

> seq(subs(y=y_values[k],triangular_basis),k=1..LinearAlgebra[Dimension](y_values));

[0, -288/5+48*x], [0, 288/5+48*x], [0, 96/5+48*x], [0, -96/5+48*x]