groebner::normalf
-- complete
reduction modulo a polynomial idealgroebner::normalf
(p, polys)
computes a
normal form of the polynomial p
by complete reduction
modulo all polynomials in the list polys
.
groebner::normalf(p, polys <, order>)
p |
- | 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. |
a polynomial of the same type as the input polynomials. If polynomial expressions are used as input, then a polynomial expression is returned.
groebner
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!We 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:
groebner::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.