Các kiến thức cơ bản về giải tích hàm
Không gian metric
Định nghĩa 1.1 Cho X là một tập hợp tùy ý (X 6= ∅) Một khoảng cách hay một metric trong X là một ánh xạ: d :X ×X → R
(x, y) 7→ d(x, y) thỏa mãn các điều kiện sau:
Khi đó (X, d) được gọi là không gian metric. Định lý 1.1 (Bất đẳng thức tứ giác) Nếu x, y, u, v là bốn điểm tùy ý của không gian metric (X, d), thì ta có
Các vế phải của (1) và (2) bằng nhau, từ đó suy ra bất đẳng thức cần chứng minh. Định lý 1.2 Cho (X,d) là không gian metric, A ⊂X, A 6= ∅ với ∀x, y ∈ X, ta có:
Lấy z tùy ý thuộc A ta có: d(x, z) ≤ d(x, y) +d(y, z). mà d(x, z) ≥ d(x, A);∀z ∈ A
Thay đổi vai trò của x và y, ta được kết quả cần chứng minh.
Sự hội tụ
Định nghĩa 1.2 Dãy { u n } trong không gian metric(X,d) gọi là hội tụ đến điểm a ∈ X nếu ∀ > 0,∃n 0 ∈ N sao cho ∀n ≥ n 0 : d(u n , a) <
Ví dụ 1.1.1 Trong R ta có: Dãy { u n } gọi là có giới hạn là a khi n → ∞ nếu
∀ > 0,∃n 0 ∈ N,∀n ≥n 0 : |u n −a| < Định lý 1.3 Nếu x n →a và y n →b thì lim x→∞d(x n , y n ) =d(a, b)
Theo bất đẳng thức tứ giác ta có |d(x n , yn)−d(a, b)| ≤ d(xn, a) +d(yn, b) và khi n → ∞ thì vế phải dần đến 0
Tập hợp mở và tập hợp đóng
Trong không gian metric (X,d), với A ⊂ X, hình cầu mở B(x0, r) được định nghĩa là tập hợp các điểm x ∈ X sao cho khoảng cách d(x, x0) nhỏ hơn r Ngược lại, hình cầu đóng B0(x0, r) bao gồm các điểm x ∈ X thỏa mãn d(x, x0) nhỏ hơn hoặc bằng r Hơn nữa, B(x0, r) được gọi là r-lân cận của điểm x0.
Mọi tập con của X đều chứa một lân cận r nào đó của x0, được gọi là lân cận của x0 Điểm x được xem là điểm trong của tập hợp A ⊂ X nếu tồn tại một lân cận của x nằm hoàn toàn trong A Ngược lại, điểm x được gọi là điểm biên của A nếu mọi lân cận của x đều chứa cả điểm thuộc A và điểm không thuộc A Tập hợp A ⊂ X được định nghĩa là tập hợp mở nếu mọi điểm trong A đều là điểm trong của chính nó Cuối cùng, A ⊂ X được gọi là tập hợp đóng nếu mọi điểm không thuộc A đều là điểm trong của phần bù của nó.
[a, b] là tập đóng. Định lý 1.4 Hình cầu mở B(a, r) là một tập mở.
Ta hãy lấy r 0 sao cho 0< r 0 < r −d(a, x).
Khi đó B(x, r 0 ) ⊂B(a, r) bởi vì nếu y ⊂ B(x, r 0 ) thì d(x, y) < r 0 Do đó: d(a, y) ≤ d(a, x) + d(x, y) < r ⇒ y ∈ B(a, r).
Vậy mọi điểm x của hình cầu B(a,r) đều là điểm trong của hình cầu ấy vàB(a,r) là mở. Định lý 1.5 Trong không gian metric X:
• Hình cầu đóng B 0 (a, r) là một tập đóng.
• Tập hợp một điểm a là đóng.
Giả sử x ∈ G Vì X 6∈ B(a, r) nên d(a, x) > r Ta hãy chọn r’ sao cho
0< r 0 < d(a, x)−r , và chứng tỏ rằng B(x 0 , r 0 ) ⊂G (từ đó suy ra rằng
G là mở và B’(a,r) là đóng).
Qủa vậy, giả sử y ⊂B(x, r 0 ) tức là d(x, y) < r 0
Nên d(a, y) > r , vậy y ∈ B 0 (x, r) , tức là y ∈ G. b Rõ ràng a ∞
Trong không gian metric X, tập hợp B 0 (a, n 1 ) và các hình cầu B 0 (a, 1 n ) đều là tập đóng Giao của các tập hợp đóng cũng tạo thành một tập hợp đóng, do đó, ta có thể kết luận rằng a là một tập đóng Định lý 1.6 chỉ ra rằng một tập hợp F ⊂ X là đóng nếu và chỉ nếu với mọi dãy (x n ) trong F hội tụ đến a, thì điểm a cũng thuộc về F.
Chứng minh. Đặt G= X \F. Điều kiện cần : Giả sử F đóng và a = lim n→∞x n với x n ∈ F(n = 1,2, ). Lấy b 6∈ F tức là b ∈ G.
Mà G là mở, nên tồn tại một hình cầu B(b, r) ⊂ G Vì x n 6∈ G nên x n 6∈ B(b, r) vậy d(b, x n ) ≥r(n= 1,2, ) Điều này chứng tỏ mọi điểm b 6∈ F đều không thể là giới hạn của dãy (xn)
Vì a là giới hạn của dãy (x n ), nên a thuộc tập F Để chứng minh rằng tập hợp G là một tập mở, ta cần giả sử rằng tập hợp F thỏa mãn các tính chất đã nêu trong định lý.
Giả sử G là một tập không mở, thì sẽ có một điểm a thuộc G mà không phải là điểm trong của G Do đó, mọi hình cầu B(a, 1/n) (với n = 1, 2, ) sẽ không hoàn toàn nằm trong G, nghĩa là sẽ tồn tại ít nhất một điểm xn thuộc B(a, 1/n) với xn nằm trong F (với n = 1, 2, ).
Vì d(a,(x n )) < n 1 , nên x n →a , mà x n ∈ F , tức là a 6∈ G
Mâu thuẫn này chứng tỏ rằng G là mở và F là đóng Định lý 1.7 Giả sử F là một tập hợp đóng trong không gian metric X Khi đó x ∈ F ⇔d(x, F) = 0
Chứng minh. x ∈ F ⊂ X thì rõ ràng d(x, F) = 0
Ngược lại, nếu d(x, F) = 0 , thì từ định nghĩa d(x, F) = inf x∈Fd(x, y) ta suy ra rằng với mọi số nguyên dương n, đều tồn tại một điểm y n ∈ F sao cho: d(x,(y n )) < n 1 (n= 1,2, )
Như vậy ta được một dãy (y n ) những điểm thuộc F hội tụ đến x Vì F đóng nên theo định lý 1.6, ta thấy rằng x ∈ F
Không gian đầy đủ
Định nghĩa 1.10 Dãy {x n } trong không gian metric X gọi là một dãy Cauchy nếu
Trong toán học, một không gian metric (X,d) được gọi là không gian đầy đủ nếu mọi dãy Cauchy trong không gian đó đều hội tụ đến một phần tử thuộc X Theo định lý 1.8, nếu X là một không gian metric đầy đủ và Y là một tập con không rỗng của X, thì điều kiện cần và đủ để Y cũng trở thành không gian đầy đủ là Y phải là tập đóng trong X.
Để chứng minh rằng không gian con Y là đóng và đầy đủ, ta xem xét hai điều kiện Điều kiện cần cho thấy rằng nếu Y là đầy đủ và x0 ∈ Y, thì tồn tại một dãy {xn} trong Y hội tụ đến x0 Dãy {xn} là dãy Cauchy trong Y, và vì Y đầy đủ, nên giới hạn của dãy này thuộc Y, tức là x0 ∈ Y, từ đó suy ra Y chứa các điểm dính của nó và Y là đóng Điều kiện đủ chỉ ra rằng nếu Y là đóng và {xn} là dãy Cauchy trong Y, thì {xn} cũng là dãy Cauchy trong X Vì X đầy đủ, tồn tại giới hạn x0 của dãy {xn}, và do xn ∈ Y với mọi n, suy ra x0 ∈ Y Do đó, mọi dãy Cauchy trong Y đều có giới hạn thuộc Y, khẳng định Y là đầy đủ.
Không gian compact
Định nghĩa 1.12 Một tập hợp M trong không gian metric (x, d) được gọi là compact nếu mọi dãy {x n } ⊂ M đều chứa một dãy con {(x n ) k } hội tụ tới một điểm trong M.
Một không gian metric (X, d) được xem là compact nếu nó là một tập hợp compact Theo Định lý 1.9, nếu K là một tập hợp compact trong không gian metric, thì K sẽ có hai đặc điểm: thứ nhất, K là tập hợp đóng và hoàn toàn bị chặn; thứ hai, với tư cách là một không gian con của X, K cũng là một không gian metric đầy đủ.
Giả sử x0 thuộc tập K, có một dãy {x n } trong K hội tụ đến x0 Dãy {x n } là dãy Cauchy với x0 là điểm cụm duy nhất Vì K là tập hợp compact, nên x0 phải thuộc K Do đó, K là tập đóng.
Giả sử tập K không bị chặn hoàn toàn, sẽ có một số r > 0 sao cho không thể bao phủ tập K bằng một số hữu hạn hình cầu có bán kính r Chọn một điểm x1 thuộc tập K.
Vì K (B(x 1 , r)∪B(x 2 , r)) 6= ∅ nên tồn tại x 3 ∈ K (B(x 1 , r)∪B(x 2 , r)). Tiếp tục quá trình ấy, ta dựng được một dãy điểm {x n } trong K sao cho: x n 6∈
Dãy x n và bất kỳ dãy con nào của nó không thể là một dãy Cauchy, điều này mâu thuẫn với giả thiết rằng K compact dẫn đến K hoàn toàn bị chặn Nếu {x n} là một dãy Cauchy trong K, do K là compact, tồn tại một dãy con {x nk} của {x n} với lim n→∞{x nk} = x0 ∈ K Dễ dàng nhận thấy x0 cũng là giới hạn của dãy {x n}, từ đó suy ra K là một không gian metric đầy đủ.
Ánh xạ liên tục
Định nghĩa 1.13 Cho (X, d x ),(Y, d y ) là các không gian metric. Ánh xạ f : X → Y được gọi là liên tục tại điểm x 0 ∈ X nếu:
∀ > 0,∃δ >0,∀x ∈ X : dx(x, x0) < δ ⇒ dy(f(x), f(x0)) < Định lý 1.10 Điều kiện cần và đủ để ánh xạ f : X → Y là liên tục tại điểm x 0 ∈ X là với mọi lân cận W của f(x 0 ) ∈ Y, đều tồn tại một lân cận
Để chứng minh tính liên tục của hàm số f tại điểm x0, ta giả sử f liên tục tại x0 và W là một lân cận của f(x0) Ta cần chứng minh tồn tại một hình cầu B(x0, n1) thuộc X sao cho f(B(x0, n1)) nằm trong W Giả sử ngược lại, với mọi n = 1, 2, 3, thì f(B(x0, n1)) không thuộc W, dẫn đến tồn tại các điểm xn trong B(x0, n1) sao cho f(xn) không thuộc W Do d(x0, xn) < n1, ta có xn tiến tới x0, nhưng f(xn) không nằm trong lân cận W của f(x0), điều này mâu thuẫn với giả thiết Đối với điều kiện đủ, giả sử ánh xạ f thỏa mãn định lý, và (xn) là một dãy hội tụ đến x0 Với r > 0, hình cầu B(f(x0), r) là lân cận của f(x0) Theo giả thiết, tồn tại lân cận V của x0 sao cho f(V) nằm trong B(f(x0), r) Vì xn hội tụ đến x0 và V là lân cận của x0, tồn tại n0 sao cho xn thuộc V khi n ≥ n0, từ đó suy ra f(xn) nằm trong B(f(x0), r) với r tùy ý, chứng tỏ rằng f(xn) tiến tới f(x0).
Không gian định chuẩn
X là không gian vectơ trên trường K. Ánh xạ P : X →R gọi là một chuẩn trên X nếu: a P(x) ≥0;∀x ∈ X
Và (X,P) gọi là không gian định chuẩn Kí hiệu :P(x) =kxk.
Trong không gian định chuẩn (X,P), ta kí hiệu: d(x, y) =kx−yk Khi đó d là một metric trên X.
Trong không gian định chuẩn, ta có các tính chất sau: (a) Khoảng cách kx−yk luôn không âm, và kx−yk chỉ bằng 0 khi và chỉ khi x = y, dẫn đến d(x, y) = 0 (b) Khoảng cách giữa hai điểm x và y là đối xứng, tức là d(x, y) = d(y, x) (c) Khoảng cách d(x, y) thỏa mãn bất đẳng thức tam giác, cho phép ta kết nối ba điểm x, y, z trong không gian Theo Định lý 1.11, nếu A : X → Y là ánh xạ tuyến tính từ không gian định chuẩn X vào Y, thì các mệnh đề liên quan đến tính liên tục của A là tương đương, bao gồm: A liên tục, A liên tục tại một điểm x₀ thuộc X, A liên tục tại điểm 0 thuộc X, và tồn tại một hằng số M sao cho với mọi x thuộc X, ta có kAxk ≤ Mkxk.
(b) ⇒ (c) : Cho A liên tục tại x 0 Phải chứng minh A liên tục tại 0.
∀{x n } ⊂ X mà lim n→∞x n = 0 Phải chứng minh lim n→∞A(x n ) = A(0) = 0.
Ta có lim n→∞(xn +x0) = x0 Do A liên tục tại x0.
Với mọi > 0; tồn tại δ >0; với mọi x ∈ X mà kxk < δ ⇒ kAxk< Chọn = 1 ⇒ tồn tại δ0 > 0 ; với mọi x ∈ X mà kxk < δ0 ⇒ kAxk< 1 (∗)
Với mọi x ∈ X\{0} ⇒ δ 0 2kxkx δ 0 2kxkx kxk = δ 0
(4) ⇒ (1) :∀x ∗ ∈ X Chứng minh rằng A liên tục tại x ∗
Với mọi {x n } ⊂ X mà lim n→∞x n = x ∗ Phải chứng minh lim n→∞A(xn) =A(x ∗ ) với mọi n ∈ N kA(x n )−A(x ∗ )k = kA(x n −x ∗ )k < Mkx n −x ∗ k n→∞ −→ 0 n→∞lim kA(x n )−A(x ∗ )k = 0.⇒ lim n→∞A(x n ) = A(x ∗ ).
Nguyên lý ánh xạ co (Banach)
Trong không gian metric X, một ánh xạ F từ X vào chính nó được gọi là có điểm bất động nếu tồn tại một điểm x ∈ X sao cho x = F(x) Tập hợp tất cả các điểm bất động của F được ký hiệu là Fix(F) Ngoài ra, nếu (X, d) và (Y, d) là hai không gian metric bất kỳ, thì ánh xạ F: X → Y được gọi là ánh xạ co nếu tồn tại một hằng số α ∈ R với 0 ≤ α < 1 thỏa mãn điều kiện cần thiết.
∀x, x 0 ∈ X ta đều có d(F(x), F(x 0 )) ≤ αd(x, x 0 ) và α gọi là hằng số co.
Cho (X,d),(Y,d) là không gian metric Nếu F : X →Y là ánh xạ co liên tục thì F liên tục. Định lý 1.12 (Banach) Cho (Y,d) là một không gian metric đầy đủ, F :
Y →Y là một ánh xạ co với hằng số co α Khi đó F có duy nhất một điểm bất động u và F n (y) →u;∀y ∈ Y Khi đó ta có : d(F n y, u) ≤α n (1−α) −1 d(F y, y)(n≥ 1) d(F n y, u) ≤α(1−α) −1 d(F n y, F n−1 y)(n ≥1)
∀y ∈ Y, không gian tổng quát giả sử d(F y, y) 6= 0.
Do F là ánh xạ với hằng số co α nên ta có : d(F y, F 2 y) ≤αd(y, F y) d(F 2 y, F 3 y) ≤ αd(F y, F 2 y) ≤ α 2 d(y, F y)
Bằng quy nạp ta có: d(F n y, F n+1 y) ≤ α n d(y, F y);∀n∈ N Do đó ∀n ∈ N;∀p∈ N ta có: d(F n y, F n+p y) ≤ n+p−1
⇒ {F n y} là dãy Cauchy ⇒ ∃ lim n→∞F n y Đặt u = lim n→∞F n y ⇒ lim n→∞F n+1 y = lim n→∞F(F n y) =F u (do F liên tục) Vậy F u= u.
Ta có d(F n y, F n+p y) ≤ α n 1−α d (y, F y);∀p ∈ N,∀n∈ N Qua giới hạn khi p → ∞.
Qua giới hạn khi n → ∞ ta có: d(F n y, u) ≤ α1−α d (F n−1 y, F n y)
Hệ quả 1.1 Cho ( Y,d) là một không gian metric đầy đủ và
Cho F : B →Y là ánh xạ co với hằng số 0 < α < 1.
Nếu d(F(y 0 ), y 0 ) < (1−α)r thì F có điểm bất động.
≤ αd(y, y 0 ) +d(F(y 0 ), y 0 ) ≤α+ (1−α)⇒ là ánh xạ co từ M vào M mà M đóng trong không gian đầy đủ Y.
⇒u ∈ M : F(u = u) sự duy nhất của điểm bất động là hiển nhiên.
Cách tiếp cận lời giải số
Nghiệm và khoảng phân li nghiệm
Định nghĩa 1.16: Mọi giá trị x ∗ tại đó f(x ∗ ) = 0 được gọi là nghiệm của phương trình (1.1) Để giải gần đúng phương trình này, ta thực hiện các bước sau: đầu tiên, tách nghiệm bằng cách tìm một khoảng [a,b] đủ nhỏ sao cho phương trình có nghiệm duy nhất x ∗ ∈ [a, b]; sau đó, kiện toàn nghiệm bằng cách điều chỉnh để đạt được nghiệm đúng với sai số cho phép.
Định lý 1.13 khẳng định rằng nếu hàm số f(x) liên tục trên đoạn [a;b] và giá trị của nó tại hai đầu đoạn f(a) và f(b) có dấu khác nhau (f(a).f(b) ≤ 0), thì tồn tại ít nhất một nghiệm x* trong đoạn [a, b] cho phương trình (1.1) Hình ảnh minh họa cho định lý này cho thấy rằng đồ thị của hàm số liên tục là một đường cong liền mạch, và khi di chuyển từ điểm A(a,f(a)) đến điểm B(b,f(b)), đường cong sẽ cắt trục hoành tại ít nhất một điểm.
Hàm số y = f(x) = x 3 −3x−1 có f(−2) = −3, f(−1) = 1, f(0) = −1, f(2) = 1, nên phương trình x 3 −3x −1 = 0 có 3 nghiệm phân biệt trong các khoảng (-3, -1),(-1, 0),(0, 2).
Định lý 1.14 khẳng định rằng nếu f(x) là hàm liên tục và đơn điệu chặt trên đoạn [a,b], và f(a)f(b) < 0, thì phương trình f(x) = 0 sẽ có duy nhất một nghiệm trong khoảng [a,b] Hình học của định lý này cho thấy đồ thị của hàm số tăng chặt (hoặc giảm chặt) là một đường cong liên tục, luôn đi lên hoặc đi xuống Khi di chuyển từ điểm A(a,f(a)) đến điểm B(b,f(b)) ở hai phía khác nhau của trục hoành, đồ thị sẽ cắt trục hoành tại một điểm duy nhất.
Định lý 1.15 chỉ yêu cầu hàm số f(x) có tính liên tục mà không cần tính khả vi Nếu hàm f(x) có đạo hàm f’(x) và đạo hàm này không đổi dấu trên đoạn [a,b] (luôn âm hoặc luôn dương), thì khi f(a)f(b) < 0, phương trình f(x) = 0 sẽ có duy nhất một nghiệm trong khoảng [a,b].
Dựa trên ba định lý đã nêu, chúng ta có hai phương pháp để xác định khoảng cách li nghiệm của phương trình f(x) = 0, đảm bảo khoảng này chỉ chứa duy nhất một nghiệm: phương pháp hình học và phương pháp giải tích.
Phương pháp giải tích
Giả sử ta phải tìm nghiệm của phương trình f(x) = 0 trong khoảng [a, b].
Để tìm nghiệm của phương trình f(x) = 0, ta tính giá trị f(a), f(b) và các giá trị f(xi) tại một số điểm xi trong khoảng [a, b] Nếu hàm f(x) đơn điệu chặt trên khoảng (xi, xi+1) và thỏa mãn điều kiện f(xi)f(xi+1) < 0, thì (xi, xi+1) sẽ là một khoảng chứa nghiệm.
Nếu thông tin về phương trình quá ít ta dùng phương pháp chia đôi: Nguyên tắc thực hiện phương pháp chia đôi như sau:
Để tìm nghiệm của phương trình, đầu tiên xác định dấu f(a) và f(b) sao cho f(a).f(b) < 0 Sau đó, chia đôi đoạn [a,b] thành hai nửa, gọi [a1, b1] là một trong hai nửa có điều kiện f(a1).f(b1) < 0 Tiếp tục chia đôi đoạn [a1, b1] và chọn [a2, b2] là một trong các đoạn con thỏa mãn f(a2).f(b2) < 0 Quá trình này lặp lại cho đến khi tìm được nghiệm Nếu tại ai có f(ai) = 0 hoặc bi có f(bi) = 0, thì giá trị đó chính là nghiệm của phương trình.
Trường hợp f(x) là đa thức đại số bậc n: a 0 x n +a 1 x n−1 + +a n , a 0 6= 0 có không quá n nghiệm Vì vậy nếu có (n+ 1) điểm đổi dấu thì khâu tách nghiệm là xong.
Khi hàm f(x) có đủ điều kiện như có đạo hàm và dạng cụ thể, ta có thể phân tích đồ thị để xác định các khoảng đổi dấu của đạo hàm, từ đó xác định các khoảng đồng biến và nghịch biến của hàm số cũng như khoảng cách giữa các nghiệm.
Ví dụ 1.2.1 Tìm khoảng cách li nghiệm của phương trình f(x) =x 3 −6x+ 2 = 0 (1.2)
2−1< 0 Vậy có các nghiệm trong các khoảng (−∞,−√
Ví dụ 1.2.2 Tìm khoảng cách li nghiệm của phương trình f(x) = 2 x −5x−3 = 0 (1.3)Giải:
Ta có : f 0 (x) = 2 x ln 2−5 Do đó f 0 (x) = 0 khi:
2 x ln 2−5 = 0 ⇔ 2 x = 5 ln 2 ⇔ xlg 2 = lg 5 lg ln 2 x= lg 5 lg ln 2 lg 2 = 0,6990 + 0,1592
Ta lập bảng giá trị tại các điểm đặc biệt: x - 1 0 2 3 4 5 f(x) + - - - - +
Vậy khoảng cách li nghiệm của phương trình đã cho là [−1,0] và [4,5].
Phương pháp hình học
Nguyên tắc của phương pháp hình học như sau:
Nghiệm của phương trình f(x) = 0 chính là hoành độ giao điểm giữa đồ thị y = f(x) và trục hoành Nếu biến đổi phương trình f(x) = 0 thành dạng g(x) = h(x), thì nghiệm của phương trình này cũng tương đương với hoành độ giao điểm của hai đồ thị y = g(x) và y = h(x).
Ví dụ 1.2.3 Cho phương trình f(x) =x 3 −x−1 = 0 (1.5)
Hãy chứng tỏ phương trình này có nghiệm thực và tìm khoảng phân li nghiệm.
Trước hết ta xét sự biến thiên của hàm số f(x) Hàm số xác định và liên tục tại mọi x. f 0 (x) = 3x 2 −1 = 0 tại x = √ 1
Vậy đồ thị cắt trục hoành tại một điểm duy nhất đo đó phương trình (1.5) có một nghiệm thực duy nhất, ký hiệu là x ∗
Hình 1.3: Đồ thị hàm số f(x) = x 3 −x−1 = 0
Ta tính thêm: f(1) = 1 3 −1−1< 0 f(2) = 2 3 −2−1> 0Vậy khoảng [1,2] chứa nghiệm của phương trình (1.5)
Sai số tuyệt đối và sai số tương đối
Gọi a là số gần đúng của a ∗ Đại lượng ∆ := ka −a ∗ k gọi là sai số thật sự của a.
Tuy nhiên, nếu không biếta ∗ thì ta cũng không biết∆, khi đó ta sẽ tìm được
∆ a ≥0 thỏa : ka−a ∗ k ≤ ∆ a gọi là sai số tuyệt đối của a.
Ta gọi δ := kak ∆ a là sai số tương đối của a.
Sau khi tách được nghiệm, bước tiếp theo là kiện toàn nghiệm Để thực hiện điều này, chúng ta sẽ áp dụng một trong những phương pháp được mô tả trong phần tiếp theo.
Giải số phương trình đại số và siêu việt
Phương pháp lặp đơn
Nội dung phương pháp
Để giải phương trình f(x) = 0 bằng phương pháp lặp, ta thực hiện các bước sau: Đầu tiên, biến đổi phương trình f(x) = 0 thành dạng x = g(x) Sau đó, chọn x₀ ∈ (a, b) làm nghiệm gần đúng ban đầu Tiếp theo, thay x = x₀ vào vế phải của phương trình x = g(x) để tìm nghiệm gần đúng thứ nhất x₁ = g(x₀) Tiếp tục thay x₁ vào vế phải để tìm x₂ = g(x₁) và lặp lại quá trình này để tạo ra dãy nghiệm gần đúng {xₙ} Nếu dãy {xₙ} hội tụ, tức là tồn tại giới hạn n→∞lim xₙ = x*, với giả thiết g(x) liên tục trên [a, b], thì x* là nghiệm đúng của phương trình x = g(x) và cũng là nghiệm của f(x) = 0.
Tính hội tụ
Có nhiều phương trình dạng x = g(x) tương đương với phương trình f(x) = 0 Việc chọn hàm số g(x) thích hợp là rất quan trọng để đảm bảo rằng dãy {x n} được xây dựng theo phương pháp lặp sẽ hội tụ nhanh chóng tới nghiệm Theo Định lý 2.1, nếu x ∗ là nghiệm của phương trình f(x) = 0 và x = g(x) tương đương với f(x) = 0 trên đoạn [a,b], thì g(x) và g’(x) cần phải là những hàm số liên tục trên đoạn [a,b] với điều kiện |g’(x)| ≤ q < 1.
∀x ∈ [a, b] thì từ mọi vị trí ban đầu x 0 ∈ (a, b) dãy {x n } xây dựng theo phương pháp lặp xn = g(x n−1 ) sẽ hội tụ tới nghiệm duy nhất x ∗ trong khoảng (a,b) của phương trình f(x) = 0
Giả sử x 0 ∈ (a, b) bất kỳ Vì x ∗ là nghiệm của phương trình f(x) = 0 trong khoảng (a,b) nên ta có x ∗ = g(x ∗ ) Mặt khác x1 = g(x0) nên x1 − x ∗ g(x 0 )−g(x ∗ )
Theo định lý Lagrange tồn tại một điểm c ∈ (x 0 , x ∗ ) sao cho x 1 −x ∗ = g(x 0 )−g(x ∗ ) = g 0 (c)(x 0 −x ∗ )
Từ các bất đẳng thức trên ta suy ra nếu x0 ∈ (a, b) thì xn ∈ (a, b), ∀n và
Do q < 1 nên khi n → ∞ vế phải tiến tới 0 Chứng tỏ dãy {x n } hội tụ tới x ∗
Đánh giá sai số
Để đánh giá sai số của nghiệm gần đúngx n (nhận được bằng phương pháp lặp) và nghiệm chính xác x ∗ của phương trình f(x) = 0 tại bước thứ n ta xét hiệu |x n −x ∗ |
Từ chứng minh trên ta có:
1−q|x n−1 −x n | Mặt khác, áp dụng công thức gia số hữu hạn (công thức Lagrange) ta có: x 1 −x n−1 = g(x n−1 )−g(x n−2 ) =g 0 (c n )(x n−1 −x n−2 )
Trong đó cn ∈ (xn−1 −xn−2)
Từ bất dẳng thức trên, cho n= 2,3,4, ta được:
Thay vào bất đẳng thức:
Công thức trên cho thấy phương pháp lặp hội tụ càng nhanh khi q càng bé.
Để đạt được độ xấp xỉ nghiệm gần đúng với sai số không quá |x_n - x*| < ε, ta cần thực hiện N(ε) bước.
Theo công thức |x n −x n−1 | ≤ q n−1 |x 1 −x 0 |, nếu dãy {x n } hội tụ, thì với n đủ lớn, hai nghiệm gần đúng x n và x n−1 sẽ xấp xỉ bằng nhau Do đó, khi sử dụng máy tính, quá trình lặp thường được dừng lại khi các kết quả liên tiếp xn−1, xn, xn+1, đạt độ xấp xỉ yêu cầu, tức là trùng nhau đến chữ số thập phân cần thiết.
Trong định lý 2.1, chúng ta đã giả thiết sự tồn tại của nghiệm x∗ trong khoảng cách li nghiệm (a,b) của phương trình f(x) = 0 và yêu cầu g(x) phải là một hàm khả vi Tuy nhiên, dưới đây là phiên bản của định lý 2.1 (không yêu cầu trước sự tồn tại của nghiệm f(x) = 0 và chỉ cần g(x) là hàm liên tục Lipschitz) Định lý 2.2 phát biểu rằng, nếu g(x) là hàm số xác định trên khoảng [a,b] với điều kiện |g(x)−g(y)| ≤ q|x−y| cho mọi x, y ∈ [a, b] (g(x) là Lipschitz trên [a,b]) và tồn tại một số α ∈ [a, b] sao cho |g(α)−α| ≤ (1−q)(b−a), thì định lý này vẫn giữ tính đúng đắn.
Khi ấy với mỗi x 0 ∈ [a, b], dãy {x n } xây dựng theo phương pháp lặp x n = g(x n−1 ) sẽ hội tụ tới điểm bất động (tức là x ∗ = g(x ∗ )) duy nhất x ∗ trong khoảng (a,b) của ánh xạ g.
Thuật toán
Để giải phương trình f(x) = 0, trước tiên cần ấn định sai số cho phép Tiếp theo, xác định khoảnh phân li nghiệm [a,b] và tìm hàm lặp hội tụ g Chọn xấp xỉ đầu x0 và tính toán theo công thức x_n = g(x_{n-1}) với n = 1, 2, 3, cho đến khi đạt điều kiện |x_n - x_{n-1}| < sai số cho phép Cuối cùng, kết quả x* được xác định với sai số |x* - x_n| ≤ q.
1−q trong đó 0 < q > 1 b g 2 0 (x) = −2000 x 3 + 1 x 2 ;|g 0 2 (x)| ≈ 2
Hình 2.1: đồ thị nghiệm của phương trìnhx 3 + x−1000 = 0 c g 3 0 (x) = −1
Dễ dàng kiểm tra g(x) ∈ [9,10] với mọi x ∈ [9,10]
Theo nguyên lý ánh xạ co thì phương pháp lặp hội tụ.
Chọn x0 = 10, xây dựng dãy lặp theo công thức x n = 3p 3 1000−x n−1 ,∀n= 1,2,3,
Sai số của phép lặp:
Ta có bảng: n x n sai số
Ví dụ 2.1.2 Tìm nghiệm gần đúng của phương trình: x 7 −x 3 + 2.x−3 = 0 với sai số 10 −10
Hình 2.2: đồ thị nghiệm của phương trình x 7 −x 3 + 2.x−3 = 0 f(x) =x 7 −x 3 + 2.x−3 f 0 (x) = 7.x 6 −3.x 2 + 2 > 0
2) < 0 nên khoảng cách li nghiệm của phương trình là[1,3
Ta chuyển phương trình về dạng x = g(x)
Có ít nhất 2 cách chuyển: a x = g 1 (x) = x 7 −x 3 −3
Ta lần lượt xét từng trường hợp: a g 1 0 (x) = 7
Theo nguyên lý ánh xạ co thì phương pháp lặp đối với hàm co g 3 (x) là hội tụ.
4, xây dựng dãy lặp theo công thức xn = p 7 x 3 −2.x+ 3 với mọi n = 1,2,3,
Sai số của phép lặp:
Ta có bảng: n xn sai số
Ví dụ 2.1.3 Xét phương trình:
3 = 0 trên [0, 1] Giả sử chọn giá trị ban đầu x 0 = 0,5 Tìm nghiệm xấp xỉ của phương trình.
Hình 2.3: đồ thị nghiệm của phương trình 3.x−cosx− 1 3 = 0
Ta chuyển phương trình về dạng x = cosx+ 1 3
3.sinx g(x) là hàm co với hệ số co |g 0 (x)| = 1 3 sinx = q < 1
3 ∈ [0,1] nên phương pháp lặp hội tụ Ta xây dựng dãy lặp: x 0 = 0,5 x n = cosx n−1 + 1 3
3 Sai số của phép lặp được tính theo công thức:
Ta có bảng các giá trị nghiệm của phương trình trên là: n x n
Ví dụ 2.1.4 Xét phương trình: x+ lnx = 0 trên [0,4 ; 0,8] Giả sử chọn giá trị ban đầu x 0 = 0,5 Tìm nghiệm xấp xỉ của phương trình.
Hình 2.4: đồ thị của hàm sốy = x+ lnx Đặt f(x) = x+ lnx
Ta chuyển phương trình về dạng x = e −x g 0 (x) =−e −x g(x) là hàm co với hệ số co |g 0 (x)| ≈ 0,67 = q < 1
Mặt khác g(x) = e −x ∈ [0,4; 0,8] nên phương pháp lặp hội tụ Ta xây dựng dãy lặp: x 0 = 0,5 x n = e ( −x n−1 ) Sai số của phép lặp được tính theo công thức:
Ta có bảng các giá trị nghiệm của phương trình trên là: n xn
Phương pháp dây cung
Nội dung phương pháp
Ta xác định dây cung của đường cong y = f(x) trên đoạn [a,b] bằng cách sử dụng dây căng cung và coi giao điểm của dây cung với trục hoành là nghiệm xấp xỉ của phương trình f(x) = 0 Để xây dựng dãy xấp xỉ x_n, chúng ta cần xem xét hai trường hợp khác nhau.
Trường hợp 1 : f 0 (x).f 00 (x) > 0. Để xác định ta coi f(a) < 0 và f(b) > 0 , và f 0 (x) > 0 và f 00 (x) > 0
Dây cung AB là đường thẳng nối hai điểm A(a,f(a)) và B(b,f(b)) có phương trình y −f(a) f(b)−f(a) = x−a b−a
Hoành độ giao điểmx 1 của đường thẳng AB với trục hoành chính là nghiệm của phương trình trên khi cho y = 0.
Nghiệm x hiện tại nằm trong khoảng (x1, b) Khi thay khoảng (a, b) bằng khoảng (x1, b), ta có nghiệm x2 = x1 - f(x1)(b - x1) / (f(b) - f(x1)) Tiếp tục quá trình này, ta thu được dãy nghiệm xấp xỉ: xn+1 = xn - f(xn)(b - xn) / (f(b) - f(xn)).
Công thức trên vẫn đúng trong trường hợp f(a) > 0, f(b) < 0, f 0 (x) < 0, f 00 (x) < 0.
Trong trường hợp 2, khi f'(x) * f''(x) < 0, ta xác định rằng f(a) > 0 và f(b) < 0, cùng với f'(x) < 0 và f''(x) > 0 Đường thẳng nối hai điểm A(a, f(a)) và B(b, f(b)), gọi là dây cung AB, có phương trình y - f(b) = (f(b) - f(a)) / (b - a) * (x - b) Hoành độ giao điểm x1 của đường thẳng AB với trục hoành chính là nghiệm.
Hình 2.6: của phương trình trên khi cho y = 0.
Nghiệm x hiện tại nằm trong khoảng (a, x1) Thay đổi khoảng (a, b) thành (a, x1) cho phép chúng ta tính toán nghiệm xấp xỉ x2 = x1 − f(x1)(x1 − a) / (f(x1) − f(a)) Tiếp tục quá trình này, chúng ta có dãy nghiệm xấp xỉ: x(n+1) = x(n) − f(x(n))(x(n) − a) / (f(x(n)) − f(a)).
Công thức trên vẫn đúng trong trường hợp f(a) < 0, f(b) > 0, f 0 (x) > 0, f 00 (x) < 0.
Ta có thể tổng kết thành một công thức sau: xn+1 = xn − f(x n )(x n −d) f(x n )−f(d) Trong đó: d = b nếu f(b).f 00 (x) > 0, x 0 = a. d= a nếu f(a).f 00 (x) > 0, x0 = b.
Tính hội tụ
Dãy xấp xỉ liên tiếp là một dãy tăng và bị chặn trên hoặc một dãy giảm và bị chặn dưới, dẫn đến sự hội tụ Cụ thể, trong trường hợp dãy tăng, ta có a = x0 < x1 < x2 < < xn < xn+1 < < x* < b Trong trường hợp dãy giảm, ta có b = x0 > x1 > x2 > > xn > xn+1 > > x* > a Khi áp dụng công thức giới hạn x n+1 = x n − f(xn)(xn −d) / (f(x n )−f(d)), ta có thể suy ra x* = x* − f(x*) (x* −d) / (f(x*)−f(d)) Từ đó, ta kết luận rằng f(x*) = 0, tức là x* là nghiệm của phương trình f(x) = 0 trong khoảng (a,b).
Đánh giá sai số
Giả sử f 0 (x) không đổi dấu trên (a,b) và 0 < m ≤ |f 0 (x)| ≤ M < +∞ với mọi x ∈ (a, b)
Ta có công thức đánh giá sai số sau đây :
Chứng minh : Áp dụng định lý giá trị trung bình Lagrange (công thức gia số hữu hạn), ta có: f(x n )−f(x ∗ ) =f 0 (c)(x n −x ∗ ) với c ∈ (x n , x ∗ ) ⊂(a, b)
Suy ra |x n −x ∗ | ≤ |f(xn)| m Như vậy, để đánh giá độ chính xác của nghiệm nhận được bằng phương pháp dây cung, ta có thể sử dụng công thức:
Ngoài ra, nếu biết hai giá trị gần đúng liên tiếp, ta có thể đánh giá sai số như sau.
Từ trên ( chứng minh sự hội tụ của phương pháp dây cung) ta có: x n = x n−1 − f(x n−1 )(x n−1 −d) f(x n−1 )−f(d)
Vì x ∗ là nghiệm của phương trình f(x) = 0, ta có thể biểu diễn mối quan hệ giữa f(x ∗), f(x n−1) và f(d) bằng cách sử dụng định lý giá trị trung bình Lagrange Cụ thể, ta có f 0 (c 1 )(x ∗ −x n−1 ) = f(x ∗ )−f(x n−1 ) và f 0 (c2)(x n−1 −d) = f(x n−1 )−f(d), trong đó c1 nằm giữa x ∗ và x n−1, còn c2 nằm giữa x n−1 và d.
Vậy f 0 (c 1 )(x ∗ −x n + x n −x n+1 ) = f 0 (c 2 )(x n −x n−1 ) hay f 0 (c1)(x ∗ −xn) = [f 0 (c2)−f 0 (c1)](xn−x n−1 ) và
|f 0 (c 1 )| |x n −x n−1 | Theo giả thiết ta có
|x ∗ −x n | = M −m m |x n −x n−1 | Như vậy, ta có hai công thức đánh giá sai số:
Thuật toán
a Cho phương trình f(x) = 0 b Ấn định sai số cho phép c Xác định khoảnh phân li nghiệm [a,b] d Thực hiện dãy lặp x n+1 = x n − f(xn)(xn−d) f(x n )−f(d)
Công thức đánh giá sai số
|x n −x ∗ | ≤ |f(xn)| m ;|x n −x ∗ | ≤ M −m m |x n −x n−1 | trong đó f 0 (x) không đổi dấu trên (a,b) và 0< m ≤ |f 0 (x)|
Ví dụ
Ví dụ 2.2.1 Xét phương trìnhx 5 +2.x 2 −1 = 0trên đoạn [0; 1], tìm nghiệm xấp xỉ với độ chính xác đến = 10 −3
Mặt khác f 0 (x) = 5x 4 + 4x ≥ 0vf 00 (x) = 20x 3 + 4 > 0 ∀x ∈ [0,1] Vậy theo công thức (2.1) ta có: x 1 = 0−2.(−1)
Tiếp tục quá trình ta có bảng: n x n sai số
Ví dụ 2.2.2 Tìm nghiệm gần đúng của phương trình sau đây nhờ phương pháp dây cung với độ chính xác đến = 10 −3 : f(x) =x 2 −10 lnx−2 = 0 Giải:
Ta có f( 1 2 ) = 5.1815 > 0, f( 3 2 ) = −3.8047 < 0, do đó x ∗ ∈ [ 1 2 ; 3 2 ], mặt khác f 0 (x) = 2.x− 10 x > 0 trên [ 1 2 ; 3 2 ] và f 00 (x) = 2 + 10 x 2 > 0,∀x ∈ [ 1 2 ; 3 2 ].
Với x 0 = 1 2 , áp dụng dãy lặp (2.4)
Tiếp tục quá trình ta có bảng: n x n sai số
Phương pháp tiếp tuyến
Nội dung phương pháp
Giả sử (a,b) là khoảng cách li nghiệm, ta thay dây cung của đường cong y = f(x) trên đoạn [a,b] bằng tiếp tuyến tại điểm A(a,f(a)) hoặc điểm B(b,f(b)) Giao điểm của tiếp tuyến với trục hoành được coi là nghiệm xấp xỉ của phương trình f(x) = 0 Để xây dựng dãy xấp xỉ x_n, ta sẽ xét hai trường hợp khác nhau.
Trường hợp 1 : f 0 (x).f 00 (x) > 0. Để xác định ta coi f(a) < 0 và f(b) > 0 , và f 0 (x) > 0 và f 00 (x) > 0 ( xem hình )
Phương trình tiếp tuyến với đường cong y = f(x) tại điểm B(b,f(b)) có dạng: y −f(b) = f 0 (b)(x−b).
Hoành độ giao điểm x1 của tiếp tuyến với trục hoành chính là nghiệm của
Hình 2.8: phương trình trên khi cho y = 0.
Suy ra rằng 0 − f(b) = f'(b)(x − b) dẫn đến x₁ = b − f(b)/f'(b) Nghiệm x* hiện nằm trong khoảng (a, x₁) Khi thay khoảng (a, b) bằng (a, x₁), ta có nghiệm x₂ = x₁ − f(x₁)/f'(b) Tiếp tục quá trình này, ta thu được dãy nghiệm xấp xỉ: xₙ₊₁ = xₙ − f(xₙ)/f'(xₙ).
Công thức trên vẫn đúng trong trường hợp f(a) > 0, f(b) < 0, f 0 (x) 0 , và f 0 (x) > 0 và f 00 (x) < 0 ( xem hình )
Phương trình tiếp tuyến với đường cong y = f(x) tại điểm A(a,f(a)) có dạng: y −f(a) =f 0 (a)(x−a).
Hoành độ giao điểm x 1 của tiếp tuyến với trục hoành chính là nghiệm của phương trình trên khi cho y = 0.
Suy ra 0−f(a) = f'(a)(x−a) dẫn đến x₁ = a− f(a) / f'(a) Nghiệm x* hiện nằm trong khoảng (x₁, b) Thay khoảng (a,b) bằng khoảng (x₁, b), ta có nghiệm x₂ = x₁ − f(x₁) / f'(x₁) Tiếp tục quá trình này, ta thu được dãy nghiệm xấp xỉ: xₙ₊₁ = xₙ − f(xₙ) / f'(xₙ).
Công thức trên vẫn đúng trong trường hợp f(a) > 0, f(b) < 0, f 0 (x) 0 , ∀x ∈ [−10;−11].
Vì f(−11) = 3453 cùng dấu với f 00 (x) nên chọn x 0 = −11 thực hiện dãy lặp (2.5) Ta có bảng giá trị xấp xỉ nghiệm: n xn
Giải số hệ phương trình phi tuyến
Hệ n phương trình phi tuyến, với n ẩn số, có dạng tổng quát:
Ta viết hệ phương trình trên đây dưới dạng: f(x) = 0 (3.2)
Trong chương này ta xét việc giải hệ (3.2), tức là tìm vectơx ∗ = (x 1 , x 2 , , x n ) trong không gian n chiều R n , để cho f(x ∗ ) = 0.
Không gian R n , với phần tử tổng quát x = (x 1 , x 2 , , x n ) được metric hóa bằng cách định chuẩn cho x Những chuẩn thường dùng là
Kí hiệu ||x|| sẽ chỉ một chuẩn nào đó của x.
Metric được xác định là d(x, y) = ||x−y|| Giả sử g(x) là vectơ hàm g(x) = (g1(x), g2(x), , gn(x)), trong đó g1(x) (i = 1,2, , n) là hàm khả vi đối với các biến Toán tử g (g1, g2, , gn) biểu diễn một ánh xạ từ R^n lên R^n Ánh xạ này sẽ co trong R^n hoặc trong một tập hợp đóng S ⊂ R^n nếu với mọi x, y thuộc R^n hoặc S thì
Theo định lý số gia giới nội ta có: g i (x)−g i (y) n
Giá trị trung gian giữa x và y được ký hiệu là x Nếu định nghĩa J(x) là ma trận Jacobi của vectơ hàm g(x), thì J(x) là một ma trận vuông cấp n, trong đó phần tử thứ ij được tính bằng đạo hàm ∂x/∂g_i_j.
||g(x)−g(y)|| ≤ ||J(x)||.||x−y|| (3.8) Ở đây chuẩn của ma trận được xác định phù hợp với chuẩn của vectơ trong R n Ta thấy g(x) là ánh xạ co nếu x ∈ R n hoặc S thì
Phương pháp lặp đơn
Nội dung phương pháp
Giả sử ta đưa được (3.1) về hệ phương trình tương đương:
Hay dưới dạng vectơ: x = g(x) (3.11) trong đó, g(x) là hàm n biến xác định trong miềm đóng S ⊂ R n và có các tính chất sau:
• Trên S, ma trận Jacobi J(x) của g(x): J(x)
Khi đó thuật toán thực hiện như sau :
Chọn xấp xỉ ban đầu x 0 ∈ S tùy ý, dãy nghiệm xấp xỉ được tính bởi công thức: x n+1 = g(x n ) (3.12) hội tụ tới nghiệm duy nhất trong S.
Sự hội tụ và đánh giá sai số
Với mọi x thuộc R n , chuẩn của nó ký hiệu là ||x|| và xác định bởi
||x|| = max{|x i |/i ≤n} Ước lượng sai số tiên nghiệm :
1−q||x 1 −x 0 || (3.13) Trong thực hành ta dùng ước lượng
Ví dụ
Ví dụ 3.1.1 Giải hệ phương trình sau bằng phương pháp lặp đơn:
Ta biến đổi hệ (3.15) về hệ:
Trong lân cận của điểm (1,1) chúng ta có ||J(x, y)|| < 1 Do đó g(x, y) là ánh xạ co Chọn X 0 = (1,1), lập dãy lặp :
2x n +y n y n+1 = √ 3 x n + 2y n Lập trình bằng Maple ta có bảng kết quả tính như sau: n xn yn
Ví dụ 3.1.2 Giải hệ phương trình sau bằng phương pháp lặp đơn:
3 < 1 Do đó g(x, y) là ánh xạ co Chọn X 0 = (1
5sinx n + 1 3 Lập trình bằng Maple ta có bảng kết quả tính như sau: n xn yn
Ví dụ 3.1.3 Giải hệ phương trình sau bằng phương pháp lặp đơn:
Ta biến đổi hệ (3.16) về hệ:
9 < 1 Do đó g(x, y) là ánh xạ co Chọn X 0 = (1
6 + 1 3 Lập trình bằng Maple ta có bảng kết quả tính như sau: n xn yn
Ví dụ 3.1.4 Giải hệ phương trình sau bằng phương pháp lặp đơn:
3 < 1 Do đó g(x, y) là ánh xạ co Chọn X 0 = (1
3arcsinx n + 1 3 Lập trình bằng Maple ta có bảng kết quả tính như sau: n x n y n
Ví dụ 3.1.5 Giải hệ phương trình sau bằng phương pháp lặp đơn:
Ta biến đổi hệ (3.17) về hệ:
6 < 1 Do đó g(x, y) là ánh xạ co Chọn X 0 = (1;3
Lập trình bằng Maple ta có bảng kết quả tính như sau: n x n y n z n
Phương pháp Newton
Nội dung phương pháp
Phương pháp Newton có thể được tổng quát hóa để giải hệ phương trình phi tuyến dạng: (3.1) hay viết gọn dưới dạng: (3.2) với x = (x 1 , x 2 , , x n ), f
chọn giá trị ban đầu x (0) tùy ý thuộc lân cận của nghiệm Ký hiệu x (k) là bộ nghiệm gần đúng ở bước thứ k.
Ta đưa (3.18) về giải hệ phương trình tuyến tính
Ví dụ
Ví dụ 3.2.1 Cho hệ phương trình:
Biết nghiệm đúng của hệ phương trình z ∗ = (2; 3) Ta sẽ kiểm tra các xấp xỉ và tốc độ hội tụ của nó, với xấp xỉ ban đầu z 0 = (1; 4).
Giải: Từ công thức (3.21), ta có:
Tiếp tục quá trình xấp xỉ ta có: k x k y k
Ví dụ 3.2.2 Cho hệ phương trình:
Biết nghiệm đúng của hệ phương trình z ∗ = (1; 2) Ta sẽ kiểm tra các xấp xỉ và tốc độ hội tụ của nó, với xấp xỉ ban đầu z 0 = (1; 1).
Giải: Từ công thức (3.21), ta có:
⇒ z 2 = (1,534003008; 2,691796916) Tiếp tục quá trình xấp xỉ ta có: k x k y k
Ví dụ 3.2.3 Cho hệ phương trình:
−y 2 + 3.z.x+y + 0.2 = 0 z 2 + 2.x.y +z −0.3 = 0Tìm các nghiệm xấp xỉ của hệ phương trình với xấp xỉ ban đầuz 0 = (0; 0; 0).
Giải: Từ công thức (3.21), ta có:
(2xk + 1)(h1)k −2zk(h2)k−2yk(h3)k = −x 2 k + 2ykzk −xk + 0,1 3z k (h 1 ) k + (1−2y k )(h 2 ) k + 3x k (h 3 ) k = y 2 −3.z.x −y −0,2
Tiếp tục quá trình xấp xỉ ta có: k x k y k x k
Ví dụ 3.2.4 Cho hệ phương trình :
Bằng phương pháp Newton tìm các nghiệm xấp xỉ của phương trình biết nghiệm xấp xỉ ban đầu là: z 0 = ( π 2 ; 0)
Giải: Từ công thức (3.21), ta có:
cosx k (h 1 ) k −(h 2 ) k = −sinx k +y k + 2 (h1)k + sinxk(h2)k = −x k + cosyk + 1 Nên
⇒ z2 = (1.602998808;−0.9254917832)Tiếp tục quá trình xấp xỉ ta có: k x k y k
Ví dụ 3.2.5 Cho hệ phương trình:
Bằng phương pháp Newton tìm các nghiệm xấp xỉ của phương trình biết nghiệm xấp xỉ ban đầu là: z0 = ( 1 2 ; 1 2 )
Giải: Từ công thức (3.21), ta có:
Tiếp tục quá trình xấp xỉ ta có: k xk yk
Ví dụ 3.2.6 Cho hệ phương trình:
Bằng phương pháp Newton tìm các nghiệm xấp xỉ của phương trình biết nghiệm xấp xỉ ban đầu là: z0 = (1; 1 2 )
Giải: Từ công thức (3.21), ta có:
Tiếp tục quá trình xấp xỉ ta có: k x k y k
Phương pháp số giải phương trình đại số và siêu việt
Chương trình giải trên Maple:
Code: Phương pháp lặp đơn
> restart; pt:=x^3 + x - 1000: print(‘Giải phương trình sau bằng phương pháp lặp:‘); pt=0; plot(pt,x = 9.0 10.0, gridlines=true);
# Đồ thị minh họa x[0]:=9.0: epsilon:=0.00000001:
The equation is rewritten as F = unapply((1000 - x)^(1/3), x) A plot of F(x) is displayed alongside the line y = x for the range x = 9.0 to 10.0 The maximum value of the derivative of F(t) within this interval is calculated and printed An iterative method is employed to approximate the root, continuing until the difference between consecutive iterations is less than a specified epsilon The number of iterations and the approximate root are reported, along with the allowable error, followed by a verification step with the original equation.
Eval(pt,x=x[i])=evalf(subs(x=x[i],pt)); ds:=[seq([x[k],0],k=0 i)]: pl:=[seq(plots[pointplot](ds[1 k]),k=1 nops(ds))]: plots[display]([seq(plots[display](plot(pt,x=9.0 10.0),pl[k]), k=1 nops(pl))],insequence=true);
> restart; pt:=x^7 - x^3 +2*x - 3: print(‘Giải phương trình sau bằng phương pháp lặp:‘); pt=0; plot(pt,x=1.0 1.5 ,gridlines=true);
# Đồ thị minh họa x[0]:=1.25: epsilon:=0.000000001:
The article demonstrates the process of rewriting a mathematical equation using the function F, defined as the seventh root of the polynomial (x^3 - 2*x + 3) It starts by plotting the function F(x) alongside the line y=x over the interval from 1.0 to 1.5, providing a visual representation of the equation The article then calculates the maximum of the derivative of F within the same interval, indicating the steepest point of the curve A loop is employed to iteratively approximate the root of the equation until a specified error threshold, epsilon, is met The number of iterations required to achieve this approximation is reported, along with the approximate root and the allowable error Finally, the article suggests verifying the result by substituting it back into the original equation.
Eval(pt,x=x[i])=evalf(subs(x=x[i],pt)); ds:=[seq([x[k],0],k=0 i)]: pl:=[seq(plots[pointplot](ds[1 k]),k=1 nops(ds))]: plots[display]([seq(plots[display](plot(pt,x=1.0 1.5),pl[k]), k=1 nops(pl))],insequence=true);
> restart; pt:=3*x - cos(x)-1/3: print(‘Giải phương trình sau bằng phương pháp lặp:‘); pt=0; plot(pt,x=0.0 1.0 ,gridlines=true);
# Đồ thị minh họa x[0]:=0.5: epsilon:=0.000000001:
The equation is rewritten as F(x) = (cos(x) + 1/3) / 3, and we start with pt = 0 The function F(x) is plotted over the interval [0.0, 1.0], alongside the line y = x for comparison The maximum value of the derivative |F'(x)| within the interval is calculated and displayed An iterative method is employed to approximate the root, continuing until the difference between successive iterations is less than a specified epsilon The number of iterations required is printed, along with the approximate solution and the allowed error Finally, the original equation is re-evaluated with the obtained approximation.
Eval((3*x - cos(x)-1/3),x=x[i])=evalf(subs(x=x[i],3*x - cos(x)-1/3)); ds:=[seq([x[k],0],k=0 i)]: pl:=[seq(plots[pointplot](ds[1 k]),k=1 nops(ds))]: plots[display]([seq(plots[display](plot(pt,x=0.0 1.0),pl[k]), k=1 nops(pl))],insequence=true);
Code: Phương pháp dây cung
F:=unapply(pt,x): print(‘Giải phương trình sau: ‘);pt=0; plots[display](plot(pt,x=a b,gridlines=true,color=red, legend="đồ thị hàm số y = x^2 - 10*ln(x) - 2 "),plot([[a,F(a)],[b,F(b)]],color=blue));
# Đồ thị minh họa x[0]:=a: epsilon:=0.0001:
The algorithm iteratively refines the approximation of a root by applying the function FL to the previous estimate It continues until the difference between consecutive estimates is less than a specified epsilon The process concludes by printing the number of iterations, the approximate root found, and the error margin, followed by a prompt to verify the result in the original equation.
The code evaluates the function F at specific points and generates plots for visual representation It iterates from 0 to i-1, creating blue line plots between each point and a boundary value, while also plotting vertical lines at each x-coordinate After constructing individual plots, it combines them into a single display, ensuring a cohesive visual output The final result showcases the function's behavior over the specified interval, enhancing the understanding of its characteristics.
F:=unapply(pt,x): print(‘Giải phương trình sau: ‘);pt=0; plots[display](plot(pt,x=a b,gridlines=true,color=red, legend="đồ thị hàm số y = x^5+2*x^2-1"),plot([[a,F(a)],[b,F(b)]],color=blue));
# Đồ thị minh họa x[0]:=a: epsilon:=0.0001:
The iterative process begins by defining a function \( FL \) that applies a specific transformation to \( t \) An initial value \( x[1] \) is computed using this function A loop continues to evaluate the function until the absolute difference between consecutive values is less than a defined epsilon threshold The total number of iterations is displayed, along with the approximate solution found and the associated error Finally, it suggests re-evaluating the original equation.
The code snippet evaluates the function F at specific points x[i], generating plots for each segment of the function from x[0] to x[i] For each index k from 0 to i-1, it creates a blue plot connecting points on the function and vertical lines to the x-axis After constructing individual plots, it combines them into a sequence and displays the overall graph, ensuring a cohesive visual representation of the function's behavior within the specified range The final output showcases the combined plots, enhancing clarity and understanding of the function's dynamics.
Code: Phương pháp tiếp tuyến
To solve the equation using Newton's method, we start with the function defined as \( pt = x^2 - 10 \ln(x) - 2 \) and set \( pt = 0 \) We then plot the function for \( x \) values between 0.5 and 1.0, ensuring gridlines are visible The function \( f \) is created by unapplying \( pt \), and its derivative \( fd \) is calculated We set a precision threshold of \( \epsilon = 10^{-8} \) and initialize our first guess \( x[0] = 0.5 \) The iterative process begins by calculating \( x[1] \) and continues until the absolute difference between successive approximations is less than \( \epsilon \) This method is known as the tangent method.
> restart; restart; pt:=x^4 - 3*x^2+75*x - 10000: print(‘Giải phương trình sau bằng phương pháp Newton:‘); pt=0; plot(pt,x=-11.0 -10.0,gridlines=true); f:=unapply(pt,x); fd:=unapply(diff(pt,x),x); epsilon:^(-8); x[0]:=-11.0; x[1]:=x[0]-f(x[0])/fd(x[0]); i:=1; while abs(x[i]-x[i-1])>epsilon do i:=i+1; x[i]:=x[i-1]-f(x[i-1])/fd(x[i-1]); end;
Phương pháp số giải hệ phương trình phi tuyến
Chương trình giải trên Maple:
Code: Phương pháp lặp đơn
> restart; with(LinearAlgebra): he:=[x^3 -2*x - y = 0,x+2*y-y^3 = 0]: print(‘Giải hệ phương trình sau bằng phương pháp lặp đơn:‘); seq(print(he[i]),i=1 2);
J:=VectorCalculus[Jacobian](F,X); var[0]:=Vector([1.0,1.0]); var[1]:=subs({x=var[0][1],y=var[0][2]},F); epsilon:=0.00001; i:=1: t:=var[i]-var[i-1]; while max(abs(t[1]),abs(t[2]))>epsilon do i:=i+1; var[i]:=subs({x=var[i-1][1],y=var[i-1][2]},F); t:=var[i]-var[i-1]: end;
> restart; with(LinearAlgebra): he:=[x-1/3 * cos(y) - 1/2= 0,y- 1/5 * sin(x) - 1/3= 0]: print(‘Giải hệ phương trình sau bằng phương pháp lặp đơn:‘); seq(print(he[i]),i=1 2);
J:=VectorCalculus[Jacobian](F,X); var[0]:=Vector([0.16,0.1]); var[1]:=subs({x=var[0][1],y=var[0][2]},F); epsilon:=0.000001; i:=1: t:=var[i]-var[i-1]; while max(abs(t[1]),abs(t[2]))>epsilon do i:=i+1; var[i]:=subs({x=var[i-1][1],y=var[i-1][2]},F); t:=var[i]-var[i-1]: end;
> restart; with(LinearAlgebra): he:=[x^3 + y^3 - 6*x + 3 = 0,x^2 - y^3 - 6*y + 2 = 0]: print(‘Giải hệ phương trình sau bằng phương pháp lặp đơn:‘); seq(print(he[i]),i=1 2);
J:=VectorCalculus[Jacobian](F,X); var[0]:=Vector([0.5,0.5]); var[1]:=subs({x=var[0][1],y=var[0][2]},F); epsilon:=0.00001; i:=1: t:=var[i]-var[i-1]; while max(abs(t[1]),abs(t[2]))>epsilon do i:=i+1; var[i]:=subs({x=var[i-1][1],y=var[i-1][2]},F); t:=var[i]-var[i-1]: end;
JJ(i):=subs({seq(X[k]=var[i-1][k],k=1 sb)},J); b(i):=subs({seq(X[k]=var[i-1][k],k=1 sb)},-F); h(i):=MatrixInverse(JJ(i)).b(i); var[i]:=var[i-1]+convert(h(i),list); end;
JJ(i):=subs({seq(X[k]=var[i-1][k],k=1 sb)},J); b(i):=subs({seq(X[k]=var[i-1][k],k=1 sb)},-F); h(i):=MatrixInverse(JJ(i)).b(i); var[i]:=var[i-1]+convert(h(i),list); end;
JJ(i):=subs({seq(X[k]=var[i-1][k],k=1 sb)},J); b(i):=subs({seq(X[k]=var[i-1][k],k=1 sb)},-F); h(i):=MatrixInverse(JJ(i)).b(i); var[i]:=var[i-1]+convert(h(i),list); end;
Code của các ví dụ còn lại của từng phương pháp tương tự những code đã được trình bày ở trên.
Trong khóa luận này em đã hệ thống lại một số khái niệm cơ bản trong phương pháp số giải phương trình và hệ phương trình phi tuyến Nghiên cứu các phương pháp giải số phương trình và hệ phương trình phi tuyến, đưa ra nghiệm gần đúng có sai số khá nhỏ so với nghiệm chính xác Đặc biệt có sử dụng Phần mềm Maple làm công cụ giải nhanh và chính xác những bài toán giải phương trình và hệ phương trình phi tuyến phức tạp hoặc không thể tìm nghiệm dưới dạng giải tích, minh họa bằng đồ thị một cách trực quan và sinh động.
Trong quá trình nghiên cứu, tôi nhận thấy rằng các phương pháp số giải phương trình và hệ phương trình phi tuyến mang lại nghiệm xấp xỉ gần đúng với sai số không đáng kể Tốc độ hội tụ của các phương pháp này phụ thuộc vào việc chọn nghiệm xấp xỉ ban đầu \( x_0 \) phải gần với nghiệm đúng.
[1] Phạm Kỳ Anh, Giải tích số, Nhà xuất bản đại học quốc gia Hà Nội, 2000.
[2] A.Granas - J.Dugundji, Fixed point theory, Springer, 2003.
[3] Trần Quốc Chiến, Giáo trình phần mền toán học (Maple), Tài liệu lưu hành nội bộ, Đại học Đà Nẵng, 2008.
[4] Nguyễn Minh Chương(Chủ biên), Nguyễn Văn Khải, Khuất Văn Ninh, Nguyễn Văn Tuấn, Nguyễn Tường, Giải tích số, NXB Giáo Dục, 2009.
[5] Tạ Văn Đĩnh, Phương pháp tính, NXB Giáo Dục, 2001.
[6] Nguyễn Hữu Điển, Latex với gói lệnh và phần mềm công cụ , NXB ĐHQG Hà Nội, 2008.
[7] Phạm Văn Hạp, Lê Đình Thịnh, Phương pháp tính và các thuật toán, NXB Giáo Dục, 2000.
[8] Phạm Văn Hạp, Các phương pháp giải gần đúng, NXB Đại học và Trung học chuyên nghiệp, 1981.
[9] Hoàng Xuân Huấn, Giáo trình phương pháp tính, NXB ĐHQG HàNội, 2004.