1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

44 1 0

Đ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 lu an n va VỀ KỸ THUẬT TIỀN TÁC ĐỘNG GIẢI HỆ p ie gh tn to PHƯƠNG TRÌNH TUYẾN TÍNH CỠ LỚN d oa nl w LUẬN VĂN THẠC SĨ TOÁN HỌC nf va an lu z at nh oi lm ul z m co l gm @ an Lu Thái Nguyên - 2015 n va ac th si ĐẠ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 an n va tn to Chuyên ngành: Toán ứng dụng 60 46 01 12 p ie gh Mã số: w d oa nl LUẬN VĂN THẠC SĨ TOÁN HỌC nf va an lu lm ul NGƯỜI HƯỚNG DẪN KHOA HỌC z at nh oi TS NGUYỄN THANH SƠN z m co l gm @ an Lu n va Thái Nguyên - 2015 ac th si i Mục lục Lời cảm ơn iii 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 w Phương pháp khử Gauss 1.2.2 Phương pháp phân tích LU lu Mở đầu an n va p ie gh tn to 1.2 Phương pháp lặp cổ điển an lu 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 nf va z at nh oi lm ul 1.4 d oa nl 1.3 10 1.4.1 Khơng gian Krylov Thuật tố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 z Phương pháp không gian Krylov 2.1 18 an Lu Kĩ thuật tiền tác động m co l gm @ Tiền tác động phép lặp cổ điển 18 n va ac th si ii 2.1.1 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 2.4 Kỹ thuật tiền tác động với phương pháp lặp 28 p 2.4.1 PCG 28 w PGMRES 29 2.2 2.3 lu an n va ie gh tn to 35 d an lu Ví dụ số oa nl 2.4.2 Jacobi, SOR(Successive Overrelaxtion) SSOR(Symetric Phương pháp CG PCG 35 3.2 Phương pháp GMRES PGMRES 36 3.3 Kết luận nf va 3.1 z at nh oi 38 39 z Tài liệu tham khảo lm ul Kết luận 37 m co l gm @ an Lu n va ac th si 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 lu Thanh Sơn tận tình bảo, hướng dẫn tơi suốt thời gian làm luận văn an Tôi xin chân thành cảm ơn giúp đỡ quý báu thầy, cô giáo tham gia va n 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 tn to Nguyên, truyền thụ kiến thức Tôi xin cảm ơn động viên, giúp đỡ, ie gh bảo gia đình, bạn bè, đồng nghiệp, Ban chuyên môn, Ban giám hiệu, Ban chấp p hành Đoàn trường THPT Phạm Ngũ Lão - Ân Thi - Hưng Yên dành cho nl w q trình nghiên cứu hồn thành luận văn oa Luận văn thực khuôn khổ Đề tài Nghiên cứu d Khoa học Tự nhiên tài trợ Quỹ phát triển Khoa học Công nghệ Quốc gia lu nf va an NAFOSTED, mã số 101.01-2014.36 lm ul z at nh oi Thái Nguyên, tháng 11 năm 2015 Phạm Trịnh Cương Chính z gm @ Học viên Cao học Tốn K7Y, Trường Đại học Khoa học - Đại học Thái Nguyên m co l an Lu n va ac th si 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 tốn đơn giản quy hệ phương trình tuyến tính Trong số đó, ta phải kể đến tốn dân gian lu an Vừa gà vừa chó va n Bó lại cho tròn to gh tn Ba mươi sáu p ie Một trăm chân chẵn w 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 oa nl khuôn khổ mơn đại số tuyến tính Liên quan đến nó, ta phải nhắc đến d định lý đẹp như: Định lí Cramer định lý Kronecker - Capelli Định lý Cramer cung lu an cấp cho ta công thức gọn gàng, dễ hiểu thu nghiệm (nếu có) nf va hệ phương trình Tuy nhiên, cách tiếp cận dùng học đường với lm ul hệ có vài ẩn số Như chương ra, giải hệ phương trình theo đến lớn z at nh oi phương pháp Cramer đắt đỏ khơng phù hợp với hệ sở từ vừa phải Để khắc phục điều đó, người ta tìm phương pháp khử Gauss, phương pháp z gm @ 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 tốn đa thức bậc ba Mặc dù, bước tiến đáng kể chúng l co áp dụng cho hệ có kích cỡ vừa phải Để giải hệ m phương trình cỡ lớn, ta buộc phải dùng phương pháp lặp Chúng an Lu phương pháp gián tiếp, tính nghiệm xấp xỉ lại vô hiệu cho n va hệ lớn Bên cạnh phương pháp lặp cổ điển như: Jacobi, Gauss - Seidel, ac th si 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ụ khơng thể thiếu tốn học tính tố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 lu thạc sĩ an n va Mục đích luận văn nghiên cứu, trình bày cách có hệ thống việc phương pháp đại cho hệ lớn Cái đích quan trọng luận văn trình bày gh tn to giải hệ phương trình tuyến tính từ phương pháp thơ sơ cho hệ nhỏ, đến p ie số kỹ thuật tiền tác động số thuật toán lặp tiền tác động, với ý định w tiền tác động công cụ góp phần quan trọng vào giải hệ phương oa nl trình tuyến tính cỡ lớn d Đối tượng nghiên cứu đề tài phương pháp tiền tác động để giải lặp hệ an lu phương trình tuyến tính Phạm vi nghiên cứu kỹ thuật tổng quát cách lm ul GMRES nf va thức áp dụng kỹ thuật vào hai phương pháp lặp thông dụng CG z at nh oi 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 đó, chúng tơi thực kiểm tra số phương pháp thông qua việc lập trình MATLAB z Ý nghĩa khoa học lớn đề tài thực nghiên cứu liền mạch @ lại cách có hệ thống dễ hiểu co l gm 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 m 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 an Lu 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 tốn n va Để đạt mục tiêu trên, luận văn trình bày sau: Chương ac th si 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 luận văn tránh khỏi thiếu xót Rất mong nhận ý kiến an n va đóng góp quý báu từ thầy, cô giáo anh, chị, em, bạn bè đồng nghiệp tn to ie gh Thái Nguyên, ngày 01 tháng 11 năm 2015 p Phạm Trịnh Cương Chính nl w Học viên Cao học Tốn lớp Y, khóa 01/2014-01/2016 oa Chuyên ngành Toán ứng dụng d Trường Đại học Khoa học - Đại học Thái Nguyên lu nf va an Email: cuongchinh85@gmail.com z at nh oi lm ul z m co l gm @ an Lu n va ac th si Chương Kiến thức chuẩn bị Chương viết dựa tài liệu tham khảo [1],[2] lu Trước tiên, xét hệ phương tình tuyến tính tổng qt dạng an va (1.1) n Ax = b tn to gh A ma trận cỡ n × n, b ma trận cột Ma trận A gọi ma trận hệ p ie số, b gọi ma trận hệ số tự do Hệ phương trình tuyến tính oa nl w 1.1 d Khi giải hệ phương trình tuyến tính (1.1) ta thường quan tâm có lu nf va an 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 lm ul Định lí Kronecker-Capelli z at nh oi 1.1.1 Định lí 1.1 (Định lí Kronecker-Capelli) Hệ phương trình tuyến tính (1.1) có nghiệm z hạng ma trận A hạng ma trận bổ sung A Trong đó, ma @ co l vào phía bên phải ma trận A gm trận bổ sung ma trận (A|b) xác định cách đặt thêm ma trận cột tự b m Định lí Kronecker-Capelli điều kiện cần đủ để hệ (1.1) có nghiệm, mà an Lu chưa thể có cơng thức nghiệm Trong trường hợp A ma trận n va vng cấp n có định thức detA 6= 0, ta có Định lí Cramer ac th si 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 q lớn Có thể tính tốn độ phức tạp tính tốn phương pháp O(n.n!) lu an 1.2 Phương pháp giải trực tiếp n va 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 ie gh tn to 1.2.1 p cách khử dần ẩn để đưa hệ phương trình cho dạng tam giác nl w giải hệ tam giác từ lên mà ta khơng phải tính định thức d oa Phương pháp thực qua bước sau: an lu • Bước 0: Dùng phương trình để khử x1 n − phương trình cịn nf va lại Giả sử a11 6= Để cho công thức đơn giản, trước khử ta chia lm ul 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: z at nh oi akj = akj − a1j z ak1 a11 @ gm • Bước 1: Dùng phương trình thứ để khử x2 n − phương trình cịn co l lại phía sau Giả sử a22 6= Để cho cơng thức đơn giản, trước khử ta có m thể chia phương trình thứ hai cho a22 Cụ thể, để khử x2 hàng thứ k(k = n ak2 a22 va akj = akj − a2j an Lu 3, 4, n) ta phải tính lại hệ số akj hàng thứ k (j = 2, , n + 1) sau: ac th si 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 Chúng ta có vài cách   dương 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 lu an Sau đó, đặt Λ = U T U n va Ý tưởng phân chia miền Xử lí ma trận dạng khối  A    ···    ···  B1T p ie gh tn to 2.3.2  d oa nl w · · · · · · B1 2.3.3 Ma trận ba đường chéo khối  z at nh oi lm ul Xét nf va an lu   ··· ··· ···    · · · Ap Bp   T · · · Bp Q z D E2    F2   A=    Em  Fm Dm  co l gm @           m Đặt D phần đường chéo, L phần dưới, U phần Khi đó, an Lu A = L + D + U, n va ac th si 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 lu 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 an n va rạc tn to → − −∆u + b Ou = f in Ω, ie gh u = on ∂Ω, p 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ó w Xấp xỉ nghịch đảo nf va an lu 2.3.5 d oa nl M = (D − E)D−1 (D − F ) Ý tưởng xấp xỉ ma trận nghịch đảo hệ số lm ul Tìm ma trận thưa để tối thiểu hóa ba cách sau z at nh oi (2.1) F (M ) = kI − AM k2F F (M ) = kI − M Ak2F z F (L, U ) = kI − LAU k2F (2.2) m kej − Amj k22 co j=1 l F (M ) = n X gm @ Bài tốn (2.1) phân rã thành an Lu ej , mj cột thứ j I M Tuy nhiên, cách làm không hiệu ma trận n va lớn ac th si 27 2.3.6 Phép lặp tồ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) hX, Y i = 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 lu mà vectơ cột n- vectơ X an Trong thuật toán giảm, phép lặp Mnew tính cách dọc theo hướng va n chọn G, tức to gh tn Mnew = M + αG, p ie đó, α độ dài bước, chọn để hàm mục tiêu F (Mnew ) nhỏ Dễ thấy, (2.4) oa nl w tr(RT AG) hR, AGi = α= hAG, AGi tr((AG)T AG) d Mẫu tính kAGk2F Kết quả, ma trận M gần trù mật sau bước giảm an lu đó, cần thiết phải áp dụng chiến lược giảm số để đạt kết Tuy nhiên, nf va việc giảm bước chậm, tức là, khơng đảm bảo M F (Mnew ) ≤ lm ul 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 z at nh oi 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ó khơng thể đ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ư z R = I − AM , đó, M bước lặp Ngoại trừ thuật toán MR giảm số bước, @ l gm thuật tốn giảm tương ứng khơng có, với hệ tuyến tính AM = I cỡ n2 × n2 Sau đây, chúng tơi trình bày thuật tốn giảm sâu tồn cục; trường hợp m co riêng thuật toán kiểu - giảm an Lu n va ac th si 28 Algorithm 2.2 Thuật tốn giảm MR tồn cục (mr) 1: Chọn ma trận ban đầu M , ngưỡng dừng tol repeat 2: 3: Tính C := AM G := I − C 4: Tính α = tr(GT AG)/kCk2F 5: Tính M := M + αG 6: Ứng dụng số giảm đến M until kGkF < tol 7: lu 2.4 Kỹ thuật tiền tác động với phương pháp lặp an PCG n va 2.4.1 to gh tn Cho Ax = b với A ma trận đối xứng xác định dương p ie i) Bảo tồn tính đối xứng nl w Giả sử M = LLT phân tích Cholesky khuyết d oa Khi đó, hệ (1.1) đưa nf va an lu L−1 AL−T u = L−1 b, x = L−1 u lm ul Cách khác, để bảo tồ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 z at nh oi (x, y)M = (M x, y) = (x, M y) z @ Ta có l gm (M −1 Ax, y)M = (Ax, y) = (x, Ay) = (x, M −1 Ay)M m an Lu n va 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 co Vậy nên thuật toán ta đổi tích vơ hướng Euclid thành tích theo M thuật ac th si 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: lu an 5: va 6: n 8: 9: p ie gh tn to 7: rj+1 := rj − αj Apj krj+1 k < tol dừng vịng lặp Nếu kbk zj+1 := M −1 rj+1 (rj+1 , zj+1 ) βj := rj , zj pj+1 := zj+1 + βj pj 11: end for d oa nl w 10: lu PGMRES z at nh oi lm ul 2.4.2 nf va an Chú ý 2.2 Thuật toán PCG tiền tác động tách trùng 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 z phương pháp CG(cụ thể, tiền tác động trái, tách phải) Tuy nhiên, có @ gm khác bản: Tiền tác động phải dẫn tới khái niệm gọi biến linh m co l hoạt khác, tức là, tiền tác động thay đổi bước lặp an Lu n va ac th si 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 tốn sau lu 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 ), β = kr0 k2 , v1 = β 2: for j = 1, · · · , m, an Tính w := M −1 Avj 4: for i = 1, · · · , j, 5: hi,j := (w, vi ) ie w := w − hi,j vi n va 3: gh tn to end for w 7: p 6: w hj+1,j d end for oa 9: Tính hj+1,j = kwk2 vj+1 = nl 8: lu Đặt Vm := [v1 , , vm ], H m = {hi,j }1≤i≤j+1,1≤j≤m 11: Tính ym = argminy kβe1 − H m yk2 xm = x0 + Vm ym 12: Nếu thỏa mãn dừng, ngược lại đặt x0 := xm chuyển đến bước nf va an 10: z at nh oi lm ul Đ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 z @ l gm  span r0 , M −1 Ar0 , , (M −1 A)m−1 r0 Nó sử dụng q trình Gram-Schmidt cải biên (MGS), mà vectơ co m trực chuẩn hóa thu từ vectơ trước suốt trình Mọi vectơ thặng dư n va zm = M −1 (b − Axm ), an Lu chuẩn sinh từ thuật tốn tương ứng với thặng dư tiền tác động, cụ thể, ac th si 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 lu an b − Ax0 = b − AM −1 u0 va n tính rồi, vectơ sau khơng gian Krylov thu tn to 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ị ie gh u0 Thặng dư ban đầu cho hệ tiền tác động tính r0 = b − Ax0 Nó p b − AM −1 u0 Trong thực tiễn, thơng thường giá trị khởi tạo x0 cho oa nl w u0 Tại bước lặp cuối cùng, nghiệm xấp xỉ u um = u0 + m X vi ηi , d lu i=1 nf va an 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 # X xm = x0 + M −1 vi ηi lm ul i=1 z at nh oi 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 tốn 2.5 Trong trường hợp này, vịng lặp Arnoldi z gm @ xây dựng sở trực chuẩn cho không gian Krylov tiền tác động phải co l  span r0 , AM −1 r0 , , (AM −1 )m−1 r0 m Chú ý rằng, chuẩn thặng dư tương đối hệ ban đầu, tức b − Axm , n va b − Axm = b − AM −1 um an Lu thuật tốn ngầm tính tốn thặng dư ac th si 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 , β = kr0 k2 , 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 = kwk2 vj+1 = end for lu 9: w hj+1,j an n va Đặt Vm := [v1 , , vm ], H m = {hi,j }1≤i≤j+1,1≤j≤m 11: Tính ym = argminy kβe1 − H m yk2 xm = x0 + M −1 Vm ym Nếu thỏa mãn dừng, ngược lại đặt x0 := xm chuyển đến bước tn to 10: 12: ie gh p Đâ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 w d oa nl iii) GMRES tiền tác động tách nf va an lu Trong nhiều trường hợp, M phân tích dạng M = LU lm ul Khi đó, ta sử dụng GMRES cho hệ tiền tác động tách z at nh oi 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 z gm @ thuật tố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 ) m co l iv) So sánh tiền tác động phải trái an Lu Có thể thấy tập giá trị riêng ma trận M −1 , AM −1 , L−1 AU −1 n va trùng Vì thế, ta dự đốn ba thuật tốn có tính hội tụ tương ac th si 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ư kM −1 b − M −1 Axk2 tập vectơ không gian affine L x0 + Km = x0 + span{z0 , M −1 Az0 , , (M −1 A)m−1 z0 }, (2.6) lu z0 thặng dư tiền tác động ban đầu z0 = M −1 r0 Vì vậy, nghiệm xấp xỉ có an xm = x0 + M −1 sm−1 (M −1 A)z0 , n va thể biểu diễn tn to ie gh với sm−1 đa thức bậc m − mà cực tiểu hóa đại lượng p kz0 − M −1 As(M −1 A)z0 k2 w oa nl tập đa thức s bậc không vượt q m − ta ln ln biểu diễn điều d kiện tối ưu ứng với vectơ thặng dư ban đầu r0 Thật vậy, an lu nf va z0 − M −1 As(M −1 A)z0 = M −1 [r0 − As(M −1 A)M −1 r0 ] lm ul tính tốn đại số đơn giản cho ta s(M −1 A)M −1 r = M −1 s(AM −1 )r, z at nh oi (2.7) với đa thức s Từ đó, thu z z0 − M −1 As(M −1 A)z0 = M −1 [r0 − AM −1 s(AM −1 )r0 ] gm @ (2.8) co l 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 m 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 an Lu độ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 , n va (2.9) ac th si 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 lu an xm = x0 + sm−1 (AM −1 )r0 , n va tn to Tuy nhiên, sm−1 đa thức bậc m − mà cực tiểu chuẩn (2.10) p ie gh kr0 − AM −1 s(AM −1 )r0 k2 w Trên tập đa thức s có bậc khơng q m − Điều đáng ngạc nhiên hai đại oa nl lượng (2.8) (2.10) khác nhân M −1 Đặc biệt, GMRES tiền tác d độ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 lu nf va an lấy không gian hai trường hợp có dạng z at nh oi lm ul Mệnh đề 2.1 Nghiệm gần nhận GMRES tiền tác động trái phải xm = x0 + sm−1 (M −1 A)z0 = x0 + M −1 sm−1 (AM −1 )r0 , z z0 = M −1 r0 sm−1 đa thức bậc m − Đa thức sm−1 cực tiểu @ gm hóa chuẩn thặng dư kb − Axm k2 trường hợp tiền tác động phải cực tiểu m trái co l hóa chuẩn thặng dư tiền tác động kM −1 (b − Axm )k2 trường hợp tiền tác động an Lu Trong hầu hết trường hợp thực tế khác tính hội tụ hai cách tác n va động không đáng kể, trừ M điều kiện xấu ac th si 35 Chương Ví dụ số Trong mục xét hệ phương trình giải phương pháp CG lu phương pháp GMRES với phương pháp CG phương pháp GMRES mà an n va tiền tác động Tất tính tốn thực máy tính cá nhân sử dụng 2.40GHz ie gh tn to hệ điều hành Window 8.1, vi xử lí Core i7 - 4500U CPU, RAM 8GB, tốc độ p 3.1 w Phương pháp CG PCG oa nl Ta xét hệ d Ax = b, an lu nf va 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 lm ul 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 z at nh oi 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 kA˜ x − bk/kbk nhỏ đại z • Số bước lặp tối đa thực maxit = 150 co l gm @ lượng cho trước, tol = 10−8 m • Sự hội tụ phương pháp CG, thực lệnh cgs, có thời gian chạy an Lu 0.092995s Bây giờ, ta sử dụng phương pháp PCG Ta sử dụng kỹ thuật n va phân tích Cholesky thiếu để tìm ma trận tiền tác động MATLAB ac th si 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, cịn 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 tốn gần gấp đơi lu an n va p ie gh tn to d oa nl w nf va an lu Phương pháp GMRES PGMRES lm ul 3.2 z at nh oi 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ó khơng có tính chất đặc z gm @ biệt Còn vế phải b tạo tổng hàng tương ứng A Quan sát hình vẽ l minh họa sau đây, ta thấy từ bước đến bước 20 tốc độ hội tụ GMRES m co 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 an Lu LU thiếu Sự hội tụ thể khơng số bước lặp mà cịn thời gian thực hiện, cụ thể: thời gian chạy GMRES 0.117085s, thời gian chạy PGMRES n va 0.109164 ac th si 37 lu an n va Kết luận ie gh tn to 3.3 p Nếu tìm tiền tác động thích hợp phương pháp vô d oa nl w hữu hiệu để cải thiện hội tụ phương pháp lặp truyền thống nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si 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, lu an phạm vi áp dụng hệ phương trình cỡ nhỏ ẩn số n va 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 tn to pháp lặp Gauss - Seidel, phương pháp CG phương pháp GMRES có tốc độ hội gh 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 p ie tính hiệu khơng cao giải hệ phương trình tuyến tính cỡ lớn w 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 oa nl tính cỡ lớn d 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 lu nf va an 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 z at nh oi lm ul tuyến tính biết như: Phương pháp CG phương pháp GMRES z m co l gm @ an Lu n va ac th si 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 lu [2] Demmel J W (1997), Applied numerical linear algebra SIAM, Philadenphia an n va [3] Saad Y (2003), Iterative methods for sparse linear systems SIAM, Philaden- p ie gh tn to phia d oa nl w nf va an lu z at nh oi lm ul z m co l gm @ an Lu n va ac th si

Ngày đăng: 24/07/2023, 09:50

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN