groebner::normalf -- complete
reduction modulo a polynomial ideal
Introductiongroebner::normalf(p, polys) computes a
normal form of the polynomial p by complete reduction
modulo all polynomials in the list polys.
Call(s)groebner::normalf(p, polys <, order>)
Parametersp |
- | a polynomial or a polynomial expression |
polys |
- | a list of polynomials of the same type as
p. In particular, polys must be a list of
polynomial expressions with rational coefficients, if p is
a polynomial expression. |
order |
- | one of the identifiers DegInvLexOrder, DegreeOrder, and LexOrder, or a user-defined term ordering of type
Dom::MonomOrdering.
The default ordering is DegInvLexOrder. |
Returnsa polynomial of the same type as the input polynomials. If polynomial expressions are used as input, then a polynomial expression is returned.
Related
Functions
Detailsgroebner package concerning the
polynomial types and the ordering apply.polys must all be of the
same type as p. In particular, do not mix polynomials
created via poly and
polynomial expressions!
Example
1We consider the ideal generated by the following polynomials:
>> p1 := poly(x^2 - x + 2*y^2, [x,y]): p2 := poly(x + 2*y - 1, [x,y]):
We compute the normal form of the following polynomial
p modulo the ideal generated by p1,
p2 with respect to lexicographical ordering:
>> p := poly(x^2*y - 2*x*y + 1, [x,y]): groebner::normalf(p, [p1, p2], LexOrder);
3 2
poly(- 2 y + 2 y - y + 1, [x, y])
Note that p1, p2 do not form a
Gröbner basis. The corresponding Gröbner basis leads to a different
normal form of p:
>> groebner::normalf(p, groebner::gbasis([p1, p2]), LexOrder)
poly(- 5/9 y + 1, [x, y])
>> delete p1, p2, p:
Backgroundgroebner::normalf, reduction
modulo some pi of largest possible total degree
is preferred, if reduction modulo several pi is
possible.Dom::MonomOrdering are handled.
The special term orderings from the Gröbner package were moved
there.