Bài giảng môn học Phương pháp số

pdf 22 trang vanle 2670
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng môn học Phương pháp số", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_mon_hoc_phuong_phap_so.pdf

Nội dung text: Bài giảng môn học Phương pháp số

  1. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 BÀI GIẢNG PHƯƠNG PHÁP SỐ Giới thiệu môn học Phương pháp số (Numerical methods) là một khoa học nghiên cứu cách giải gần đúng các phương trình và cách tính xấp xỉ các toán tử để đưa ra lời giải gần đúng cho các bài toán cho trước. Nói cách khác, phương pháp số xem xét cách giải các bài toán dựa trên dữ liệu số cho trước và đưa ra kết quả cũng bằng số. Phương pháp số đã có nhiều bước tiến mạnh mẽ trong khoảng nửa thế kỷ trở lại đây cùng với sự phát triển mạnh mẽ của Tin học. Ngày nay, phạm vi ứng dụng của Phương pháp số ngày càng được mở rộng, không chỉ trong Vật lý, Kinh tế, Tài chính mà trong cả Thủy lợi, đặc biệt là phục vụ cho tính toán công trình. Mục đích của môn học Phương pháp số trong chương trình đào tạo cho Khoa Công trình – Trường Đại học Thủy lợi là cung cấp cho sinh viên những khái niệm và kiến thức nền tảng của phương pháp số, một công cụ rất quan trọng cho công việc tính toán kết cấu công trình. Nội dung môn học gồm 5 chương Chương 1: Sai số và xấp xỉ Chương 2: Tính gần đúng nghiệm của một phương trình Chương 3: Tính gần đúng nghiệm của một hệ phương trình đại số tuyến tính Chương 4: Tính gần đúng đạo hàm và tích phân xác định Chương 5: Giải gần đúng phương trình vi phân thường và phương trình đạo hàm riêng Tài liệu chính thức: [1] Tạ Văn Đĩnh: Phương pháp tính dùng cho các trường Đại học kỹ thuật NXB giáo dục 1994 (Thư viện trường). [2] Lê Trọng Vinh: Giáo trình Giải tích số, Nhà xuất bản Khoa học kỹ thuật, 2007. Tài liệu tham khảo [1] B.S. Grewal Numerical Methods in Engineering & Science Khanna Publihishers, Second Preprint 2000 (Trung tâm tư liệu quốc gia). [2] Giải tích số; Trần Anh Bảo, Nguyễn Văn Khải, Phạm VănKiều, Ngô Xuân Sơn; NXB ĐHSP-2007. 1
  2. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 Chương 1(Buổi 1) SAI SỐ VÀ XẤP XỈ I. Một số khái niệm mở đầu I.1. Sai số tuyệt đối và sai số tương đối Nói chung, giá trị của các đại lượng dùng trong tính toán không được biết một cách chính xác, chẳng hạn giá trị của các đại lượng nhận được bằng phép đo, đếm Nói cách khác, trong tính toán chúng ta phải làm việc với các giá trị gần đúng. Định nghĩa I.1.1. Ta gọi là số gần đúng của ∗ nếu như không sai khác ∗ nhiều. Ký hiệu ≈ ∗. Định nghĩa I.1.2. Hiệu số 훥 = ∗ − gọi là sai số thực sự của số gần đúng . Nếu 훥 > 0 thì được gọi là số gần đúng thiếu, nếu 훥 0 thỏa mãn điều kiện | ∗ − | ≤ Δ (1) Định nghĩa I.1.3. Ta gọi 훥 thỏa mãn (1) là sai số tuyệt đối của số gần đúng . Từ (1) ta có − Δ ≤ ∗ ≤ + Δ (2) Một số gần đúng của số đúng ∗ với sai số tuyệt đối Δ được viết đơn giản là ∗ = ± Δ (3) Định nghĩa I.1.4. Cho số gần đúng của số đúng ∗ với sai số tuyệt đối 훥 và giả sử ∗ ≠ 0. Ta gọi sai số ∗ tương đối của số gần đúng a với số đúng là một số, ký hiệu là 훿 , được xác định bởi Δ 훿 = (4) | ∗| ∗ Tuy nhiên vì số đúng chưa biết, cho nên đại lượng 훿 xác định bởi (4) chỉ có ý nghĩa lý thuyết, để đảm bảo tương đối chính xác người ta thường tính toán 훿 theo công thức sau (với điều kiện ≠ 0) Δ 훿 = (5) | | Ví dụ I.1.1. Cho ∗ = , = 3.14. Do 3.14 < ∗ < 3.15 = 3.14 + 0.01 nên ta có thể lấy Δ = 0.01. Mặt khác 3.14 < ∗ < 3.142 = 3.14 + 0.002 nên có thể coi Δ = 0.002. v.v Tức là có thể có nhiều sai số cho phép lấy số gần đúng của số Ví dụ I.1.2. Xét hai đoạn thẳng AB có độ dài = 10 ± 0.01 và CD có độ dài = 1 ± 0.01 . Như vậy ta có Δ = Δ = 0.01 nhưng 0.01 0.01 훿 = = 10−3 , 훿 = = 10−2 10 1 Như vậy phép đo đoạn thẳng AB và CD cùng có sai số tuyệt đối như nhau nhưng sai số tương đối của nhỏ hơn sai số tương đối của , từ đó phép đo đoạn thẳng AB là chính xác hơn phép đo đoạn thẳng CD. Nhận xét: Sai số tuyệt đối và sai số tương đối không duy nhất. Độ chính xác của một phép đo phản ánh qua sai số tương đối. I.2. Phép làm tròn số và sai số của phép làm tròn số Trong mục này ta luôn qui ước các số được viết dưới dạng thập phân. Một số thập phân ≠ 0 có dạng tổng quát 2
  3. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 −1 −푠 = ±( 10 + −110 + ⋯ + −푠10 ) (6) Trong đó 푖, 푠 ∈ , ∈ 푍, 0 ≤ 푖 ≤ 9, > 0, với mỗi 푖 là một chữ số của , chỉ số 푖 xác định hàng của chữ số ấy. Nếu − 푠 ≥ 0 thì là số nguyên, nếu − 푠 = − ( > 0) thì số có phần lẻ gồm chữ số, nếu 푠 = +∞ thì là số thập phân vô hạn. Làm tròn số đến hàng thứ 푗 là bỏ đi các chữ số có hàng thứ k, với ≤ 푗 − 1 để được một số ̅ gọn hơn và gần đúng nhất với . Qui tắc làm tròn số Xét số ở dạng (6) và ta giữ lại đến hàng thứ 푗, phần bỏ đi được gọi là 휇, lúc đó 푗+1 푗 ̅ = ±( 10 + ⋯ + 푗+110 + ̅푗10 ) Với 1 푗 1 푗 푗 푛ế 0 ≤ 휇 < 10 ℎ표ặ 휇 = 10 à 푗 ℎẵ푛 ̅ = { 2 2 푗 1 1 + 1 푛ế 10푗 < 휇 < 10푗 ℎ표ặ 휇 = 10푗 à 푙ẻ 푗 2 2 푗 Sai số của phép làm tròn số ký hiệu là Γ được xác định bởi | − ̅| = Γ 1 Rõ ràng Γ ≤ 10푗. Dễ thấy | ∗ − ̅| ≤ | ∗ − | + | − ̅| ≤ Δ + Γ 2 Như vậy khi làm tròn số thì sai số tuyệt đối tăng thêm Γ . Ví dụ I.2.1. Xét = 314.149. Hãy thực hiện phép làm tròn số lần lượt đến hàng thứ −2, −1, 0, 1. Lời giải Ta có = 3.102 + 1.101 + 4.100 + 1.10−1 + 4.10−2 + 9.10−3. Làm tròn số lần lượt, ta thu được kết quả sau 314.15 = 3.102 + 1.101 + 4.100 + 1.10−1 + 5.10−2 314.2 = 3.102 + 1.101 + 4.100 + 2.10−1 314 = 3.102 + 1.101 + 4.100 310 = 3.102 + 1.101 Tuy nhiên để ý rằng nếu làm tròn ngay số đến hàng thứ −1 thì có kết quả là 314.1 không trùng với kết quả trên có được bằng cách làm tròn một cách lần lượt. I.3. Chữ số chắc Ta vẫn xét số viết dưới dạng thập phân (6), khi đó có Định nghĩa I.3.1: Chữ số 푗 trong biểu diễn dạng (6) được gọi là chắc nếu 1 Δ ≤ . 10푗 (7) 2 Ví dụ I.3.1: Cho = 65.8274 với Δ = 0.0043 thì các chữ số 6, 5, 8, 2 là các chữ số chắc, còn 7,4 là các chữ số không chắc. Nhận xét rằng nếu 푠 chắc thì tất cả các chữ số có nghĩa đứng ở bên trái nó cũng chắc và nếu 푠 không chắc thì tất cả các chữ số có nghĩa ở bên phải nó cũng không chắc. I.4. Cách viết số gần đúng Cách thứ nhất: Viết kèm theo sai số tuyệt đối ± Δ . Ví dụ ∗ = 3.98 ± 0.001 thì hiểu là số gần đúng của ∗ là 3.98 với sai số tuyệt đối là Δ = 0.001 Cách thứ hai: Viết kèm theo sai số tương đối ± δa. Ví dụ = 3.98 ± 1% thì hiểu là số gần đúng của là 3.98 với sai số tương đối là 훿 = 1% 3
  4. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 Cách thứ ba: Số gần đúng không được viết kèm theo sai số tuyệt đối cũng như sai số tương đối, khi đó cần hiểu là tất cả các chữ số của số gần đúng đều là chữ số chắc. Ví dụ = 2.718 thì chữ số 8 là chắc và hiển nhiên tất cả các chữ số đứng trước đều chắc, do đó Δ ≤ 10−3.  Cách thứ 3 thường được dùng trong các bảng số thông dụng như bảng logarit, bảng giá trị các hàm lượng giác, bảng giá trị các hàm số trong thống kê toán học II. Sai số II.1. Sai số của các số liệu ban đầu Trong quá trình giải các bài toán thực tế ta thường phải dùng các số liệu là kết quả của các phép đo lường, thí nghiệm Mà trong quá trình đó, các yếu tố như thể trạng, tâm lý của người phụ trách thí nghiệm đo, đếm số liệu, độ chính xác có hạn của thiết bị thí nghiệm và thiết bị đo, đếm, tác động của môi trường xung quanh như độ ẩm, áp suất, tốc độ gió tất cả đều có thể ảnh hưởng đến kết quả thí nghiệm. Để đơn giản vấn đề và cũng đảm bảo độ chính xác, bằng lý thuyết xác suất ta có kết luận sau: ∗ Để xác định một số liệu , người ta làm lần phép thử và thu được các kết quả tương ứng là 1, 2, . Khi đó có thể lấy + + ⋯ + = 1 2 Là giá trị gần đúng của ∗ với sai số tuyệt đối là 1 1 2 Δ = ( ∑( − )2) ( − 1) 푖 푖=1 II.2. Sai số tính toán II.2.1. Mở đầu Ta xét bài toán tổng quát sau:  Xét hàm số của hai biến số , : = ( , ) Giả sử là xấp xỉ của giá trị đúng ∗, là xấp xỉ của giá trị đúng ∗ và ta coi là xấp xỉ của giá trị đúng ∗ = ( ∗, ∗) Cho biết sai số về và , hãy lập công thức tính sai số về . Ta thấy nếu hàm khả vi liên tục thì ∗ ∗ ∗ ′ ∗ ′ ∗ Δ = | − | = | ( , ) − ( , )| ≤ | |. | − | + | |. | − | ′ ′ Với , là đạo hàm theo , tại điểm trung gian. Vì khả vi liên tục và Δ , Δ khá nhỏ nên ta có thể lấy ′ ′ Δ = | ( , )|. Δ + | ( , )|. Δ Do đó Δ 휕 휕 훿 = = | ln |. Δ + | ln |. Δ | | 휕 휕  Ngoài ta còn có kết quả đối với hàm n biến = ( 1, 2, , 푛) và ta có ′ ′ Δ = | 1( 1, , 푛)|. Δ 1 + ⋯ + | 푛( 1, , 푛)|. Δ 푛 Δ 휕 휕 훿 = = | ln |. Δ 1 + ⋯ + | ln |. Δ 푛 | | 휕 1 휕 푛 4
  5. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 II.2.2. Sai số của tổng ′ ′ Cho = + thì = = 1 nên Δ = Δ + Δ Ta có qui tắc Sai số tuyệt đối của một tổng bằng tổng của các sai số tuyệt đối của các số hạng Chú ý: Xét trường hợp = − với và cùng dấu. Lúc đó Δ Δ + Δ 훿 = = | | | − | Do đó nếu | − | rất bé thì sai số tương đối sẽ rất lớn. Do đó trong tính toán người ta thường tìm cách tránh phải trừ các số gần nhau. II.2.3. Sai số của tích ′ ′ Cho = . thì = , = nên Δ = | |. Δ + | |. Δ Và do đó Δ | |. Δ + | |. Δ Δ Δ 훿 = = = + | | | . | | | | | Tức là 훿 = 훿 + 훿 Vậy ta có qui tắc Sai số tương đối của một tích bằng tổng của các sai số tương đối của các thừa số trong tích II.3. Sai số phương pháp Khi giải gần đúng một bài toán phức tạp ta phải thay bài toán đã cho bằng một bài toán đơn giản hơn có thể giải được thông qua việc thực hiện các phép tính thông thường hoặc trên máy tính điện tử. Phương pháp thay bài toán phức tạp bởi bài toán đơn giản như thế gọi là phương pháp gần đúng. Sai số do phương pháp gần đúng tạo ra gọi là sai số phương pháp. Nhận xét: Khi giải bài toán đơn giản hơn ta phải thực hiện các phép tính thông thường, ta luôn luôn phải qui tròn các kết quả trung gian. Sai số tạo ra bởi tất cả các lần qui tròn như vậy gọi là sai số tính toán. Như vậy, khi giải một bài toán bằng phương pháp gần đúng thì sai số cuối cùng là tổng hợp của hai loại sai số phương pháp và sai số tính toán. Ví dụ1: 1 1 1 1 1 1 a. Tính tổng = − + − + − 13 23 33 43 53 63 b. Tính tổng 1 1 1 1 = − + − ⋯ + (−1)푛−1 + ⋯ 13 23 33 푛3 Với sai số tuyệt đối không vượt quá 5.10−3 Giải: 5
  6. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 a. là tổng của 6 phần tử. Ta có thể tính trực tiếp mà không phải thay nó bằng một tổng đơn giản hơn. Vì vậy ở đây không có sai số phương pháp. Để tính ta hãy thực hiện các phép chia đến ba chữ số lẻ thập phân và đánh giá các sai số qui tròn tương ứng 1 1 = = 1.000 với Δ = 0 13 1 1 1 1 = = 0.125 với Δ = 0 23 8 2 1 1 = = 0.037 với Δ = 1.10−4 33 27 3 1 1 = = 0.016 với Δ = 4.10−4 43 64 4 1 1 = = 0.008 với Δ = 0 53 125 5 1 1 = = 0.005 với Δ = 4.10−4 63 216 6 Vậy ≈ = 1.000 − 0.125 + 0.037 − 0.016 + 0.008 − 0.005 = 0.899 −4 | − | ≤ Δ1 + ⋯ + Δ6 = 9.10 Như thế = 0.899 là giá trị gần đúng của với sai số tính toán 9.10−4. b. Vế phải của là một chuỗi đan dấu hội tụ, nhưng là tổng vô hạn, nên ta không thể thực hiện phép cộng dồn tất cả các số hạng của chuỗi. Do đó để tính ta phải sử dụng một phương pháp gần đúng, cụ thể là thay bởi tổng của 푛 số hạng đầu 1 1 1 1 = − + − ⋯ + (−1)푛−1 푛 13 23 33 푛3 Bài toán tính 푛 đơn giản hơn bài toán tính . Lúc đó | − 푛| là sai số phương pháp, và số 푛 được chọn sao cho sai số phương pháp ấy cộng với sai số tính toán vẫn còn nhỏ hơn 5.10−3. Ta có 1 1 1 | − | = | − + ⋯ | < 푛 (푛 + 1)3 (푛 + 2)3 (푛 + 1)3 Với 푛 = 6 ta thấy 1 1 | − | < = < 3.10−3 6 73 343 −4 Chú ý rằng 6 = = 0.899 ± 9.10 Vậy có thể lấy ≈ 0.899 với sai số tuyệt đối −3 −4 −3 | − 0.899| ≤ | − 6| + | − 0.899| ≤ 3.10 + 9.10 < 4.10 Vậy = 0.899 ± 4.10−3 1 Ví dụ 2: Cho tổng 푆 = ∑∞ . Hãy tính tổng 푆 với sai số không vượt quá 10−2 . 푛=1 푛4 III. Bài toán ngược của sai số Giả sử rằng cần tính = ( 1, , 푛) với sai số Δ ≤ . Hãy xác định các Δ 푖. Theo biểu thức tổng quát của sai số tính toán, ta phải có 푛 휕 Δ = ∑ | | . Δ 푖 ≤ 휕 푖 푖=1 휕 Giả sử rằng | | . Δ 푖 = 표푛푠푡 , 푖 = 1 푛 (∗) 휕 푖 6
  7. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 Khi đó nếu Δ ≤ 푖 푛| ′ | 푖 Thì bất đẳng thức Δ ≤ được thỏa mãn. Điều kiện (*) thường được gọi là nguyên lý ảnh hưởng đều. Ví dụ: Một hình trụ có chiều cao ℎ = 3 , bán kính đáy 푅 = 2 , hỏi rằng lấy Δℎ, Δ푅, như thế nào thì thể tích của hình trụ được chính xác đến 0.1 3 Giải: Ta có = 푅2ℎ, nên 휕 휕 휕 = 푅2ℎ , = 2 푅ℎ , = 푅2 휕 휕푅 휕ℎ 0.1 0.1 0.1 Từ đó nếu ta lấy Δ = < 0.003 , Δ푅 = < 0.001 , Δℎ = < 0.003 3.4.4 3.6.2 3. .4 Thì yêu cầu bài toán được thỏa mãn. Lúc đó cần có 푅, ℎ với 3 chữ số chắc. Lấy số với 3 chữ số chắc thì = 37.7 3 chính xác đến 0.01 3 Chương 2(Buổi 2+3) TÍNH GẦN ĐÚNG NGHIỆM CỦA MỘT PHƯƠNG TRÌNH I. Mở đầu Tìm nghiệm của phương trình ( ) = 0 (1), trong đó ( ) là một hàm số đại số hoặc siêu việt bất kỳ, là một bài toán thường gặp trong kỹ thuật cũng như trong lý thuyết. Phương trình trên, trừ một vài trường hợp đặc biệt, chẳng hạn như phương trình đại số bậc 1, 2, 3, 4 có công thức tính nghiệm cụ thể, còn nói chung là không có một công thức tính đúng nghiệm. Mặt khác, các hệ số của ( ) trong nhiều trường hợp là những số gần đúng, cho nên vấn đề giải đúng (1) cũng không thật sự cần thiết. Vì vậy, việc tìm những phương pháp giải gần đúng phương trình đại số và siêu việt cũng như việc đánh giá độ chính xác của nghiệm gần đúng có một vai trò quan trọng. Trong chương này, chúng ta xét bài toán tính gần đúng nghiệm thực của phương trình (1) với giả thiết ( ) là hàm số thực xác định và liên tục trên một khoảng hữu hạn hoặc vô hạn nào đó. Việc tính giá trị gần đúng của nghiệm thực của (1) gồm hai bước sau: Bước 1: Tìm khoảng ( , ) đủ nhỏ sao cho phương trình (1) có nghiệm duy nhất ∗ ∈ ( , ). Bước này được gọi là tách nghiệm. Bước 2: Chính xác hóa nghiệm đến mức độ cần thiết theo một phương pháp giải gần đúng. Bước này được gọi là kiện toàn nghiệm. Cơ sở để tách nghiệm là những khẳng định sau, khá quen thuộc trong giải tích, mà phép chứng minh là đơn giản Định lý I.1. a. Giả sử ( ) là một hàm số liên tục trên đoạn [ , ] và ( ). ( ) ≤ 0. Khi đó tồn tại ít nhất một nghiệm ∗ ∈ ( , ) của phương trình (1). b. Nếu ( ) liên tục trên [ , ] và ( ). ( ) ≤ 0, hơn nữa, hàm số ( ) có đạo hàm ′( ) liên tục, không đổi dấu trên đoạn [ , ] thì nghiệm ∗ nói trên là duy nhất. Bước tách nghiệm thường được tiến hành bằng phương pháp chia đôi hoặc phương pháp hình học. Trường hợp ( ) là đa thức đại số, deg ( ) = 푛, khi đó phương trình (1) có không quá 푛 nghiệm, vì vậy nếu như có được 푛 + 1 điểm đổi dấu thì bước tách nghiệm là xong. 7
  8. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 Sau khi đã tách được nghiệm, thì công việc tiếp theo là kiện toàn nghiệm. Để thực hiện bước này, chúng ta có thể dùng một trong các phương pháp được mô tả ở các mục sau. II. Một số phương pháp giải gần đúng nghiệm của phương trình 풇(풙) = II.1. Phương pháp chia đôi II.1.1. Nội dung phương pháp + Giả sử phương trình ( ) = 0 có nghiệm duy nhất ∗ trên đoạn [ , ] và ( ). ( ) < 0. Bây giờ lấy = 2 và tính ( ), nếu ( ) = 0 thì có ngay ∗ = là nghiệm đúng của phương trình (1). Nếu ( ) ≠ 0, thì ta gọi [ 1, 1] là một trong hai đoạn [ , ], [ , ] mà ở đó ( 1). ( 1) < 0. Lại lấy 1 = + 1 1 và tính ( ), nếu ( ) = 0 thì quá trình kết thúc, ∗ = , nếu không ta lại tiếp tục quá trình này, và như vậy ta 2 1 1 1 ∗ có dãy đoạn [ 푛, 푛], 푛 ∈ . II.1.2. Sự hội tụ của phương pháp Nếu ta thực hiện liên tiếp thao tác chia đôi đoạn [ , ] như trên, thì hoặc là tại bước thứ 푛, ta có ( 푛) = 0, lúc ∗ đó = 푛 (trường hợp này ít xảy ra), hoặc là ta nhận được dãy vô hạn các đoạn nhỏ Δ푛 = [ 푛, 푛] đóng lồng nhau, 1 thắt lại với − = ( − ), ∀푛 ∈ ∗(2) 푛 푛 2푛 Theo cách dựng ta có ( 푛). ( 푛) < 0 (3) ∗ lim 푛 = lim 푛 = 푛→∞ 푛→∞ Hơn nữa khi 푛 → ∞ thì từ (3) có [ ( ∗)]2 ≤ 0, vậy ∗ là nghiệm của phương trình (1). II.1.3. Sai số Nói chung, khi dừng lại ở bước n thì ta có 1 − = ( − ) 푛 푛 2푛 Vậy ta có thể lấy nghiệm gần đúng là + = 푛 푛 2 Sai số mắc phải khi đó là 1 ( − ) 2푛+1 Nhận xét: Phương pháp chia đôi có ưu điểm là đơn giản, dễ lập trình trên máy tính tuy nhiên tốc độ hội tụ chậm. Ví dụ 1: Tính nghiệm gần đúng của phương trình sau nhờ phương pháp chia đôi trên [1, 2]: 3 − − 1 = 0 Giải: Gọi ( ) = 3 − − 1, áp dụng liên tiếp phương pháp chia đôi ta có kết quả ở bảng sau: 푛 + ( ) − 푛 푛 = 푛 푛 푛 푛 푛 푛 2 0 1 2 1.5 0.875 1 1 1 1.5 1.25 -0.29688 0.5 2 1.25 1.5 1.375 0.22461 0.25 3 1.25 1.375 1.3125 -0.05151 0.125 8
  9. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 4 1.3125 1.375 1.34375 0.08261 0.0625 5 1.3125 1.34375 1.32813 0.01458 0.03125 6 1.3125 1.32813 1.32032 0.01562 Dừng lại ở bước thứ 6, lấy nghiệm gần đúng là = 6 = 1.32032, sai số 0.008 Ví dụ 2: Giải gần đúng các nghiệm của phương trình sau trên ℝ bằng phương pháp chia đôi: 9 + − 10 = 0 tính đến lần lặp thứ 4 và đánh giá sai số mắc phải. II.2. Phương pháp lặp đơn II.2.1. Nội dung phương pháp Để giải phương trình (1), ta đưa nó về dạng = φ(x) (4) Với một xấp xỉ ban đầu 0 ∈ [ , ] cho trước, ta xây dựng dãy { 푛} nhờ hệ thức +1 = φ(xk), k ≥ 0 (5) ∗ Nếu dãy { 푛} hội tụ đến nghiệm của (5) thì ta nói rằng đã giải gần đúng phương trình (1) nhờ phương pháp lặp đơn. II.2.2. Sự hội tụ của phương pháp ∗ Định nghĩa II.2.2.1. Nếu dãy { 푛} hội tụ đến khi 푛 → ∞ thì ta nói phương pháp lặp (5) hội tụ ∗ Khi phương pháp lặp hội tụ thì 푛 càng gần nếu 푛 càng lớn. Cho nên ta có thể xem 푛 với 푛 xác định là giá ∗ ∗ trị gần đúng của . Nếu phương pháp lặp không hội tụ thì 푛 có thể rất xa . Vì vậy chỉ có phương pháp lặp hội tụ mới có giá trị. Đề kiểm tra xem một phương pháp lặp có hội tụ hay không ta có định lý sau: Định lý II.2.2.1. Giả sử 휑 ∈ 1[ , ] sao cho a. ∀ ∈ [ , ] |휑′( )| ≤ 푞 0 thì ta có thể chọn 0 ∈ [ , ] tùy ý. ′  Nếu 휑 ( ) < 0 thì phải chọn 0 theo qui tắc + = khi < ∗ < 0 2 9
  10. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 + = khi 0. Do đó ta có công thức đánh giá sai số 푞 | ∗ − | ≤ | − | 푛 1 − 푞 푛 푛−1 Ví dụ 1: Cho phương trình 3 + − 1000 = 0 a) Tính gần đúng tất cả các nghiệm của phương trình trên sao cho sai số không vượt quá 10−9 b) Tính gần đúng tất cả các nghiệm của phương trình trên đến lần lặp thứ 4 và đánh giá sai số mắc phải. c) Tính gần đúng tất cả các nghiệm sao cho nghiệm gần đúng có 7 chữ số chắc phần thập phân. Giải: *) Xét ( ) = 3 + − 1000 liên tục trên ℝ. Khi đó ′( ) = 3 2 + 1 > 0 với mọi ∈ ℝ cho nên nếu phương trình trên có nghiệm thì sẽ co nghiệm duy nhất trên ℝ. Dễ thấy (9). (10) < 0 nên phương trình có nghiệm duy nhất ∗ ∈ (9, 10). Có ít nhất là ba cách đưa phương trình về dạng (4) 3 Cách 1: = 휑1( ) = 1000 − 1000 1 Cách 2: = 휑 ( ) = − 2 2 3 Cách 3: = 휑3( ) = √1000 − Ta lần lượt xét từng trường hợp ′ 2 ′ 휑1( ) = −3 , max|휑1( )| = 300 ≫ 1 [9;10] 10
  11. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 ′ −3 −2 ′ ′ 휑2( ) = −2000 + |휑2(10)| = 2,01 ⇒ max|휑2( )| ≥ 2,01 > 1 [9;10] 2 ′ 1 − ′′ ′ ′ 1 휑3( ) = − (1000 − ) 3 , 휑3 ( ) < 0 푠 max|휑3( )| = |휑3(10)| = = 푞 < 1 3 [9;10] 3(990)2/3 Rõ ràng phép lặp (5) cho trường hợp 휑1, 휑2 là phân kỳ còn cho 휑3 hội tụ khá nhanh do 푞 khá nhỏ. ′ *) Lấy 0 = 10 푣ì 휑3( ) < 0 ọ푖 ∈ [9; 10] và (9.5) (10) < 0. 0 = 10 *) Công thức lặp (*) { 3 ∀푛 ≥ 0 푛+1 = √1000 − 푛 푞 a) Sai số | − ∗| ≤ | − |. Theo yêu cầu ta phải tìm sao cho 푛 1−푞 푛 푛−1 푛 1−푞 | − | ≤ 10−9 = 2.97 × 10−7 푛 푛−1 푞 Tính toán trên máy tính ta được bảng 푛 푛 | 푛 − 푛−1| 0 10 1 9.966554 0.033556 2 9.966667 1.13 × 10−4 3 9.9666668 2 × 10−7 ∗ Vậy ta có ≈ 3 = 9.9666668 b) Ta sẽ lập bảng tính toán dùng công thức lặp (*) và cho ra bảng kết quả dạng như ở câu a) và tính đến 푛 = 4 được 4 = 9.966666791 và có sai số mắc phải 푞 1 | − ∗| ≤ | − | ≤ × 9.5 × 10−9 = 3.2 × 10−11 4 1 − 푞 4 3 299 Ví dụ 2. Cho phương trình 9 + − 10 = 0 a) Tìm nghiệm gần đúng của nghiệm nhỏ nhất của phương trình trên theo phương pháp lặp đến lần lặp thứ 4 và đánh giá sai số mắc phải. b) Tìm nghiệm gần đúng của nghiệm nhỏ nhất của phương trình trên theo phương pháp lặp sao cho sai số không vượt quá 10−5. II.3. Phương pháp dây cung Tư tưởng của phương pháp dây cung là thay cung đồ thị của hàm = ( ) bởi dây cung rồi lấy hoành ∗ độ 1 của giao điểm 푃 của dây cung với trục hoành làm giá trị gần đúng của nghiệm . Ta minh họa phương pháp này bởi hình sau: 11
  12. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 y B a P b x x1 x* A Phương trình dây cung là − ( ) − = ( ) − ( ) − Tại giao điểm 푃 ta có = 0, = 1 nên có − ( ) − = 1 ( ) − ( ) − Từ đó suy ra ( ) = − ( − ) 1 ( ) − ( ) Sau khi tính được 1 ta có thế xét khoảng chứa nghiệm mới [ , 1] hoặc [ 1, ] rồi tiếp tục áp dụng phương ∗ pháp dây cung. Cứ thế tiếp tục ta sẽ được các giá trị 2, 3, ngày càng gần Tổng quát: Giả sử rằng hàm số = ( ) liên tục trên đoạn [ , ] và ( ). ( ) 0 trên [ , ] ( nếu như ′′( ) 0, ta xây dựng dãy { 푛} theo hệ thức 0 = { ( 푛) (6) 푛+1 = 푛 − ( 푛 − ) ( 푛) − ( ) ∗ Khi đó dãy { 푛} đơn điệu giảm, bị chặn dưới và hội tụ đến . Trường hợp 2.Nếu như ( ) < 0, ta xây dựng dãy { 푛} theo hệ thức 0 = { ( 푛) (7) 푛+1 = 푛 − ( − 푛) ( ) − ( 푛) ∗ Khi đó dãy { 푛} đơn điệu tăng, bị chặn trên và hội tụ đến . 12
  13. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 ′ Giả sử rằng hàm số = ( ) liên tục trên đoạn [ , ] và dãy { 푛} ⊂ [ , ], ( ) giữ nguyên một dấu và ngoài ra có 0 0 nên có ∗ ∈ (1; 1.5), *) Kiểm tra phương pháp: Có ′( ) = 3 2 − 0.4 − 0.2, ′′( ) = 6 − 0.4 > 0 trên [1, 1.5]. Vì (1) < 0 nên ta áp dụng (7) ta có công thức lặp: 0 = 1 0 = 1 { ( ) ⇔ { 3 − 0.2 2 − 0.2 − 1.2 = − 푛 (1.5 − ) 푛 푛 푛 ( ) 푛+1 푛 푛 푛+1 = 푛 − 3 2 1.5 − 푛 (1.5) − ( 푛) 2.625 − 푛 + 0.2 푛 + 0.2 푛 *) Sai số để hạn chế bước lặp: Ta có sai số − | − ∗| ≤ | − | 푛 푛 푛−1 Dễ có = | ′(1.5)| = 5.95; = | ′(1)| = 2.4 Như vậy để có được nghiệm ở mức chính xác 0.002 khi dừng ở bước thứ 푛 sao cho | − | ≤ 0.002 = 0.0071. 푛 푛−1 − *) Dùng công thức lặp và thao tác trên máy tính cầm tay ta có kết quả bởi bảng sau 푛 푛 | 푛 − 푛−1| 0 1 1 1.148148 0.148148 2 1.187557 0.039409 3 1.197073 9.10−3 4 1.199315 2.2 × 10−3 ∗ Ta thấy ở bước thứ 4 thì nghiệm đã thỏa mãn sai số, nên ≈ 4 = 1.199315. Ví dụ 2: Cho phương trình: 3 − cos + = 0 a) Hãy tìm nghiệm gần đúng của phương trình trên bằng phương pháp dây cung đến lần lặp thứ 4 và đánh giá sai số mắc phải. b) Hãy tìm nghiệm gần đúng của phương trình trên bằng phương pháp dây cung sao cho sai số không vượt quá 10−2. 13
  14. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 II.4. Phương pháp Newton (phương pháp tiếp tuyến) Tư tưởng của phương pháp Newton là thay cung đồ thị của hàm = ( ) bởi tiếp tuyến tại hoặc rồi ∗ lấy hoành độ 1 của giao điểm 푃 của tiếp tuyến với trục hoành làm giá trị gần đúng của nghiệm . Ta minh họa phương pháp này bởi hình sau: y B x a M P b A Cho 0 = , phương trình tiếp tuyến tại là ′ − ( 0) = ( 0)( − 0) Tại 푃 ta có = 1, = 0 ta có ′ − ( 0) = ( 0)( 1 − 0) Từ đó ( 0) 1 = 0 − ′ ( 0) Sau khi tính được 1 ta có thế xét khoảng chứa nghiệm mới [ , 1] hoặc [ 1, ] rồi tiếp tục áp dụng phương ∗ pháp tiếp tuyến. Cứ thế tiếp tục ta sẽ được các giá trị 2, 3, ngày càng gần Tổng quát: Với hàm ( ) thỏa mãn ′( ) ≠ 0, ′′( ) ≠ 0 và không đổi dấu trên [ , ]. Khi đó ta thiết lập dãy lặp ( 푛) 푛+1 = 푛 − ′ { ( 푛) (8) ′′ 0 chọn trước ∈ [ , ]sao cho ( 0). ( 0) > 0 Khi đó có thể chứng minh dãy lặp hội tụ đến nghiệm đúng và ta có ước lượng sai số sau: | ( )| | − ∗| ≤ 푛 푛 Với 0 < ≤ | ′( )|, ≤ ≤ Nhận xét: Nhìn công thức (8) ta thấy phương pháp Newton thuộc loại phương pháp lặp đơn với hàm lặp ( ) 휑( ) = − ′( ) 14
  15. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 Ví dụ 1: Tìm nghiệm dương nhỏ nhất của phương trình sau bằng phương pháp Newton (Phương pháp tiếp tuyến) đến mức sai số 10 7 30xe x . Giải: Xét f( x ) 3 x ex f'()3 x ex f '()0 x x ln3. Ta có bảng biến thiên X ln3 f’(x) + 0 + f(x) 3(ln3 1) 0 Vậy phương trình có nghiệm dương nhỏ nhất duy nhất trên khoảng ( ;ln3). f (0) 1 0  Ta có  phương trình có nghiệm dương nhỏ nhất duy nhât trên (0,1) . fe(1) 3 0 f'( x ) 3 ex 0,  x [0,1] Có vậy các điều kiện của phương pháp Newton thỏa mãn. f''( x ) ex 0,  x [0,1] *7fx()n x *8 Có xxn 10 với m min f '( x ) min 3 e 3 e . xxn 3.10 m [0,1] [0,1] x0 0 x 0 0 Có ff(0) ''(0) 1 0 , ta chọn fx() xn n 3xen xxnn 1 xx nn 1 xn fx'(n ) 3 e Ta có bảng 15
  16. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 n xn fx()n 0 0 -1 1 0.5 0.1487217 2 0.6100596 0.010362 3 0.6189968 7.10 5 4 0.6190612 10 8 * Vậy xx 4 0.6190612 . Ví dụ 2: Xét phương trình 4 − 3 2 + 75 − 10000 = 0. Hãy tính gần đúng nghiệm của phương trình đã cho trên (−11; −10) đến bước lặp thứ 3 và đánh giá sai số mắc phải. Giải: *) Đặt ( ) = 4 − 3 2 + 75 − 10000. Khi đó liên tục trên [−11; −10] và (−10) = −1050 0 nên ( ) = 0 có nghiệm ∗ ∈ (−11, −10). *) Kiểm tra điều kiện của phương pháp: ′( ) = 4 3 − 6 + 75 0 trên [−11, −10]. Với 0 = −11, áp dụng (8) ta có công thức lặp khi đó (viết rõ biểu thức lặp) rồi tình toán trên máy tính ta có bảng 푛 푛 | ( 푛)| 0 -11 3453 1 -10.3 134.3 2 -10.27 37.8 3 -10.261 0.149 ∗ ′ ′ *) Nghiệm gần đúng lần lặp thứ 3 là ≈ 3 = −10.261. Hơn nữa dễ có m = min| ( )| = | (−10)| = [−11;−10 ] | ( )| 3865. Như vậy sai số mắc phải là | ∗ − | ≤ 3 ≤ 4.10−5 3 Ví dụ 3 : Giải gần đúng nghiệm dương nhỏ nhất của phương trình sau theo phương pháp Newton với những yêu cầu như Ví dụ 2. 3 + 4 2 − 15 = 0 Chú ý: Xem hướng dẫn ấn máy tính giải nhanh các phương pháp giải gần đúng phương trình theo công thức lặp ở cuối bài giảng. 16
  17. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 Chương 3(Buổi 4) TÍNH GẦN ĐÚNG NGHIỆM CỦA MỘT HỆ PHƯƠNG TRÌNH ĐẠI SỐ TUYẾN TÍNH I. Mở đầu Nhiều vấn đề của khoa học, kỹ thuật, kinh tế, môi trường qui về việc giải hệ phương trình đại số tuyến tính 11 1 + 12 2 + ⋯ + 1푛 푛 = 1 + + ⋯ + = { 21 1 22 2 2푛 푛 2 (1) 푛1 1 + 푛2 2 + ⋯ + 푛푛 푛 = 푛 Đặt = ( ) là ma trận hệ số, ∈ 푅푛 là ma trận cột các hệ số tự do cho trước, ∈ 푅푛 là vectơ phải tìm, 푖푗 푛×푛 thì hệ (1) được viết ở dạng . = (2) Về phương diện lý thuyết, hệ (2) có thể giải được trọn vẹn nhờ lý thuyết ma trận và định thức. Tuy nhiên, với trường hợp ma trận không suy biến, nếu giải bằng phương pháp Cramer thì số phép tính là rất lớn, cỡ 푛! 푛2 phép tính nhân chia. 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 giải thực tế hệ phương trình (2) với đặc điểm chung là khối lương tính toán giảm nhẹ. Trong số các phương pháp đó chúng ta chia làm hai nhóm phương pháp lớn là nhóm phương pháp trực tiếp và nhóm phương pháp gián tiếp. Đặc điểm chung của nhóm phương pháp trực tiếp là sau một số hữu hạn phép tính sẽ có kết quả, vì vậy nhóm phương pháp này thường được áp dụng với một số bài toán có kích thước nhỏ, và các số liệu ban đầu là đúng. Tuy nhiên do phải thực hiện một số phép tính tương đối lớn nên có nguy cơ tích lũy sai số, nhất là đối với trường hợp các số liệu ban đầu không thật chính xác. Còn với nhóm phương pháp gián tiếp (phương pháp lặp) thường được áp dụng cho lớp các bài toán có kích thước lớn, số liệu ban đầu là có sai số. Ngoài nội dung chính là giải hệ phương trình đại số tuyến tính, trong chương này cũng nghiên cứu cách tính gần đúng của ma trận nghịch đảo. II. Phương pháp khử Gauss Tư tưởng của phương pháp khử Gauss là đưa hệ phương trình (2) về dạng tam giác trên, lúc đó nghiệm được tìm nhờ phương pháp thế ngược. Quá trình đưa hệ (2) về một hệ tương đương dạng tam giác được gọi là quá trình khử, được thực hiện bởi lược đồ sau đây: Ta chia phương trình thứ nhất cho 11 (nếu 11 = 0 thì ta có thể đổi chỗ các phương trình trong hệ để sao cho 11 ≠ 0). Sau đó lần lượt nhân phương trình đó với – 21, − 31, , − 푛1 và theo thứ tự, cộng vào phương trình thứ hai, thứ ba, thứ 푛. Bằng cách đó ta khử được 1 ra khỏi các phương trình của hệ từ phương trình thứ hai trở đi. Bước tiếp theo là ta khử 2 ra khỏi các phương trình từ thứ ba trở đi Sau một số hữu hạn bước, ta đưa được hệ (2) về dạng tam giác sau đây: 11 1 + 12 2 + ⋯ + 1푛 푛 = 1 + ⋯ + = { 22 2 2푛 푛 2 푛푛 푛 = 푛 ∗ ∗ ∗ 푛 Khi đó nghiệm = ( 1, 푛) ∈ 푅 tìm được nhờ phép thế ngược. Ví dụ: Giải hệ phương trình: 8 1 − 3 2 + 2 3 = 20 { 4 1 + 11 2 − 3 = 33 6 1 + 3 2 + 12 3 = 36 17
  18. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 Giải: Biến đổi ma trận hệ số ta được 3 1 5 8 −3 2 20 ℎ1 : 8 1 − = [4 11 −1 33] → [ 8 4 2 ] 4 11 −1 33 6 3 12 36 6 3 12 36 3 1 5 3 1 5 1 − 1 − 8 4 2 ( ) 8 4 2 ( ) −4 ×ℎ1 + ℎ2 −4 ×ℎ1 + ℎ3 25 → 25 → 0 −2 23 0 −2 23 2 2 21 21 [6 3 12 36] 0 21 [ 4 2 ] 3 1 5 3 1 5 1 − 1 − 25 8 4 2 21 8 4 2 ℎ ∶ (− )×ℎ + ℎ 2 2 4 46 4 2 3 4 46 → 0 1 − → 0 1 − 25 25 25 25 21 21 567 567 0 21 0 0 [ 4 2 ] [ 50 50 ] Như vậy hệ đã cho tương đương với hệ 3 1 5 1 − 2 + 3 = 8 4 2 4 46 − = 2 25 3 25 567 567 = { 50 3 50 Vậy hệ có nghiệm ∗ = (3, 2, 1) III. Các phương pháp lặp đơn III.1.1. Kiến thức chuẩn bị Phương pháp khử Gauss đã xét ở trên, mặc dù có số phép tính ít hơn quy tắc Cramer rất nhiều, cũng không hiệu quả trong trường hợp hệ cỡ lớn hoặc ma trận hệ số có nhiều số 0. Do đó trong mục này, chúng ta tiến hành nghiên cứu nhóm phương pháp hiệu quả hơn để giải gần đúng nghiệm của hệ phương trình đại số tuyến tính với độ chính xác tùy ý. Tất cả các phương pháp giải gần đúng hệ ĐSTT sẽ trình bày đều có chung một đặc điểm là xây dựng dãy lặp vectơ hội tụ tới nghiệm đúng. Trước hết chúng ta có các khái niệm sau: III.1.1.1. Giới hạn của dãy vectơ (k) (k) (k) (k) Cho n dãy số {x1 }, {x2 }, , {xn } với k N và xi là số hạng thứ k của dãy số thứ i. (k) (k) (k) (k) n Với mỗi k, đặt v = (x1 , x2 , , xn ) R , ta có dãy vectơ v(1), v(2), v(3), 18
  19. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 (k) Khi k , nếu mỗi thành phần thứ i của v có giới hạn là i, thì v = ( 1, 2, , n) được gọi là giới hạn của dãy {v(k)}, và ta cũng nói {v(k)} hội tụ tới v. 1 1 Ví dụ: Xét ba dãy { } ; { } ; { } 2 +1 2 1 1 1 Với mỗi , đặt 푣 = ( , , } thì ta được một dãy vectơ hội tụ đến 푣 = (0, , 0). 2 +1 2 2 III.1.1.1. Chuẩn của vec tơ và chuẩn của ma trận n Định nghĩa: Với v = (x1, x2, , xn) R , gọi max{|x|1, , |xn|} là chuẩn vô hạn của vectơ v, và ký hiệu ||v|| = max{|x|1, , |xn|}. Chuẩn vô hạn thỏa mãn ba tích chất sau: (i) ||v|| 0 với dấu "=" xảy ra khi và chỉ khi v = 0. (ii) ||cv|| = |c|||v|| đối với vô hướng c bất kỳ. (iii) ||v + w|| ||v|| + ||w|| (bất đẳng thức Tam giác) Nhờ khái niệm chuẩn vô hạn, ta có định lý về tiêu chuẩn hội tụ (k) (k) Định lý: {v } hội tụ tới v nếu và chỉ nếu ||v - v|| 0 khi k . Trong việc xác lập sự hội tụ của một dãy vectơ tới nghiệm đúng và đánh giá sai số của nghiệm xấp xỉ so với nghiệm đúng ta cũng cần đến khái niệm chuẩn của ma trận. Định nghĩa: Chuẩn vô hạn của ma trận thực B = (bij)n n, ký hiệu ||B|| , là số thực 푛 푛 푛 || || = max{∑| |, ∑| |, , ∑| |} ∞ 1푗 2푗 푛푗 푗=1 푗=1 푗=1 Ví dụ: 0 0.03 −0.02 = [ 0.02 0 0.04 ] −0.04 0.01 0 có ||B|| = max{0.05; 0.06; 0.05} = 0.06. III.1.2. Phương pháp lặp đơn III.1.2.1. Nội dung phương pháp Cho hệ Ax = b cỡ n n. Có nhiều cách để đưa hệ này về dạng x = Bx + g tương đương. Ví dụ, tách A = S - T, trong đó S khả nghịch, thì Ax = b Sx = Tx + b. Đặt B = S-1T, g = S-1b, ta có hệ x = Bx + g. Xây dựng dãy vectơ {v(k)}, như sau: Cho trước v(0) rồi tính v(k) theo công thức v(k+1) = Bv(k) + g (k = 0, 1, ). (1) (1) là công thức tính lặp, k 1 là số lần lặp. Phương pháp tính {v(k)} thế này là phương pháp lặp đơn. Nếu {v(k)} hội tụ thì ta nói phương pháp lặp đơn hội tụ. 19
  20. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 Giả sử {v(k)} v. Lấy giới hạn ở hai vế của v(k+1) = Bv(k) + g ta có v = Bv + g, v là nghiệm của x = Bx + g, tức cũng là nghiệm của Ax = b. Với  > 0 cho trước, nếu k đủ lớn ta luôn có (k) ||v - v|| . Khi đó ta nói v(k) là nghiệm xấp xỉ của nghiệm đúng với độ chính xác . Trong thực hành, ta bắt buộc phải dừng tính toán ở bước thứ k nào đó và xem v(k) là nghiệm gần đúng. Ví dụ 1: Xét hệ phương trình 10 1 + 2 2 + 3 = 10 1 = −0.2 2 − 0.1 3 + 1 { 1 + 10 2 + 2 3 = 12 ⇔ { 2 = −0.1 1 − 0.2 3 + 1.2 1 + 2 + 10 3 = 8 3 = −0.1 1 − 0.1 2 + 0.8 Hệ trên tương đương = + với 0 −0.2 −0.1 1 = [−0.1 0 −0.2] , = [1.2] −0.1 −0.1 0 0.8 (k+1) (k+1) (k+1) (k+1) (k) (k) (k) (k) (k+1) (k) Với v = (x1 , x2 , x3 ), v = (x1 , x2 , x3 ), xây dựng công thức tính lặp v = Bv + g, tức (k+1) (k) (k) x1 = -0.2x2 - 0.1x3 + 1 (k+1) (k) (k) x2 = -0.1x1 - 0.2x3 + 1.2 (k+1) (k) (k) x3 = -0.1x1 - 0.1x2 + 0.8 Với xấp xỉ ban đầu (0) = (0, 0, 0) ta thu được kết quả, thể hiện ở bảng sau: 1 2 3 1 1 1.2 0.8 2 0.68 0.94 0.58 3 0.754 1.016 0.638 4 0.733 0.997 0.623 5 0.7383 1.0021 0.6273 6 0.73688 1.00077 0.62596 7 0.737250 1.00112 0.626235 707 956 598 Có thể thấy nghiệm đúng của hệ này là ∗ = ( , , ) do đó nghiệm (7) tương đối chính xác. 955 955 955 III.1.2.2. Sự hội tụ của phương pháp và sai số của nghiệm xấp xỉ Phương pháp lặp đơn áp dụng cho x = Bx + g với B = (bij)n n (0) n (k) Định lý: Nếu ||B|| <1, thì với mọi v R cho trước dãy {v } xác định bởi v(k+1) = Bv(k) + g (k = 0, 1, ). đều hội tụ tới nghiệm duy nhất v của x = Bx + g. Hơn nữa, có đánh giá sai số 20
  21. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 1 ||푣( ) − 푣|| ≤ || || ||푣(1) − 푣(0)|| ∞ ∞ 1 − || || ∞ ∞ Nhận xét: 1) Với điều kiện của định lý, và với v(0) và  > 0 chọn trước, số lần lặp k để nghiệm xấp xỉ đạt độ chính (k) xác  (tức là ||v - v|| |ai1| + |ai2| + + |ai i-1|+ |ai i+1|++|ain| III.1.3. Phương pháp Gauss-Seidel III.1.3.1. Nội dung phương pháp Quay lại Ví dụ 1 trong phương pháp lặp đơn (k+1) (k+1) (k+1) (k+1) (k) (k) (k) (k) v = (x1 , x2 , x3 ) tính qua v = (x1 , x2 , x3 ) nhờ (k+1) (k) (k) x1 = -0.2x2 - 0.1x3 + 1 (k+1) (k) (k) x2 = -0.1x1 – 0.2x3 + 1.2 (k+1) (k) (k) x3 = -0.1x1 – 0.1x2 + 0.8 21
  22. Bài giảng Phương pháp số dành cho Khoa C-ĐH Thủy Lợi-Vũ Mạnh Tới 2012-2013 (k+1) (k+1) Cải tiến: Khi tính x2 sử dụng ngay x1 vừa tính được (k+1) (k+1) (k) x2 = -0.1x1 – 0.2x3 + 1.2 (k+1) (k+1) (k+1) Khi tính x3 sử dụng ngay x1 , x2 vừa tính được. (k+1) (k+1) (k+1) x3 = -0.1x1 - 0.1x2 + 0.8 Cụ thể: (k+1) (k+1) (k+1) (k+1) (k) (k) (k) (k) tính v = (x1 , x2 , x3 ) qua v = (x1 , x2 , x3 ) theo các công thức (k+1) (k) (k) x1 = -0.2x2 – 0.1x3 + 1 (k+1) (k+1) (k) x2 = -0.1x1 - 0.2x3 + 1.2 (k+1) (k+1) (k+1) x3 = -0.1x1 - 0.1x2 + 0.8 (0) (1) (1) (1) (1) Với v = (0, 0, 0), ta tính được v = (x1 , x2 , x3 ) với (1) x1 = -0.2(0) - 0.1(0) + 1 = 1 (1) x2 = -0.1(1) - 0.2(0) + 1.2 = 1.1 (1) x3 = -0.1(1) - 0.1(1.1) + 0.8 = 0.59 v(1) = (1, 1.1, 0.59) Cách làm này được gọi là phương pháp Gauss-Seidel (một biến dạng của phương pháp lặp đơn). Tư tưởng chính của phương pháp Seidel là các thành phần vừa tính được của v(k+1) được sử dụng ngay để tính thành phần tiếp theo của nó. Ưu điểm của phương pháp Gauss-Seidel: * Tiết kiệm được bộ nhớ trong máy tính * Nói chung phương pháp Gauss Seidel hội tụ nhanh hơn phương pháp lặp đơn. III.1.3.2. Sự hội tụ của phương pháp Seidel và đánh giá sai số của nghiệm xấp xỉ Phương pháp Seidel áp dụng cho phương trình x = Bx + g với B = (bij)n n (0) n Định lý: Nếu ||B|| <1, thì với mọi v R phương pháp Gauss Seidel đều hội tụ tới nghiệm duy nhất v của x = Bx + g. Hơn nữa có đánh giá sai số 1 ||푣( ) − 푣|| ≤ 휇 ||푣(1) − 푣(0)|| ∞ 1 − 휇 ∞ Trong đó 훽푖 휇 = max với 훼푖 = | 푖1| + ⋯ + | 푖 푖−1|, 훽푖 = | 푖푖| + ⋯ + | 푖푛|. 1≤푖≤푛 1−훼푖 22