Khi số các phương trình lớn các phương pháp truyền thống nhiều khi gặp khó khăn, chúng ta không thể giải quyết một cách chính xác mà chỉ có thể đưa ra lời giải gần đúng cho một bài toán.
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
Trang 2TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI 2
TS NGUYỄN VĂN HÙNG
HÀ NỘI, 2012
Trang 3Vì đây là lần đầu tiên em được làm quen với công việc nghiên cứu và kiến thức của bản thân còn hạn chế nên không thể tránh khỏi những thiếu sót
Em rất mong sự đóng góp ý kiến của các thầy cô và các bạn sinh viên để khóa luận của em được hoàn thiện hơn
Em xin trân thành cảm ơn!
Hà Nội, tháng 5 năm 2012 Sinh viên
Nguyễn Thị Huệ
Trang 4Lời cam đoan
Em xin cam đoan khóa luận là công trình nghiên cứu của riêng em Trong khi nghiên cứu, em đã kế thừa những thành quả nghiên cứu của các nhà khoa học, nhà nghiên cứu với sự trân trọng và biết ơn
Những kết quả nêu trong khóa luận chưa được công bố trên bất kì công trình nào khác
Hà Nội, tháng 5 năm 2012
Sinh viên
Nguyễn Thị Huệ
Trang 5Mục lục
Lời cảm ơn………1
Lời cam đoan………2
Mở đầu……… 4
Nội dung Chương 1: Một số kiến thức cơ bản……….6
1.1 Số gần đúng và sai số……… 6
1.2 Chữ số có nghĩa, chữ số chắc……… 8
1.3 Sai số tính toán……… ……….… 9
1.4 Bài toán ngược của bài toán tham số……… 12
Chương 2: Lý thuyết về hệ phương trình tuyến tính……… 13
2.1 Các dạng biểu diễn hệ phương trình tuyến tính………13
2.2 Một số khái niệm……… 14
2.3 Nghiệm và điều kiện tồn tại nghiệm……… ………….14
2.4 Hệ n phương trình n ẩn………15
2.5 Phân tích sai số……….17
2.6 Chuẩn của ma trận và chuẩn củavec tơ………19
Chương 3: Một số phương pháp giải hệ phương trình tuyến tính……… ….20
3.1 Phương pháp trực tiếp giải hệ phương trình tuyến tính………20
3.1.1 Phương pháp Gauss……… 20
3.1.2 Phương pháp Cholesky……….27
3.1.3 Phương pháp trực giao hóa……… 31
3.2 Phương pháp gián tiếp giải hệ phương trình tuyến tính… ………… 34
3.2.1 Phương pháp lặp đơn……… …… 34
3.2.2 Phương pháp Jacobi……… 40
3.2.3 Phương pháp Seidel……… 42
3.2.4 Phương pháp Gauss-Seidel……… …….45
Chương 4: Bài tập áp dụng……… 48
Kết luận……… ………63
Tài liệu tham khảo……… 64
Trang 6MỞ ĐẦU
1 Lí do chọn đề tài
Các bài toán ứng dụng trong kinh tế kĩ thuật thường là không đẹp và không thể giải theo các phương pháp tính đúng Người ta cần các phương pháp giải có tính chất thuật giải và nếu các kết quả là gần đúng thì sai số phải
“đủ nhỏ” (thường là hội tụ về 0) Cho dù các phương pháp đó đòi hỏi lượng phép tính lớn, thì với máy tính bài toán dễ dàng được giải quyết Một trong các ngành học nghiên cứu các phương pháp như trên là giải tích số
Phương pháp giải tích số có ý nghĩa rất lớn trong đại số tuyến tính, đặc biệt là đối với việc giải hệ phương trình tuyến tính Khi số các phương trình lớn các phương pháp truyền thống nhiều khi gặp khó khăn, chúng ta không thể giải quyết một cách chính xác mà chỉ có thể đưa ra lời giải gần đúng cho
một bài toán Chính vì vậy em đã chọn đề tài “ Hệ phương trình tuyến tính”
với nội dung chủ yếu là tìm những phương pháp giải gần đúng hệ n phương trình tuyến tính n ẩn để làm khóa luận tốt nghiệp
2 Mục đích nghiên cứu
- Tìm hiểu các kiến thức về hệ phương trình tuyến tính
-Làm rõ các phương pháp giải gần đúng hệ phương trình tuyến tính
3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu: kiến thức về hệ phương trình tuyến tính
Phạm vi nghiên cứu: kiến thức cơ bản về sai số; phương pháp giải trực tiếp; gián tiếp hệ phương trình tuyến tính
4 Nhiệm vụ nghiên cứu
- Trình bày lý thuyết cơ bản về hệ phương trình tuyến tính
- Đề xuất các phương pháp giải gần đúng hệ phương trình tuyến tính
Trang 75 Phương pháp nghiên cứu
Nghiên cứu sử dụng các lí luận, các công cụ toán học
Nghiên cứu sách tham khảo, các tài liệu liên quan
Nghiên cứu lí luận, tổng hợp, đánh giá
6 Cấu trúc của khóa luận
Gồm 3 phần:
Phần I: Mở đầu
Phần II: Nội dung
Gồm 4 chương
Chương 1: Một số kiến thức cơ bản
Chương 2: Lý thuyết về hệ phương trình tuyến tính
Chương 3: Các phương pháp giải hệ phương trình tuyến tính
Chương 4: Bài tập áp dụng
Trang 8 sao cho a*a a (1.1) hay a a a* a a
Số thỏa mãn (1.1) được gọi là sai số tuyệt đối của a a
*
3.14 a 3.142; a 0.002Trong phép đo nói chung sai số tuyệt đối càng nhỏ càng tốt
Ví dụ 1.1.2 Đo độ dài hai đoạn thẳng AB, CD ta được a10cmvà b1cm; với a b 0.01 Khi đó ta có a 0,1% còn b 1% hay
Trang 9 Thu gọn a là vứt bỏ một số các chữ số bên phải của a để được số
ngắn gọn hơn nhưng vẫn đảm bảo độ chính xác cần thiết
Trang 10 Giả sử sai số thu gọn của a là a Ta có a a a
Chọn 0.5 thì a có ba chữ số chắc là 1; 7; 0 còn 1; 3; 4 là ba chữ
số không chắc
Ta xét việc chọn Giả sử a được viết dưới dạng :
Trang 11Trong thực tế người ta chọn = 1 hoặc = 0.5
Nếu = 1 người ta nói chữ số là chắc theo nghĩa rộng, còn khi = 0.5 người ta nói chữ số là chắc theo nghĩa hẹp
Lưu ý: Khi viết số gần đúng ta chỉ nên giữ lại một hai chữ số không
chắc để khi tính toán sai số sai số chỉ tác động lên những chữ số không chắc
mà thôi
1.3 Sai số tính toán
Giả sử ta phải tính đại lượng y theo công thức y ( ; ; ; )f x x1 2 x n Gọi x* ( ; ; ; ) x x1* *2 x*n ; y* f x( )* là các giá trị đúng Giả sử ta không biết các giá trị đúng này, mà ta chỉ biết các giá trị x ( ; ; ; )x x1 2 x n ; ( )
y f x lần lượt là các giá trị gần đúng của *
x và y* Giả sử ; x i x i (với i 1,n) là các sai số tuyệt đối và tương đối của các đối số Khi đó sai số của hàm y ( ; ; ; )f x x1 2 x n được gọi là sai số
Trang 12Với x ( ; ; ; )x x1 2 x n là điểm giữa x và *
phép tính sẽ kém chính xác Ta khắc phục bằng cách tránh công thức đưa đến hiệu của hai số gần nhau
1.3.2 Sai số của phép toán nhân, chia
Sai số của phép nhân
Giả sử y x x1 2 x n
Ta có y x1.x2 x n
ln y ln x ln x ln x n
Trang 13 Sai số của phép chia
2
x y
(phép khai căn) thì độ chính xác tăng lên
1.3.4 Sai số của phép tính logarit
Trang 141.4 Bài toán ngược của bài toán tham số
Giả sử đại lượng y được tính theo công thức y ( ; ; ; )f x x1 2 x n Cần tính để x i y ; 0 cho trước Theo công thức tính toán ta phải có :
Chương 2: Lý thuyết về hệ phương trình tuyến tính
2.1 Các dạng biểu diễn hệ phương trình tuyến tính
2.1.1 Dạng tổng quát
Xét hệ m phương trình bậc nhất đối với n ẩn x x1; ; ; ; 2 x3 x n
Trang 151 2 3
( , , , , )T
n n
x x
Trang 16Khi đó hệ một có thể viết dưới dạng một phương trình vectơ:
Không thuần nhất nếu có ít nhất một b i 0 (i 1,m)
Tương thích nếu hệ có ít nhất một nghiệm, tức là tồn tại một bộ giá trị của x x1; ; ; ; 2 x3 x mà khi thay vào sẽ có một đồng nhất thức n
Hệ không tương thích nếu không có một nghiệm nào
Hệ xác định nếu hệ chỉ có một nghiệm duy nhất
Hệ bất định nếu tồn tại quá một nghiệm
2.3 Nghiệm và điều kiện tồn tại nghiệm
2.3.1 Nghiệm
Một vectơ n chiều x c c1; ; ; ; 2 c3 c n được gọi là nghiệm của hệ (2.1.1) nếu ta thay các ẩn x bởi các số j c , ( j j 1,n) vào tất cả các phương trình của hệ ta được các đẳng thức đúng
Hai hệ phương trình tương đương nếu chúng có cùng tập nghiệm
Trang 17() Giả sử hệ có nghiệm c c1; ; ; ; 2 c3 c Khi đó : n
n
x x x
n
b b b
Trang 182.4.2 Định lí về sự tồn tại và duy nhất nghiệm
Gọi det(A ) là định thức suy ra từ định thức det( A ) bằng cách thay cột j
thứ j bởi vế phải
Nếu det( A ) = 0 ta nói ma trận A suy biến và hệ (2.2.1) suy biến Khi
đó hệ phương trình vô nghiệm hoặc vô số nghiệm
Định nghĩa : Hệ (2.4.1.1) gọi là hệ Cramer nếu det( A ) ≠ 0 ( ma trận A
không suy biến ) Khi đó sẽ tồn tại ma trận nghịch đảo 1
Định lý :(Cramer) Hệ Cramer có nghiệm duy nhất cho bởi công thức:
detdet
1, ,
j j
A x
det
n n
1, ,
j j
A x
Trang 192.4.3 Biện luận về số nghiệm
Cho hệ phương trình (2.4.1.1) với ma trận hệ số A và ma trận mở rộng A
Nếu rank( A ) ≠ rank( A) thì hệ vô nghiệm
Nếu rank( A ) = rank( A) = r thì có 2 trường hợp r = n và r < n:
1.Trường hợp r = n thì hệ có nghiệm duy nhất
2.Trường hợp r < n thì hệ có vô số nghiệm
2.5 Phân tích sai số
2.5.1 Số điều kiện của ma trận
Giả sử x là một chuẩn nào đó của vectơ n
được gọi là số điều kiện của ma trận A
và đại lượng đó kí hiệu là cond A( )
Ma trận A được gọi là ma trận điều kiện xấu nếu cond A là khá lớn; ( )( )
A A A 1
3 c 0 cond cA( ) cond A( )
Trang 204 Nếu D = diag d i n i1 thì cond (D) = ax
min
i i
d
2.5.2 Phân tích sai số
Giả sử x là nghiệm của hệ phương trình Ax = b (2.4.1.2)
x là nghiệm của phương trình x A x( x) b x
kiện xấu thì nghiệm của nó thay đổi nhiều so với những thay đổi nhỏ ở hệ số
và số hạng tự do Như vậy, vấn đề giải hệ phương trình tuyến tính bằng số với
ma trận điều kiện xấu và vế phải cho gần đúng là một bài toán khó của toán học tính toán
2.6 Chuẩn của ma trận và chuẩn của vectơ
Trang 21 Chuẩn của vectơ
Vectơ là ma trận chỉ có một cột nên chuẩn của vectơ là:
1
n i i
Chương 3: Một số phương pháp giải hệ phương trình tuyến tính
Nhiều vấn đề của khoa học kĩ thuật, kinh tế môi trường quy về việc giải
hệ phương trình tuyến tính (2.4.1.2) Ax = b Về phương diện lí thuyết hệ có thể giải được trọn vẹn nhờ lí thuyết ma trận và định thức Tuy nhiên trong trường hợp ma trận A không suy biến, nếu giải hệ bằng phương pháp Cramer thì số phép tính rất lớn Nhằm khắc phục hạn chế đó, trong chương này chúng
ta xét một số phương pháp thực tế giải hệ phương trình (2.4.1.2) với đặc điểm chung là khối lượng tính toán được giảm nhẹ
3.1 Phương pháp trực tiếp giải hệ phương trình tuyến tính
Trang 22( )
n
n n
b b b
của ma trận b ở bước biến đổi thứ k
Hệ phương trình tương đương với:
Bước 1: Giả sử a11 0 chia dòng 1 cho a ( 11 a là phần tử trụ) 11
Hệ đã cho tương đương với
n n
a a
Trang 23Hệ đã cho tương đương với:
22
j j
a a
a
;
(1) ( 2) 2
2 (1)
22
b b
a
( j 1, n) Tiếp tục thực hiện như trên cho đến khi đưa được ma trận hệ số về một
ma trận tam giác trên Hệ đã cho tương đương với:
(1) (1) (1) (1)
( 2) ( 2) ( 2)
(3) (3)
Trang 24Trong trường hợp không sử dụng máy tính để giải, để hạn chế sai sót ta
có thể lập bảng (sơ đồ Gauss) để ghi lại quá trình tính toán
Để đơn giản ta xét hệ 3 phương trình 3 ẩn số:
Trang 25 Với phương pháp Gauss được trình bày ở trên
- Phương pháp Gauss là phương pháp giải đúng, nhưng thực tế vẫn xảy ra sai số quy tròn Hơn nữa các tính toán trên máy tính chỉ là gần đúng Sai số sẽ lớn khi phần tử trụ có trị tuyệt đối nhỏ
- Không thực hiện được nếu ở bước k phần tử a kk 0
Cải tiến phương pháp Gauss ở trên bằng cách: Ở bước k ta chọn
phần tử làm trụ có trị tuyệt đối lớn nhất để giảm sai số tính toán
Ta tìm dòng r :a rk ax m a ik ; i ,k n
Hoán vị dòng r với dòng k , sau đó mới thực hiện chia dòng k cho a kk
Khử x trong các phương trình còn lại ( k k ,1 k , …) 2
Trang 27Ta có thể sử dụng phương pháp Gauss như đã trình bày để tính
Nội dung của phương pháp
Biến đổi ma trận A về ma trận tam giác có dạng
Trang 283.1.2.1 Nội dung phương pháp
Giả sử ma trận A có thể biểu diễn dưới dạng AB C Trong đó
11
21 22
1 2
0 0 0
Trang 29n n
i j
ik kj k
; i j, 1,n (3.1.2.1.1) Xét các trường hợp cụ thể của (3.1.2.1.1):
B Bvà đồng nhất T
A B B Ta có:
Trang 30B với ma trận B dạng tam giác trên Dùng phép thế ngược ta tìm được nghiệm của hệ (2.4.1.2)
Tìm ma trận B theo công thức:
1 1
11
j j
a b
b
j 1
1 2 1
i
ki kj k ii
11
b y
b
;
1 1
i i ki k
k ii
nn
y x
b
3.1.2.2 Nhận xét
Thuật toán áp dụng cho cả trường hợp cijlà những số thuần ảo
Phương pháp Cholesky thường áp dụng cho hệ chuẩn tắc nhận được khi xử lí số liệu bằng phương pháp bình phương tối thiểu Khi đó ma trận A của hệ là đối xứng, xác định dương và hệ Ax = b được giải duy nhất
Trang 31 Khối lượng tính toán:
b
14 14
11
1
a b
b
; b22 a22 b122 5 2 2 1;
23 12 13 23
22
0 2 0.5
11
Trang 32
34 13 14 23 24 34
33
7.5 0.5 1 1 4
31
3.1.3 Phương pháp trực giao hóa
3.1.3.1 Nội dung phương pháp
Xét hệ (2.4.1.2.) Ax = b với ma trận A không suy biến
Trang 33, ,, 2, 3, , 1
k
k k i i i
i k k
0
n
j j
Trang 34v không còn trực giao nữa
Khối lượng tính toán :
;v1theo công thức (3.1.3.1) tính ta được:
Trang 35Kết luận : Hệ phương trình có nghiệm là x 6; 2; 1 T
3.2 Phương pháp gián tiếp giải hệ phương trình tuyến tính
3.2.1 Phương pháp lặp đơn
3.2.1.1 Nội dung phương pháp
Biến đổi hệ về dạng tương đương x Bx g (3.2.1.1) Bắt đầu với ( 0)
x nào đó, nếu dãy x(n1) Bx( )n g
hội tụ về *
x khi n thì *
Trang 36Theo giả thiết q = B 1 Tlà ánh xạ co
Theo nguyên lý ánh xạ co thì T có điểm bất động duy nhất x x(*)
R thì 1; 2; là tương đương nhau
Trang 37Khi đó luôn có thể đưa được hệ phương trình (2.4.1.2) về dạng
x Bx g với điều kiện B < 1
Chứng minh
Giả sử điều kiện a được thỏa mãn khi đó ta viết lại hệ ở dạng
ij 1
( ) 1,
n nn
b a b a g
b a
Trang 38ij 1
n
b b b
Trang 40Vậy x(8) là nghiệm gần đúng của phương trình x Bx g
Kết luận: Hệ phương trình có nghiệm gần đúng:
1 (2 AX )
X X E , k 0 (3.2.1.3) Nếu ta kí hiệu Y k ( E AX )k , k 0thì
Từ ước lượng ở trên rút ra rằng : Nếu ma trận X được chọn đủ tốt 0
(thỏa mãn điều kiện E AX 0 1) thì dãy ma trận X n n xây dựng như
Trang 413.2.2.1 Nội dung phương pháp
Nếu A là ma trận đường chéo trội thì có thể đưa hệ phương trình (2.4.1.2) về dạng x Bx g với ma trận B sao cho B 1 theo định lí (3.2.1.1.1)
Tiếp tục áp dụng phương pháp lặp đơn để tính nghiệm ở các bước Với vectơ (0)
Trang 43= 0.0000476 0.00005
3.2.3 Phương pháp Seidel
3.2.3.1 Nội dung phương pháp
Giả sử ta có hệ (2.4.1.2) được đưa về dạng x Bx g
Phân tích B thành tổng hai ma trận tam giác B B1 B2 Phương trình được viết lại thành x B x1 B x2 g Chọn xấp xỉ ban đầu là ( 0)
x và tính được các xấp xỉ tiếp theo là : (1)
x ; ( 2)
x ; … ; (k 1)
x
Trong đó ( ) ( ) ( ) ( )
0
n n n
b B
Chứng minh
Trang 44Theo định lý (3.2.1.1.1) thì hệ phương trình (3.2.3.1) có nghiệm duy nhất (*)
Trang 45Tốc độ hội tụ của phương pháp Seidel
Giả sử sau k bước lặp ta tìm được nghiệm gần đúng 1 x(k1)
còn x(*) là nghiệm đúng của hệ (2.4.1.2) Khi đó ta có:
Phương pháp Seidel tiết kiệm bộ nhớ vì các thành phần vừa tính được
sử dụng ngay để tính các thành phần tiếp theo
Phương pháp Seidel hội tụ nếu B 1 1 hoặc B 2 1
Trang 46Chú ý: Nghiệm đúng của hệ là (*)
3, 2, 1 T
x từ đó ta thấy phương pháp Seidel hội tụ tương đối mạnh
3.2.4 Phương pháp lặp Gauss-Seidel
3.2.4.1 Nội dung phương pháp
Với ma trận A có tính chéo trội, ta thấy rằng các phần tử thứ icủa các vectơ nghiệm tại bước thứ k được tính qua các phần tử ở các vị trí khác
itrong bước k 1
Phương pháp Gauss-Seidel cải tiến phương pháp Jacobi bằng cách dùng ngay những kết quả vừa tính được cho các thành phần của nghiệm tại bước k để tính các thành phần khác tại bước k Chỉ có những thành phần nào
chưa được tính thì mới lấy ở bước k 1
ij 1,
j j i ii
Sự hội tụ của phương pháp Gauss-Seidel
Điều kiện hội tụ của phương pháp Gauss-Seidel cũng giống phương pháp lặp đơn và phương pháp Gauss-Seidel nói chung hội tụ nhanh hơn phương pháp lặp đơn