A special representation for univariate polynomials over finite fields
defined by a single algebraic extension over
Z mod p has been implemented.
The new facility includes support for computing polynomial gcd's,
factoring, and finding roots. It is accessed via the mod function.
Example: factor the polynomial over
then
.
> f := x^6+x^5+x^4+x^3+1:
> Factor(f) mod 2;
2 4
(x + x + 1) (x + x + 1)
> alias(alpha=RootOf(x^2+x+1)):
> Factor(f,alpha) mod 2;
2 2
(x + alpha) (x + x + alpha + 1) (x + alpha + 1) (x + x + alpha)
An algebraic extension can also be given to the Roots and Irreduc functions, e.g.
> Roots(f,alpha) mod 2;
[[alpha, 1], [alpha + 1, 1]]