Mở rộng đại số của trờng Galois có đặc số nguyên tố p.

Một phần của tài liệu Về một số thuật toán số học và ứng dụng (Trang 49 - 51)

Thực hành tính toán trên maple

3.2.2. Mở rộng đại số của trờng Galois có đặc số nguyên tố p.

Với trờng có đặc số nguyên tố p, thì thủ tục khai báo trờng này vẫn nh trên, chỉ lu ý đa thức lấy hệ số trên trờng hữu hạn Zp và các tính toán đợc tính theo modp. Khi đó, ta thu đợc trờng Galois GF(pk) có q = p k phần tử, với k là bậc của đa thức. Tính toán trên trờng vẫn tiến hành nh các tính toán thông thờng nhng lấy theo modp. Với p = 5 có thể khai báo một mở rộng đại số của Z5 bằng:

[>alias (a=RootOf(y^2+2*y-1)mod5);

Khi đó, một phân thức theo a có thể đa về dạng đa thức theo a bằng lệnh:

4a + 3

Muốn thu đợc kết quả tờng minh, có thể dùng lệnh evala hoặc Normal.

[>(4+3*a)+( 4+3*a)mod5; 3 + a [>(3+4*a)*( 3+4*a)mod5; (3 +4a)(3+4a) [>evala(3+4*a) * ( 1+4*a)mod5; 3 + 2a

[>Normal(3+4*a) * ( 1+4*a) mod5 ;

3 + 2a Ta có thể khai báo trờng với lệnh đơn giản bỏ mod5

[>alias(alpha= RootOf(y^2 + 2*y-1)mod5);

α

Song khi tính toán nhất thiết phải có mod5, chẳng hạn:

[>Normal((1+ alpha - alpha^2)/(alpha^2 + 1)mod5; 3.2.3. Tính toán trên trờng Galois

Ví dụ . Dựng một trờng Galois có 25 phần tử.

Lời giải. Xét đa thức f(x) = x2 + x + 1 ∈Z5[x]. Do f(x) vô nghiệm trên trờng Z5 nên f(x) bất khả quy trên Z5. Gọi N là trờng nghiệm của đa thức f(x) trên Z5, ta có N = Z5(u, v) trong đó u, v là các nghiệm của đa thức f(x). Theo định lý Viet u + v = - 1, nên N = Z5(u). Do f(x) bất khả quy trên Z5nên phần tử u là phần tử đại số bậc hai trên Z5. Vì vậy, N là mở rộng bậc hai của Z5 có cơ sở 1, u hay

N = { a + bu / a, b ∈Z5 }. Trờng N là trờng Galois 25 phần tử GF(52) cần dựng. ■

Ta dùng lệnh sau đây để sinh ra một trờng Galois 25 phần tử GF(52) trong đó chỉ sẵn đa thức bất khả quy bậc hai trên trờng Z5: α2 +α +1.

[>G25:= GF(5,2,alpha^2+alpha+1);

G25: = module( )

Lấy một phần tử của trờng, ký hiệu bởi a, bằng lệnh:

[>a:=G25[random]( );

[>g:=G25[PrimitiveElement]( ); 3.2.4. Tính toán với đa thức

Gói công cụ của Maple để tính toán đối với đa thức đợc gọi bằng lệnh:

[>with (polytools) :

Một phần của tài liệu Về một số thuật toán số học và ứng dụng (Trang 49 - 51)

Tải bản đầy đủ (DOC)

(53 trang)
w