phương pháp lặp mới giải hệ phương trình tuyến tính lớn và thưa

61 1K 2
phương pháp lặp mới giải hệ phương trình tuyến tính lớn và thưa

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC KHOA HỌC ĐẶNG ANH TÚ PHƢƠNG PHÁP LẶP MỚI GIẢI HỆ PHƢƠNG TRÌNH TUYẾN TÍNH LỚN VÀ THƢA LUẬN VĂN THẠC SỸ TOÁN HỌC THÁI NGUYÊN - 2014 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC KHOA HỌC ĐẶNG ANH TÚ PHƢƠNG PHÁP LẶP MỚI GIẢI HỆ PHƢƠNG TRÌNH TUYẾN TÍNH LỚN VÀ THƢA Chuyên ngành: TOÁN ỨNG DỤNG Mã số: 60.46.01.12 LUẬN VĂN THẠC SỸ TOÁN HỌC NGƢỜI HƢỚNG DẪN KHOA HỌC TS. Lê Thanh Huệ THÁI NGUYÊN - 2014 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ MỤC LỤC MỞ ĐẦU 1 1.Lý do chọn đề tài. 1 2.Mục đích của đề tài. 2 3. Phạm vi nghiên cứu. 2 4. Nội dung nghiên cứu của đề tài 3 5. Phƣơng pháp nghiên cứu. 3 6. Bố cục của đề tài. 3 CHƢƠNG I: CÁC PHƢƠNG PHÁP GIẢI HỆ PHƢƠNG TRÌNH TUYẾN TÍNH 5 I.1 Hệ phƣơng trình tuyến tính. 5 I.1.1 Hệ phƣơng trình tuyến tính tổng quát. 5 I.1.2 Nghiệm của hệ phƣơng trình tuyến tính. 6 I.1.3 Các hệ phƣơng trình tƣơng đƣơng 6 I.1.4 Các dạng ma trận, dạng véctơ của hệ phƣơng trình tuyến tính. 7 I.2. Phƣơng pháp tìm nghiệm của hệ phƣơng trình tuyến tính. 8 CHƢƠNG II : PHƢƠNG PHÁP LẶP 12 II.1 Các phƣơng pháp giải trực tiếp. 12 II.1 Sự thay đổi thuật toán trong tính toán cỡ lớn. 12 II.2. Những khó khăn của các phương pháp giải trực tiếp. 13 II.2.1 Phương pháp khử Gauss. 13 II.2.2. Phương pháp nhân tử hóa Cholesky 14 II.2.3 Vấn đề Fill – in ( suy giảm độ thưa ) 15 II.2.4. Vấn đề truy cập đối với ma trận 18 II. 3. Các phƣơng pháp lặp cơ bản 18 II.3.1 Tách ma trận. 19 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ II. 3.2 Phép lặp Jacobi 22 II.3.3 Phép lặp Gauss-Seidel. 24 II.4. Phƣơng pháp nới lỏng 25 II.4.1 Phương pháp trên – nới lỏng liên tiếp 25 II.5. Các phƣơng pháp lặp dựa trên phép chiếu 26 II.5.1 phép chiếu song song 26 II.5.2 Phương pháp chiếu Kaczmarz 27 II.5.3 Phương pháp chiếu đồng thời của Cimmino 30 CHƢƠNG III. PHƢƠNG PHÁP LẶP MỚI TÌM NGHIỆM HỆ PHƢƠNG TRÌNH TUYẾN TÍNH 33 III.1. Phƣơng pháp lặp cho hệ phƣơng trình tuyến tính 33 III.2. Phát biểu bài toán. 35 III.3 Cơ sở lý thuyết của thuật toán 36 III.4. Mô tả thuật toán. 41 III.5. Tính toán thử nghiệm. 43 Kết luận. 45 TÀI LIỆU THAM KHẢO 47 PHỤ LỤC 49 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ MỘT SỐ CÁC KÝ HIỆU VÀ ĐỊNH NGHĨA Cho n  là không gian Euclid. Ta sử dụng các ký hiệu và khác niệm: n x  là véc tơ cột, T x là véc tơ hàng. Với 12 , , , n n x x x x  , chuẩn của véc tơx, ký hiệu là x đƣợc định nghĩa bởi: 2 2 2 12 n x x x x Tích vô hƣớng của hai véc tơ 1 , n ii i x y x y , ở đây 1 2 1 2 , , , , , , , nn x x x x y y y y Ma trận A cấp mn 1 11 12 21 22 2 12 . . . n n mm mn a aa a a a A aa a Các ký hiệu det(A),A -1 , A T , R(A), N(A), r(A) lần lƣợt là định thức, nghịch đảo, chuyển vị, ảnh, hạch và hạng của ma trận A. Phép chiếu a. Định nghĩa phép chiếu: Giả sử cho trƣớc điểm n x  và tập lồi đóng C khác rỗng. Hình chiếu của x lên C, ký hiệu P C x xác định nhƣ sau: c P x C inf C yC x p x x y Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ b. Tính chất của phép chiếu: Phép chiếu xác định nhƣ trên có các tính chất quan trọng sau: i) C C C P P P ii) Tính chất duy nhất: điểm duy nhất P y đƣợc đặc trƣng bởi y PC và ,0C Py y Py iii) P là ánh xạ không dãn. Vài trƣờng hợp cụ thể: C là hình cầu đơn vị: :1C x X x . Khi đó P C x = x, nếu xC : / C P x x x , và trƣờng hợp khác. C là orthan không âm: :0C x X x . Khi đó P C x = x + . C là siêu phẳng: ;,C x X a x b , ở đây 0a và bR . Khi đó 2 , C a x b P x x a a C là không gian con: 1 , , n C span a a , ở đó a i là các véc tơ cột độc lập tuyến tính của ma trận A. Khi đó: 1 ** C P x A A A A x Các trƣờng hợp còn lại với 1 < m < n -1 là bài toán khó tƣơng đƣơng với việc giải một hệ đại số tuyến tính. Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ DANH MỤC HÌNH VẼ - BẢNG BIỂU Hình 1: Phép chiếu Kaczmarz trong không gian 2 chiều Hình 2: Mô tả ý tƣởng thuật toán Hình 3: Minh họa bài toán bổ trợ Bảng 1: Kết quả tính toán trên một vài bộ dữ liệu chuẩn. 1 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ MỞ ĐẦU 1.Lý do chọn đề tài. Trong suốt thời gian qua luôn luôn có cuộc cạnh tranh liên tục giữa các phƣơng pháp lặp và các phƣơng pháp giải trực tiếp các bài toán cỡ lớn xuất hiện trong thực tiễn. Ở một lớp bài toán này thì phƣơng pháp giải trực tiếp chiếm ƣu thế, ở một lớp bài toán khác, các phƣơng pháp lặp lại tỏ ra hiệu quả hơn. Có những bài toán do kích cỡ số liệu tƣởng chừng nhƣ chỉ có thể sử dụng các phƣơng pháp lặp, nhƣng rồi sự tiến bộ về khả năng tính toán và lƣu trữ vƣợt trội của máy tính đã cho phép các phƣơng pháp trực tiếp đua tranh. Nhu cầu tìm kiếm lời giải của hệ phƣơng trình tuyến tính nhƣ một công đoạn tính toán, xuất hiện rất thƣờng xuyên trong quá trình tìm lời giải cho nhiều bài toán lý thuyết và thực tiễn trong khoa học kỹ thuật, trong các công trình nghiên cứu khoa học, bài toán xử lý ảnh, bài toán tối ƣu trong kỹ thuật, trong kinh tế, … Bởi vậy, nghiên cứu cải tiến các phƣơng pháp giải hệ phƣơng trình tuyến tính lớn và thƣa xuất hiện trong các tính toán ứng dụng thực tế là một vấn đề quan trọng trong khoa học tính toán. Do đó việc tìm kiếm các thuật toán hữu hiệu giải các hệ tuyến tính đặc thù này thực sự là một yêu cầu cấp thiết. Về mặt lý thuyết thuần túy, việc giải hệ phƣơng trình tuyến tính là không khó. Tuy nhiên về mặt tính toán thực tiễn, việc thực hiện liên tục các phép tính với sự sai số, có thể biến một bài toán đơn giản thành một bài toán rất phức tạp nhiều khi là không thể thực hiện đƣợc. Phƣơng pháp truyền thống giải hệ phƣơng trình tuyến tính không suy biến là rất hoàn hảo về mặt lý thuyết. Song trong thực tế các bài toán trong các lĩnh vực 2 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ khoa học kỹ thuật, cũng nhƣ trong lĩnh vực kinh tế đòi hỏi ngày một cao và cả tính ổn định trong tính toán. Đặc biệt các phƣơng pháp trực tiếp áp dụng cho các hệ tuyến tính lớn và thƣa có thể dẫn đến các “fill-in” cao làm tràn bộ nhớ trong quá trình tính toán. Hơn nữa, ngày nay không có kỹ thuật hữu hiệu nào để tính “fill-in” cực tiểu. Gần đây, có một thuật toán xấp xỉ cho bài toán “fill-in” cực tiểu đã đƣợc đề xuất nhƣng chƣa rõ tính hiệu quả thực sự của nó. Mặt khác do sự tích lũy sai số trong quá trình tính toán nên các phƣơng pháp giải trực tiếp thƣờng kém ổn định. Trong các trƣờng hợp nhƣ vậy, phƣơng pháp lặp chiếm ƣu thế và đƣợc sự dụng rộng rãi hơn. Thông thƣờng thì các phƣơng pháp lặp tận dụng đƣợc tốt hơn tính thƣa và tính đƣờng chéo của ma trận đầu vào, cho phép bỏ qua các phần tử bằng 0 không cần thiết để giảm yêu cầu lƣu trữ ở bộ nhớ, nhằm tăng cƣờng khả năng tính toán cả về độ lớn và thời gian cho lớp các bài toán siêu kích cỡ và ma trận hệ số thƣa. Để giải quyết những yêu cầu trên, em đã tìm một hƣớng tiếp cận mới để giải hệ phƣơng trình tuyến tính cỡ lớn và sử dụng phƣơng pháp lặp. 2.Mục đích của đề tài. Nghiên cứu các thuật toán lặp và trên cơ sở đó đề xuất hƣớng tiếp cận thuật toán lặp mới giải hệ phƣơng trình tuyến tính cỡ lớn và thƣa. 3. Phạm vi nghiên cứu. Nghiên cứu phƣơng pháp lặp mới để giải hệ phƣơng trình tuyến tính lớn và thƣa. 3 Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 4. Nội dung nghiên cứu của đề tài - Tìm hiểu sự phát triển các phƣơng pháp lặp nhƣ: phƣơng pháp gradient liên hợp, Lanczos, phƣơng pháp lặp Krylov,…. - Nghiên cứu các phƣơng pháp chiếu trực giao liên tiếp của Cimmino, Kaczmarz, - Tiến hành xây dựng thuật toán chiếu lặp mới, ứng dụng cho việc tìm nghiệm hệ phƣơng trình tuyến tính cỡ lớn và các hệ gần thoái hóa. - Lập trình theo các modul của thuật toán đã xây dựng. - Tính toán chạy thử nghiệm trên các bộ dữ liệu chuẩn, đánh giá kết quả cụ thể. 5. Phƣơng pháp nghiên cứu. - Nghiên cứu các kiến thức cơ sở về hệ phƣơng trình tuyến tính - Nghiên cứu lý thuyết về các phƣơng pháp lặp. - Nghiên cứu lý thuyết về các phƣơng pháp chiếu liên tiếp - Nghiên cứu, xây dựng thuật toán lặp mới ứng dụng giải hệ tuyến tính lớn và thƣa. - Ngôn ngữ lập trình C/C++ trên môi trƣờng Windows. 6. Bố cục của đề tài. Luận văn đƣợc trình bày trong 50 trang, đƣợc chia làm 3 chƣơng: Chƣơng I: Các phƣơng pháp giải hệ phƣơng trình tuyến tính. Chƣơng II: Phƣơng pháp lặp. Chƣơng III: Phƣơng pháp lặp mới tìm nghiệm hệ phƣơng trình tuyến tính. Kết luận. [...]... xk , bi gọi là hệ số tự do, i 1, , m; k 1, n Hệ phƣơng trình (1.1) gọi là hệ phương trình tuyến tính tổng quát Đặc biệt nếu b1 bm 0 thì hệ (1.1) có dạng n aik xk 0, i 1, , m (1.2) k 1 Hệ phƣơng trình (1.2) đƣợc gọi là hệ phương trình tuyến tính thuần nhất Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 6 I.1.2 Nghiệm của hệ phƣơng trình tuyến tính Mỗi nghiệm của hệ phƣơng trình (1.1) là một... PHƢƠNG PHÁP GIẢI HỆ PHƢƠNG TRÌNH TUYẾN TÍNH I.1 Hệ phƣơng trình tuyến tính I.1.1 Hệ phƣơng trình tuyến tính tổng quát Hệ m phƣơng trình tuyến tính n ẩn x1, x2 , , xn hệ số thuộc không gian véc tơ  n là hệ có dạng: a11 x1 a12 x2 a1n xn b1 (1.1) ; am1 x1 am 2 x2 amn xn bm Hay có thể viết gọn hơn: n aik xk bi , i 1, , m k 1 Trong đó aik , bi là các phần tử thuộc không gian véc tơ  n ; aik gọi là hệ. .. đƣợc lặp lại với x và tạo nên xấp xỉ tốt hơn x … Quá trình lặp kết thúc khi đạt đƣợc độ chính xác mong muốn Các phƣơng pháp lặp là hữu hiệu nhất để giải các hệ cỡ lớn và thƣa 2 Số các phép toán cần thiết để giải hệ cỡ n n , bằng phƣơng pháp lặp tỉ lệ với n , 3 trong khi bằng phƣơng pháp trực tiếp Gauss thì tỷ lệ với n Vậy với n rất lớn, các phƣơng pháp lặp cung cấp một phƣơng pháp thực hành để giải. .. Các phƣơng pháp lặp đƣợc phát triển trong năm gần đây đã giải quyết khá tốt vấn đề fill-in cũng nhƣ vấn đề truy cập ma trận hệ số II 3 Các phƣơng pháp lặp cơ bản Trong mục chúng này ta nghiên cứu các phƣơng pháp lặp để giải hệ tuyến tính Ax b Các phƣơng pháp lặp bắt đầu với xấp xỉ đầu tiên x ( 0) của nghiệm và qua (1) một bƣớc lặp bắt đầu với bƣớc lặp cho phép xác định xấp xỉ x tốt hơn Quá trình Số... phƣơng trình của hệ (1.1) Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 7 b) Loại khỏi hệ (1.1) các phƣơng trình có các hệ số của các ẩn và hệ số tự do đều bằng 0 c) Nhân hai vế của một phƣơng trình với một phần tử k 0 d) Cộng hai vế của một phƣơng trình vào các vế của một phƣơng trình khác I.1.4 Các dạng ma trận, dạng véctơ của hệ phƣơng trình tuyến tính Tƣơng ứng với hệ phƣơng trình (1.1)... II : PHƢƠNG PHÁP LẶP II.1 Các phƣơng pháp giải trực tiếp II.1 Sự thay đổi thuật toán trong tính toán cỡ lớn Khi ma trận hệ số lớn và thƣa, phƣơng pháp Gauss thƣờng khó áp dụng đƣợc trong quá trình tính toán đòi hỏi không gian lƣu trữ và thời gian tính toán đƣợc tích lũy quá lớn Mặt khác nói đến “thƣa”là sự ƣu việt số lƣợng và vị trí các phần tử khác 0 Giả sử cho trƣớc ma trận A cỡ m n và véctơ x có... trận hệ số thƣờng bị tràn trong quá trình thao tác chi tiết với các hàng và các cột của ma trận Hai ví dụ nổi bật của phƣơng pháp trực tiếp đối với hệ số không đối xứng dƣơng là phƣơng pháp khử Gauss và phƣơng pháp nhân tử hóa Cholesky tƣơng ứng II.2.1 Phương pháp khử Gauss Là một cách tiếp cận trực tiếp điển hình đối với các hệ tuyến tính phi – Hecmit Giai đoạn đầu tiên của quá trình giải là tính. .. tính (1.1) I.2 Phƣơng pháp tìm nghiệm của hệ phƣơng trình tuyến tính Định lý 1.1 .Hệ phương trình tuyến tính (1.1) có nghiệm khi và chỉ khi hạng của ma trận A bằng hạng của ma trận mở rộng A Chứng minh: Điều kiện cần: Giả sử hệ phƣơng trình tuyến tính (1.1) có nghiệm là (c1 , c2 , , cn ) tức là : c c 1 1 Nhƣ vậy 2 2 c n n là một tổ hợp tuyến tính của hệ véc tơ Suy ra L( 1, 2 , , n , ) L( 1, 2 , , n 1... phƣơng pháp Conjugate Gradient ) Và ta chỉ ra nguyên nhân tại sao trong các tính Số hóa bởi Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 13 toán cỡ lớn, có sự thay đổi từ các phƣơng pháp trực tiếp Gauss sang các phƣơng pháp lặp II.2 Những khó khăn của các phương pháp giải trực tiếp Các phƣơng pháp giải trực tiếp tạo thành một trong hai lớp kỹ thuật để giải hệ phƣơng trình Ax b Trong những phƣơng pháp. .. 1, , n vào hệ (1.1) ta đƣợc m đẳng thức - Nếu hệ (1.1) có một nghiệm duy nhất thì gọi là hệ xác định - Nếu hệ (1.1) có nhiều nghiệm thì gọi là hệ không xác định - Nếu hệ (1.1) không có nghiệm thì gọi là hệ vô nghiệm Dễ thấy rằng véc tơ 0, ,0 luôn luôn là một nghiệm của hệ thuần nhất (1.2); nghiệm này đƣợc gọi là nghiệm tầm thường I.1.3 Các hệ phƣơng trình tƣơng đƣơng Hai hệ phƣơng trình tuyến tính n . CÁC PHƢƠNG PHÁP GIẢI HỆ PHƢƠNG TRÌNH TUYẾN TÍNH I.1 Hệ phƣơng trình tuyến tính. I.1.1 Hệ phƣơng trình tuyến tính tổng quát. Hệ m phƣơng trình tuyến tính n ẩn 1, 2 , , n x x x hệ số thuộc. chƣơng: Chƣơng I: Các phƣơng pháp giải hệ phƣơng trình tuyến tính. Chƣơng II: Phƣơng pháp lặp. Chƣơng III: Phƣơng pháp lặp mới tìm nghiệm hệ phƣơng trình tuyến tính. Kết luận. 4 Số hóa. 5. Phƣơng pháp nghiên cứu. 3 6. Bố cục của đề tài. 3 CHƢƠNG I: CÁC PHƢƠNG PHÁP GIẢI HỆ PHƢƠNG TRÌNH TUYẾN TÍNH 5 I.1 Hệ phƣơng trình tuyến tính. 5 I.1.1 Hệ phƣơng trình tuyến tính tổng quát.

Ngày đăng: 23/11/2014, 02:12

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan