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]]