1
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC VINH
MAI HỒNG PHƯƠNG
PHƯƠNG PHÁP SỐ
TRONG ĐẠI SỐ TUYẾN TÍNH
LUẬN VĂN THẠC SĨ TOÁN HỌC
NGHỆ AN - 2012
2
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC VINH
MAI HỒNG PHƯƠNG
PHƯƠNG PHÁP SỐ
TRONG ĐẠI SỐ TUYẾN TÍNH
CHUYÊN NGÀNH: ĐẠI SỐ VÀ LÝ THUYẾT SỐ
Mã số: 60 46 05
LUẬN VĂN THẠC SĨ TOÁN HỌC
Người hướng dẫn khoa học
PGS.TS. NGUYỄN THÀNH QUANG
NGHỆ AN - 2012
3
MỤC LỤC
Trang
MỞ ĐẦU
CHƯƠNG 1
MỘT SỐ KIẾN THỨC CƠ SỞ
1
3
1.1
1.2
1.3
1.4
Không gian tuyến tính định chuẩn và khơng gian mêtric
Chuẩn của ánh xạ tuyến tính – Chuẩn của ma trận
Ánh xạ co
Mở rộng nguyên lý ánh xạ co
CHƯƠNG 2
PHƯƠNG TRÌNH PHI TUYẾN
3
5
7
8
10
2.1
2.2
2.3
Phương pháp chia đơi
Phương pháp Newton-RaphSon
Phương pháp Newton-Cantorovich
CHƯƠNG 3
PHƯƠNG PHÁP TÍNH ĐẠI SỐ TUYẾN TÍNH
Phương pháp Gauss - Jordan
Phương pháp phân rã ma trận
Giải phương trình tuyến tính trong khơng gian Banach
KẾT LUẬN
10
12
14
21
3.1
3.2
3.3
TÀI LIỆU THAM KHẢO
21
32
34
41
42
MỞ ĐẦU
Đại số tuyến tính là một ngành tốn học nghiên cứu về khơng gian
vectơ, hệ phương trình tuyến tính và các phép biến đổi tuyến tính giữa chúng.
4
Các khái niệm không gian vectơ, ma trận và định thức là những công cụ rất
quan trọng trong Đại số tuyến tính. Bài tốn cơ bản nhất của Đại số tuyến tính
là tìm nghiệm của phương trình ma trận sau:
.
Đại số tuyến tính được sử dụng nhiều trong tốn học, như trong Đại số
đại cương, Giải tích hàm, Hình học giải tích, Quy hoạch tuyến tính... để giải
các bài tốn về phép quay trong khơng gian, nội suy bình phương nhỏ nhất,
tìm nghiệm của hệ phương trình vi phân, tìm đường trịn đi qua ba điểm... Đại
số tuyến tính cũng có nhiều ứng dụng trong khoa học tự nhiên (vật lý, công
nghệ...) và khoa học xã hội (kinh tế, thống kê, quản lý...), vì các mơ hình phi
tuyến tính hay gặp trong tự nhiên và xã hội thường có thể xấp xỉ bằng mơ
hình tuyến tính.
Phương pháp số trong Đại số tuyến tính (hay cịn gọi là phương pháp
tính đại số tuyến tính) là một bộ phận quan trọng của Tốn học tính tốn đã
góp phần hiệu quả để giải quyết các bài tốn trong cơng nghệ, kỹ thuật, kinh
tế, xã hội. Công cụ nghiên cứu của Phương pháp số trong Đại số tuyến tính
bao gồm nhiều yếu tố của Tốn và Tin học, do đó nội dung của nó vượt ngồi
phạm vi bộ mơn Giải tích số (Phương pháp tính).
Luận văn sẽ giới thiệu một số lời giải các bài tốn về phương pháp số
trong Đại số tuyến tính và được thực hành tính tốn bởi các phần mềm Maple,
Mathematica. Đó là các bài tốn cơ bản sau đây:
- Giải phương trình phi tuyến (Phương pháp chia đơi, phương pháp
Newton - Raphson, Newton – Cantorovic…)
- Giải hệ phương trình tuyến tính bằng phương pháp Gauss – Jordan
- Giải hệ phương trình tuyến tính bằng phương pháp chia ơ
- Giải hệ phương trình tuyến tính 3 đường chéo
- Tìm ma trận nghịch đảo bằng phương pháp chia ô
- Phân rã ma trận
- Giải phương trình tuyến tính trong khơng gian Banach.
5
Tác giả xin trân trọng cảm ơn thầy giáo hướng dẫn khoa học - PGS.TS.
Nguyễn Thành Quang - đã tận tình hướng dẫn, chỉ bảo, giúp đỡ để tác giả
hồn thành luận văn.
Tác giả xin cảm ơn các thầy cô giáo trong chuyên ngành Đại số và Lý
thuyết số, khoa Tốn học, phịng Đào tạo Sau đại học của Trường Đại học
Vinh đã giảng dạy và hướng dẫn cho chúng tôi trong học tập và nghiên cứu.
Tác giả xin cảm ơn Trường Đại học Sài Gòn đã tổ chức, tạo điều kiện
thuận lợi cho mỗi học viên chúng tôi trong học tập và nghiên cứu theo chương
trình đào tạo sau đại học liên kết giữa hai trường đại học.
Xin cảm ơn các thầy cô đồng nghiệp Trường THPT Long Trường, gia
đình, bạn hữu của tơi đã quan tâm giúp đỡ trong suốt thời gian học tập vừa
qua.
Tuy đã cố gắng trong quá trình học tập, nghiên cứu và viết luận văn,
song chắc chắn vẫn cịn có nhiều thiếu sót, rất mong được sự góp ý, chỉ bảo
của q thầy cơ và các bạn đồng nghiệp.
Nghệ An, ngày 01 tháng 10 năm 2012
Tác giả
Mai Hồng Phương
6
CHƯƠNG 1
MỘT SỐ KIẾN THỨC CƠ SỞ
1.1. Không gian tuyến tính
định chuẩn và khơng gian mêtric
1.1.1. Định nghĩa. Cho khơng gian tuyến tính V trên trường F ( F là trường
số thực ¡ hoặc trường số phức £ ), ta gọi ánh xạ
V →¡
xa x
là một hàm chuẩn và x là chuẩn của vectơ x , nếu ánh xạ đó thỏa mãn ba
tiên đề sau:
1) x ≥ 0 và x = 0 khi và chỉ khi x = 0 ;
2) α x = α . x với mỗi số thực α ;
3) x + y ≤ x + y , ∀x, y ∈V .
Khơng gian tuyến tính V trên trường F, mà trên đó đã xác định một hàm
chuẩn . , được gọi là khơng gian tuyến tính định chuẩn và ký hiệu là ( V , . ) .
Một tập hợp khác rỗng M , cùng với ánh xạ ρ : M × M → ¡ , viết là ( M , ρ ) và
gọi là không gian mêtric, nếu ánh xạ ρ thỏa mãn ba tiên đề sau:
1) ρ ( x, y ) ≥ 0 và ρ ( x, y) = 0 khi và chỉ khi x = y ;
2) ρ ( x, y) = ρ ( y, x) ;
3) ρ ( x, y) ≤ ρ ( x, z) + ρ ( z, y), ∀x, y, z ∈ M .
Rõ ràng mỗi khơng gian tuyến tính định chuẩn ( V , . ) là một không
gian mêtric (V , ρ ) với mêtric cảm sinh bởi chuẩn sau đây :
ρ ( x, y ) = x − y .
Dãy ( un ) trên không gian mêtric (M,ρ) được gọi là dãy Cauchy hay
dãy cơ bản, nếu các phần tử ở ‘‘phía đi” của nó rất ‘‘sít nhau”, tức là
∀ε > 0, ∃n0 , ∀n, p ∈ ¥ , n > n0 ⇒ ρ (un , un + p ) < ε .
7
Một không gian mêtric (M,ρ) được gọi là không gian mêtric đầy đủ,
nếu mỗi dãy Cauchy trong M là dãy hội tụ.
Khơng gian tuyến tính định chuẩn (V , . ) được gọi là không gian định
chuẩn đầy đủ hoặc không gian Banach, nếu với mêtric cảm sinh bởi chuẩn
ρ (x, y) = x − y không gian mêtric (V, ρ ) là không gian mêtric đầy đủ.
Tập hợp M m×n ( F ) các ma trận cấp m × n trên F , là khơng gian tuyến tính trên
F.
n
Khơng gian tuyến tính F = { ( x1 , x2 ,..., xn ) xi ∈ F } , n ≥ 1 là khơng gian
tuyến tính định chuẩn bởi hàm
1
p
p
x p = ∑ xi ÷ ,
i=1
n
với x = [ x1 x2 ... xn ] ; 1 ≤ p < ∞ và ký hiệu là F n . Tuy nhiên trên F n có thể
T
định nhiều chuẩn khác nữa, nhưng hay dùng nhất là ba chuẩn sau:
1) x
2) x
p
, với p = 1,2
∞
= max xi .
i
Ta thu được các kết quả sau đây:
1.1.2. Mệnh đề. Mỗi khơng gian tuyến tính định chuẩn (thực hoặc phức) hữu
hạn chiều F n đều là không gian đầy đủ.
1.1.3. Mệnh đề. Không gian C0 [ a; b ] các hàm thực liên tục trên đoạn [ a; b ] với
hàm khoảng cách xác định như sau là một không gian đầy đủ:
ρ(x, y) = max y(t) - x(t) .
t ∈[ a ,b ]
8
1.2. Chuẩn của ánh xạ tuyến tính và ma trận
1.2.1. Định nghĩa. Cho f là một ánh xạ từ không gian tuyến tính định chuẩn
(U,
U
)
vào khơng gian tuyến tính định chuẩn ( V ,
V
) . Ta nói
f là ánh xạ
bị chặn, nếu tồn tại một số thực dương m sao cho:
f ( x) V ≤ m x U , ∀x ∈ U .
Giả sử f là ánh xạ bị chặn, ta gọi số thực dương nhỏ nhất trong các số
m sao cho f ( x) V ≤ m x U , ∀x ∈ U là chuẩn của ánh xạ f và được ký hiệu kí
bởi f
U
V
.
n
Trong tính tốn thực tế mỗi ánh xạ tuyến tính từ khơng gian Fp vào
m
khơng gian Fq được viết dưới dạng ma trận y = Ax , trong đó A là ma trận
cấp m × n . Khi đó, chuẩn của ánh xạ được gọi là chuẩn của ma trận A và ký
p
p
hiệu là A q . Trường hợp riêng A q ký hiệu lại là A p và với p = 1,2, ∞
chuẩn ma trận được tính theo cơng thức sau:
m
A 1 = max
j
∑a
ij
i =1
n
A
2
= max
A3=
(
i
,
∑a
ij
,
j =1
λ1 ,
)
trong đó A = aij m.n là ma trận cấp m × n và λ1 là giá trị riêng lớn nhất của
ma trận A* × A ( với A* là ma trận liên hợp của A ).
Trong phần mềm math để tính chuẩn vectơ x p , với p = 1,2, ∞ ta dùng
câu lệnh sau:
Plus@@ Abs [x]
Max [Abs[x]]
Sqrt [x.Conjugate[x]]
Lệnh sẵn có trong phần mềm math.:
9
Norm[x,p] cho chuẩn p của vectơ x (với 1 ≤ p ≤ ∞ );
chuẩn vô cùng: Norm[x, ∞],
chuẩn 2 của x có thể dùng lệnh Norm[x].
Tính chuẩn ma trận A
p
với p = 1,2, ∞ :
B = Transpose[A];Max[Table[plus@@Abs[B[[i]]],{i,1,length[B]}]]
Max[Table[plus@@Abs[A[[i]]],{i,1,length[A]}]]
Sqrt[Max[Re[Eigenvaluse[Conjugate[Transpoose[A]].A]]]]
Các lệnh có sẵn trong phần mềm math tương ứng là
Norm[A, 1], Norm[A, ∞], Norm[A]
(trường hợp A là ma trận chữ nhật thì Norm[A] là các trị số lớn nhất của các
trị số Singular của ma trận A ).
Ví dụ. Cho x = [ 1 3 − 2 4,1] và ma trận
1 1 + i
A = 2 0
2i - 0,1
1,2
-1 .
2,3
Ta có
x
A
A
1
1
∞
= 10,1; x
∞
= 4,1; x = 5,55068
{
= max { 2,2 +
= max 5;0,1 +
2
}
2 ; 3; 4,4} = 4,4;
2 ; 4,5 = 5
A = 3,64186.
Chuẩn ma trận có tính chất sau:
a)
A ≥ 0;
A = 0 ⇔ A = 0;
b ) α A = α . A ( ∀α ∈ F );
c)
A+ B ≤ A + B ;
d ) A.B ≤ A . B .
2
10
1.3. Ánh xạ co
1.3.1. Định nghĩa. Ánh xạ f từ khơng gian mêtric ( M ,ρ ) vào chính nó được
gọi là ánh xạ co trên M và nếu tồn tại số thực α ∈[0,1) sao cho
ρ ( f(x), f(y)) ≤ αρ ( x, y ) ; ∀x, y ∈ M .
1.3.2. Định lý (Nguyên lý ánh xạ co). Mỗi ánh xạ co f trên không gian
mêtric đầy đủ ( M ,ρ ) tồn tại duy nhất điểm bất động (tức là tồn tại duy nhất
điểm ξ thuộc M sao cho f( ξ ) = ξ , vì vậy định lý này cịn có tên ngun lý
điểm bất động).
Chứng minh. Trước hết ta thấy ánh xạ co là ánh xạ liên tục, vì khi cố định y
thuộc M , cho x dần tới y , từ bất đẳng thức
ρ ( f(x), f(y)) ≤ α.ρ ( x, y ) ; ∀x, y ∈ M
suy ra f ( x ) dần tới f ( y ) . Bây giờ lấy điểm x0 tùy ý thuộc M và đặt
xi +1 = f ( xi ) , i ∈ ¥ , ∀n, p ∈ ¥ ta có:
xn+ p - xn ≤ xn+ p - xn+ p-1 + xn+ p-1 - xn+ p-2 +L+ xn+1 - xn ≤
≤ α p-1 xn+1 - xn + α p-2 xn+1 - xn +L+ α0 xn+1 - xn =
1-α p
1
α
=
. xn+1 - xn ≤
. xn+1 - xn ≤
. xn - xn-1 ≤
1-α
1- α
1- α
αn
≤ ... ≤
. x1 - x0 .
1-α
Do đó ∀ε > 0, ∃n0 ∈ ¥ , ∀n, p ∈ ¥ , n ≥ n0 ⇒ x n+p − x n ≤ ε .
Điều đó chứng tỏ dãy ( xn ) là dãy Cauchy và vì khơng gian đã cho là
không gian đầy đủ, nên tồn tại ξ sao cho lim x n = ξ . Vì f liên tục nên
n →∞
f(ξ)= f( lim xn )= lim f(xn )= lim xn+1 = ξ .
x →∞
x →∞
x →∞
Vậy ξ là điểm bất động. Với mỗi điểm η ∈ M và η ≠ ξ , ta có
ρ ( f (η ), ξ ) = ρ ( f (η ), f (ξ )) ≤ α .ρ (η , ξ ) < ρ (η , ξ ).
Do đó η ≠ f (η ) , tức là ξ là điểm bất động duy nhất của f .
▄
11
1.4. Mở rộng nguyên lý ánh xạ co
1.4.1. Định lý. Cho F ( u ) là hàm thực một biến, liên tục, khơng giảm trên
đoạn
[ 0,2r ] ;
phương trình F ( u ) = u có nghiệm duy nhất là u = 0 và
F ( 2r ) ≤ 2r ; S là hình cầu đóng bán kính r trong khơng gian mêtric đầy
(M, ρ); f : S → S là ánh xạ thỏa mãn ρ(f(x), f(y)) ≤ F ( ρ(x, y)) .
Khi đó phương trình f ( x ) = x có nghiệm ξ duy nhất, là giới hạn của dãy lặp
đơn với tốc độ hội tụ ρ(xn , ξ) ≤ un với u0 = 2r , un+1 = F ( u ) .
Chứng minh. Từ chỗ ρ(xm , xn )= ρ(f(xm-1 ), f(xn-1 )) ≤ F ( ρ(xm-1 , xn-1 ) ) , ta
+
chứng minh ∀m, n ∈ ¥ , m > n ⇒ ρ ( xm , xn ) ≤ un .
(
)
Với n = 1 có ρ ( xm , x1 ) ≤ F ρ ( xm −1 , x0 ) ≤ F ( 2r ) = u1.
Giả thiết quy nạp: với n ≥ 1 nào đó, với mọi m > n đều có
ρ(xm , xn ) ≤ un . Khi đó với m > n + 1 có
ρ(xm , xn+1 ) ≤ F(ρ(xm-1 ,x0 )) ≤ F(u n )= u n+1 .
Dãy ( un ) không tăng và bị chặn dưới bởi 0, nên có giới hạn là số u nào
limρ(x m, x n)= 0 (m > n) .
đó thỏa mãn F ( u ) = u . Vậy u = 0 và do đó n→∞
Điều đó chứng tỏ ( xn ) là dãy Cauchy, nghĩa là phương trình f ( x ) = x
có nghiệm là ξ nào đó, chuyển m ra vơ hạn ta có ρ(ξ, xn ) ≤ un .
Nếu x ' là nghiệm nào đó của phương trình f ( x ) = x , thì
ρ(x', x1 )= ρ(f(x'), f(x0 )) ≤ F(ρ(x',x0 )) ≤ F(2r)= u0 .
Giả thiết qui nạp: với n ≥ 1 nào đó, có ρ(x', xn ) ≤ un thì
ρ(x', xn+1 )= ρ(f(x'), f(xn )) ≤ F(ρ(x',xn )) ≤ F(u n )= u n+1 .
≤
Vậy 0ρ(x', x ) n u≤
n
→
0 (khi n
→),
∞
tức là x ' = ξ .
▄
12
1.4.2. Hệ quả. Cho hình cầu đóng S tâm tại x0 , bán kính r trong khơng gian
mêtric đầy (M,ρ) và hàm thực liên tục F ( u ) , không giảm trên [ 0,2r ] ,
F ( 2r ) ≤ 2r , phương trình F ( u ) = u có nghiệm duy nhất là u = 0 . Khi đó:
1) Nếu ánh xạ f : S → S thỏa mãn
ρ(f(x), x0 ) ≤ r - F(r) và ρ(f(x), f(y)) ≤ F(ρ(x, y)),
thì phương trình f ( x ) = x có nghiệm ξ duy nhất, là giới hạn của dãy lặp đơn
với tốc độ hội tụ ρ(xn , ξ) ≤ un với u0 = 2r , un+1 = F ( un ) ;
2) Nếu ánh xạ f : M → M thỏa mãn
∀x, y ∈ S có ρ(f *(x), f *(y)) ≤ F(ρ(x, y)),
thì phương trình f ( x ) = x có nghiệm ξ duy nhất, là giới hạn của dãy lặp đơn
với tốc độ hội tụ ρ(xkn , ξ) ≤ un với u0 = 2r , un+1 = F ( un ) .
1.4.3. Định lý.( xem[3] ) Cho hình cầu đóng S bán kính r trong không gian
mêtric đầy (M,ρ) ; hàm thực hai biến F ( u , v ) liên tục, không giảm theo từng
biến trên [ 0,2r ] × [ 0,2r ] sao cho F ( 2r ,2r ) ≤ 2r và phương trình F ( u, u ) = u
2
có nghiệm duy nhất là 0; Ánh xạ f : S → S thỏa mãn
ρ(f(x, y), f(x', y') ) ≤ F(ρ(x,x'), ρ(y, y') ) .
Khi đó phương trình x = f ( x, x ) có nghiệm duy nhất, là giới hạn của dãy lặp
( x ) :x
n
0
tùy ý xn = f ( xn , xn−1 ) và có tốc độ hội tụ ρ(xn , x) ≤ un với u0 = 2r và
un là nghiệm lớn nhất của phương trình u = F ( u , un−1 ) .
13
CHƯƠNG 2
PHƯƠNG TRÌNH PHI TUYẾN
2.1. Phương pháp chia đơi
Để giải phương trình một ẩn f ( x ) = 0 , bằng khảo sát hàm số và vẽ đồ
thị, ta tìm được khoảng tách nghiệm, đó là đoạn [ a, b ] mà trên đó f ( x ) liên
tục, biến thiên đơn điệu và f ( a ) f ( b ) < 0 . khi đó khoảng ( a, b ) phương trình
f ( x ) = 0 có nghiệm duy nhất. Tiếp theo là giải tìm nghiệm trên khoảng đó
với độ chính xác theo u cầu.
Đơn giản nhất ta có nghiệm x = x0 ± ∆x0 , trong đó
Δx0 =
x0 =
a+b
và
2
b-a
.
2
x
a
b
Hình 1
Rõ ràng là nếu f ( x0 ) = 0 , thì x0 là nghiệm đúng của phương trình.
Ngược lại, thì một trong hai đoạn [ a, x0 ] , [ x0 , b ] là khoảng tách nghiệm, ta ký
hiệu là đoạn [ a1 , b1 ] và có nghiệm x = x1 ± ∆x1 , trong đó
a1 + b1
2
b -a
b-a
Δx1 = 1 1 = 2
2
2
x1 =
Tiếp tục q trình đó đến bước k , hoặc ta có f ( xk ) = 0 và xk là
nghiệm đúng cần tìm, hoặc có nghiệm gần đúng là x = xk ± ∆xk , trong đó
14
ak + bk
2
b − ak b − a
∆x k = k
= k +1
2
2
xk =
Ví dụ. Giải phương trình x 3 + 2 x − 1 = 0 .Tìm khoảng tách nghiệm: từ nhận
xét hàm f ( x) = x 3 + 2 x − 1 có đạo hàm là f '( x ) = 3x 2 + 2 luôn luôn dương,
nên đơn điệu tăng, f (0) = −1 và f (1) = 2 do đó phương trình có nghiệm duy
nhất trong đoạn [0,1]
0 +1
= 0,5; ∆x0 = 0,5; f ( x0 ) = 0,125 trái dấu với f(0)
2
x0 =
⇒ x1 =
0 + 0,5
= 0, 25; ∆x1 = 0, 25; f ( x1 ) = −0, 484 trái dấu với f(0,5)
2
⇒ x2 =
0, 25 + 0,5
= 0,375; ∆x2 = 0,125; f ( x2 ) = −0,197 trái dấu với f(0,5)
2
⇒K
Bằng phương pháp chia đơi 10 bước sẽ có x10 = 0,454102 và sai số nhỏ
hơn
b−a
= 0, 000001 .
210
Lập trình tính trong Math như sau :
f[x_]:=x^3+2x-1;{a,b}={0,1};
Do[print[(a+b)/2//n];{a,b}=if[f[a]*f[(a+b)/2]<0,
{a,(a+b)/2},{(a+b)/2,b}],{10}]
Kết quả từ bước 0 đến bước thứ 9 là:
0.5
0.4375
0.460937
0.454102
0.25
0.46875
0.457031
0.375
0453125
0455078
Đáp số x = 0,454102±1/210 , hay x = 0.4541±0,0011
15
αk
0
a=x0
x1
b
ξ
x
xk+1 xk
x
Hình 2
2.2. Phương pháp Newton-RaphSon
Giải hệ n phương trình n ẩn phi tuyến F ( X ) = 0 , trong đó
F = [ f1 K f n ]
T
X = [ x1 K xn ] như sau: giả sử nghiệm cần tìm là ξ , nghiệm
T
;
gần đúng có trước là X ( k ) . Khai triển hàm F ( ξ ) theo Taylor đến cấp 1 tại
( k)
( k)
( k)
( k)
X ( k ) là F ( ξ ) = F ( X ) + F ' ( X ) ( ξ − X ) + 0 ( ξ − X ) .
( k)
Cho vế trái bằng 0 và khi bỏ qua vô cùng bé 0 ( ξ − X ) , thì nghiệm cần
tìm ξ được thay bởi gần đúng X ( k +1) .Ta có
0 = F ( X ( k ) ) + F ' ( X ( k ) ) ( X ( k +1) − X ( k ) ) .
Và suy ra công thức lặp như sau
(
X ( k +1) = X ( k ) − F ' ( X ( k ) )
x
x3 x2 x1
) F( X )
x0
−1
( k)
x
Hình 3
Phương pháp Newton hội tụ nhanh, tuy nhiên nghiệm gần đúng ban
đầu X ( 0) phải chọn khá gần nghiệm phải tìm ξ mới có thể lặp được, đó là
việc khó, nhất là giải các hệ lớn. Mặt khác việc tính ma trận nghịch đảo
( F '( X ) )
( k)
16
−1
từng bước là việc làm không đơn giản, nên nhiều khi người ta
dùng Công thức lặp Newton cải biên:
(
X ( k +1) = X ( k ) − F ' ( X ( 0) )
) F( X )
−1
( k)
(Đó là mở rộng cơng thức giải phương trình một biến f ( x ) = 0 bằng phương
pháp tiếp tuyến, dựa trên việc thay tiếp tuyến tại các điểm xk bởi đường thẳng
song song với tiếp tuyến tại x0 như hình 3).
Ví dụ. Giải hệ phương trình
xyz
= 1,
2
x + 2 x cos y − z = 1,
z. x y
= 1.
Các dòng lệnh trong Math lần lượt là: khai báo hàm vectơ ba chiều (ba
biến) f ( x, y, z ) ; dòng 2 là đạo hàm f ' ( x, y, z ) và đặt tên là g ( x, y, z ) ; dòng
3 là giá trị nghiệm gần đúng ban đầu (tự cho) và nghịch đảo của đạo hàm tại
nghiệm gần đúng ban đầu; cuối cùng là lặp 5 lần tìm các nghiệm gần đúng
tiếp theo bằng công thức lặp Newton cải biên
f[x_,y_,z]:={xyz-1,x^2+2xCos[y]-z-1,zx^y-1}
g[x_,y_,z]:=Transpose[{D[f[u,v,t],u],D[f[u,v,t],v],
D[f[u,v,t],t]}/.{u→x,v→y,t→z}]
{x,y,z}={1,1,1};b=Inverse[g[1,1,1]]//N;
Do[Print[{x,y,z}//N]; {x,y,z}={x,y,z}-b.f[x,y,z],{5}]
Kết quả 4 bước lặp là
{0.980247,1.,1.01975};
{0.980247,1.,1.02014};
{0.980249,1.,1.02015};
{0.980249,1.,1.02015}
Trong Math cho ta nghiệm gần đúng giải bằng phương pháp Newton
nhờ lệnh đơn giản sau:
FindRoot[{f1[x1, x2, …, xn]} = 0],
f2[x1, x2, …, xn]=0,
…,
17
[{fn[x1,x2,…,xn]==0},{x1,a1},{x2,a2},…,{xn,an}]
Tuy nhiên khi ta cho nghiệm ban đầu [ a1 a2 K an ] khơng thích hợp, thì
T
máy vẫn tiến hành lặp một số bước mặc định và cho ta một giá trị, có thể đó
khơng là nghiệm phương trình.
2.3. Phương pháp Newton-Cantorovich
Khái qt hóa tư tưởng trình bày ở trên, ta có phương pháp NewtonCantorovich, được áp dụng giải nhiều loại phương trình phức tạp. cơ sở lý
luận của phương pháp là các định lý dưới đây
2.3.1. Định lý. Cho hình cầu đóng S , tâm x0 bán kính r trong không gian
Banach V ; hàm thực h ( u ) , ( u ∈ [ a, b ] , b = a + r ) hai lần khả vi liên tục,
phương trình h ( u ) = 0 có đúng một nghiệm trên [ a, b ] và h ( b ) ≤ 0 ; hàm
f : S → B có đạo hàm đến cấp 2, tồn tại A = f ' ( x0 )
−1
là ánh xạ tuyến tính
liên tục trên S , A. f ( x0 ) ≤ c.h(a ), với c = −[h '( a)]−1 và nếu x − x0 ≤ u − a ≤ r , thì
Af "( x) ≤ ch "(u ).
Khi đó cơng thức lặp Newton-Cantorovich cải biên
xn+1 = xn − ( f ' ( x0 ) )
−1
f ( xn ) , n ∈ ¥
hội tụ đến nghiệm duy nhất ξ của phương trình f ( x ) = 0 và
u0 = a, un+1 = un + c.h ( un ) , n ∈ ¥ . u0=a, un+1=un+c.h(un), n ∈ ¥ .
Chứng minh. * Đặt F ( x ) = x - Af ( x ) ; H ( u ) = u + ch ( u ) . Khi đó các phương
trình f ( x ) = 0 và h ( u ) = 0 tương đương với x = F ( x ) và u = H ( u ) và các
phép lặp
xn+1 = xn - f ” ( x0 ) f ( xn ) ,n ∈ ¥ ;
-1
u0 = a, un+1 = un + ch ( un ) , n ∈ ¥ .
tương ứng với xn+1 = F ( xn ) và un+1 = H ( un ) . Ta có
F ( x0 ) − x0 = Af ( x0 ) ≤ ch(a ) = H (u0 ) − u0 ;
18
Vậy
F '( x ) = 1s − Af '( x ); F ''( x ) = − Af ''( x ); F '( x0 ) = 0
x
x
x0
x0
F '( x ) = F '( x ) − F '( x0 ) = ∫ F ''( x)dx = − ∫ Af ''( x )dx.
Do đó
u
u
a
a
F '( x) ≤ ∫ c.h ''(u )du = ∫ H ''(u )du = H '(u ) ,
trong đó
x − x0 ≤ u − a ≤ r.
* Hàm H ( u ) khơng giảm, vì đạo hàm của nó là H '(u ) ≥ F '( x) ≥ 0 . Vì thế
bằng quy nạp, ta chứng minh được dãy u0 , u1 ,…,un ,... không giảm và do đó nó
có
giới
hạn
là
v
nào
đó.
Vì
tính
liên
tục
của
H,
nên
v = H ( v ) = v + c.h ( v ) ⇒ h ( v ) = 0 , tức là v là nghiệm duy nhất của phương
trình h ( u ) = 0.
* Chứng minh xn thuộc S . Ta có
x1 − x0 = F ( x0 ) − x0 ≤ H (u0 ) − u0 = u1 − u0
⇒ u1 ∈ S .
Giả thiết qui nạp: xk ∈ S với k = 0,..., n và
xk +1 − xk ≤ u k +1 − uk .
Khi đó xn +1 − xn = F ( xn ) − F ( xn −1 ) ≤
∫
xn
xn−1
F '( x) dx .
Đặt x = xn −1 + l ( xn − xn −1 ); u = u n −1 + l (un − un −1 ); l là hằng số thuộc [ 0,1] .
Ta có
x − x0 ≤ l xn − xn −1 + xn −1 − xn − 2 + ... + x1 − x0
≤ l (un − un −1 ) + (un −1 − un − 2 ) + ... + (u1 − u0 ) = u − u0 .
Và do đó F '( x) ≤ H '(u ).
Từ đó suy ra
xn +1 − xn ≤
∫
un
un−1
H '(u )du = H (un ) − H (un −1 ) = un +1 − un .
19
Suy ra
xn +1 − x0 ≤ xn +1 − xn + xn − xn −1 + ... + x1 − x0
≤ (un +1 − un ) + (un − un −1 ) + ... + (u1 − u0 ) = un +1 − u0 ≤ b − a = r.
⇒ xn +1 ∈ S .
* Dãy ( xn ) hội tụ, vì tương tự trên ta có xn + p − xn ≤ un + p − un và
(un ) là
dãy đơn điệu, hội tụ. Do đó tồn tại ξ = lim xn và
n →∞
ξ − xn = lim xn + p − xn ≤ lim(un + p − un ) = v − un
p →∞
p →∞
Suy ra ξ là nghiệm của phương trình x = F(x) và do đó là nghiệm của
f ( x ) = 0.
* Chứng minh ξ là nghiệm duy nhất. Lấy y0 tùy ý thuộc S , w0 = b và lập
các dãy yn+1 = F ( yn ) , wn+1 = H ( wn ) . Ta có
y0
y1 − x1 = F ( y0 ) − F ( x0 ) = ∫ F '( x)dx.
x0
b
⇒ y1 − x1 ≤ ∫ H '(u )du = H (b) − H (a ) = w1 − u1
a
y1 − x0 ≤ y1 − x1 + x1 − x0 ≤ ( w1 − u1 ) + (u1 − u0 ) = w1 − u0 ≤ r
Do đó y1 ∈ S . Bằng quy nạp ta chứng minh được yn ∈ S và tương tự
trên chứng minh được tồn tại giới hạn Ψ của dãy ( yn ) và là nghiệm của
phương trình f(x) = 0 và chứng minh được rằng
yn − xn ≤ wn − un (→ 0 khi n → ∞ ).
Vậy
Ψ =ξ .
▄
2.3.2. Định lý. Cho hình cầu đóng S , tâm x0 , bán kính r trong không gian
Banach V ; Hàm thực h ( u ) ( u ∈ [ a, b ] , b = a + r ) hai lần khả vi liên tục,
phương trình h ( u ) = 0 có đúng một nghiệm trên [ a, b ] và h ( b ) ≤ 0 ; hàm
f : S × B có đạo hàm cấp 2, tồn tại A= f’ ( x0 ) là ánh xạ tuyến tính liên
-1
tục trên S , Af ( x0 ) ≤ ch( a), với c = −[h '(a )]−1 và nếu
20
x − x0 ≤ u − a ≤ r thì Af ''( x) ≤ ch "(u ).
Khi đó cơng thức lặp Newton-Cantorovich:
xn +1 = xn − [ f '( xn ) ] . f ( xn ), ∀n ∈ ¥
−1
hội tụ đến nghiệm duy nhất ξ của phương trình f ( x ) = 0 và có đánh
giá ξ − xn ≤ v − un , trong đó v là nghiệm của phương trình h ( u ) = 0 và
u0 = a, un +1 = un + cn .h (un ), cn = −[h '(un )]−1 , n ∈ ¥
Chứng minh. Trước hết, ta chứng minh: Khi thay x0 , u0 = a, c, A tương ứng bởi
x1 , u1 , A1 = f’ ( x ) , các giả thiết của Định lý 2.3.1 được thỏa mãn.
-1
* Từ chứng minh Định lý 2.3.1 ta có x1 ∈ S . Xét ánh xạ 1s − Af '( x1 ) ta có
x1
1s − Af '( x1 ) = − A[ f '( x1 ) − f '( x0 )] = − ∫ Af ''( x)dx
x0
Do đó
u1
1s − Af '( x1 ) ≤ ∫ ch ''(u )du = 1 + ch '(u1 ).
u0
Đặt q = 1 + ch '(u1 ) ta sẽ chứng minh q < 1 và áp dụng định lý Banach
về ánh xạ ngược (mỗi đơn ánh tuyến tính A bị chặn từ khơng gian Banach E
vào không gian Banach E ' tồn tại ánh xạ tuyến tính ngược A−1 bị chặn) suy ra
tồn tại ánh xạ tuyến tính liên tục A. f’ ( x ) mà
-1
[ Af '( x1 )]−1 ≤
c
1
= (−ch '(u1 )) −1 = 1
1− q
c
Từ đó suy ra sự tồn tại ánh xạ tuyến tính liên tục
A1 = [ f '( x1 )]−1 = [ Af '( x1 )] A
* Chứng minh q < 1 .
21
Vì h '' ≥ 0 và h(u0 ) > 0 nên nghiệm v của phương trình h(u ) = 0
khơng lớn hơn điểm cực tiểu u’ của hàm h(u) (v ≤ u ') . Suy ra u1 ≤ u ' và
h(u1 ) = 0 . Vậy 0 = h(u1 )= h(u0 )+ h'(u0 ).(u1 - u0 ) .
u1
Do đó 0 = h(u1 )- h(u0 ) - h'(u0 )(u1 - u0 )= ∫ h''(u)(u1 - u0 )du . Suy ra h’’ = 0 ,
u0
với u ∈ [ u0 , u1 ] . Dẫn tới h’ ( u1 ) = h’ ( u0 ) < 0 , mâu thuẫn.
Vậy h’ ( u1 ) < 0 và do đó q < 1 .
* Chứng minh
A1 f ( x1 ) ≤ c1h(u1 ).
Ta có
x1
Af ( x1 ) = Af ( x0 ) + Af '( x0 ) + ∫ Af ''( x )( x1 − x0 )dx
x0
x1
= ( x0 − x1 ) + ( x1 − x0 ) + ∫ Af ''( x )( x1 − x0 )dx
x0
x1
= ∫ Af ''( x )( x1 − x0 )dx
x0
u1
vì
ch(u1 ) = ch(u0 ) + ch '(u0 )(u1 − u0 ) + ∫ ch ''(u )(u1 − u )du
u0
u1
= ch(u0 ) − u1 + u0 + ∫ ch ''(u )(u1 − u )du
u0
u1
= ∫ ch ''(u )(u1 − u ) du
u0
nên
Af ''( x )( x1 − x) ≤ Af ''( x ) x1 − x ≤ ch ''(u )(u1 − u ).
Do đó
Af ( x1 ) =
x1
∫ Af ''( x).( x − x )dx ≤ ∫ c.h ''(u).(u
1
x0
và
u1
0
1
u0
− u0 )du = c.h(u1 )
22
A1 f ( x1 ) = Af '( x1 ) −1 Af ( x1 )
≤ Af '( x) −1 . Af ( x1 )
≤
* Cuối cùng, nếu
c1
ch(u1 ) = c1h(u1 )
c
x − x1 ≤ u − u1 thì
A1 f ''( x) = Af '( x1 )−1 Af ''( x) ≤ Af '( x1 ) −1 . Af ''( x)
≤
c1
ch ''(u ) = c1h ''(u )
c
Và phương trình h(u)= 0 có đúng một nghiệm trên đoạn [ u1 , b ] và
h(b) ≤ 0 .
Bây giờ lại thay x1 , u1 , c1 , A1 tương ứng bởi x2 , u2 , c2 , A2 các giả thiết
của định lý (2.3.1) được thỏa mãn
Từ đó suy ra lim xn = ξ và ξ − xn ≤ v − un .
n →∞
Ví dụ giải gần đúng phương trình phi tuyến bằng phần mềm Maple
Ví dụ. Giải phương trình x 3 + 5 x − 4 = 0.
Các dòng lệnh trong Maple lần lượt là: khai báo hàm một chiều (một biến)
eqn:=x^3+5*x-4=0
dùng lệnh
>
để giải phương trình.
▄
23
Ta dễ dàng tính được nghiệm thập phân gần đúng với sai số tùy ý. Chẳng hạn
sai số đến 4 chữ số thập phân, ta dùng lệnh
Máy sẽ cho ra kết quả
Kết quả nghiệm gần đúng của phương trình là x = 0,7230.
24
CHƯƠNG 3
PHƯƠNG PHÁP TÍNH ĐẠI SỐ TUYẾN TÍNH
3.1. Phương pháp Gauss-Jordan
3.1.1. Giải hệ phương trình AX = B
(0)
Giả sử C = [ A B ] là ma trận mở rộng của hệ AX = B (với
T
(h)
A = aij m×n và B = [ b1 b2 b3 … bm ] ), ký hiệu cij cho phần tử ij ở bước giải
thứ h của ma trận mở rộng C ( h ) .
Ta đã biết, để loại ẩn x j khỏi phương trình 1, 2,…, i - 1, i, i +1,…, m ta
chia hai vế phương trình thứ i cho hệ số aij , sau đó nhân phương trình đó với
−aki rồi cộng vào phương trình k (với k ≠ i ). Để giảm sai số tính tốn, ta cần
chọn aij là phần tử có mơđun lớn nhất trong ma trận hệ số. Từ đó ta có các
bước giải hệ phương trình tuyến tính như sau:
-Bước 0: Viết ma trận C ( 0) ;
-Bước 1: Tìm số lớn nhất theo môđun trong các số
(0)
cij , với
j ∈ { 1, 2, 3,…, n} , i ∈ { 1, 2, 3,…, m} . Giả sử số đó đứng ở hàng i1 , cột j1 của
(0)
C ( 0) ; chia hàng thứ i1 của C ( 0) cho ci1 j1 , rồi nhân hàng thứ i1 mới đó với
(0)
- cij1 và cộng vào hàng k với k ≠ i1 . Kết quả được C ( 1) .
-Bước 2: Tìm số lớn nhất theo môđun trong các số
(1)
cij , với
j ∈ { 1, 2, 3,…, n} , i ∈ { 1, 2, 3,…, m} \{i1}. Giả sử số đó đứng ở hàng i2 , cột j2
(1)
của C ( 1) ; chia hàng thứ i2 của C ( 1) cho ci2 j2 , rồi nhân hàng thứ i2 mới đó với
(1)
- ckj2 và cộng vào hàng k với k ≠ i2 . Kết quả được C ( 2) .
-Tiếp tục đến bước r , khi mà n cột đầu của ma trận C ( r ) chỉ có r hàng
khác 0, ta sẽ suy ra kết quả cần tìm.
25
Ví dụ. Giải hệ
2 x − 3 y + 4,5 z − 2, 6u + 2v = 3
2, 2 x + y − 3,3z + u − 1, 2v = 1
=3
0,1x − 2 y + z − 1,1u + 3v
5 x − 1, 2 y − 2, 2 z + 2u + 3,1v = −1
2
2,2
(0)
Ta có C =
0,1
5
-3
4,5 - 2,6 2
1 - 3,3 1 - 1,2
-2
1 - 1,1 3
- 1,2 - 2,2 2 3,1
3
1
3
-1
Số lớn nhất theo mô đun của năm cột đầu của C (0) bằng 5 (hàng 4 cột
1). Chia hàng 4 của C (0) cho 5, rồi nhân kết quả đó với -2; -2,2; -0,1 lần lượt
cộng vào các hàng 1; 2; 3 của C (0) ta được
C (1)
0
0
=
0
1
− 2,52
5,38
− 3, 4
0, 76
1,528 − 2,332 0,12 − 2,564
− 1,976
1, 044 − 1,14 2,938
− 0, 24
− 0, 44
0, 4
0, 62
3, 4
1, 44
3, 02
− 0, 2
Số lớn nhất theo mô đun của năm cột đầu của C (1) không kể đến hàng 4
bằng 5,38 (hàng 1 cột 3 ). Chia hàng 1 của C (1) cho 5,38, rồi nhân kết quả đó
với 2,332; -1,044; 0,44 lần lượt cộng vào các hàng 2; 3; 4 của C (1) ta được
C (2) .
C (2)
0 − 0, 468401
0 0, 435688
=
0 − 1, 48699
1 − 0, 446097
1
0
0
0
− 0,63197
− 1,35375
− 0, 480223
0,121933
0,141264
− 2, 23457
2,79052
0,682156
0,63197
2,91375
2,36022
0,078067
Số lớn nhất theo mô đun của năm cột đầu của C (2) không kể đến hàng 1
và hàng 4 bằng 2,79052 (hàng 3 cột 5 ). Chia hàng 3 của C (2) cho 2,79052, rồi
nhân kết quả đó với 0,141264; − 2, 23457; 0,682156 lần lượt cộng vào các
hàng 1; 2; 4 của C (2) ta được C (3) .