Bill Allombert on Mon, 28 Apr 2008 18:47:31 +0200


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: How to check irreducibility over a finite field?


On Mon, Apr 28, 2008 at 03:23:40PM +0200, Carlo Wood wrote:
> Hi,
> 
> I'd like to check the irredicubility of a given
> polynomial over a field K.

Please note that there is a function polisirreducible for that purpose.

> Let K = F_2[t]/r(t)F_2[t], where r(t) is a given
> reduction polynomial over F_2.
> 
> Let L = K[s]/u(s)K[s], where u(s) is a given
> reduction polynomial over K.
> 
> I want to manually pick a u(s) and then check
> if I can factor it in K.
> 
> Here is what I tried:
> 
> First I define r(t):
> 
> ? r = Mod(1,2)*t^6 + Mod(1,2)*t + Mod(1,2);
> 
> It is possible to check that this is irreducible over F_2 with:
> 
> ? lift(factormod(r, 2))
> %2 = 
> [t^6 + t + 1 1]
> 
> Next, I define a u(s):
> 
> ? u = Mod(Mod(1,2),r)*s^2 + Mod(Mod(1,2),r)*s + Mod(Mod(1,2),r);
> 
> Now I want to see if I can factor this over K:
> 
> ? lift(factormod(u, r))
>   *** factormod: incorrect type in factmod.
> 
> Not even this works:
> 
> ? lift(factormod(u, 2))
>   *** factormod: incorrect type in factmod.
> 
> How can I factor a polynomial u(s) over K?

Use factor(u) or factorff(u,2,r) if the moduli are implicit.

Cheers,
Bill.