Thuật toán tìm biểu diễn tổng bình phương

Một phần của tài liệu (LUẬN văn THẠC sĩ) định lý bốn bình phương của lagrange và một số cải tiến (Trang 32 - 40)

L. Goldmakher-P Pollack và Thuật toán tìm biểu

3.2 Thuật toán tìm biểu diễn tổng bình phương

Trong tiết này ta quan tâm đến câu hỏi với số tự nhiên n cho trước, hãy tìm các số nguyên a, b, c, d thoả mãn

n = a2 +b2 +c2 +d2.

Định lý bốn bình phương của Lagrange khẳng định rằng các số a, b, c, d luôn tồn tại. Làm thế nào tìm được các số này?

Một cách tự nhiên là vớincho trước ta có thể thay tất cả các bình phương

a2, b2, c2, d2 ≤ n để kiểm tra đẳng thức trên. Tuy nhiên cách này không hiệu quả vì phải tính toán quá nhiều và do đó trong trường hợp nlớn thì cách này nói chung không khả thi. Ta sẽ tìm hiểu một số thuật toán hiệu quả để tìm các số a, b, c, d đó.

Năm 1986, Rabin và Shallit [RS86] đã đưa ra ba thuật toán ngẫu nhiên để tính với một số nguyên dương n cho trước các số nguyên x, y, z, w sao cho

x2 +y2 + z2 +w2 = n. Nhanh nhất trong số ba thuật toán là thuật toán có thời gian chạy dự kiến O((logn)2), với giả định là giả thuyết Riemann tổng quát là đúng. Hai thuật toán còn lại có thời gian chạy dài hơn nhưng là không có điều kiện. Rabin và Shallit chỉ ra rằng hai thuật toán này có thời gian chạy cỡ O((logn)2log logn) và O((logn)2(log logn)2).

Trong phần tiếp theo ta sẽ trình bày hai trong ba thuật toán này với một số điều chỉnh của Pollack-Trevino nhằm giảm thời gian tính toán. Để trình bày các thuật toán, ta cần khái niệm chuẩn của số phức và quaternion.

Nhắc lại tập các số phức C = R+iR là một R-không gian véc tơ và đồng thời là một trường có phép nhân thoả mãn i2 = −1. Các số nguyên Gauss được định nghĩa là ∈ Z[i] := {a + bi : a, b ∈ Z ⊂ C. Một mở rộng của các số phức là tập các quaternion H = R + Ri + Rj + Rk. Một mặt H là một R-không gian véc tơ và một mặt là một vành với phép nhân thoả mãn

i2 = j2 = k2 = −1, ij = −ji = k, jk = −kj = i, ki = −ik = j.

Trong H ta quan tâm đến tập các quaternion nguyên Hurwitz H = {1

2(a+bi+cj +dk) : a, b, c, d ∈ Z, a ≡ b≡ c ≡ d (mod 2)}.

Chuẩn của mỗi số phứcz = a+bivớia, b ∈ RlàN(z) =zz¯= a2+b2 ∈ R+

với z¯ = a−bi là số phức liên hợp của z. Tương tự, liên hợp của quaternion

q = a+ bi + cj + dk ∈ H là q¯= a −bi −cj − dk. Khi đó chuẩn của q là

N(q) = qq¯= a2 +b2 + c2 + d2. Nói riêng, nếu α 6= 0 trong Z[i] hoặc H thì

N(α) là một số nguyên không âm. Ngoài ra N(α) = 0 khi và chỉ khi α = 0. Việc sử dụng chuẩn của các số nguyên Gauss và quaternion nguyên Hurwitz trong bài toán tìm biểu diễn tổng bình phương của một số tự nhiên thông qua các bổ đề sau.

Bổ đề 3.2.1. Cho một số nguyên không âm n.

(a) n là tổng của hai bình phương khi và chỉ khi n = N(z) với một số nguyên Gauss z ∈ Z[i].

(b) nlà tổng của bốn bình phương khi và chỉ khi n= N(q) với một quaternion nguyên Hurwitz q ∈ .

Chứng minh. Khẳng định (a) là hiển nhiên. Ta chứng minh (b).

Giả sửn= x2+y2+z2+w2 là tổng của bốn bình phương vớix, y, z, w ∈ Z. Đặt q = 12(2x+ 2yi+ 2zj + 2wk) thì q ∈ H và N(q) =n.

Ngược lại, giả sử n = N(q) với q = 12(a + bi + cj + dk) ∈ H trong đó

a, b, c, d ∈ Z và a ≡ b ≡ c ≡ d (mod 2). Nếu a, b, c, d là các số chẵn thì rõ ràng n= N(q) = 1 4a 2 + 1 4b 2 + 1 4c 2 + 1 4d 2 ,

là biểu diễn cần tìm. Giả sử a ≡b ≡ c ≡ d ≡1 (mod 2). Chọn ea, eb, ec, ed ∈ {−1,1} sao cho

ea ≡a, eb ≡ −b, ec ≡ c, ed ≡ −d (mod 4).

Đặt e = 12(ea +ebi+ecj +edk) và

qe = A+Bi+Cj +Dk.

Dễ kiểm tra A, B, C, D ∈ Z. Vậy

n= N(q) =N(qe) =A2 +B2 +C2 +D2,

là biểu diễn cần tìm.

Tính chất số học của vành các số nguyên GaussZ[i]và các quaternion nguyên Hurwitz được sử dụng ở đây chủ yếu ở chỗ các vành này có thể sử dụng thuật toán chia Euclid. Nói các khác, với u, v 6= 0 thuộc một trong hai vành, luôn có thể tìm được r, q trong các vành tương ứng sao cho

u = rv+ q

và N(q) < N(v) với chuẩn N của từng vành tương ứng như đã định nghĩa ở trên. Từ đó ta có khái niệm ước chung lớn nhất trong Z[i] và ước phải chung lớn nhất trong Z (doH không giao hoán nên ta có khái niệm ước phải và ước trái).

Bổ đề 3.2.2. Cho n là số nguyên dương lẻ.

(a) Nếu n|N(a+bi) với a+bi ∈ Z[i],(a, b) = 1, thì mọi ước chung lớn nhất trong Z[i] của n và a+bi có chuẩn bằng n.

(b) Nếu n|N(a+bi +cj +dk) với a +bi+cj + dk ∈ H,(a, b, c, d) = 1, thì mọi ước phải chung lớn nhất trong vành các quaternion nguyên Hurwitz H của n và a+ bi+cj+ dk đều có chuẩn n.

Chứng minh. Chứng minh của (a) và (b) tương tự nhau trong đó chứng minh của (b) phức tạp hơn doH có cấu trúc không giao hoán trong khiZ[i] là vành giao hoán. Trong phần này ta chỉ chứng minh cho (b).

Đặt q = a + bi+ cj + dk. Gọi α là ước phải chung lớn nhất của n và q

trong H. Khi đó trong vành H ta có iđêan I = Hn+Hq = Hα gồm các bội trái của α. Ký hiệu iđêan các quaternion liên hợp là

¯

I = {u¯ : u ∈ I}.

Như vậy I¯chứa các bội phải của α¯. Vì phép lấy liên hợp H → H, u 7→ u¯ là tự đẳng cấu của không gian véc tơ thực H và thoả mãn uv = v.u nên

¯ I = nH + ¯qH = ¯αH. Bây giờ ta xét tập hợp J = II¯:= {uv : u ∈ I, v ∈ I¯}. Trước hết ta có J = HααH¯ = HN(α)H. Mặt khác, tập J gồm các phần tử có dạng (xn+yq)(zn+wq¯),

với x, y, z, w ∈ H. Tính toán trực tiếp ta được

(xn+ yq)(zn+wq¯) = n(xzn+xqw¯ +yqz) + 1

nN(q)yw.

Như vậy n là ước của mọi phần tử trong J và do đó n−1J là một iđêan trong

H. Ta xét một số trường hợp đặc biệt: - Chọn x = z = 1 vày = w = 0 thì từ đẳng thức trên ta suy ra n∈ n−1J. - Chọn x = 1, y = z = 0 ta suy ra ¯ qw ∈ n−1J với mọi w ∈ H. - Chọn x = 0, z = 1, w = 0 ta suy ra yq ∈ n−1J, với mọi y ∈ H. Từ đó dẫn đến ¯ w + ¯qw ∈ n−1J,

với mọi w ∈ H. Cho w = 1, i, j, k lần lượt ta suy ra 2a,2b,2c,2d ∈ n−1J.

Vì a, b, c, d là các số nguyên nguyên tố cùng nhau nên có một ràng buộc 1 = αa+ βb+ γc+δd,

với α, β, γ, δ ∈ Z. Hệ quả là

2 = α2a+β2b+ γ2c+δ2d ∈ n−1J.

Mặt khác, vì n lẻ nên ta viết n = 2m + 1. Do n,2 ∈ n−1J nên suy ra 1 =n−2m ∈ n−1J, dẫn đến

n−1J = H.

Vì vậy J = nH. Như vậy cả n và N(q) đều là các số nguyên dương và sinh ra J. Điều này chỉ có thể xảy ra khi n= N(q).

Thuật toán thứ nhất của Rabin-Shallit

Thuật toán này được Rabin và Shallit công bố vào năm 1986 (xem [RS86]). Mục tiêu của thuật toán là với mỗi số tự nhiênncho trước, tìm một biểu diễn

n = a2 +b2 +c2 +d2,

với a, b, c, d ∈ Z nào đó.

Đầu tiên, ta đưa về trường hợp n lẻ. Ta viết n = 2en0 với n0 là một số nguyên lẻ. Nếu (x0)2+ (y0)2+ (z0)2+ (w0)2 = n0 thì x2+y2+z2+w2 = n với

x, y, z, w được xác định từ đẳng thức

(1 +i)e(x0 +y0i+z0j +w0k) = x+yi+zj +wk.

Bây giờ giả sửnlà một số nguyên dương lẻ. Để biểu diễn nlà tổng của bốn bình phương, ta tìm một số nguyên tố p < (2n)5 thoả mãn p ≡ 1 (mod n),

p ≡ 1 (mod 4). Vì p ≡ 1 (mod 4), nên theo Định lý 1.2.1 ta có thể viết

p= a2 + b2. Giả sử ta đã tính a, b. Khi đó

n | p+ 1 = a2 +b2 + 1 = N(a+ bi+j).

Từ Bổ đề 3.2.2, ta tìm lại biểu diễn bốn bình phương của n bằng cách tính ước phải chung lớn nhất gcrd(n, a + bi + j) ∈ H, trong đó quaternion phải chung lớn nhất này được nhân với một đơn vị trong H để có các thành phần nguyên.

Thuật toán biểu diễn một số lẻ n > 20 thành tổng của bốn bình phương như sau.

1. [Tính trước] Xác định các số nguyên tố không vượt quá logn và tính tích

M của các số đó.

2. [Chọn ngẫu nhiên] Chọn ngẫu nhiên một số lẻ k < n5 và tính

p = M nk −1.

Chú ý là p ≡ 1 (mod 4) vì 2 k M và n, k là các số lẻ. Tiếp theo chọn ngẫu nhiên u ∈ [1, p−1] và tính s = u(p−1)/4 (mod p).

Nếu s2 ≡ 1 (mod p) thì tiếp tục bước tiếp theo. Nếu không, bắt đầu lại bước này.

3. [Kết thúc] Tính ước chung lớn nhất trong Z[i] của (s+i, p), giả sử bằng

a+bi. Sau đó tính ước phải chung lớn nhất của (a+bi+j, n), chuẩn hóa để có các thành phần nguyên.

Kết quả đầu ra của thuật toán này là một biểu diễn tổng bình phương của n.

Thuật toán thứ hai của Rabin-Shallit

Thuật toán thứ hai của Rabin-Shallit tìm biểu diễn tổng bình phương của một số tự nhiên n có các bước như sau

B1. Tìm biểu diễn tổng hai bình phương của một số nguyên tố

– Đánh dấu các số nguyên tố và hợp số trong đoạn [1,log(n)];

– Tính x2 +y2 với các cặp 0≤ x, y ≤(logn)1/2;

– Với các số nguyên tố ` = 2 và ` ≤ log(n), ` ≡ 1 (mod 4), tím các số nguyên x`, y` sao cho ` = x2` + y`2.

B2. Chọn a, b ngẫu nhiên trong [1, N] và tính

r := (−(a2 +b2)).

Bằng cách chọn ngẫu nhiên liên tục ta tìm được số r có dạng

r = r1p

với r1 là tích của các số nguyên tố ` ≤log(n) và p >log(n) là số nguyên tố thoả mãn

p≡ 1 (mod 4), p N.

B3. Tính biểu diễn hai bình phương của r1 như sau r1 = u2 +v2, trong đó u+vi = Y `e`||r1 (x`+y`i)e`. B4. Giả sử p = U2 + V2 và đặt z +wi= (u+vi)(U +V i). Khi đó −(x2 +y2) ≡ r = r1p = z2 +w2 (mod N) thoả mãn n | N | x2 +y2 +z2 +w2.

Kết luận

Nội dung chính của luận văn đề cập đến định lý bốn bình phương của Lagrange và một số cải tiến. Các kết quả chính của luận văn gồm có:

(1) Trình bày định lý bốn bình phương của Lagrange và biểu diễn tổng bình phương.

(2) Trình bày Định lý Legendre - Gauss, bài toán Waring và một vài bài tập ứng dụng về biểu diễn tổng bình phương cho toán phổ thông.

(3) Trình bày một số cải tiến Định lý bốn bình phương của Z.W. Sun và Z.W. Sun - Y.C. Sun.

(4) Trình bày một số cải tiến của L. Goldmakher và P. Pollack cũng như một số hệ quả.

(5)Trình bày hai thuật toán của Rabin-Shallit với một số chỉnh sửa của Paul Pollak - Enrique Trevino để tìm một biểu diễn tổng bình phương của một số tự nhiên cho trước.

Một phần của tài liệu (LUẬN văn THẠC sĩ) định lý bốn bình phương của lagrange và một số cải tiến (Trang 32 - 40)

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

(40 trang)