Định lý được chứng minh... Cách chứng minh hoàn toàn tương tự chứng minh định lý 1.. Phương trình không có nghiệm dương, tương tự đối với nghiệm âm... *Ứng dụng vào giải phương trình đa
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ N I Ộ
- o0o
ĐỀ TÀI:
GIẢI PHƯƠNG TRÌNH ĐA THỨC
DANH SÁCH SINH VIÊN NHÓM 6:
1 Nguyễn Qu c Trung 20195937 CTTN Toán Tin K64 ố
2 Nguyễn T ạ Quốc Cườ ng 20195846 CTTN Toán Tin K64
Trang 2Ta xét phương trình dạng đa thức
𝑓(𝑥) = 𝑝(𝑥) = 𝑎0𝑥𝑛+ 𝑎1𝑥𝑛−1+ … + 𝑎 𝑥 + 𝑎 = 0𝑛−1 𝑛
trong đó 𝑎0≠ 0 Để tìm nghi m th c gệ ự ần đúng của phương trình (1), ta hoàn toàn có thể áp dụng các phương pháp đã học như lặp đơn, tiếp tuyến, dây cung, Nhưng do (1) có dạng đa thức nên cũng có những đặc trưng riêng, có thể giải theo phương pháp khác
I SƠ ĐỒ HOOCNE
Tính giá tr cị ủa đa thức
Tại 𝑥 = 𝑐; nếu 𝑓(𝑐) = 𝑝(𝑐) = 0 thì hiển c là nghiệm của phương trình (1) Nói chung với c b t kấ ỳ thì 𝑝(𝑐) ≠ 0 Ta s tìm ẽ 𝑝(𝑐)
Do 𝑝(𝑥) = 𝑎0𝑥𝑛+ 𝑎1𝑥𝑛−1+ … + 𝑎 𝑥 + 𝑎𝑛−1 𝑛= (𝑎0𝑥 + 𝑎1)𝑥𝑛−1+ 𝑎2𝑥𝑛−2+ … = ((𝑎 𝑥 + 𝑎 )𝑥 + 𝑎 )𝑥0 1 2 𝑛−2+ … = (…((𝑎0𝑥 + 𝑎1)𝑥 + 𝑎2)𝑥 … + 𝑎𝑛) Khi 𝑥 = 𝑐 ta tính dần:
𝑎0= 𝑏0
𝑎 + 𝑏1 0𝑐 = 𝑏1
𝑎2+ 𝑏1𝑐 = 𝑏2
𝑎𝑛+ 𝑏𝑛−1𝑐 = 𝑏𝑛 thì 𝑏𝑛= 𝑝(𝑐)
Quá trình này được mô t b ng b ng sau Gả ằ ả ọi là sơ đồ Hoocne
Hệ số đa thức 𝑎0 𝑎1 𝑎2 𝑎𝑛−1 𝑎𝑛
𝑐𝑏0 𝑐𝑏1 𝑐𝑏𝑛−2 𝑐𝑏𝑛−1
c 𝑏0 𝑏1 𝑏2 𝑏𝑛−1 𝑏𝑛= 𝑝(𝑐)
Ta th y các sấ ố 𝑏0, 𝑏1, 𝑏2, … , 𝑏𝑛−1 là h s cệ ố ủa đa thức thương Q(x) khi chia đa thức p(x) cho đơn thức 𝑥 − 𝑐
Thực vậy Ta đặt:
𝑄(𝑥) = 𝛽0𝑥𝑛−1+ 𝛽1𝑥𝑛−2+ … + 𝛽𝑛−2𝑥 + 𝛽𝑛−1 (2)
Khai triển (3) ta được:
𝑝(𝑥) = 𝛽0𝑥𝑛+ (𝛽1− 𝛽0𝑐)𝑥𝑛−1+ … + 𝛽(𝑛−1− 𝛽𝑛−2𝑐)𝑥 + 𝛽(𝑛− 𝛽𝑛−1𝑐)
Trang 3Đồng nhất theo lũy thừa của x với phương trình (1)
𝛽0= 𝑎0
𝛽1− 𝛽0𝑐 = 𝑎1
𝛽𝑛− 𝛽𝑛−1𝑐 = 𝑎𝑛
Hay 𝑎0= 𝛽0
𝑎 + 𝛽1 0𝑐 = 𝛽1
𝑎𝑛+ 𝛽𝑛−1𝑐 = 𝛽𝑛
So sánh v i hớ ệ có được khi thay 𝑥 = 𝑐 ta thấy:
𝑏 = 𝛽0 0, 𝑏1= 𝛽1, , 𝑏𝑛= 𝛽𝑛= 𝑝(𝑐)
Hay nói cách khác
𝑝(𝑥) = (𝑥 − 𝑐 𝑏)[0𝑥𝑛−1+ 𝑏1𝑥𝑛−2+ … + 𝑏𝑛−1] + 𝑝(𝑐)
Như vậy sơ đồ Hoocne có thể tính được giá trị của đa thức p(x) tại điểm x=c, đồng thời cũng cho
ta đa thức thương của đa thức p(x) chia cho x-c
Ví d : ụ Cho 𝑝(𝑥) = 𝑥 − 4𝑥 − 7𝑥4 3 2+ 22𝑥 +24
Tính 𝑝(5) và tìm đa thức 𝑝1(𝑥) sao cho:
𝑝(𝑥) = (𝑥 − 5 𝑝)1(𝑥) + 𝑝(5)
Lập sơ đồ Hoocne ta được:
Vậy 𝑝(5) = 84 và 𝑝1(𝑥) = 𝑥3+ 𝑥2− 2𝑥 + 12
II MIỀN CH A NGHI M CỨ Ệ ỦA ĐA THỨC
Định lý 1: Xét phương trình
(4) 𝑝(𝑥) = 𝑎0𝑥𝑛+ 𝑎1𝑥𝑛−1+ … + 𝑎 𝑥 + 𝑎 = 0𝑛−1 𝑛
(𝑎 ≠ 0, 𝑎0 𝑖∈ 𝑅 với 𝑖 = 1, 𝑛)
Trang 4Đặt 𝐴 = max{|𝑎𝑖|, 𝑖 = 1, 𝑛}
thì các nghi m (th c ho c ph c) cệ ự ặ ứ ủa phương trình (4) thỏa mãn
|𝑥| < 1 +|𝑎𝐴
Nghĩa là các nghiệm của phương trình (4) nằm trong m t tròn tâm O bán kính ặ
𝑅 = 1 +|𝑎𝐴
0|ở trong m t phẳng phặ ức
Chứng minh định lý: Xét các s x không th a mãn (5), t c là ố ỏ ứ
Từ đó suy ra |𝑎0| ≥| |𝑥 −1𝐴 hay |𝑎0𝑥𝑛| ≥𝐴|𝑥| |𝑥 −1𝑛|
M t khác ặ
|𝑎1𝑥𝑛−1+ 𝑎2𝑥𝑛−2+ … + 𝑎𝑛| ≤ |𝑎1||𝑥𝑛−1| + … + |𝑎𝑛| ≤ 𝐴{|𝑥|𝑛−1+ |𝑥|𝑛−2+ … + 1}
= 𝐴|𝑥|| |𝑥 −1𝑛−1
Do (6) thì |𝑥| > 1 nên |𝑥| −1| |𝑥 −1𝑛 <|𝑥|−1|𝑥|𝑛
→ |𝑎1𝑥𝑛−1+ 𝑎2𝑥𝑛−2+ ⋯ + 𝑎
𝑛| < 𝐴| ||𝑥|𝑥 −1𝑛 ≤ |𝑎0𝑥𝑛|
Ta thấy số ạng đầ h u trội hơn hẳn các số hạng sau của đa thức Do đó x thỏa mãn (6) thì không th là nghi m cể ệ ủa phương trình (4) Định lý được chứng minh
Từ đây ta có hệ quả:
S ố𝑁 = 1 +|𝑎𝐴
0|là c n trên c a modun các nghi m cậ ủ ệ ủa phương trình (4) Bây giờ ta xét trường hợp nghi m th c cệ ự ủa phương trình (4) Ta đã biết các nghi m âm ệ của phương trình 𝑝(𝑥) = 0 cũng là nghiệm dương của phương trình 𝑝(−𝑥) = 0 Vì v y ta ch ậ ỉ cần đề ập đế c n cận trên c a các nghiủ ệm dương
Định lý 2: Nếu 𝑎0> 0, 𝑎𝑖> 0 với 𝑖 = 1, 𝑛 thì 𝑝(𝑥)> 0 ∀𝑥 > 0; phương trình (4) không
có nghiệm dương
Giả ử s 𝑎0> 0, 𝑎𝑘(𝑘 ≥ 1) là hệ số âm đầu tiên tính từ 𝑘 = 1,2, … ọ g i B = max c a các tr ủ ị tuyệt đối của các h s âm Thì các nghiệ ố ệm dương của phương trình (4) thỏa mãn
𝑥 < 1 + √𝑘 𝑎𝐵
Trang 5Cách chứng minh hoàn toàn tương tự chứng minh định lý 1
VD: Cho phương trình
𝑝(𝑥) = 𝑥 − 5𝑥 − 3𝑥 − 2𝑥 + 14 3 2
1 Tìm mi n ch a nghi m (th c và phề ứ ệ ự ức)
2 Tìm c n trên, c n ậ ậ dưới mi n ch a nghi m th c ề ứ ệ ự
Giải:
1 Mi n ch a nghi m: ề ứ ệ 𝑎0= 1,𝐴 = max{1,5,3,2} = 5
Vậy 𝑁 = 1 +𝑎𝐴
0= 1 +51= 6
→ Miền ch a nghi m là miứ ệ ền tròn tâm O bán kính R = 6 n m trong mằ ặt phẳng phức
2 Tìm cận trên, dưới c a nghi m thủ ệ ực
Cận trên: hệ số âm đầu tiên là 𝑎1= −5 do đó 𝑘 = 1, còn 𝐵 = max{|−5|, |−3 −2 =|, | |}
5
→ C n trên c a nghi m thậ ủ ệ ực dương là
𝑥 < 𝑀 = 1 + √151
= 6
Ta tìm cận dướ ủi c a các nghi m th c âm Tệ ự ừ phương trình (*) ta thay x bởi –x:
𝑝(−𝑥) = 𝑥4+ 5𝑥 − 3𝑥3 2+ 2𝑥 + 1 = 0
Hệ số âm đầu tiên 𝑏2= −3 → 𝑘 = 2 và 𝐵 = |−3 = 3|
→ −𝑥 < 𝑀 = 1 + √31= 2.733 hay 𝑥 > −𝑀 = −2.733
V y nghi m th c cậ ệ ự ủa phương trình (*) nằm trong kho ng ả −2.733 < 𝑥 < 6
*Nhược điểm: Ta không th phân biể ệt khi nào phương trình vô nghiệm
VD: Phương trình 𝑥2− 2𝑥 + 5 = 0 không có nghiệm th c Tuy nhiên khi áp dự ụng định lý trên,
ta thấy 𝑘 = 1, 𝐵 = 2 → ậ C n trên c a nghiủ ệm thực dương là: 𝑀 = 1 + √121
= 3
Hoặc đối với phương trình 𝑥2+ 2𝑥 + 5 = 0 không tồn tại h sệ ố âm, trường hợp này khi lập trình ta mặc định c n trên c a nghi m thậ ủ ệ ực dương là 0 (Phương trình không có nghiệm dương), tương tự đối với nghiệm âm
Trang 6*Ứng dụng vào giải phương trình đa thức:
Ý tưởng:
B1: Tìm c n trên và cậ ận dưới miền ch a nghiứ ệm th c cự ủa phương trình theo định lý 2
B2: S d ng gói min-ử ụ max để tìm các điểm c c tr trong miự ị ền nghiệm v a tìm ừ
B3: Nếu 2 điểm li n nhau t o thành mề ạ ột kho ng cách ly nghi m, s dả ệ ử ụng các phương pháp đã học để giải phương trình (dây cung/ tiếp tuyến/ chia đôi)
III PHƯƠNG PHÁP LOBACHEVSKY
Phương pháp này được áp dụng để tìm các nghi m gệ ần đúng của đa thức, mà không c n ầ tìm mi n ch a nghiề ứ ệm cũng như không cần tìm kho ng phân ly nghiả ệm Sau đây lần lượt xét các trường h p sau ợ
3.1 Trường h p ch có nghi m th c phân bi t ợ ỉ ệ ự ệ
Giả ử s phương trình đa thức bậc n
(7) 𝑝(𝑥) = 𝑎0𝑥𝑛+ 𝑎1𝑥𝑛−1+ … + 𝑎 𝑥 + 𝑎 = 0𝑛−1 𝑛
(𝑎 ≠ 0, 𝑎0 𝑖∈ 𝑅, 𝑖 = 1, 𝑛) chỉ có các nghi m thệ ực 𝑥𝑖 v i trớ ị tuyệt đối khác nhau
Ta đánh số các nghiệm đó thứ tự giảm d n theo trầ ị tuyệt đối:
|𝑥1| > |𝑥2| > … > |𝑥𝑛| (8)
D a vào (7) ta xây dự ựng phương trình mới
𝑄(𝑥) = 𝑐0𝑥𝑛+ 𝑐1𝑥𝑛−1+ … + 𝑐 𝑥 + 𝑐𝑛−1 𝑛= 0 (𝑐0≠ 0) (9)
Có nghiệm là −𝑥1𝑚,−𝑥2𝑚,… , −𝑥𝑛𝑚 Hay:
𝑄(𝑥) = 𝑐0(𝑥 + 𝑥1𝑚)(𝑥 + 𝑥2𝑚) … (𝑥 + 𝑥𝑛𝑚) = 0 (10)
So sánh (9) v i (10) ta có ớ
𝑥1𝑚+ 𝑥2𝑚+ … + 𝑥𝑛𝑚=𝑐1
𝑐0
𝑥1𝑚𝑥2𝑚+ 𝑥2𝑚𝑥3𝑚+ … + 𝑥𝑛−1𝑚 𝑥𝑛𝑚=𝑐2
𝑐 0
𝑥1𝑚𝑥2𝑚… 𝑥𝑛𝑚=𝑐𝑛
𝑐 0
(công th c Viete) hay ứ
𝑥1𝑚[1 + (𝑥2
𝑥 1)𝑚+ … + (𝑥𝑛
𝑥 1)𝑚] =𝑐1
𝑐 0
Trang 7𝑥1𝑚𝑥2𝑚[1 + (𝑥2 𝑥3
𝑥 1 𝑥 2)𝑚+ … + (𝑥𝑛−1 𝑥 𝑛
𝑥 1 𝑥 2 )𝑚] =𝑐2
𝑐 0
𝑥1𝑚𝑥2𝑚… 𝑥𝑛𝑚=𝑐𝑛
𝑐0
Do giả thiết (8) nên khi m tăng lên các phần trong ngo c vuông c a h trên 1 ặ ủ ệ →
V y vậ ới m đủ lớn thì
𝑥1𝑚≈𝑐1
𝑐 0
𝑥1𝑚𝑥2𝑚≈𝑐2
𝑐 0
𝑥1𝑚𝑥2𝑚… 𝑥𝑛𝑚=𝑐𝑛
𝑐 0
Từ đó → |𝑥1| ≈ √|𝑐1
𝑐 0| 𝑚 , |𝑥2| ≈ √|𝑐2
𝑐 1| 𝑚 , …, |𝑥𝑛| ≈ √|𝑐𝑛
𝑐 𝑛−1| 𝑚
Để được nghi m th c gệ ự ần đúng ta lần lượt thay ±|𝑥𝑖|, với 𝑖 = 1, 𝑛 vào (7) để xác định dấu c a nghiủ ệm
V y vậ ấn đề ệ ạ hi n t i là ta c n xây dầ ựng đa thức d ng (9), ta ti n hành tạ ế ừng bước như sau:
T (7), ta xây dừ ựng phương trình mới có nghiệm là −𝑥𝑖2 (𝑖 = 1,𝑛) (gọi là quá trình bình phương nghiệm) Áp d ng liên tiụ ếp quá trình bình phương nghiệm k – 1 lần nữa ta được phương trình mà nghi m là ệ −𝑥𝑖2 𝑘
tức là −𝑥𝑖𝑚 (với 𝑚 = 2𝑘) Trước h t ta xét kế ỹ bước đầu tiên
Do 𝑝(𝑥) = 0 có nghiệm là nên: 𝑥𝑖
𝑝(𝑥) = 𝑎0(𝑥 − 𝑥1)(𝑥 − 𝑥2) … (𝑥 − 𝑥 )𝑛
Thay x bỏi –x
(−1)𝑛𝑝(−𝑥 = 𝑎) 0(𝑥 + 𝑥1)(𝑥 + 𝑥2) … (𝑥 + 𝑥𝑛) suy ra
(−1)𝑛𝑝(−𝑥)𝑝(𝑥)= 𝑎0(𝑥2− 𝑥1)(𝑥2− 𝑥2) … (𝑥2− 𝑥𝑛)
Thay b𝑥2 ởi –y
𝑝(𝑥) (−𝑥) = 𝑎𝑝 0(𝑦 + 𝑥1)(𝑦 + 𝑥2) … (𝑦 + 𝑥𝑛) = 𝑝1(𝑦)
Vậy đa thức 𝑝1(𝑦) có nghiệm 𝑦𝑖= −𝑥𝑖2 Ta khai triển 𝑝1(𝑦)
𝑝1(𝑦) = 𝑎0(1)𝑦𝑛+ 𝑎(1)1 𝑦𝑛−1+ … + 𝑎𝑛(1) (11)
Trang 8Bây giờ ta tính cụ thể các 𝑎𝑖(1)
Do 𝑝(𝑥) = 𝑎0𝑥𝑛+ 𝑎1𝑥𝑛−1+ … + 𝑎 𝑥 + 𝑎𝑛−1 𝑛
Nên 𝑝(−𝑥) = (−1)𝑛[𝑎0𝑥𝑛− 𝑎1𝑥𝑛−1+ … + −1( )𝑛𝑎𝑛]
Hay (−1)𝑛𝑝(−𝑥 = 𝑎) 0𝑥𝑛− 𝑎1𝑥𝑛−1+ … + −1( )𝑛𝑎𝑛
Từ đó ta có
(−1)𝑛𝑝(𝑥)𝑝(−𝑥 = 𝑎) 0𝑥2𝑛− (𝑎1− 2𝑎0𝑎2)𝑥2𝑛−2+ (𝑎2− 2𝑎1𝑎3+ 2𝑎0𝑎4)𝑥2𝑛−4
+… + (−1)𝑛𝑎𝑛
Thay b i (-y), thay 𝑥2 ở 𝑝(𝑥)𝑝(−𝑥) = 𝑝1( )𝑦 ta được
𝑝1(𝑦) = 𝑎0𝑦𝑛+ (𝑎1− 2𝑎0𝑎2)𝑦𝑛−1+ (𝑎2− 2𝑎1𝑎3+ 2𝑎0𝑎4)𝑦𝑛−2+ … + 𝑎𝑛 (12)
So sánh (11) và (12) ta th y ấ
𝑎0(1)= 𝑎0
𝑎1(1)= (𝑎1− 2𝑎0𝑎2)
𝑎2(1)= (𝑎2− 2𝑎1𝑎3+ 2𝑎0𝑎4) (12.1)
𝑎𝑛(1)= 𝑎𝑛
Vậy ta được đa thức (11) Thay y b i x ta có ở 𝑝1(𝑥)
Tiếp tục quá trình bình phương nghiệm Sau khi thực hiện k lần ta thu được
𝑝𝑘(𝑧) = 𝑎0(𝑘)𝑧𝑛+ 𝑎1(𝑘)𝑧𝑛−1+ … + 𝑎𝑛(𝑘)= 0
Có nghiệm là 𝑧𝑖= −𝑥𝑖2𝑘 nghĩa là 𝑧𝑖= −𝑥𝑖𝑚(với 𝑚 = 2𝑘)
Khi k đủ ớn ta đượ l c dạng (9) với 𝑐𝑖= 𝑎𝑖(𝑘)
Và ta có: 𝑥𝑖2 𝑘
≈𝑎𝑖(𝑘)
𝑎𝑖−1(𝑘) 𝑖 = 1, 𝑛 (13) Vậy k thế nào là đủ lớn? Giả ử s đến bước thứ k ta có đa thức (9), ta tính tiếp bước k+1:
𝑥𝑖2 𝑘+1
≈𝑎𝑖(𝑘+1)
𝑎𝑖−1(𝑘+1) 𝑖 = 1, 𝑛 (14)
Ta so sánh (13) và (14) Do 𝑎0(𝑘+1)= [𝑎0(𝑘)]2ta được
𝑎(𝑘+1)𝑖 ≈ [𝑎𝑖(𝑘)]2 𝑖 = 1, 𝑛 (15)
Trang 9Logarit hai v ế
lg 𝑎(𝑘+1)𝑖 ≈ 2 lg 𝑎𝑖(𝑘) 𝑖 = 1,𝑛 (16) Nghĩa là logarit của hệ số bước sau gấp 2 lần logarit c a h sủ ệ ố bước trước tương ứng T ừ (15) và (16) cho thấy phương trình (7) chỉ có các nghiệm thực đơn và nghiệm gần đúng được tìm
từ (14)
Ví dụ: Giải phương trình 𝑝(𝑥) = 𝑥 − 𝑥3 2− 22𝑥 +40 = 0
Áp dụng quá trình bình phương nghiệm và công thức (I) ta được kết quả như bảng sau:
0
1
2
3
4
5
6
1
1
1
1
1
1
1
-1
45
897 4,56417.105
1,56883 1011
2,33015 1022
5,42101 1044
-22
564 1,74096.105
2,57168 1010
6,55371 1020
4,29498 1041
1,84469 1083
40
1600 2,56.106
6,5536 1012
4,29497 1025
1,84468 1051
3,40284 10102
Qua b ng trên ta th y: ả ấ 𝑎(6)𝑖 ≈ [ 𝑎𝑖(5)]2 nên ta d ng ừ ở bước k = 6 → 𝑚 = 26= 64 Vậy: |𝑥1| ≈ [5,42101 10 44]641≈ 5,00000
|𝑥2| ≈ [5,42101.101,84469.104483]
1 64
≈ 4,00000
|𝑥2| ≈ [3,40284.101,84469 10. 10283]
1
64≈ 2,00000 Thay ±5, ±4,±2 vào phương trình; ta được 𝑥1= −5; 𝑥 = 4; 𝑥2 3= 2 là nghi m cệ ủa phương trình đã cho
3.2 Trường hợp phương trình chỉ có nghi m thệ ực, nhưng có nghiệm b i hay có nghiộ ệm khá g n nhau vầ ề trị tuyệt đối
Xét phương trình (7) có nghiệm thực 𝑥𝑖trong đó:
𝑥2= 𝑥3 hay |𝑥2| ≈ |𝑥3| nghĩa là:
Trang 10|𝑥1| > |𝑥2| ≈ |𝑥3| > |𝑥4|… > |𝑥 |𝑛
Ta v n áp dẫ ụng tương tự quá trình bình phương nghiệm như phần 3.1, với k đủ lớn
𝑥1𝑘≈𝑎1(𝑘)
𝑎0(𝑘)
(𝑥2)2 𝑘
≈ (𝑥3)2 𝑘
≈𝑎3(𝑘)
𝑎1(𝑘)≈12[𝑎2(𝑘)
𝑎1(𝑘)]2
𝑥4𝑘≈𝑎4(𝑘)
𝑎3(𝑘)
𝑥𝑛𝑘≈𝑎𝑛(𝑘)
𝑎𝑛−1(𝑘)
Và quá trình này s d ng khi ẽ ừ
𝑎1(𝑘+1)≈ [𝑎1(𝑘)]2
𝑎2(𝑘+1)≈12[𝑎2(𝑘)]2
𝑎3(𝑘+1)≈ [𝑎(𝑘)3 ]2
𝑎𝑛(𝑘+1)≈ [𝑎(𝑘)𝑛 ]2
Trong trường hợp phương trình (7) có s nghiệm th c b ng nhau ho c có trự ằ ặ ị tuyệt đối xấp
xỉ nhau là 𝑥𝑖, 𝑥 , … ,𝑥𝑖+1 𝑖+𝑠−1thì ta thay điều kiện th 2 c a h trên bứ ủ ệ ởi điều kiện:
𝑎𝑖(𝑘+1)≈1𝑠[𝑎𝑖(𝑘)]2
3.3 Trường hợp phương trình (7) có nghiệm phức
Ta giả ử s phương trình có cặp nghiệm ph c là và : ứ 𝑥2 𝑥3
𝑥2= 𝑟 𝑐𝑜𝑠𝜑 + 𝑖𝑠𝑖𝑛𝜑( )
𝑥3= 𝑟(𝑐𝑜𝑠𝜑 − 𝑖𝑠𝑖𝑛𝜑)
Và các nghi m thệ ỏa mãn điều kiện
|𝑥1| > |𝑥2| = |𝑥3| > |𝑥4| > … > |𝑥𝑛|
M t khác ta có: ặ
Trang 11𝑥2+ 𝑥 = 2𝑟𝑐𝑜𝑠𝜑3
𝑥2𝑥3= 𝑟2
Hoàn toàn tương tự như trên, bằng phương pháp bình phương nghiệm liên tiếp và v i k ớ
đủ lớn:
𝑥1𝑘≈𝑎1(𝑘)
𝑎0(𝑘)
(𝑟2)2 𝑘
≈𝑎3(𝑘)
𝑎1(𝑘)
𝑥4𝑘≈𝑎4(𝑘)
𝑎3(𝑘)
𝑥𝑛𝑘≈𝑎𝑛(𝑘)
𝑎𝑛−1(𝑘)
Từ đó ta xác định được modun r của 𝑥2, 𝑥3 và trị tuyệt đối c a các nghi m th c x Ta xét ủ ệ ự dấu c a các nghi m thủ ệ ực như trên, còn acgumen 𝜑 của 𝑥2, 𝑥3 s xác định: ẽ
Do 𝑥1+ 𝑥2+ 𝑥 + … + 𝑥3 𝑛= −𝑎1
𝑎 0
Ta có 𝑥1+ 2𝑟𝑐𝑜𝑠𝜑 + 𝑥4+ … + 𝑥𝑛= −𝑎1
𝑎 0 từ đó ta giải được 𝜑 Quá trình bình phương nghiệm sẽ dừng khi
𝑎𝑖(𝑘+1)≈ [𝑎(𝑘)𝑖 ]2 với 𝑖 ≠ 2
Riêng với 𝑎2(𝑘), dựa vào hệ thức Viete ta có
𝑥1𝑘𝑥2𝑘+ 𝑥1𝑘𝑥3𝑘+ 𝑥1𝑘𝑥4𝑘+ … + 𝑥𝑛−12𝑘 𝑥𝑛𝑘=𝑎2(𝑘)
𝑎0(𝑘)
Ta suy ra 𝑥1𝑘(𝑥2𝑘+ 𝑥3𝑘) + 𝑥1𝑘𝑥4𝑘+ … + 𝑥𝑛−12𝑘 𝑥𝑛𝑘=𝑎2(𝑘)
𝑎0(𝑘)
Vì 𝑥2, 𝑥3 là 2 s ph c liên h p nên: ố ứ ợ
𝑥2𝑘+ 𝑥3𝑘= 2𝑟2 𝑘(𝑐𝑜𝑠2𝑘𝜑) → 𝑎2(𝑘) có chứa số hạng (𝑐𝑜𝑠2𝑘𝜑) do đó thay đổi không theo quy luật Đó là dấu hiệu cho thấy phương trình (7) có nghiệm phức
Như vậy ta có th rút ra k t lu n: Tể ế ậ ừ quá trình bình phương nghiệm ta suy ra:
Trang 121) Nếu k đủ ớn để l
𝑎𝑖(𝑘+1)≈ [𝑎(𝑘)𝑖 ]2 𝑖 = 0, 𝑛
Thì phương trình (7) chỉ có nghiệm th c phân biự ệt
2) Khi 1) không xảy ra, nhưng có i để
𝑎𝑖(𝑘+1)≈1𝑠[𝑎𝑖(𝑘)]2
Với k đủ lớn, ta có th tin r ng (7) có mể ằ ột nghiệm th c bự ội là hay có s nghi m th c mà 𝑥𝑖 ệ ự
có trị tuyệt đối gần nhau Hiện tượng này có th x y ra v i 2, 3 h sể ả ớ ệ ố, lúc đó sẽ có 2, 3 nghiệm bội
3) N u có h sế ệ ố thay đổi không theo quy lu t thì có th tin rậ ể ằng phương trình (7) có một cặp nghiệm ph c N u có t i 2, 3 h sứ ế ớ ệ ố thay đổi không theo quy luật thì tương ứng sẽ có 2, 3 cặp nghiệm ph c liên hứ ợp
Tuy nhiên, những điều nói trên chỉ là nhận xét sơ bộ Mu n khố ẳng định được ta cần tính toán đến cùng và ki m tra b ng cách thay lể ằ ại vào phương trình (7) để biết giá trị nào th a mãn ỏ
*Ưu điể m: Có thể tìm được các nghi m ph c ệ ứ
*Nhược điểm:
- Quá trình bình phương nghiệ m dẫn đến hệ s rố ất lớn
- Không kiểm soát được sai s c a nghiố ủ ệm phương trình
- Do phép đánh giá 𝑎𝑖(𝑘+1)≈ [𝑎𝑖(𝑘)]2 để ừ d ng quá trình l p d a trên ý ki n chặ ự ế ủ quan nên khi viết chương trình khó có thể dừng thuật toán một cách chính xác (Chẳng hạn như ta
muố n d ng lừ ặp sau k bước (k cho trước), khi lg 𝑎𝑖(𝑘+1)− 2 lg𝑎𝑖(𝑘) < epsilon (*) (v i epsilon ớ cho trước) thì với m t sộ ố phương trình, (*) có thể không chính xác
Trang 13IV THU T TOÁN Ậ
Đối với phương pháp Lobachevsky, do khả năng lập trình còn y u kém nên nhóm em gế ặp phải mộ ốt s vấn đề khi lập trình Do v y em s dậ ử ụng phương pháp tìm miền ch a nghi m và các ứ ệ điểm c c tr ự ị
INPUT: B c cậ ủa đa thức n, các hệ số a[0], a[1], …, a[n]
OUTPUT: Nghiệm của phương trình f(x)=0
*Các bi n toàn cế ục đượ ử ục s d ng
- n B ậc c a ủ đa thức
- M ng a[100] ả Các h s cệ ố ủa đa thức theo b c gi m dậ ả ần
- a1, b1 Kho ảng để tìm các cực trị trong gói min-max
- sign, map (ánh x ) ạ Dùng trong GDA
- M ng diem[100] ả Dùng để lưu trữ c ận trên, cận dưới c ủa nghiệm thự c cùng các c c trự ị
- m Bi ến đếm của mảng diem[]
- N1, N2 C ận trên và c ận dướ ủa nghiệm thực phương trình i c
*Một số hàm được sử dụng trong thuật toán
- Gói min-max bao g m các hàm: ồ
+ ff(x) Nh ập hàm f(x)
+ f1(x0) Trả ề v hàm f’(x0)
+ fixeta(x0) Trả ề v eta h ợp lí
+ gda(x0) Gradient Desent Asent Tìm các c c tr– ự ị)
- canbac(a, n1) Dùng để tính căn bậc n1 c ủa số a (với a dương và n1 nguyên dương) B1: Gán 𝑓 = 𝑒𝑛11ln (𝑎)= 𝑎1𝑛1= √𝑎𝑛1
B2:Trả về giá tr c a f ị ủ
- f(x) Tính giá tr c a hàm f(x) t i x b ng Hoocneị ủ ạ ằ
B1: Gán 𝑏0= 𝑎0
B2: Khở ại t o biến l p ặ 𝑖 = 1
B3: Kiểm tra n u ế 𝑖 ≤ 𝑛 thì 𝑏 = 𝑎 + 𝑏𝑖 𝑖 𝑖−1𝑐, nếu sai chuyển đến B5
B4: 𝑖 = 𝑖 + 1, quay lại B3
B5: Trả ề v giá trị 𝑏𝑛
- timmiennghiem() Tìm miề ứ ệ ự ủa phương trình
Trang 14B1: Tìm 𝐴 = max{|𝑎𝑖|,𝑖 = 1, 𝑛}
B2: Tính 𝑅 = 1 +|𝑎𝐴
0|
B3: Tìm 𝑘1(𝑎𝑘 1là h sệ ố âm đầu tiên )
B4: Tìm 𝐵1 = max trị tuyệt đối các hệ số âm N u không t n tế ồ ại 𝐵1 thì báo về “phương trình không có nghiệm dương”, gán 𝑁1= 0rồi chuyển đến B6
B5: Tính 𝑁1= 1 + √𝐵1
𝑎 0 𝑘1
B6: Với 𝑖 ≡ 1(𝑚𝑜𝑑 2) thì 𝑎𝑖= −𝑎𝑖 (Thay x bởi –x vào phương trình)
B7: Tìm 𝑘2(𝑎𝑘2là h sệ ố âm đầu tiên )
B8: Tìm = max tr tuy𝐵2 ị ệt đối các hệ số âm N u không t n tế ồ ại 𝐵2 thì báo về “phương trình không có nghiệm âm”, gán 𝑁2= 0rồi chuyển đến B10
B9: Tính 𝑁2= 1 + √𝐵 2
𝑎 0 𝑘2
B10: Gán a1 = -N2, b1 = N1
- bisection(a,b) Thu ật toán chia đôi với khoảng cách ly nghiệm (a,b)
B1: Gán c = (a+b)/2
B2: Ki m tra n u f(c) = 0 hoể ế ặc f(c) < epsilon (cho trước), đúng thì in ra c rồi k t thúc ế B3: Ki m tra nể ếu f(c)*f(a) < 0, đúng thì gán b = c, nếu sai gán a = c, sau đó lặp l i t B1 ạ ừ đến B3
*Hàm main()
B1: Nhập input n, mảng a[n]
B2: Tìm miền nghi m (s d ng hàm timmiennghiem()) ệ ử ụ
B3: Dùng gói tìm min-max để tìm c c trự ị, lưu các cực trị vào m ng diem[] ả
B4: Lưu hai giá trị -N1, N2 vào mảng diem[]
B5: S p x p mắ ế ảng theo th t ứ ự tăng dần bằng sort()
B6: Kh i t o biở ạ ến l p p = 0 ặ
B7: Ki m tra n u p m+1 thì k t thúc thu t toán ể ế > ế ậ
B8: Ki m tra f(diem[p]) = 0 ho c |f(diem[p])| < epsilon, n u sai chuyể ặ ế ển đến B10 B9: In ra p là nghi m, p = p+1 ệ
B10: Ki m tra f(diem[p],diem[p+1]) < 0) nể ếu sai chuyển đến B12