Gröbner Basis
Use the function GROEBNER_BASIS to construct the Gröbner basis for a collection of polynomials based on lexicographic ordering of the variables. If polys is a vector (set) of polynomials and vars is a vector of variables,
GROEBNER_BASIS(polys, vars)
simplifies to a vector (set) of polynomials that form the Gröbner basis for polys based on the lexicographic ordering of vars.
Note that the Gröbner basis of a collection of polynomials is unique, once the order for the variables is fixed. If the ordering of the variables is changed, the Gröbner basis could change. For example,
GROEBNER_BASIS([x*z^3+2*y+2, y*z^3-y*z^2-z^2+y^2+y], [x, y, z])
simplifies to
⎡ 2 3 2 2 3 ⎤
⎣y + y·(z - z + 1) - z , x·z + 2·y + 2⎦
whereas
GROEBNER_BASIS([x*z^3+2*y+2, y*z^3-y*z^2-z^2+y^2+y], [z, y, x])
simplifies to a more complicated basis consisting of six polynomials.
The Gröbner basis has numerous applications. For example, consider the problem of finding the intersection of the following three surfaces: the sphere centered at the origin with a radius of the square root of 2 (x^2+y^2+z^2=2); the paraboloid (z=x^2+y^2); and the vertical cylinder along the z axis with a radius of 1 (x^2+y^2=1). The fact that
GROEBNER_BASIS([x^2+y^2+z^2-2, x^2+y^2-z, x^2+y^2-1], [x, y, z])
simplifies to [z - 1, x^2 + y^2 - 1] shows that the intersection of the three surfaces is a circle of radius 1 parallel to the xy plane at height 1.
To verify that the following two paraboloids do not intersect in R^3 (i.e. the system has no real roots), note that
GROEBNER_BASIS([x^2+y^2-z+1, -x^2-y^2-1-z], [x, y, z])
simplifies to [z, x^2 + y^2 + 1].
To verify that the following two paraboloids do not intersect in C^3 (i.e. the system has no roots), note that
GROEBNER_BASIS([x^2+y^2-z+1, x^2+y^2-z+3], [x, y, z])
simplifies to [1]. It is a requirement of Hilbert's Nullstellensatz that the geometric interpretation of the Gröbner basis must always be done in C^n, not in R^n.
Other Vectors and MatricesVectors_and_Matrices topics
Created with the Personal Edition of HelpNDoc: Easily create iPhone documentation