Về kỹ thuật tiền tác động giải hệ phương trình tuyến tính cỡ lớn

44 601 0
Về kỹ thuật tiền tác động giải hệ phương trình tuyến tính cỡ lớn

Đ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

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC PHẠM TRỊNH CƯƠNG CHÍNH VỀ KỸ THUẬT TIỀN TÁC ĐỘNG GIẢI HỆ PHƯƠNG TRÌNH TUYẾN TÍNH CỠ LỚN LUẬN VĂN THẠC SĨ TOÁN HỌC Thái Nguyên - 2015 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC PHẠM TRỊNH CƯƠNG CHÍNH VỀ KỸ THUẬT TIỀN TÁC ĐỘNG GIẢI HỆ PHƯƠNG TRÌNH TUYẾN TÍNH CỠ LỚN 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 NGUYỄN THANH SƠN Thái Nguyên - 2015 i Mục lục Lời cảm ơn iii Mở đầu 1 Kiến thức chuẩn bị 1.1 Hệ phương trình tuyến tính 1.1.1 Định lí Kronecker-Capelli 1.1.2 Định lí Cramer Phương pháp giải trực tiếp 1.2.1 Phương pháp khử Gauss 1.2.2 Phương pháp phân tích LU Phương pháp lặp cổ điển 1.3.1 Phương pháp lặp đơn 1.3.2 Phương pháp Jacobi 1.3.3 Phương pháp Gauss - Seidel Phương pháp không gian Krylov 10 1.4.1 Không gian Krylov Thuật toán Arnoldi 10 1.4.2 Phương pháp CG 12 1.4.3 Phương pháp GMRES 14 1.4.4 Phương pháp Arnoldi 15 1.2 1.3 1.4 Kĩ thuật tiền tác động 18 2.1 18 Tiền tác động phép lặp cổ điển ii 2.1.1 2.2 2.3 2.4 Jacobi, SOR(Successive Overrelaxtion) SSOR(Symetric SOR) nhân tử tiền tác động 18 Kĩ thuật tiền tác động tổng quát 21 2.2.1 Giới thiệu 21 2.2.2 Phân tích ILU 22 2.2.3 Phân tích Cholesky thiếu (IC) 23 Tiền tác động khối thiếu 23 2.3.1 Phân tích Cholesky khối thiếu 23 2.3.2 Ý tưởng phân chia miền 25 2.3.3 Ma trận ba đường chéo khối 25 2.3.4 Ma trận với cấu trúc 26 2.3.5 Xấp xỉ nghịch đảo 26 2.3.6 Phép lặp toàn cục 27 Kỹ thuật tiền tác động với phương pháp lặp 28 2.4.1 PCG 28 2.4.2 PGMRES 29 Ví dụ số 35 3.1 Phương pháp CG PCG 35 3.2 Phương pháp GMRES PGMRES 36 3.3 Kết luận 37 Kết luận 38 Tài liệu tham khảo 39 iii Lời cảm ơn Tôi xin bày tỏ lòng biết ơn chân thành sâu sắc đến thầy giáo, TS Nguyễn Thanh Sơn tận tình bảo, hướng dẫn suốt thời gian làm luận văn Tôi xin chân thành cảm ơn giúp đỡ quý báu thầy, cô giáo tham gia giảng dạy khóa học Khoa Toán - Tin trường Đại học Khoa học - Đại học Thái Nguyên, truyền thụ kiến thức Tôi xin cảm ơn động viên, giúp đỡ, bảo gia đình, bạn bè, đồng nghiệp, Ban chuyên môn, Ban giám hiệu, Ban chấp hành Đoàn trường THPT Phạm Ngũ Lão - Ân Thi - Hưng Yên dành cho trình nghiên cứu hoàn thành luận văn Luận văn thực khuôn khổ Đề tài Nghiên cứu Khoa học Tự nhiên tài trợ Quỹ phát triển Khoa học Công nghệ Quốc gia NAFOSTED, mã số 101.01-2014.36 Thái Nguyên, tháng 11 năm 2015 Phạm Trịnh Cương Chính Học viên Cao học Toán K7Y, Trường Đại học Khoa học - Đại học Thái Nguyên Mở đầu Hệ phương trình tuyến tính đời từ lâu phổ biến đời sống Rất nhiều toán đơn giản quy hệ phương trình tuyến tính Trong số đó, ta phải kể đến toán dân gian Vừa gà vừa chó Bó lại cho tròn Ba mươi sáu Một trăm chân chẵn Việc nghiên cứu lý thuyết hệ phương trình tuyến tính bắt đầu bậc đại học khuôn khổ môn đại số tuyến tính Liên quan đến nó, ta phải nhắc đến định lý đẹp như: Định lí Cramer định lý Kronecker - Capelli Định lý Cramer cung cấp cho ta công thức gọn gàng, dễ hiểu thu nghiệm (nếu có) hệ phương trình Tuy nhiên, cách tiếp cận dùng học đường với hệ có vài ẩn số Như chương ra, giải hệ phương trình theo phương pháp Cramer đắt đỏ không phù hợp với hệ sở từ vừa phải đến lớn Để khắc phục điều đó, người ta tìm phương pháp khử Gauss, phương pháp dựa phân tích LU Chúng phương pháp giải trực tiếp có độ phức tạp tính toán đa thức bậc ba Mặc dù, bước tiến đáng kể chúng áp dụng cho hệ có kích cỡ vừa phải Để giải hệ phương trình cỡ lớn, ta buộc phải dùng phương pháp lặp Chúng phương pháp gián tiếp, tính nghiệm xấp xỉ lại vô hiệu cho hệ lớn Bên cạnh phương pháp lặp cổ điển như: Jacobi, Gauss - Seidel, phương pháp sử dụng công cụ đại phương pháp CG hay phương pháp GMRES trở thành công cụ thiếu toán học tính toán Như chương 1, tốc độ hội tụ phương pháp lại phụ thuộc chặt chẽ vào số điều kiện ma trận hệ số Nếu ma trận có số điều kiện tốt, phương pháp hội tụ nhanh Tuy nhiên, không may mắn, ma trận hệ số có số điều kiện xấu, phương pháp hội tụ chậm Câu hỏi đặt làm để thay đổi thực tế đó? Kỹ thuật tiền tác động (preconditioning), câu trả lời Chính tầm quan trọng kỹ thuật trên, chọn "Về kỹ thuật tiền tác động giải hệ phương trình tuyến tính cỡ lớn" đề tài nghiên cứu cho luận văn thạc sĩ Mục đích luận văn nghiên cứu, trình bày cách có hệ thống việc giải hệ phương trình tuyến tính từ phương pháp thô sơ cho hệ nhỏ, đến phương pháp đại cho hệ lớn Cái đích quan trọng luận văn trình bày số kỹ thuật tiền tác động số thuật toán lặp tiền tác động, với ý định tiền tác động công cụ góp phần quan trọng vào giải hệ phương trình tuyến tính cỡ lớn Đối tượng nghiên cứu đề tài phương pháp tiền tác động để giải lặp hệ phương trình tuyến tính Phạm vi nghiên cứu kỹ thuật tổng quát cách thức áp dụng kỹ thuật vào hai phương pháp lặp thông dụng CG GMRES Phương pháp nghiên cứu sử dụng đọc hiểu tài liệu kinh điển trình bày lại cách có hệ thống Thêm vào đó, thực kiểm tra số phương pháp thông qua việc lập trình MATLAB Ý nghĩa khoa học lớn đề tài thực nghiên cứu liền mạch phương pháp giải hệ phương trình tuyến tính, từ đơn giản đến phức tạp trình bày lại cách có hệ thống dễ hiểu Sau bảo vệ luận văn tài liệu tham khảo tốt cho sinh viên ngành toán học viên cao học chuyên ngành Toán ứng dụng, với thiên hướng toán học tính toán Để đạt mục tiêu trên, luận văn trình bày sau: Chương dùng để trình bày kiến thức chuẩn bị vô quan trọng như: Định lí Kronecker - Capelli, định lí Cramer, số phương pháp giải trực tiếp (khử Gauss, phân tích LU ) số phương pháp lặp cổ điển (lặp đơn, Jacobi, Gauss - Seidel), phương pháp không gian Krylov, làm kiến tảng cho nghiên cứu kỹ thuật tiền tác động Nội dung chương kỹ thuật tiền tác động tổng quát, kỹ thuật tiền tác động khối thiếu, kỹ thuật tiền tác động với phương pháp lặp Trong chương trình bày số ví dụ số để minh họa, kiểm chứng cho thuật toán Mặc dù cố gắng hết sức, điều kiện thời gian nghiên cứu hạn hẹp luận văn tránh khỏi thiếu xót Rất mong nhận ý kiến đóng góp quý báu từ thầy, cô giáo anh, chị, em, bạn bè đồng nghiệp Thái Nguyên, ngày 01 tháng 11 năm 2015 Phạm Trịnh Cương Chính Học viên Cao học Toán lớp Y, khóa 01/2014-01/2016 Chuyên ngành Toán ứng dụng Trường Đại học Khoa học - Đại học Thái Nguyên Email: cuongchinh85@gmail.com Chương Kiến thức chuẩn bị Chương viết dựa tài liệu tham khảo [1],[2] Trước tiên, xét hệ phương tình tuyến tính tổng quát dạng Ax = b (1.1) A ma trận cỡ n × n, b ma trận cột Ma trận A gọi ma trận hệ số, b gọi ma trận hệ số tự 1.1 Hệ phương trình tuyến tính Khi giải hệ phương trình tuyến tính (1.1) ta thường quan tâm có nghiệm nghiệm tìm thấy cách Câu hỏi tồn nghiệm hệ (1.1) giải đáp Định lí Kronecker-Capelli 1.1.1 Định lí Kronecker-Capelli Định lí 1.1 (Định lí Kronecker-Capelli) Hệ phương trình tuyến tính (1.1) có nghiệm hạng ma trận A hạng ma trận bổ sung A Trong đó, ma trận bổ sung ma trận (A|b) xác định cách đặt thêm ma trận cột tự b vào phía bên phải ma trận A Định lí Kronecker-Capelli điều kiện cần đủ để hệ (1.1) có nghiệm, mà chưa thể có công thức nghiệm Trong trường hợp A ma trận vuông cấp n có định thức detA = 0, ta có Định lí Cramer 1.1.2 Định lí Cramer Định lí 1.2 (Định lí Cramer) Gọi Aj ma trận nhận từ ma trận A cách thay cột thứ j cột b Khi đó, hệ (1.1) có nghiệm xj tính công thức xj = detAj detA Tuy nhiên, thực hành người ta không dùng công thức để tính nghiệm số lượng phép tính lớn Có thể tính toán độ phức tạp tính toán phương pháp O(n.n!) 1.2 Phương pháp giải trực tiếp 1.2.1 Phương pháp khử Gauss Phương pháp khử Gauss phương pháp giải hệ phương trình tuyến tính dùng cách khử dần ẩn để đưa hệ phương trình cho dạng tam giác giải hệ tam giác từ lên mà ta tính định thức Phương pháp thực qua bước sau: • Bước 0: Dùng phương trình để khử x1 n − phương trình lại Giả sử a11 = Để cho công thức đơn giản, trước khử ta chia phương trình thứ cho a11 Cụ thể, để khử x1 hàng thứ k(k = 2, 3, n) ta phải tính lại hệ số akj hàng thứ k (j = 1, 2, , n + 1) sau: akj = akj − a1j ak1 a11 • Bước 1: Dùng phương trình thứ để khử x2 n − phương trình lại phía sau Giả sử a22 = Để cho công thức đơn giản, trước khử ta chia phương trình thứ hai cho a22 Cụ thể, để khử x2 hàng thứ k(k = 3, 4, n) ta phải tính lại hệ số akj hàng thứ k (j = 2, , n + 1) sau: akj = akj − a2j ak2 a22 25 Từ đó, ta có:   ˜ ω1 = r1  G   ˜ ω2 = r2 − F˜1 ω1 = r2 − E1 G ˜ −1 ω1 G    G ˜ ω3 = r3 − F˜2 ω2 = r3 − E2 G ˜ −1 ω2 ˜ −1 Λ1 Đặt T = B ˜ −1 = (tij ) phần Chú ý 2.1 Vấn đề lại xấp xỉ A1 B đường chéo đối xứng xác định dương Chúng ta có vài cách Cách 1: Λ = diag tii Cách 2: Λ phần đường chéo T −1 Cách 3: Đặt U phần đường chéo G−1 , T = GGT Sau đó, đặt Λ = U T U 2.3.2 Ý tưởng phân chia miền Xử lí ma trận dạng khối  A    ···    ···  B1T 2.3.3 Xét · · · · · · B1    ··· ··· ···    · · · Ap Bp   T · · · Bp Q Ma trận ba đường chéo khối  D E2    F2   A=    Em  Fm Dm            Đặt D phần đường chéo, L phần dưới, U phần Khi đó, A = L + D + U, 26 ta được, M = (L + ∆)∆−1 (∆ + U ), đó, ∆ = diag(∆i ), ∆i = Di − Fi Ωi−1 Ei Ωj−1 xấp xỉ thưa ∆−1 j Đây điều khó khăn Trong trường hợp đặc biệt, Di ba đường chéo với Ei , Fi chéo Ta có công thức tính 2.3.4 Ma trận với cấu trúc Thường xuất phát từ việc rời rạc hóa phương trình cụ thể Chẳng hạn rời rạc → − −∆u + b u = f in Ω, u = on ∂Ω, phương pháp sai phân trung tâm Ta có công thức cụ thể để tính D, E, F Ta có M = (D − E)D−1 (D − F ) 2.3.5 Xấp xỉ nghịch đảo Ý tưởng xấp xỉ ma trận nghịch đảo hệ số Tìm ma trận thưa để tối thiểu hóa ba cách sau F (M ) = I − AM F F (M ) = I − M A F F (L, U ) = I − LAU (2.1) F Bài toán (2.1) phân rã thành n ej − Amj F (M ) = 2 (2.2) j=1 ej , mj cột thứ j I M Tuy nhiên, cách làm không hiệu ma trận lớn 27 2.3.6 Phép lặp toàn cục Tối ưu hóa với M biến, ma trận thưa sử dụng phương pháp kiểu giảm (descent-type) để giảm thiểu hàm mục tiêu (2.1) Hàm hàm bậc hai không gian ma trận cỡ n × n, với biến phần tử Rn Tích vô hướng không gian ma trận, với bình phương chuẩn (2.2) X, Y = tr(Y T X) (2.3) Ở phần sau, biểu diễn ma trận n2 - vectơ X, nghĩa là, ma trận cỡ n × n mà vectơ cột n- vectơ X Trong thuật toán giảm, phép lặp Mnew tính cách dọc theo hướng chọn G, tức Mnew = M + αG, đó, α độ dài bước, chọn để hàm mục tiêu F (Mnew ) nhỏ Dễ thấy, tr(RT AG) R, AG = α= AG, AG tr((AG)T AG) Mẫu tính AG F Kết quả, ma trận M (2.4) gần trù mật sau bước giảm đó, cần thiết phải áp dụng chiến lược giảm số để đạt kết Tuy nhiên, việc giảm bước chậm, tức là, không đảm bảo M F (Mnew ) ≤ F (M ) Một phép lặp muốn có áp dụng chiến lược giảm số phải có hướng tìm G trước nói đến chuyện giảm số bước Trong trường hợp này, số lượng hoàn thành M có điều khiển Cách chọn hướng giảm cho G đơn giản lấy ma trận thặng dư R = I − AM , đó, M bước lặp Ngoại trừ thuật toán MR giảm số bước, thuật toán giảm tương ứng không có, với hệ tuyến tính AM = I cỡ n2 × n2 Sau đây, trình bày thuật toán giảm sâu toàn cục; trường hợp riêng thuật toán kiểu - giảm 28 Algorithm 2.2 Thuật toán giảm MR toàn cục (mr) 1: Chọn ma trận ban đầu M , ngưỡng dừng tol 2: repeat 3: Tính C := AM G := I − C 4: Tính α = tr(GT AG)/ C 5: Tính M := M + αG 6: Ứng dụng số giảm đến M 7: until G 2.4 2.4.1 F F < tol Kỹ thuật tiền tác động với phương pháp lặp PCG Cho Ax = b với A ma trận đối xứng xác định dương i) Bảo toàn tính đối xứng Giả sử M = LLT phân tích Cholesky khuyết Khi đó, hệ (1.1) đưa L−1 AL−T u = L−1 b, x = L−1 u Cách khác, để bảo toàn tính đối xứng đổi tích vô hướng Giả sử M ma trận đối xứng xác định dương, ta định nghĩa tích vô hướng (x, y)M = (M x, y) = (x, M y) Ta có (M −1 Ax, y)M = (Ax, y) = (x, Ay) = (x, M −1 Ay)M Vậy nên thuật toán ta đổi tích vô hướng Euclid thành tích theo M thuật toán cho ma trận đối xứng Ta có vòng lặp (zj , zj )M 1: αj = (M −1 Apj , pj )M : xj+1 = xj + αj pj 29 : rj+1 = rj − αj Apj zj+1 := M −1 rj+1 Lưu ý (zj , zj )M = (rj , zj )(M −1 Apj , pj )M = (Apj , pj ) Ở ta không dùng tích vô hướng theo Euclid Algorithm 2.3 Thuật toán tiền tác động gradient liên hợp (pcg) 1: Nhập ngưỡng dừng tol 2: Tính r0 := b − Ax0 , z0 = M −1 r0 p0 := z0 3: for j = 0, 1, · · · , hội tụ, (ri , zj ) αj := (Apj , pj ) xj+1 := xj + αj pj 4: 5: rj+1 := rj − αj Apj rj+1 < tol dừng vòng lặp Nếu b zj+1 := M −1 rj+1 (rj+1 , zj+1 ) βj := rj , zj pj+1 := zj+1 + βj pj 6: 7: 8: 9: 10: 11: end for Chú ý 2.2 Thuật toán PCG tiền tác động tách trùng 2.4.2 PGMRES Trong trường hợp thặng dư cực tiểu suy rộng (GMRES) phương pháp lặp không đối xứng khác, ta có ba lựa chọn tương tự để áp dụng tiền tác động giống phương pháp CG(cụ thể, tiền tác động trái, tách phải) Tuy nhiên, có khác bản: Tiền tác động phải dẫn tới khái niệm gọi biến linh hoạt khác, tức là, tiền tác động thay đổi bước lặp 30 i) GMRES tiền tác động trái Cũng tương tự phấn trước, định nghĩa thuật toán tiền tác động trái GMRES thuật toán GMRES mà áp dụng vào hệ M −1 Ax = M −1 b, (2.5) ứng dụng trực tiếp GMRES vào hệ phương trình tuyến tính cho ta thuật toán sau Algorithm 2.4 Thuật toán GMRES với tiền tác động trái (lp_gmres) r0 1: Tính r0 = M −1 (b − Ax0 ), β = r0 , v1 = β 2: for j = 1, · · · , m, 3: Tính w := M −1 Avj 4: for i = 1, · · · , j, 5: hi,j := (w, vi ) 6: w := w − hi,j vi 7: end for 8: Tính hj+1,j = w 9: vj+1 = end for w hj+1,j 10: Đặt Vm := [v1 , , vm ], H m = {hi,j }1≤i≤j+1,1≤j≤m 11: Tính ym = argminy βe1 − H m y 12: Nếu thỏa mãn dừng, ngược lại đặt x0 := xm chuyển đến bước xm = x0 + Vm ym Điểm thuật toán sử dụng vòng lặp Arnoldi để xây dựng sở trực chuẩn không gian Krylov tiền tác động trái span r0 , M −1 Ar0 , , (M −1 A)m−1 r0 Nó sử dụng trình Gram-Schmidt cải biên (MGS), mà vectơ trực chuẩn hóa thu từ vectơ trước suốt trình Mọi vectơ thặng dư chuẩn sinh từ thuật toán tương ứng với thặng dư tiền tác động, cụ thể, zm = M −1 (b − Axm ), 31 thay thặng dư ban đầu b − Axm ii) GMRES tiền tác động phải Thuật toán GMRES tiền tác động phải dựa việc giải hệ AM −1 u = b, u = M x Chúng ta không cần phải tính biến u cách tường minh Thật vậy, thặng dư ban đầu b − Ax0 = b − AM −1 u0 tính rồi, vectơ sau không gian Krylov thu mà không cần đến biến u Cũng xin lưu ý ta không cần khởi tạo giá trị u0 Thặng dư ban đầu cho hệ tiền tác động tính r0 = b − Ax0 Nó b − AM −1 u0 Trong thực tiễn, thông thường giá trị khởi tạo x0 cho u0 Tại bước lặp cuối cùng, nghiệm xấp xỉ u m um = u0 + vi ηi , i=1 với u0 = M x0 Nhân M −1 vào bên trái cho ta nghiệm xấp xỉ cần tìm m xm = x0 + M −1 vi ηi i=1 Do đó, ta cần thao tác tiền tác động vào bước lặp cuối thay bước lặp trường hợp tiền tác động trái Từ phân tích ta có Thuật toán 2.5 Trong trường hợp này, vòng lặp Arnoldi xây dựng sở trực chuẩn cho không gian Krylov tiền tác động phải span r0 , AM −1 r0 , , (AM −1 )m−1 r0 Chú ý rằng, chuẩn thặng dư tương đối hệ ban đầu, tức b − Axm , thuật toán ngầm tính toán thặng dư b − Axm = b − AM −1 um 32 Algorithm 2.5 Thuật toán GMRES với tiền tác động phải (rp_gmres) r0 1: Tính r0 = b − Ax0 , β = r0 , v1 = β 2: for j = 1, · · · , m, 3: Tính w := AM −1 vj 4: for i = 1, · · · , j, 5: hi,j := (w, vi ) 6: w := w − hi,j vi 7: end for 8: Tính hj+1,j = w 9: vj+1 = end for w hj+1,j 10: Đặt Vm := [v1 , , vm ], H m = {hi,j }1≤i≤j+1,1≤j≤m 11: Tính ym = argminy βe1 − H m y 12: Nếu thỏa mãn dừng, ngược lại đặt x0 := xm chuyển đến bước xm = x0 + M −1 Vm ym Đây điểm khác biệt mấu chốt so với thuật toán GMRES tiền tác động trái iii) GMRES tiền tác động tách Trong nhiều trường hợp, M phân tích dạng M = LU Khi đó, ta sử dụng GMRES cho hệ tiền tác động tách L−1 AU −1 u = L−1 b, x = U −1 u Trong tình này, ta phải tác động vào thặng dư ban đầu L−1 bắt đầu thuật toán tác động lên tổ hợp tuyến tính Vm ym U −1 để tạo nên nghiệm xấp xỉ Khi đó, chuẩn thặng dư chuẩn L−1 (b − Axm ) iv) So sánh tiền tác động phải trái Có thể thấy tập giá trị riêng ma trận M −1 , AM −1 , L−1 AU −1 trùng Vì thế, ta dự đoán ba thuật toán có tính hội tụ tương 33 tự nhau, biết giá trị riêng lúc không điều khiển hội tụ Trong mục này, so sánh tính chất tối ưu đạt tiền tác động trái, phải GMRES Đối với tiền tác động trái, GMRES tối tiểu hóa chuẩn thặng dư M −1 b − M −1 Ax tập vectơ không gian affine L x0 + Km = x0 + span{z0 , M −1 Az0 , , (M −1 A)m−1 z0 }, (2.6) z0 thặng dư tiền tác động ban đầu z0 = M −1 r0 Vì vậy, nghiệm xấp xỉ biểu diễn xm = x0 + M −1 sm−1 (M −1 A)z0 , với sm−1 đa thức bậc m − mà cực tiểu hóa đại lượng z0 − M −1 As(M −1 A)z0 tập đa thức s bậc không vượt m − ta luôn biểu diễn điều kiện tối ưu ứng với vectơ thặng dư ban đầu r0 Thật vậy, z0 − M −1 As(M −1 A)z0 = M −1 [r0 − As(M −1 A)M −1 r0 ] tính toán đại số đơn giản cho ta s(M −1 A)M −1 r = M −1 s(AM −1 )r, (2.7) với đa thức s Từ đó, thu z0 − M −1 As(M −1 A)z0 = M −1 [r0 − AM −1 s(AM −1 )r0 ] (2.8) Bây giờ, ta xét GMRES tiền tác động phải Ta cần phải phân biệt biến x ban đầu biến chuyển đổi u mà quan hệ với x x = M −1 u Với biến u, GMRES tiền tác động phải cực tiểu theo chuẩn hai r = b − AM −1 u, u thuộc R u + Km = u0 + span r0 , AM −1 r0 , , (AM −1 )m−1 r0 , (2.9) 34 với r0 = b − AM −1 u0 Thặng dư đồng với thặng dư tương ứng với biến x ban đầu M −1 u0 = x0 Nhân M −1 vào bên trái (2.9) từ (2.7) ta thấy biến x tổng quát tương ứng với vectơ không gian (2.9) thuộc không gian affine R M −1 u0 + M −1 Km = x0 + span z0 , AM −1 z0 , , (AM −1 )m−1 z0 Tập trùng với không gian affine (2.6) mà sử dụng GNRES tiền tác động trái Nói cách khác GMRES tiền tác động phải nghiệm xấp xỉ x biểu diễn xm = x0 + sm−1 (AM −1 )r0 , Tuy nhiên, sm−1 đa thức bậc m − mà cực tiểu chuẩn r0 − AM −1 s(AM −1 )r0 (2.10) Trên tập đa thức s có bậc không m − Điều đáng ngạc nhiên hai đại lượng (2.8) (2.10) khác nhân M −1 Đặc biệt, GMRES tiền tác động trái cực tiểu M −1 r, GMRES tiền tác động phải cực tiểu r, với r lấy không gian hai trường hợp Mệnh đề 2.1 Nghiệm gần nhận GMRES tiền tác động trái phải có dạng xm = x0 + sm−1 (M −1 A)z0 = x0 + M −1 sm−1 (AM −1 )r0 , z0 = M −1 r0 sm−1 đa thức bậc m − Đa thức sm−1 cực tiểu hóa chuẩn thặng dư b − Axm trường hợp tiền tác động phải cực tiểu hóa chuẩn thặng dư tiền tác động M −1 (b − Axm ) trường hợp tiền tác động trái Trong hầu hết trường hợp thực tế khác tính hội tụ hai cách tác động không đáng kể, trừ M điều kiện xấu 35 Chương Ví dụ số Trong mục xét hệ phương trình giải phương pháp CG phương pháp GMRES với phương pháp CG phương pháp GMRES mà tiền tác động Tất tính toán thực máy tính cá nhân sử dụng hệ điều hành Window 8.1, vi xử lí Core i7 - 4500U CPU, RAM 8GB, tốc độ 2.40GHz 3.1 Phương pháp CG PCG Ta xét hệ Ax = b, với ma trận A ma trận vuông cỡ 6084 lấy từ việc rời rạc hóa phương trình Laplace tạo MATLAB câu lệnh dlsq, b vế phải chọn cho nghiệm Để áp dụng phương pháp CG A phải ma trận đối xứng, xác định dương • Ta đặt tiêu chuẩn dừng thặng dư chuẩn hóa A˜ x − b / b nhỏ đại lượng cho trước, tol = 10−8 • Số bước lặp tối đa thực maxit = 150 • Sự hội tụ phương pháp CG, thực lệnh cgs, có thời gian chạy 0.092995s Bây giờ, ta sử dụng phương pháp PCG Ta sử dụng kỹ thuật phân tích Cholesky thiếu để tìm ma trận tiền tác động MATLAB 36 lệnh pcg thời gian chạy PCG (đã bao gồm thời gian phân tích Cholesky thiếu) 0.057393s Quan sát hình vẽ minh họa sau ta thấy, để đạt tiêu chuẩn dừng 10−8 , với phương pháp CG mà chưa tiền tác động ta cần khoảng 120 bước, với phương pháp CG mà có tiền tác động ta cần 60 bước Như vậy, đẩy nhanh tốc độ tính toán gần gấp đôi 3.2 Phương pháp GMRES PGMRES Trong mục ta xét hệ tuyến tính với ma trận hệ số A lấy từ liệu MATLAB, có tên W EST 0479 Đây phần liệu từ mô hình nhà máy kỹ thuật hóa học, có cỡ 479 × 479, tạo lệnh load Nó tính chất đặc biệt Còn vế phải b tạo tổng hàng tương ứng A Quan sát hình vẽ minh họa sau đây, ta thấy từ bước đến bước 20 tốc độ hội tụ GMRES chậm với sai số chưa đạt 10−1 Để tạo ma trận tiền tác động, ta sử dụng phân tích LU thiếu Sự hội tụ thể không số bước lặp mà thời gian thực hiện, cụ thể: thời gian chạy GMRES 0.117085s, thời gian chạy PGMRES 0.109164 37 3.3 Kết luận Nếu tìm tiền tác động thích hợp phương pháp vô hữu hiệu để cải thiện hội tụ phương pháp lặp truyền thống 38 Kết luận Sau nghiên cứu đề tài: "Về kỹ thuật tiền tác động giải hệ phương trình tuyến tính cỡ lớn", rút số kết luận sau đây: 1) Ta tìm nghiệm hệ phương trình tuyến tính định lí Cramer, phạm vi áp dụng hệ phương trình cỡ nhỏ ẩn số 2) Một số phương pháp lặp như: Phương pháp lặp đơn, phương pháp Jacobi, phương pháp lặp Gauss - Seidel, phương pháp CG phương pháp GMRES có tốc độ hội tụ phụ thuộc vào điều kiện ma trận hệ số áp giải hệ phương trình tuyến tính tính hiệu không cao giải hệ phương trình tuyến tính cỡ lớn 3) Kỹ thuật tiền tác động giải pháp hữu hiệu giải hệ phương trình tuyến tính cỡ lớn 4) Có ba cách tiền tác động giải hệ phương trình tuyến tính cỡ lớn như: Tiền tác động phải, tiền tác động trái, tiền tác động tách 5) Kỹ thuật tiền tác động có diện số cách giải hệ phương trình tuyến tính biết như: Phương pháp CG phương pháp GMRES 39 Tài liệu tham khảo [1] Golub J.H., Van Loan C.F (1996), Matrix computations, 3nd Ed., Johns Hopkins University Press, Baltimore, Maryland [2] Demmel J W (1997), Applied numerical linear algebra SIAM, Philadenphia [3] Saad Y (2003), Iterative methods for sparse linear systems SIAM, Philadenphia ... đổi thực tế đó? Kỹ thuật tiền tác động (preconditioning), câu trả lời Chính tầm quan trọng kỹ thuật trên, chọn "Về kỹ thuật tiền tác động giải hệ phương trình tuyến tính cỡ lớn" đề tài nghiên... động số thuật toán lặp tiền tác động, với ý định tiền tác động công cụ góp phần quan trọng vào giải hệ phương trình tuyến tính cỡ lớn Đối tượng nghiên cứu đề tài phương pháp tiền tác động để giải. .. cứu, trình bày cách có hệ thống việc giải hệ phương trình tuyến tính từ phương pháp thô sơ cho hệ nhỏ, đến phương pháp đại cho hệ lớn Cái đích quan trọng luận văn trình bày số kỹ thuật tiền tác động

Ngày đăng: 20/03/2017, 08:25

Từ khóa liên quan

Mục lục

  • Lời cảm ơn

  • Mở đầu

  • Kiến thức chuẩn bị

    • Hệ phương trình tuyến tính

      • Định lí Kronecker-Capelli

      • Định lí Cramer

      • Phương pháp giải trực tiếp

        • Phương pháp khử Gauss

        • Phương pháp phân tích LU

        • Phương pháp lặp cổ điển

          • Phương pháp lặp đơn

          • Phương pháp Jacobi

          • Phương pháp Gauss - Seidel

          • Phương pháp không gian con Krylov

            • Không gian con Krylov và Thuật toán Arnoldi

            • Phương pháp CG

            • Phương pháp GMRES

            • Phương pháp Arnoldi

            • Kĩ thuật tiền tác động

              • Tiền tác động trong các phép lặp cổ điển

                • Jacobi, SOR(Successive Overrelaxtion) và SSOR(Symetric SOR) nhân tử tiền tác động.

                • Kĩ thuật tiền tác động tổng quát

                  • Giới thiệu

                  • Phân tích ILU

                  • Phân tích Cholesky thiếu (IC)

                  • Tiền tác động khối thiếu

                    • Phân tích Cholesky khối thiếu

                    • Ý tưởng phân chia miền

                    • Ma trận ba đường chéo khối

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

Tài liệu liên quan