f = g
f < g
The equality operator =
evaluates to true
if the polynomials f and
g are equal, and to false
otherwise. The inequality operator <
evaluates to true
if the polynomials f and g are not equal, and to
false
otherwise.
Note that polynomials are equal if and only if their coefficients and their base rings are equal. Polynomials can also be compared with objects of other types. Of course they are never equal.
gap> f := Polynomial( GF(5^3), [1,2,3]*Z(5)^0 ); Z(5)^3*X(GF(5^3))^2 + Z(5)*X(GF(5^3)) + Z(5)^0 gap> x := Indeterminate(GF(25));; gap> g := 3*x^2 + 2*x + 1; Z(5)^3*X(GF(5^2))^2 + Z(5)*X(GF(5^2)) + Z(5)^0 gap> f = g; false gap> x^0 = Z(25)^0; false
f < g
f <= g
f g
f = g
The operators <
, <=
, , and
=
evaluate to true
if the
polynomial f is less than, less than or equal to, greater than, or
greater than or equal to the polynomial g, and to false
otherwise.
A polynomial f is less than g if v(<f>) is less than v(<g>), or if v(<f>) and v(<g>) are equal and d(<f>) is less than d(<g>). If v(<f>) is equal to v(<g>) and d(<f>) is equal to d(<g>) the coefficient lists of f and g are compared.
gap> x := Indeterminate(Integers);; x.name := "x";; gap> (1 + x^2 + x^3)*x^3 < (2 + x^2 + x^3); false gap> (1 + x^2 + x^4) < (2 + x^2 + x^3); false gap> (1 + x^2 + x^3) < (2 + x^2 + x^3); true
GAP 3.4.4