groebner::gbasis
-- computation
of a reduced Gröbner basisgroebner::gbasis
(polys)
computes a reduced
Gröbner basis of the ideal generated by the polynomials in the list
polys
.
groebner::gbasis(polys <, order> <, Reorder>)
polys |
- | a list of polynomials of the same type. Alternatively, a list of polynomial expressions with rational coefficients. |
order |
- | one of the identifiers DegInvLexOrder, DegreeOrder, and LexOrder, or a user-defined term ordering of type
Dom::MonomOrdering .
The default ordering is DegInvLexOrder. |
Reorder |
- | With this option groebner::gbasis
internally may change the lexicographical ordering of variables to
decrease running time. |
a list of polynomials. The output polynomials have the same type as the polynomials of the input list.
groebner
package concerning the
polynomial types and the ordering apply.polys
must all be of the
same type. In particular, do not mix polynomials created via poly
and polynomial
expressions!We demonstrate the effect of various input formats. First, we use polynomial expressions to define the polynomial ideal. The Gröbner basis is returned as a list of polynomial expressions:
>> groebner::gbasis([x^2 - y^2, x^2 + y], LexOrder)
4 2 2 [x - x , y + x ]
Next, the same polynomials are defined via poly
. Note that poly
fixes the ordering of the
variables.
>> groebner::gbasis([poly(x^2 - y^2, [x, y]), poly(x^2 + y, [x, y])], LexOrder)
2 2 [poly(x + y, [x, y]), poly(y + y, [x, y])]
Changing the ordering of the variables in poly
changes the lexicographical
ordering. This results in a different basis:
>> groebner::gbasis([poly(x^2 - y^2, [y, x]), poly(x^2 + y, [y, x])], LexOrder)
2 4 2 [poly(y + x , [y, x]), poly(x - x , [y, x])]
With Reorder the ordering of the variables may be changed internally:
>> groebner::gbasis([poly(x^2 - y^2, [x, y]), poly(x^2 + y, [x, y])], LexOrder, Reorder)
2 4 2 [poly(y + x , [y, x]), poly(x - x , [y, x])]
Dom::MonomOrdering
are handled.
The special term orderings from the Gröbner package were moved
there.