Định nghĩa 0.1.1: Giả sử A là số đúng, a là số gần đúng của A trong trường hợp A là số vô tỷ như số e hay số π hoặc số hữu tỷ với phần thập phân vô hạn tuần hoàn như số 1 Nếu A không ph
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HCM
KHOA KHOA HỌC CƠ BẢN
-
BÀI GIẢNG PHƯƠNG PHÁP TÍNH
HUỲNH HỮU DINH
Email: hhdinh19@gmail.com
TP HỒ CHÍ MINH 2/2012
Trang 2Chương 0 SỐ XẤP XỈ, SAI SỐ
0.1 Số gần đúng và sai số
Trong thực tế, khi muốn biết giá trị đại lượng nào đó người ta tiến hành đo đạc, tính toán bằng một số phương pháp nhất định Nhiều khi chúng ta không thể nhận được chính xác giá trị thật của đại lượng cần biết mà chỉ nhận được số gần đúng (hoặc xấp xỉ) với giá trị thật Việc đánh giá độ chính xác của giá trị xấp xỉ và sai số của phép đo hoặc phương pháp tính toán là hết sức cần thiết Điều đó dẫn tới việc đưa ra khái niệm về số xấp xỉ và sai số nhận được Nội dung dưới đây sẽ trình bày những khái niệm này
Định nghĩa 0.1.1: Giả sử A là số đúng, a là số gần đúng của A (trong trường hợp A là số
vô tỷ như số e hay số π hoặc số hữu tỷ với phần thập phân vô hạn tuần hoàn như số 1
Nếu A không phải là số có hữu hạn chữ số thì lẽ đương nhiên ta cần a là số có hữu hạn chữ
số và khi đó Δ sẽ có cùng dạng với A Chẳng hạn, lấy A=π;a =3,14 thì Δ = 0, 0015926
Định nghĩa 0.1.2: Sai số tuyệt đối giới hạn của số xấp xỉ a là số không nhỏ hơn sai số tuyệt
đối của a
Kí hiệu sai số tuyệt đối giới hạn là Δ thì: a Δ ≥ Δ a
Theo định nghĩa này thì sai số tuyệt đối giới hạn không là đơn trị
Từ định nghĩa ta suy ra a− Δ ≤a A≤ + Δ a a
Trong thực tế, người ta thường chọn sai số tuyệt đối giới hạn Δ là số nhỏ nhất có thể trong a
các sai số tuyệt đối giới hạn, và qui ước viết: A= ± Δ a a
Định nghĩa 0.1.3: Sai số tương đối giới hạn của số xấp xỉ a , kí hiệu là δ , là số không nhỏ a hơn sai số tương đối giới hạn của a
Có nghĩa là δ a ≥δ a hay a
A
Từ đây δ a A ≥ Δ
Theo định nghĩa sai số tuyệt đối giới hạn, ta có thể chọn Δ =a A δ a
Nhưng trong thực tế ta không biết được chính xác giá trị A và vì a là số xấp xỉ của A nên
người ta thường dùng công thức: Δ =a a δ a
Từ đây ta có công thức: A=a(1±δ a)
Trang 3Δ = < nên a có năm chữ số tin cậy với số cuối cùng đã được làm tròn
Với số A và a nói trong mục 0.2, ta sẽ thấy
1
n m
a s δ
m
s δ
−
⎛ ⎞⎟
⎜
≤ ⎜ ⎟⎝ ⎠⎟ (1) Theo công thức này thì số a =2, 7183 có sai số tương đối giới hạn so với số e là:
Ví dụ 0.1: Phải tính 329 với bao nhiêu chữ số thập phân để có δ = a 0,1% Ta thấy phần
nguyên của số này là 3 Do vậy áp dụng (1) ta được
Ta chọn n = , nghĩa là phải lấy bốn chữ số thập phân, do đó 4 3 29 = 3, 072
Đôi khi người ta nói số a nào đó có q chữ số đáng tin cậy sau dấu phẩy, hàm ý rằng q chữ số phần thập phân là đáng tin cậy Khi đó đương nhiên tất cả các chữ số phần nguyên của số a cũng là tin cây Giả sử số a cũng có p chữ số phần nguyên Khi đó ta có: m = − và n p 1 = + Khi đó p q
Trang 4Xét tổng u =x1 +x2 + + x n với x là các số gần đúng với sai số tương ứng là i Δ Hiển x i
Ta có qui tắc cộng các số có sai số tuyệt đối khác nhau như sau:
Giữ nguyên các số hạng có số chữ số sau dấu phẩy là ít nhất;
Các số hạng khác làm tròn đến một hoặc hai số sau dấu phẩy nhiều hơn các số hạng đã chọn ở bước trên
Cộng tất cả các số còn lại với nhau rồi làm tròn tổng, bớt đi một chữ số thập phân Liên quan đến δ , trong trường hợp u x cùng dấu thì có thể thấy: i
Ta thấy rằng, khi Δ và x1 Δ cùng dấu và x2 x1 ≈x2 thì δ u >>δ x1,δ x2 do x1−x2 << 1
Hơn thế nữa, trên các máy tính có độ chính xác không đủ cao, u sẽ được đặt bằng không Trong
trường hợp như thế ta cần tránh phép trừ trực tiếp mà thay nó bằng một phép tính tương đương Chẳng hạn, ta muốn tính hiệu số u =10− 99, 99 = 0, 0005000125 ta phải lấy căn của 99, 99 tới 10 chữ số thập phân
0.4.3 Sai số của phép nhân
Xét tích số u =x x1 2 x n với x ≠ Giả sử i 0 x i > 0,i =1,n Khi đó ta có
Trang 5= Giả thiết rằng hai số đều dương Khi đó ta có lnu = lnx1−lnx2
Lí luận như trên, ta nhận được
u x x
δ = δ +δ
0.4.5 Sai số trong trường hợp tổng quát
Giả sử ta có mối quan hệ u = f x x( 1, ,2 x n), trong đó các sai số tuyệt đối Δ đã cho Ta cần x i đánh giá sai số tuyệt đối uΔ qua các Δ Coi các x i Δ là các đại lượng nhỏ, ta có thể dùng công x i
cm
V δ
Δ
0.4.6 Bài toán xác định sai số ngược
Lại xét mối quan hệ tổng quát u = f x x( 1, ,2 x n) Giả sử cho trước Δ Ta cần xác định các u
Δ để đảm bảo có được Δ như đã cho
Trang 6Ta có một biểu thức (3) lấy làm phương trình để xác định các
i
u n x
Ví dụ 0.3: Một hình trụ có bán kính đáy r =2(m), chiều cao h = 3(m) Cần xác định sai số
của r và h để sai số tuyệt đối giới hạn của thể tích là 0,1m 3
V
V r
Δ
∂Tương tự, ta tính được Δ =h 0, 0027(m);Δ =π 0, 0028(m)
Trang 7Chương 1 PHƯƠNG TRÌNH ĐẠI SỐ VÀ SIÊU VIỆT
f x là một biểu thức rất phức tạp, cho nên vấn đề giải đúng phương trình (*) cũng không thật sự
cần thiết Do đó, chúng ta cần quan tâm đến những phương pháp giải gần đúng, nhất là những phương pháp có thể dùng máy tính hỗ trợ
Để giải gần đúng phương trình (*), ta tiến hành các bước sau:
Thứ nhất là tách nghiệm, nghĩa là tìm một khoảng (a b đủ nhỏ sao cho phương trình (*) có ; )nghiệm duy nhất x*∈(a b; )
Thứ hai là chính xác hóa nghiệm gần đúng đến độ chính xác cần thiết
Cơ sở để tách nghiệm là những kết quả mà bạn có thể bắt gặp ở bất kì cuốn sách Giải tích nào
Định lí 1.1.1 Giả sử f x liên tục trên [( ) a b và ; ] f a f b < Khi đó phương trình ( ) ( ) 0
( ) 0
f x = tồn tại ít nhất một nghiệm trong khoảng (a b ; )
Định lí 1.1.2 Nếu f x liên tục trên [( ) a b và ; ] f a f b < , hơn nữa, hàm số ( ) ( ) 0 f x có đạo ( )
hàm f x′( ) liên tục trên đoạn [a b và ; ] f x′( ) không đổi dấu trên [a b thì nghiệm nói trên là duy ; ]
nhất
Hình 1.1.1 Hình 1.1.2
Trang 8Các hình 1.1.1 và 1.1.2 cho ta một cách nhìn trực giác về tính đúng đắn của định lí 1.1.2
Bước tách (li) nghiệm thường được tiến hành nhờ phương pháp chia đôi hoặc phương pháp đồ thị
Nguyên tắc thực hiện phương pháp chia đôi như sau:
Xác định f a f b < , sau đó chia đôi đoạn [( ) ( ) 0 a b và gọi ; ] [a b là một trong hai nữa ở trên 1; 1]sao cho f a f b <( ) ( )1 1 0 Lại chia đôi đoạn [a b1; 1] và gọi [a b2; 2] là một trong hai đoạn con mà
Từ hình vẽ ta nhận thấy phương trình trên có một
khoảng li nghiệm là khoảng (2, 2;2, 4 )
Ví dụ 1.1.2: Xét phương trình x2 = cos(π x) Ta vẽ
đồ thị của hai hàm số y =x2 và y =cos(π x) Từ hình vẽ
ta nhận thấy phương trình x2 =cos(π x) có hai khoảng li
Trang 9Ví dụ 1.1.3: Tìm các khoảng li nghiệm của phương trình arctan2x+ + −2 x x2 = bằng 0phương pháp đồ thị
Giải
Phương trình đã cho tương đương với arctan2x+ =2 x2− x
Ta vẽ đồ thị hai hàm số y = arctan2x + (đường màu đỏ) và 2 y =x2 − (đường màu x
xanh) Từ hình vẽ ta tìm được hai khoảng li nghiệm của phương trình là (− −1; 0, 5) và (1, 5;2 )
Hình 1.1.5
Sau khi đã tách được nghiệm thì công việc tiếp theo là chính xác hóa nghiệm đến độ chính xác cần thiết Để thực hiện bước này, ta có thể sử dụng một trong các phương pháp sau: phương pháp lặp, phương pháp dây cung, phương pháp tiếp tuyến, phương pháp Muller,…Tất cả phương pháp được nêu chúng ta đều có thể lập trình bằng ngôn ngữ Maple
Trang 10Bài 2 PHƯƠNG PHÁP LẶP ĐƠN
Tiếp theo, ta tìm hiểu một số điều kiện để dãy { }x n n= ∞0, hội tụ
Định lí 1.2.1 Giả sử hàm số y =ϕ( )x khả vi liên tục trên [ a b và với mọi ; ] x ∈[a b; ] thì
Nhận xét 1.2.1: Phương pháp lặp đơn có tính chất tự điều chỉnh, nghĩa là nếu tại một vài bước
tính toán trung gian ta mắc phải sai số thì dãy { }x n n= ∞0, vẫn hội tụ đến *x , tất nhiên chỉ một vài
bước sai và sai số mắc phải không vượt ra ngoài đoạn
y=x
( )
y=ϕ x
Trang 11Ta mô phỏng nhận xét này bằng hình vẽ như sau
Hình 1.2.2
Nhận xét 1.2.2: Một tính chất đặc biệt của phương pháp lặp là có thể đánh giá ngay từ đầu số
bước lặp mà ta cần phải làm để có được độ chính xác theo yêu cầu Thật vậy, từ biểu thức
*1
n n
kí hiệu ⎡ ⎤α chỉ phần nguyên trên của số α Ví dụ 2, 6⎡⎢ ⎤⎥ =3; 4,1⎡⎢ ⎤⎥ =5; 2,1⎡⎢− ⎤⎥ = −2
Nhận xét 1.2.3: Trên đây ta nhắc đến việc chuyển từ (*) sang dạng tương đương (**) sao cho
điều kiện ϕ′( )x ≤ < ∀ ∈L 1, x [a b; ] được thỏa mãn Về vấn đề này có mấy nhận xét sau:
Giả sử 0<m ≤ f x′( )≤M (với trường hợp M ≤ f x′( )≤m < ta làm tương tự) 0 Ta có thể chuyển từ (*) sang dạng tương đương sau:
Trang 12Nhận xét 1.2.4: Nếu tồn tại x ∈(a b; ) để ϕ′( )x ≥ thì dãy 1 { }x n n= ∞0, được xác định bởi hệ thức x n+1 =ϕ( )x n ,∀ ≥ sẽ phân kì tại ít nhất một điểm n 0 x0 ∈[a b; ]
Tóm tắt thuật toán tìm nghiệm gần đúng phương trình (1) với khoảng li nghiệm (a b ; )
bằng phương pháp lặp
Bước 1: Biến đổi phương trình (1) về dạng x =ϕ( )x với ϕ′( )x ≤ < với mọi L 1 x ∈[a b; ]
Bước 2: Xây dựng dãy { }x n n= ∞0, thông qua các hệ thức
[x0 ∈ a b; ] (thông thường ta lấy x là trung điểm của đoạn [0 a b ) ; ]
Trang 13Từ đây ta tính được
1 2 3 4
12, 60269012.61026812.61082412.610865
x x x x
19 20
0, 705667
0, 675065
0, 619079
0, 619072
x x
x x
=
=
=
=Đánh giá sai số của nghiệm gần đúng x Ta có 20
Trang 14Ta có f x′( )=2 cos 2x−4 sin 2x x−2(x− Ta sẽ tìm giá trị lớn nhất và nhỏ nhất của hàm 2)
số y = f x′( ) Có nhiều phương pháp để tìm các giá trị này, ở đây ta dùng phương pháp đồ thị với sự
3, 717656
3, 721257
3, 721950
x x x
Để tìm max và min của hàm số f x′( ) ta còn thêm một phương pháp nữa là đánh giá tính đơn
điệu của hàm số y = f x′( ) Thật vậy, ta có
Trang 15Vậy hàm số y = f x′( ) là hàm đơn điệu giảm Bước tiếp theo ta làm giống như cách trên
Nhận xét 1.2.5: Qua ba ví dụ trên, ta nhận thấy tốc độ hội tụ của phương pháp lặp phụ thuộc
vào giá trị của hệ số L Nếu hệ số L càng gần 0 thì phương pháp lặp hội tụ càng nhanh Ngược lại, nếu hệ số L càng gần 1 thì phương pháp lặp hội tụ càng chậm
Bây giờ chúng ta sẽ xét một số khái niệm liên quan đến tốc độ hội tụ của phương pháp lặp Trước hết, ta nhắc lại nội dung chính của phương pháp lặp là từ phương trình f x = với ( ) 0 (a b ; )
khoảng li nghiệm, ta biến đổi về dạng x =ϕ( )x với
C (lớp các hàm có đạo hàm cấp 2 liên tục trong đoạn [a b ) và ; ] ϕ′′( )x* ≠ 0
Ta xây dựng dãy { }ε n n= ∞0, như sau ε n =x n −x*,∀ ≥ Áp dụng công thức khai triển n 0Taylor ta có
2
n n
Trang 16Tiếp theo, ta chứng tỏ chuỗi ( )0 ( )1 ( ) ( )
2 1
1 2 2
D A
Logarithm của sai số là một xấp xỉ tuyến tính theo n Điều này có nghĩa là số chữ số không
sau dấu phẩy thập phân của sai số tăng tuyến tính theo số lần lặp Dạng hội tụ như vậy được gọi là
hội tụ tuyến tính hoặc hội tụ cấp một
Trường hợp 2: A = Khi đó 0 ε n+1 =D( )ε n , ta suy ra 1
2
lim n n n
c
ε ε
Logarithm của sai số tăng gấp đôi sau mỗi lần lặp và do đó số chữ số không sau dấu phẩy thập
phân của sai số nhân đôi sau mỗi bước lặp Sự hội tụ như vậy được gọi là hội tụ bình phương hoặc
Trang 17Do đó, x n+2−2x n+1+x n ≠ 0,∀ ≥ hay n 0 y luôn có nghĩa n
Bước 2: Ta chứng minh lim n *
n y x
*
n n n
1
1 2
Kết quả của bước 2 cho ta một kết luận là tốc độ hội tụ của dãy { }y n n= ∞0, về *x nhanh hơn
tốc độ hội tụ của dãy { }x n n= ∞0, về *x Phương pháp chuyển từ dãy cũ sang dãy mới như vậy gọi là
Trang 18phương pháp Aitken Và để cho thuận tiện trong việc phân tích và tính toán, ta xét thuật toán lặp Aitken – Steffensen sau đây
Bước 1: Chuyển phương trình f x = về dạng ( ) 0 x =ϕ( )x với
x rất nhanh Nếu L ≈ thì ta chuyển sang bước 2 1
Bước 2: Chuyển phương trình x =ϕ( )x về dạng x = Ψ( )x với
n n n e
y n
e
e y
Trang 20Bài 3 PHƯƠNG PHÁP NEWTON (PHƯƠNG PHÁP TIẾP TUYẾN)
Trong mục này, ta xét lại phương trình f x = ( ) 0
Giả sử rằng ta đã tìm được một khoảng li nghiệm của phương trình trên là khoảng (a b , đồng ; )
thời f x f′( ), ′′( )x liên tục và không đổi dấu trên đoạn [a b Khi đó, với ; ] x là xấp xỉ ban đầu được 0
chọn, ta xây dựng dãy { }x n n= ∞0, theo công thức ( )
f x f′ ′′ x liên tục và không đổi đấu trên đoạn [ a b , với ; ] x0 ∈[a b; ] sao cho f x f( ) ( )0 ′′ x0 > 0
( x ,được gọi là điểm Fourier, thường được chọn là một trong hai đầu mút a hoặc b) Khi đó dãy 0
{ }x n n= ∞0, xây dựng như trên hội tụ đến nghiệm * x của phương trình f x = và ta có ước lượng ( ) 0
Không giảm tổng quát ta giả thiết f′′( )x > ∀ ∈0, x [a b; ]
Trường hợp 1: x0 = Vì a f a f a( ) ′′( )> nên ta được 0 f a > Từ đây ta suy ra được hai ( ) 0
n n
Trang 21Vì x0 = ∈a [a x; *) nên ta suy ra { }x n n= ∞0, là dãy tăng và { }x n n= ∞0, ⊂[a x; *)
Dãy { }x n n= ∞0, tăng và bị chặn trên bởi *x nên tồn tại giới hạn lim n ( ; *] ( ; )
n x α a x a b
( ) ( )
( ) ( )
( ) ( ) ( )
f f
α
α α
Trang 22Trường hợp 2: x0 = Bằng cách tương tự ta chứng minh dãy b { }x n n= ∞0, là một dãy giảm và { }x n n= ∞0, ⊂(x b*; ] Từ đó khẳng định lim n *
Giả sử hàm số f x thỏa mãn các giả thiết của định lí 1.3.1 Gọi ( ) h x là hàm khác không với ( )
mọi x ∈[a b; ], biến đổi phương trình f x = về dạng ( ) 0 x =ϕ( )x = −x h x f x( ) ( )
Trang 23Tóm tắt thuật toán tìm nghiệm gần đúng phương trình f x = với khoảng li nghiệm ( ) 0(a b bằng phương pháp tiếp tuyến ; )
Bước 1: Chứng tỏ f x f′( ), ′′( )x không đổi dấu trên (a b ; )
Bước 2: Xây dựng dãy { }x n n= ∞0, như sau
Nếu f a f a( ) ′′( )> thì chọn 0 x0 = , ngược lại chọn a x0 = b
=
=
=
= Tiếp theo ta đánh giá sai số của nghiệm gần đúng x Ta có 4
2
Trang 24Ví dụ 1.3.2: Giả sử bạn vay một người bạn 100 (triệu VND) với thỏa thuận là sẽ trả cho anh
ta trong 5 năm, mỗi năm một lần, các khoản tiền {21,22,23,24,25 Lợi suất R của dòng tiền tệ này }
là nghiệm thực (duy nhất) của phương trình
Biết phương trình (1) có khoảng li nghiệm là (0;1 , giải phương trình bằng phương pháp )
Newton (lặp 7 bước, đánh giá sai số ở bước 7)
Trang 252 3 4 5 6 7
1, 3645601,178500
x x
Ví dụ 1.3.3: Xây dựng một thuật toán tính gần đúng số a , với sai số ε tùy ý cho trước,
trong đó a không là bình phương của một số hữu tỉ nào
Giải
Ta xây dựng thuật toán cho trường hợp a = , trường hợp tổng quát làm tương tự 2
Ta thấy 2 là nghiệm dương duy nhất của phương trình x − = 2 2 0
Phương trình trên có khoảng li nghiệm là (1;2 chứa nghiệm 2 )
=
=
=
=
Trang 26Ta đánh giá sai số nghiệm gần đúng x4 Ta có 2 12
Trang 27Bài 4 PHƯƠNG PHÁP DÂY CUNG
Trong mục này, ta xét lại phương trình f x( )= 0
Giả sử rằng ta đã tìm được một khoảng li nghiệm của phương trình trên là khoảng (a b , đồng ; )
thời f x f′( ), ′′( )x liên tục và không đổi dấu trên đoạn [a b; ] Không giảm tổng quát, ta giả sử
Trang 28Hình 1.4.2
Định lý 1.4.1: Nếu phương trình f x( )= có (0 a b là khoảng li nghiệm, đồng thời ; ) f x′( ) liên tục và không đổi đấu trên đoạn [ a b , ; ] f′′( )x liên tục và dương trên đoạn [ a b Khi đó dãy ; ] { }x n n= ∞0,xây dựng như trên hội tụ đến nghiệm x của phương trình * f x( )= và ta có ước lượng 0
Để chứng minh định lí 1.4.1 ta cần chứng tỏ các kết quả được nêu trong trường hợp 1 và
trường hợp 2 ở đầu bài Ở đây, ta chỉ trình bày lời giải cho trường hợp 1, trường hợp còn lại ta làm
Ta sẽ chứng minh dãy { }x n n= ∞0, là dãy giảm và { }x n n= ∞0, ⊂(x b*; ]
Thật vậy, giả sử x n ∈(x b*; ] Khi đó f x( )n < 0
Áp dụng định lí Lagrange ta được f x( )n −f a( )= f c′( )(n x n − với a) c n ∈(a x; n) Ta suy ra
( ) ( )
1
x x2 x3
*
Trang 29với mọi x y, ∈[a b; ] và ,α β là hai số dương thỏa α+ = β 1
Đẳng thức xảy ra khi và chỉ khi x = y
Đẳng thức xảy ra khi và chỉ khi x = y
Bổ đề 1 đã được chứng minh xong
Bổ đề 2: Cho hàm số f x thuộc lớp ( ) [2 ]
;
a b
C và f′′( )x > ∀ ∈0, x [a b; ] Khi đó ta luôn có ( ) ( ) ( ) ( )
Bổ đề 2 đã được chứng minh xong
Trở lại bài toán, vì x n >x*> nên theo bổ đề 2 ta được a
Trang 31Ví dụ 1.4.1:
Giải phương trình x3 +x2 + − = bằng phương pháp dây cung biết khoảng li nghiệm là x 1 0
(0;1 với sai số không quá ) 10− 3
6 7 8
0, 333333
0, 470588
0, 542876
0, 543428
0, 543605
x x
x x x
Trang 32Ví dụ 1.4.2: Giải phương trình e x −3x2 = bằng phương pháp dây cung với sai số không 0quá 10− 2 biết khoảng li nghiệm của phương trình là (3;5)
Tiếp theo ta xây
Vì f( )3 = −6, 914463< nên ta chọn 0 x = , ta xây dựng dãy 0 3 { }x n n= ∞0, như sau
70 71
3, 0600403,117041
3, 732802
3, 732832
x x
x x
Trang 33Chương 2 HỆ PHƯƠNG TRÌNH TUYẾN TÍNH
= là ma trận hệ số, b ∈ m là vector cột hệ số tự do cho trước, x ∈ n là
vector cột phải tìm, thì hệ trên có thể được viết dưới dạng Ax = b
Về phương diện lý thuyết, hệ phương trình trên có thể giải bằng công thức Cramer trong
trường hợp m = và detn A ≠ Cụ thể hơn, ta có 0 det , 1,
det
j j
A
A
Trong đó A là ma trận nhận được từ A bằng cách thay cột thứ j của A bằng ma trận cột hệ j
số tự do b Tuy nhiên, ý nghĩa sử dụng thực tế công thức này chỉ có đối với n nhỏ (n =2,n = 3), vì
khi n lớn thì chỉ riêng phép tính nhân đã tăng lên mức ( n−1)(n+1)n!, đến nỗi chỉ cần một hệ phương trình có 30 ẩn và 30 phương trình đã mất 378.080 tỉ năm để tính nghiệm theo công thức trên bằng máy tính có tốc độ 20 ngàn tỷ/giây Nhưng quan trọng hơn là sau gần 400 ngàn tỷ năm ta nhận được một lời giải không phải là nghiệm của hệ đó nữa, đơn giản là vì phép tính quá lớn nên chỉ riêng sai số làm tròn số đã cho ta một kết quả chẳng liên quan gì đến hệ phương trình đã cho Ví dụ này có
lẽ đủ nói lên tầm quan trọng của phương pháp số
Nếu detA ≈ thì ta nói hệ phương trình gần như suy biến Khi đó việc làm tròn số trong quá 0trình tính nghiệm, dù bằng phương pháp tốt nhất hiện có, cũng dễ dẫn đến hệ suy biến (tức detA = ) , khiến ta không thể nhận được lời giải mà đáng lẽ ra chúng phải tồn tại Nói chung, có 0thể chỉ ra rằng, nếu ta lấy đại lượng
( )
1 0
0
x x
làm đặc trưng cho ma trận A thì hệ phương trình với cond A lớn được gọi là hệ có thể trạng yếu sẽ ( )
rất nhạy cảm với những thay đổi của vế phải, dù là rất nhỏ, nghĩa là thay đổi về nghiệm sẽ rất lớn dù rằng thay đổi vế phải rất nhỏ (như làm tròn số) Ta sẽ làm rõ điều này bằng những phân tích sau đây Giả sử *x là nghiệm của hệ phương trình Ax = , * *b x =x*+Δx* là nghiệm của hệ
phương trình Ax = với b b′ =b′+ Δ Khi đó ta có : b
Trang 341 0
Ước lượng trên chứng tỏ sai số tương đối của nghiệm có thể bằng tích của cond A với sai số ( )
ở vế phải Từ đó suy ra rằng với ma trận A thể trạng yếu thì nghiệm của nó thay đổi nhiều so với
những thay đổi nhỏ ở hệ số và các hạng số tự do Như vây, giải hệ phương trình tuyến tính thể trạng yếu là bài toán khó của toán học tính toán
Các phương pháp giải hệ có thể phân làm hai nhóm chính: nhóm các phương pháp trực tiếp và nhóm các phương pháp lặp Đối với các phương pháp trực tiếp thì số các phép toán có thể dự đoán trước được, còn đối với phương pháp lặp thì nói chung không thể dự đoán trước được số lần cần lặp
để có được nghiệm xấp xỉ với sai số mong muốn Các phương pháp lặp thường được sử dụng đối với
hệ có số ẩn và số phương trình lớn, hệ gần suy biến hay thể trạng yếu Sau đây, ta sẽ đi vào một số phương pháp thông dụng để giải hệ phương trình
Trang 35Bài 2 PHƯƠNG PHÁP KHỬ GAUSS
Tư tưởng của phương pháp Gauss là đưa hệ phương trình Ax = về dạng tam giác hoặc dạng b
hình thang, lúc đó nghiệm tìm được nhờ quá trình thế ngược Cụ thể hơn ta sẽ dùng phương pháp Gauss để giải hệ phương trình:
Không mất tổng quát, chúng ta luôn giả thuyết a ≠ Để ma trận A có dạng tam giác hoặc 11 0
là hình thang, đầu tiên, chúng ta làm cho các phần tử ở cột thứ nhất, dòng thứ hai trở đi biến thành 0 bằng cách nhân dòng một với 1
11
i
a a
− rồi cộng vào dòng (i i =2, 3, m), sau m − phép biến đổi như 1
vậy chúng ta thu được hệ phương trình tương đương
Ở đây, ta còn nói “ khử ẩn x ” , tiếp theo bằng cách tương tự chúng ta “khử ẩn 1 x ” từ phương 2
trình thứ ba trở đi đối với hệ (2.1.1) Sau đó, ta lại “ khử ẩn x ” từ phương trình thứ tư trở đi (nếu 3
có)… Quá trình khử ẩn ở trên là quá trình lặp, sau hữu hạn bước biến đổi quá trình sẽ dừng lại ở một trong các trường hợp sau:
1 Hệ nhận được có dạng tam giác (hệ có duy nhất nghiệm) hay ma trận A có dạng tam giác
2 Hệ nhận được có dạng bậc thang (hệ có vô số nghiệm) hay ma trận hệ số có dạng bậc thang
3 Trong hệ xuất hiện phương trình có dạng
0x +0x + + 0x n = với b b ≠ 0Khi đó hệ vô nghiệm
Nhận xét 2.1.1:
Trong quá trình biến đổi trong hệ xuất hiện phương trình dạng 0x1+0x2 + + 0x n = Khi 0
đó, chúng ta có thể loại bỏ phương trình này ra khỏi hệ phương trình
Trang 36Về mặt thực hành, để giải hệ phương trình tuyến tính bằng phương pháp khử ẩn liên tiếp, ta làm như sau:
Xác định ma trận hệ số mở rộng A=(A b| )
Sử dụng các phép biến đổi sơ cấp trên dòng để biến đổi sao cho ma trận hệ số A
chuyện thành dạng tam giác hoặc bậc thang
Giải hệ phương trình bằng quá trình ngược
Ví dụ 2.1.1 Giải hệ phương trình sau bằng phương pháp khử Gauss
Trang 37Bài 2 PHƯƠNG PHÁP PHÂN RÃ (DECOMPOSITION METHOD)
Xét lại phương trình Ax = với b A=( )a ij n Giả sử ma trận A có thể biểu diễn dưới dạng
Khi đó ta có b =Ax =LUx =Ly với y =Ux
Vậy hệ ban đầu được phân rã thành hai hệ sau Ly b
Vấn đề giải hệ phương trình trên rất đơn giản, đầu tiên là giải hệ Ly = để tìm y , sau đó với b
y vừa tìm được, ta giải hệ Ux = y
Các trường hợp riêng của phương pháp LU
Trang 38n n
, 1,2, ,, 2, 3, ,
i i
j j
Trang 40Phương pháp Choleski là phương pháp phân rã ma trận đối xứng xác định dương Với một ma
trận đối xứng xác định dương A bất kì ta luôn có sự phân rã duy nhất A=U U T , trong đó
, 2, 3, ,
, 2, 3, ,1
j j
i
ii ii ki
k i
ij ij ki kj
k ii