Giải phương trình toàn phương

Một phần của tài liệu (LUẬN văn THẠC sĩ) thuật toán rút gọn cơ sở trong dàn và áp dụng (Trang 27 - 33)

2 MỘT SỐ ÁP DỤNG

2.2 Giải phương trình toàn phương

Định nghĩa 2.2.1. Dạng toàn phương n biến x1, x1, . . . , xn là một hàm bậc hai dạng

f(x) =a11x21+a22x22+· · ·+annxn2 + 2a12x1x2+ 2a13x1x3+· · ·+ 2an−1,nxn−1xn trong đó aik là các hệ số thực và xi là các biến thực. Nếu ta ký hiệu x=     x1 .. . xn     , A=     a11 . . . a1n .. . . .. ... an1 · · · ann     , aik =aki

(chú ý rằng A là ma trận đối xứng). Khi đó ta có thể viết dạng toàn phương dưới dạng ma trậnf(x) =xTAx. Ma trận đối xứngA được gọi là ma trận của dạng toàn phương.

Dạng toàn phương f(x) = xTAx được gọi là xác định dương nếu f(x) > 0 với mọi x6= 0.

Dạng toàn phương f(x) =xTAx được gọi là xác định âm nếu f(x)<0 với mọi

x6= 0.

Dạng toàn phương chính tắc là dạng toàn phương mà trong biểu thức xác định không chứa các tíchxixj mà chỉ chứa các số hạng bình phương x2

i, nghĩa là ma trận trận của dạng toàn phương có dạng chéo

      a11 0 · · · 0 0 a22 · · · 0 · · · · 0 0 · · · ann      

Chú ý: Dạng chính tắc của một dạng toàn phương xác định không duy nhất. Nếu

• f(x) là xác định dương nếu mọi aii >0.

• f(x) là xác định âm nếu mọi aii<0.

• f(x) là không xác định nếu có các aii trái dấu

Phương trình toàn phương n biến là phương trình có dạng f(x1, x2, . . . , xn) = 0

trong đó f(x1, x2, . . . , xn) là một dạng toàn phương.

Ví dụ 2.2.2. ◦ Cho hàm bậc hai f(x) = 2x2 1−3x2

2−x1x2+ 8x1x3. Khi đó f(x) là một dạng toàn phương ba biến và ma trận của dạng toàn phương là

A=     2 −1 2 4 −1 2 −3 0 4 0 0     ◦ f(x) = 2x21−3x22+ 3x23 là một dạng toàn phương chính tắc

Từ định nghĩa của dạng toàn phương chính tắc, ta thấy nếu ta chuyển ma trận của dạng toàn phương về dạng ma trận chéo thì có nghĩa là ta sẽ chuyển được dạng toàn phương về dạng toàn phương chính tắc.

Vì A là ma trận vuông đối xứng cấp n nên A luôn có n giá trị riêng thực và các vectơ riêng ứng với các giá trị riêng khác nhau đều trực giao với nhau. Khi đó, nếu P là ma trận trực giao chéo hóa ma trận A và D là dạng chéo của A thì ta có

P−1AP =D. Vậy ta luôn có thể chuyểnA về dạng chéo tức là ta luôn có thể chuyển dạng toàn phương về dạng chính tắc.

Định lý 2.2.3. Cho dạng toàn phương f(x) = xTAx, với A là ma trận vuông đối xứng cấp n với n giá trị riêng λ1, λ2, . . . , λn và P là ma trận trực giao làm chéo hóa

A( tức làP−1AP =D). Khi đó, bằng cách đổi biếnx=P y ta đưa dạng toàn phương về dạng chính tắc sau f(x) = xTAx= n X i,j=1 aijxixj =λ1y12+λ2y22+· · ·+λnyn2

Chứng minh. Với cách đặt x=P y, suy ra y=P−1x. Ta có

f(x) = xTAx = (P y)TA(P y) =yTPTAP y =yTDy=λ1y21+λ2y22 +· · ·+λnyn2

Vậy ta chỉ cần chéo hóa ma trận trực giao của dạng toàn phương và thực hiện phép đổi biến ta sẽ đưa về dạng toàn phương chính tắc.

Vì mọi dạng toàn phương đều có thể đưa về dạng chính tắc nên trong phần này chúng ta chỉ xem xét vấn đề giải phương trình toàn phương dạng chính tắc, cụ thể là giải phương trình ba ẩn ax2+by2+cz2 = 0 (phương trình Legendre) trênQ. Khi tìm hiểu các thuật toán giải phương trình ax2+by2 +cz2 = 0 ta thấy rằng nghiệm của phương trình này được suy ra từ nghiệm của phương trình a0x2+b0y2+

c0z2 = 0 trong đó các hệ số mớia0, b0, c0 nhỏ hơn các hệ số ban đầu a, b, c tương ứng. Tuy nhiên, phép rút gọn này phụ thuộc vào việc khai căn modulo a,b, và c mà chỉ thực hiện được nếu biết phân tíchabc thành nhân tử. Vì thuật toán LLL có thể làm giảm các dạng toàn phương nên nó có thể sử dụng để giải phương trình toàn phương trên Q. Tuy nhiên nếu một phương trình toàn phương có một nghiệm thì nó chắc chắn không phải là xác định dương. Vấn đề là thuật toán LLL chỉ có thể xử lý được dạng toàn phương xác định dương. Có hai cách để giải quyết vấn đề này đó là: hoặc là xây dựng một dạng toàn phương mới xác định dương và việc giảm giúp chúng ta giải phương trình ban đầu hoặc là điều chỉnh thuật toán LLL thành một thuật toán mới để giải được dạng toàn phương không xác định. Sau đây chúng ta sẽ xét cách thứ hai.

Chú ý rằng, nếuq(x)là một dạng toàn phương thìf(x, y) = q(x+y)−q(x)−q(y)

là một dạng song tuyến tính đối xứng. Dạng song tuyến tính này xác định một tích vô hướng. Ta ký hiệu x.y := f(x, y). Vì mục đích chúng ta xét dạng toàn phương không xác định nên tích vô hướng x.x= x2 trong thuật toán dưới đây không nhất thiết phải dương. Đây là lý do giải thích vì sao thuật toán LLL không áp dụng được đối với dạng toàn phương này.

Thuật toán IndefiniteLLL

Đầu vào : Cho 14 < c <1 và một cơ sở b1, . . . , bn của Zn.

Đầu ra : một cơ sở rút gọn. 1. Đặt k= 2.

2. Tính b∗i và µij bằng cách sử dụng thuật toán trực giao Gram-Schmidt.

3. Fori=n, . . . ,1, forj = 1, . . . , i−1đặtq =dµijc,bi =bi−qbj vàµij =µij−q. 4. If (b∗k)2+µk,k2 −1 b∗k−12 < c b∗k−12

, trao đổibkvàbk−1và đặtk = max{k−1,2}. Nếu không k=k+ 1.

5. If k ≤n, đi đến bước 2. Nếu không trả về cơ sở (bi).

Định lý 2.2.4. (IndefiniteLLL)Cho f là một dạng toàn phương trênZn xác định bởi f(x) =xTAx với A∈Mn(Z) là ma trận đối xứng sao cho det (A)6= 0. Áp dụng thuật toán IndefiniteLLL với tham số 1/4< c < 1 cho một cơ sở b1, . . . , bn của Zn.

Khi đó

• hoặc tìm được một phần tử x∈Zn sao cho f(x) = 0, • hoặc tìm được một cơ sở rút gọn b1, . . . , bn sao cho

b∗k−12 ≤γ(b∗k)2,1< k≤n và 1≤(b1)2 n ≤γn(n−1)/2|det(A)|, trong đó γ = c− 1 4 −1 > 43.

Hơn nữa, nếu f không xác định, chúng ta có

1≤ (b1)2 n ≤ 3 4γ n(n−1)/2|det(A)|.

Chứng minh. Chúng ta chỉ phải xem xét trường hợp không bao giờ tìm thấy một nghiệm của phương trình f(x) = 0, vì vậy tất cả các bước của thuật toán là được xác định. Trước tiên, chúng ta sẽ chỉ ra lý do tại sao thuật toán này kết thức sau một số bước đa thức. Lý do hoàn toàn giống với thuật toán LLL thông thường mà chúng ta đã chứng minh.Đặt Bi = (bi∗)2. Chúng ta thấy rằng dk =

k

Q

i=1

Bi là định thức con của ma trận A được xác định bỡi k dòng và cột đầu tiên. Do đó dk là một số nguyên. Mỗi lần chúng ta thực hiện trao đổi ở bước 4, dk−1 giảm nghiêm trọng ít nhất là c−1 > 1, trong khi các dj khác không thay đổi. Điều này chứng tỏ thuật toán kết thức sau một số bước đa thức.

Rõ ràng là cuối cùng chúng ta có (b∗k)2+µk,k2 −1 b∗k−12 ≥c b∗k−12 với mọi1< k ≤n. Giả sử rằng(b∗k)2và b∗k−12cùng dấu. Chúng ta có(b∗k)2≥ c−µ2k,k−1 b∗k−12 nhưng |µk,k−1| ≤ 1

2. Do đó Bk−1 ≤ γBk. Bây giờ giả sử ngược lại, (b∗k)2 và b∗k−12

trái dấu. Trong trường hợp này thì (b∗k)2+µ2

k,k−1 b∗k−12 phải cùng dấu với (b∗k)2 và chúng ta có(b∗k)2≥ c+µ2 k,k−1 b∗k−12 ≥ b∗k−12 . Từ đóBk−1 ≤c−1Bk ≤γBk. Bây giờ chúng ta chứng minh bất đẳng thức cuối cùng. Vì chúng ta đã giả sử rằng thuật toán không tìm được bất kỳ nghiệm nào của phương trình f(x) = 0

nên số nguyên (b1)2 phải ít nhất là 1 tức là (b1)2 ≥ 1. Mặt khác, chúng ta có

(b1)2 =B1 ≤ γB2 ≤ · · · ≤ γn−1Bn. Từ đó suy ra (b1)2

n

≤ γ1+2+···+(n−1)dn. Nhắc lại rằngdn =|detA|, từ đó ta có bất đẳng thức cần chứng minh.

Bây giờ xem xét trường hợp cụ thể là q không xác định. Vì dạng toàn phương không xác định nên chuỗi(b∗1)2, . . . ,(bn∗)2chứa một dấu thay đổi. Giả sử b∗k−12

(b∗k)2 <

0 với 1< k ≤n. Như chúng ta đã thấy trước đó, Bk−1 ≤ c−1Bk và Bi−1 ≤γBi với

i6=k. Từ bất đẳng thức này chúng ta có(b1)2

n

Do đó sự khác biệt so với trường hợp chung là do yếu tốc−(n+1−k). Ta cón+1−k ≥1

và c <1, cho nên(γc)−(n+1−k) ≤(γc)−1 < 3

4. Từ đó suy ra kết luận của định lý.

Trở lại với phương trình toàn phương ba ẩnf(x, y, z) = 0được xác định bởi một ma trận đối xứng A cấp 3×3 với các phần tử là số nguyên. Chúng ta giả sử trong phần này rằng định thức của A khác 0. Mục tiêu của chúng ta là tìm một nghiệm nguyên không tầm thường (hoặc hữu tỷ, nhưng điều này là tương đương) cho phương trình f(x, y, z) = 0. Sự tồn tại của một nghiệm như vậy tương đương với sự tồn tại của một nghiệm trong mỗi trường p−adic Qp và trong R. Người ta cũng biết rằng đối với một số nguyên tố lẻ p không chia hết detA, một nghiệm luôn tồn tại. Sự tồn tại này được đưa ra bỡi Hilbert và điều này dễ tính toán nếu ta biết được các ước củadetA. Do đó trong phần này chúng ta giả sử ước này được biết đến và một nghiệm không tầm thườngp−adicluôn tồn tại. Giả định cuối cùng này không quan trọng lắm vì nó được suy ra từ thuật toán. Tuy nhiên nó không phải là một cách hiệu quả để chứng minh (hoặc chối bỏ) nó.

Mục đích của phần này là có thể làm nhỏ dạng toàn phương có thể giải được f. Điều này có nghĩa là ta xây dựng một dạng toàn phương khác f0, tương đương với

f, nhưng với định thức bằng ±1 sao cho một nghiệm của f có thể được suy ra từ một nghiệm củaf0. Chiến lược là làm việc với một ước số nguyên tố pcủa detA tại một thời điểm nào đó và chia liên tiếp định thức chop cho đến khi nó bằng ±1. Ta thừa nhận định lý sau đây.

Định lý 2.2.5. Cho A ∈ M3(Z) là một ma trận đối xứng với detA 6= 0 sao cho phương trình toàn phương xTAx = 0 có một nghiệm địa phương không tầm thường trong Qp với mọi ước nguyên tố p của detA. Khi đó có một ma trận V ∈M3(Z) có các tính chất sau: detV =|detA|, A0 = 1 detAV TAV ∈M3(Z), detA0 =±1.

Hệ quả 2.2.6. Cho a, b, c là các số nguyên đôi một nguyên tố cùng nhau. Giả sử rằng phương trìnhax2+by2+cz2 = 0 có một nghiệm trongQp với mọi số nguyên tố

p là ước củaabc. Đặt Q=

    a 0 0 0 b 0 0 0 c     . Khi đó có một ma trận U ∈M3(Z) có các

tính chất detU =abc, Q0 = 1 abcU TQU ∈M3(Z), detQ0 =±1.

Trở lại với mục đích cuối cùng là giải phương trình toàn phươngf(x, y, z) = 0với

f(x, y, z) = ax2+by2+cz2 trong đó các hệ số thuộc Q(phương trình Legendre). Chúng ta có thể giả sửa, b, clà các số nguyên đôi một nguyên tố cùng nhau và chúng không có nhân tử bình phương. Giả sử phương trình trên có một nghiệm trong Qp với mọi số nguyên tốpvà trong R. Được biết rằng điều kiện này tương đương với sự tồn tại một nghiệm trongQ. Bây giờ chúng ta sử dụng thuật toán IndefiniteLLL

để giải phương trình nêu trên.

Thuật toán giải phương trình Legendre ax2+by2+cz2 = 0.

Đầu vào: Cho ba số nguyên a, b, c không có nhân tử bình phương và đôi một nguyên tố cùng nhau, thuật toán giả định rằng phương trình Legendre có một nghiệm hữu tỷ.

Đầu ra: Một nghiệm hữu tỷ

1. Với tất cả các ước nguyên tố pcủa a, tính căn bậc hai của−c/b modulop (sử dụng thuật toán Shanks (Thuật toán 1.5.1 trong [1])) và sử dụng định lý phần dư Trung Hoa để suy ra căn bậc hai Xa của −c/b moduloa.

2. Tính cả căn bậc hai Xb của −c/amodulob và căn bậc haiXc của−b/amodulo

a .

3. Sử dụng thuật toán Euclide mở rộng, tính hai số nguyên u và v sao cho

bu+cv = 1. 4. Đặt U =     bc abuXc XabuXc+Xbcv 0 a Xa 0 0 1     và Q0 = abc1 UT     a 0 0 0 b 0 0 0 c     U.

5. Sử dụng thuật toán IndefiniteLLL cho Q0 với c = 3/4. Nếu kết quả là một nghiệm của xTQ0x = 0 thì trả về U x. Nếu không đặt B là ma trận của cơ sở rút gọn và đặt Q00 =BTQ0B (đây là ma trận đường chéo với hệ số bằng ±1). Tìm một nghiệm củaxTQ00x= 0 và trả về U Bx.

Một phần của tài liệu (LUẬN văn THẠC sĩ) thuật toán rút gọn cơ sở trong dàn và áp dụng (Trang 27 - 33)

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

(45 trang)