Giải tích số

157 6 0
Giải tích số

Đ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 ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM —————————— Chử Văn Tiệp (Chủ biên) Nguyễn Thành Chung - Nguyễn Hồng Thành GIẢI TÍCH SỐ Đà Nẵng - 2021 MỤC LỤC Lời nói đầu SAI SỐ 1.1 Sai số tuyệt đối sai số tương đối 1.2 Các loại sai số 1.3 Sai số quy tròn 1.4 Cách viết số xấp xỉ 1.5 Các quy tắc tính sai số 1.6 Thuật toán (Algorithm) 1.7 Mã giả (Pseudocode) PHÉP NỘI SUY 11 2.1 Mở đầu 11 2.2 Phương pháp Vandermonde 11 2.3 Nội suy Lagrange 12 2.4 Chọn mốc nội suy tối ưu 16 2.5 2.4.1 Hiện tượng Runge 16 2.4.2 Mốc nội suy Chebyshev 16 Nội suy Newton 20 2.5.1 Tỷ sai phân 21 2.5.2 Mốc cách 24 TÍNH GẦN ĐÚNG ĐẠO HÀM VÀ TÍCH PHÂN 29 3.1 Tính gần đạo hàm 29 3.2 Tính gần tích phân 32 3.3 3.2.1 Cơng thức hình thang 32 3.2.2 Công thức Simpson 33 3.2.3 Bậc xác 33 3.2.4 Công thức Newton - Cotes 34 3.2.5 Cơng thức hình thang mở rộng cơng thức Simpson mở rộng 36 Công thức Gauss 37 3.3.1 Đa thức Legendre 38 3.4 3.3.2 Công thức Gauss với khoảng [a, b] tùy ý 41 3.3.3 Công thức Gauss - Chebyshev 42 3.3.4 Công thức Gauss - Laguerre 43 3.3.5 Công thức Gauss - Hermite 44 Phương pháp Monte - Carlo 46 NGHIỆM SỐ CỦA PHƯƠNG TRÌNH PHI TUYẾN 4.1 Mở đầu 53 4.2 Phương pháp chia đôi 56 4.3 Phương pháp lặp đơn 58 4.4 Tốc độ hội tụ 61 4.5 Phương pháp Newton 62 4.5.1 Mô tả phương pháp 62 4.5.2 Cách chọn điểm x0 để đảm bảo thuật toán hội tụ 67 4.5.3 Thuật toán Newton cải tiến cho trường hợp phương trình có nghiệm bội 68 4.6 Phương pháp dây cung 69 4.7 Giải đa thức 72 4.7.1 Phương trình đa thức phân bố nghiệm 72 4.7.2 Nghiệm phức phương pháp Muller 77 NGHIỆM SỐ CỦA HỆ PHƯƠNG TRÌNH TUYẾN TÍNH VÀ BÀI TỐN TÌM GIÁ TRỊ RIÊNG, VECTOR RIÊNG 5.1 5.2 5.3 5.4 53 85 Mở đầu 85 5.1.1 Đặt vấn đề 85 5.1.2 Số điều kiện ma trận 85 Phương pháp trực tiếp 87 5.2.1 Phương pháp khử Gauss 87 5.2.2 Phương pháp phân tích LU 89 5.2.3 Phương pháp Cholesky 92 Phương pháp lặp đơn 93 5.3.1 Phương pháp Jacobi 94 5.3.2 Phương pháp Gauss - Seidel 97 5.3.3 Phương pháp giảm dư hạn liên tiếp 100 Phương pháp tính gần giá trị riêng, vector riêng ma trận 101 PHƯƠNG PHÁP XẤP XỈ TRUNG BÌNH PHƯƠNG 105 6.1 Xấp xỉ tốt không gian Hilbert 105 6.1.1 Bất đẳng thức Bessel đẳng thức Parseval 105 6.1.2 Xấp xỉ tốt không gian Hibert 107 6.2 6.3 Xấp xỉ tốt L2 [a, b] 109 6.2.1 Xấp xỉ đa thức đại số 109 6.2.2 Xấp xỉ đa thức trực giao 109 Xấp xỉ trung bình phương hàm cho dạng bảng đa thức đại số 112 GIẢI GẦN ĐÚNG PHƯƠNG TRÌNH VI PHÂN 117 7.1 Một số khái niệm phương trình vi phân thường 117 7.2 Phương pháp bước 118 7.3 7.4 7.2.1 Phương pháp xấp xỉ Picard 118 7.2.2 Phương pháp chuỗi Taylor 119 7.2.3 Phương pháp Euler 120 7.2.4 Phương pháp Euler cải tiến 122 7.2.5 Phương pháp Runge - Kutta 122 Phương pháp đa bước 127 7.3.1 Phương pháp Adams - Bashforth 128 7.3.2 Phương pháp Adams - Moulton 130 Hệ phương trình vi phân tuyến tính 131 A Phần mềm toán học 139 A.1 MATLAB 139 A.1.1 Mở đầu MATLAB 139 A.1.2 Giao diện 139 A.1.3 Các phép toán 140 A.1.4 Vẽ đồ thị 140 A.2 Python 140 A.2.1 Tổng quan 140 A.2.2 Một số lệnh Python 141 A.2.3 Thư viện Python 144 B GIẢI TÍCH TỐN HỌC 147 B.1 Hàm số tính liên tục 147 B.2 Đạo hàm 147 C ĐẠI SỐ TUYẾN TÍNH 151 C.1 Ma trận định thức 151 C.1.1 Định nghĩa ma trận 151 C.1.2 Các phép biến đổi sơ cấp 151 C.1.3 Định thức cách tính 151 C.2 Hệ phương trình tuyến tính 152 C.3 Giá trị riêng, vector riêng 154 LỜI NĨI ĐẦU Giải tích số hay cịn gọi Phương pháp số, Phương pháp tính, Tốn học tính tốn lĩnh vực toán học chuyên nghiên cứu phương pháp số giải gần toán thực tế mơ hình hóa ngơn ngữ tốn học Giải tích số có nhiều ứng dụng khoa học kỹ thuật, đặc biệt kỷ XXI, Giải tích số ứng dụng khoa học xã hội, y học, tài chính, chẳng hạn nghiệm số phương trình vi phân sử dụng thiên văn học để dự đoán chuyển động hành tinh, thiên hà, phương pháp số đại số tuyến tính sử dụng để phân tích liệu, phương pháp số kỹ thuật siêu âm để chuẩn đốn tế bào ung thư, dị mìn, lý thuyết nội suy và xấp xỉ hàm số sử dụng dự báo thời tiết, dự báo biến đổi khí hậu, phát triển lây lan dịch cúm, Sự phát triển máy tính đại trước chiến thứ hai với phát triển ngơn ngữ lập trình bậc cao thúc đẩy Giải tích số lên tầm cao mà tiên phong lĩnh vực Alan Mathison Turing (1912-1954) John von Neumann (1903-1957) Ngày Giải tích số ứng dụng ngày rộng rãi đời sống hàng ngày, chẳng hạn thiết kế máy bay, tơ, chuẩn đốn bệnh, phân tích thị trường chứng khoán, xử lý liệu Hiện giáo trình Giải tích số tiếng Việt chưa nhiều, phải kể đến sách hay giới thiệu tài liệu tham khảo [1, 2, 3] Tuy nhiên, sách xuất lâu Cuốn sách nhằm cung cấp cho sinh viên kiến thức để tìm nghiệm xấp xỉ phương trình đại số phương trình vi phân, hệ phương trình đại số tuyến tính, xấp xỉ hàm số Với phát triển cách mạng công nghệ thông tin nay, việc dạy học môn học trường đại học cần có thay đổi cho phù hợp, chẳng hạn việc học Giải tích số cần gắn với việc chạy chương trình số phần mềm tính tốn đại hiệu quả, giảm nhẹ kiến thức toán học mức độ chuyên sâu (xem [4, 5, 6, 7, 8]) Với quan điểm đó, sách biên soạn theo hướng thực hành chi tiết chứng minh cần thiết Sách biên soạn theo chương trình đào tạo sinh viên sư phạm Toán Trường Đại học Sư phạm - Đại học Đà Nẵng Trường Đại học Quảng Bình với thời lượng tín (45 tiết) Ngồi ra, giáo trình sử dụng để tham khảo giảng dạy học phần Phương pháp tính cho trường kỹ thuật Nội dung sách gồm chương: • Chương Sai số; • Chương Phép nội suy; • Chương Tính gần đạo hàm tích phân; • Chương Nghiệm số phương trình phi tuyến; • Chương Nghiệm số hệ đại số tuyến tính tốn tìm giá trị riêng vector riêng; • Chương Phương pháp xấp xỉ trung bình phương; • Chương Giải gần phương trình vi phân Cùng với đó, sách phần hướng dẫn sử dụng phần mềm Matlab Python để chạy chương trình tốn lớn với độ xác cao Để chạy số chương trình có nhiều phần mềm, ví dụ Maple, Matlab, R, C++, Python Chúng tơi chọn trình bày hai phần mềm số Matlab Python Phần mềm Matlab tương đối mạnh giao diện trực quan, dễ sử dụng lựa chọn hàng đầu cho người làm giải số Tuy nhiên, phần mềm quyền, chọn minh họa thêm phần mềm mã nguồn mở Python để phù hợp với đa số người học học sinh, sinh viên Ngồi ra, mơn Giải tích số cần kiến thức chuẩn bị nhiều mơn học khác ví dụ Giải tích, Đại số tuyến tính, Phương trình vi phân thường phương trình đạo hàm riêng, giải tích hàm, xác suất thống kê, nên người đọc tiện nắm bắt vấn đề, kiến thức lĩnh vực nhắc lại chương phần phụ lục Mặc dù nhóm tác giả dành nhiều thời gian công sức công tác biên soạn, tham khảo tài liệu trình bày cách hệ thống, song giáo trình khó tránh khỏi thiếu sót Chúng tơi mong nhận ý kiến phản hồi từ bạn đọc để giáo trình hồn thiện lần tái sau Mọi góp ý xin gửi địa chỉ: Khoa Toán, Trường Đại học Sư phạm - Đại học Đà Nẵng - 459 Tôn Đức Thắng - Đà Nẵng - Việt Nam Qua đây, xin gửi lời cảm ơn chân thành tới Trường Đại học Sư phạm - Đại học Đà Nẵng, thầy, cô khoa Toán, Trường Đại học Sư phạm - Đại học Đà Nẵng ủng hộ, động viên trình biên soạn sách tham khảo Đà Nẵng, tháng 11 năm 2021 Các tác giả CHƯƠNG SAI SỐ Chương trình bày số khái niệm sai số: Sai số tương đối, sai số tuyệt đối, sai số quy trịn, Các kết chứng minh chi tiết, bạn đọc tham khảo thêm tài liệu [4, 1, 9, 10] 1.1 Sai số tuyệt đối sai số tương đối Sai số giá trị chênh lệch giá trị đo tính a giá trị thực hay giá trị xác a⋆ đại lượng • Sai số tuyệt đối: |a − a⋆ | • Sai số tuyệt đối giới hạn: Số dương ∆a nhỏ thoả mãn |a − a⋆ | ≤ ∆a • Sai số tương đối: |a − a⋆ | |a − a⋆ | ≈ |a| |a⋆ | • Sai số tương đối giới hạn: δa = ∆a |a| 1.2 Các loại sai số • Sai số giả thiết: Xuất việc giả thiết toán đạt số điều kiện lý tưởng nhằm làm giảm độ phức tạp tốn Một ví dụ cho sai số loại vào năm 1964, Arno Penzias Robert Wilson phát xạ phông vũ trụ họ tiến hành nghiên cứu máy thu tín hiệu vi sóng phịng thí nghiệm Bell Nguyên nhân chế tạo máy thu tín hiệu họ khơng tính đến độ nhiễu xạ vũ trụ lúc học thuyết vụ nổ Bigbang chưa cơng nhận • Sai số số liệu ban đầu: Xuất việc đo đạc cung cấp giá trị đầu vào khơng xác Một ví dụ cho sai số loại Năm 1999, tàu thăm dò khí hậu Hỏa Mars Climate Orbiter bị phá hủy nhầm lẫn đơn vị đo số số liệu đầu vào lập trình máy tính, dẫn đến việc tàu không kịp giảm tốc chạm vào bầu khí Hỏa • Sai số phương pháp: Xuất việc giải toán phương pháp gần • Sai số tính tốn: Xuất làm trịn số q trình tính tốn, q trình tính nhiều sai số tích luỹ lớn 1.3 Sai số quy tròn Quy tắc quy tròn số: Quy tròn cho sai số quy tròn tuyệt đối không lớn nửa đơn vị hàng giữ lại cuối Cụ thể, chữ số bỏ lớn thêm vào chữ số giữ lại cuối đơn vị, chữ số bỏ nhỏ giữ nguyên chữ số giữ lại cuối GIẢI TÍCH SỐ Ví dụ 1.1 62.8274 ≈ 62.827 ≈ 62.83 ≈ 62.8 Ví dụ ảnh hưởng sai số quy tròn trình tính tốn √ Ví dụ 1.2 Tính ( − 1)10 Lời giải Theo khai triển nhị thức Newton ta có √ √ √ A = ( − 1)10 = 3363 − 2378 với = 1.414213562373095 √ Kết phép tính A hồn tồn phụ thuộc vào việc thu gọn số bảng sau: √ 1.4 1.41 1.414 1.4142 1.41421 1.414213562 √ ( − 1)10 √ 3363 − 2378 1.342265931015237e − 04 10.019999999999982 1.486281067032113e − 04 0.032400000000052 1.486767786347717e − 04 1.495639999120613e − 04 1.048575999999998e − 04 33.800000000000182 1.479120006017051e − 04 0.508000000000266 1.486639937759231e − 04 0.008620000000064 Như vậy, với ba kết đầu tính gần khai triển nhị thức Newton cho kết không xác Điều chứng tỏ việc quy trịn số việc lựa chọn thuật tốn có ảnh hưởng lớn q trình tính tốn □ 1.4 Cách viết số xấp xỉ • Chữ số có nghĩa: Các chữ số từ chữ số khác khơng tính từ trái sang phải số viết dạng thập phân chữ số có nghĩa Ví dụ số 3.14 có ba chữ số có nghĩa Số 0.0314 có ba chữ số có nghĩa • Chữ số đáng tin: Mọi số thập phân có dạng: X a=± αs 10s Giả sử a giá trị xấp xỉ a⋆ Nếu ∆a ≤ 0.5 · 10s ta nói αs chữ số đáng tin • Cách viết số xấp xỉ + Viết kèm theo sai số: a⋆ = a ± ∆a a⋆ = a(1 ± δa ) + Viết theo quy ước: chữ số có nghĩa số đáng tin Một số viết theo cách thứ hai có nghĩa có sai số tuyệt đối giới hạn không lớn nửa đơn vị hàng cuối Ví dụ 1.3 Cho a = 65.8274 với ∆a = 0.0043 chữ số 6, 5, 8, chữ số đáng tin Nếu ∆a = 0.0067 chữ số 6, 5, chữ số đáng tin 1.5 Các quy tắc tính sai số a) Sai số tổng u = x + y: ∆x+y = ∆x + ∆y CHƯƠNG SAI SỐ b) Sai số tích u = xy: δxy = δx + δy c) Sai số thương u = x , y ̸= 0: y δx/y = δx + δy d) Công thức tổng quát u = f (x1 , x2 , , xn ): n X ∆u = |fx′ i |∆xi i=1 1.6 Thuật toán (Algorithm) Thuật toán tập hợp hữu hạn thị hay phương cách định nghĩa rõ ràng cho việc hoàn tất số việc từ trạng thái ban đầu cho trước; thị áp dụng triệt để dẫn đến kết sau dự đốn Ví dụ 1.4 Tính tổng x1 + x2 + · · · + xN Thuật tốn: • Lấy số thứ x1 cộng với x2 • Lưu tổng • Cộng số thứ vào tổng • Lưu tổng • Tiếp tục xN 1.7 Mã giả (Pseudocode) Mã giả mô tả giải thuật lập trình máy tính ngắn gọn khơng thức cấp cao, sử dụng quy ước có cấu trúc số ngơn ngữ lập trình, thường bỏ chi tiết không cần thiết để giúp hiểu rõ giải thuật hơn, bỏ chương trình con, khai báo biến đoạn mã đặc biệt hệ thống Ngơn ngữ lập trình bổ sung mô tả chi tiết ngôn ngữ tự nhiên nơi thích hợp, ký hiệu tốn học đơn giản Ví dụ 1.5 Viết mã giả cho thuật tốn: Tính tổng x1 + x2 + · · · + xN • Bước 1: INPUT N, x1 , x2 , , xN • Bước 2: Set SU M = • Bước 3: For i = 1, 2, , N Set SU M = SU M + xi • Bước 4: OUTPUT SU M CHƯƠNG NGHIỆM SỐ CỦA HỆ PHƯƠNG TRÌNH TUYẾN TÍNH  L−1 k Ta thu tức  (1) (1) a11   An =    Ik−1     ℓk+1k  :=      ℓnk a1n (2) (2) a22 a2n (n) ann 0              u11 u1n     u2n  =: U =  u22   0   unn    ,   An = U = Ln−1 · · · L1 A Tính tốn trực tiếp ta có (L1 ) −1 −1 · · · (Ln−1 ) Do      ℓ21   =: L =     ℓn1 ℓnn−1 A = LU Ví dụ 5.5 Giải hệ sau Ax = b,  −4 −1   −9      A =  −1 −1  , b =  −12  1 11 Lời giải Chương trình MATLAB cho phân tích LU: f u n c t i o n [ L ,U] = s l u (A) %SLU Simple , square , LU f a c t o r i z a t i o n [ n , n ] = s i z e (A ) ; t o l = e −6; for k = 1:n i f abs (A( k , k ) ) < t o l d i s p ( [ ' Small p i v o t i n column ' i n t s t r ( k ) ] ) end L( k , k ) = ; f o r i = k+1:n L( i , k ) = A( i , k ) /A( k , k ) ; f o r j = k+1:n A( i , j ) = A( i , j ) − L( i , k ) ∗A( k , j ) ; end end for j = k :n U( k , j ) = A( k , j ) ; end end 91 GIẢI TÍCH SỐ Áp dụng cho trường hợp ta được:  −4  U = 0 −1   − 43  15  0   L =  14  − 41 13  □ 5.2.3 Phương pháp Cholesky Xét trường hợp đặc biệt: A ma trận đối xứng xác định dương tức là: A = AT (Ax, x) > 0, ∀x ̸= Khi (k) LT = U and D = diag1≤k≤n (akk ) Đặt D 1/2 q (k) = diag1≤k≤n ( akk ), ˜ := LD1/2 , L ta có ˜L ˜T A = LDLT = (LD1/2 )(D1/2 LT ) = L Ví dụ 5.6 Giải hệ phương trình sau:         Ax =  11  x =  −9  17 Lời giải Dễ thấy A ma trận đối xứng Hơn  ! 5  > 0, det = > 0, det  7 11 Ta có A Suy ℓ21 = 57 , ℓ31 = 53 =⇒     7 ℓ =− 11    11  32 =⇒  65 − 11 = U −   5  11 21 −5 0   A = LU =  92 A xác định dương   11  = > 5 0       56 − 11  − 11 0 6 CHƯƠNG NGHIỆM SỐ CỦA HỆ PHƯƠNG TRÌNH TUYẾN TÍNH Ta viết   A = LDU =  5    0 0 57    = LDLT   65   − 11  − 11 0 16 0  √ 0  √ q  √  ˜L ˜ T =  57  A=L  q q  √ 11 − 65 0 √ 5q √  5q − 11   q  □ Ví dụ 5.7 Sử dụng phương pháp Cholesky giải hệ sau Ax = b     −3 −18     A =  13 −5 , b = −45 −3 −5 18 97 5.3 Phương pháp lặp đơn Để giải hệ phương trình Ax = b (5.1) phương pháp lặp đơn, ta biến đổi (5.1) dạng: x = Bx + g (5.2) Sau với x(0) ∈ Rn cho trước , ta thiết lập dãy {x(k) } cách đặt: x(k+1) = Bx(k) + g, (k ≥ 0) (5.3) Với số điều kiện ma trận B , dãy {x(k) } hội tụ đến nghiệm x∗ hệ (5.1) Phương pháp lặp xác định theo hệ thức (5.3) để giải hệ phương trình (5.1) gọi phương pháp lặp đơn Định lý 5.1 Giả sử ∥B∥ < Khi dãy lặp x(k+1) = Bx(k) + g, (k ≥ 0) x(0) ∈ Rn cho trước, hội tụ tới nghiệm phương trình x = Bx + g Hơn ta có đánh giá sai số: a) ∥x(k) − x∗ ∥ ≤ ∥B∥k ∥x(1) − x(0) ∥ − ∥B∥ b) ∥x(k) − x∗ ∥ ≤ ∥B∥ ∥x(k) − x(k−1) ∥ − ∥B∥ Chứng minh Để ý T x := Bx + g ánh xạ co ∥T x − T y∥ = ∥Bx + g − By − g∥ = ∥B(x − y)∥ ≤ ∥B∥∥x − y∥ Áp dụng định lý ánh xạ co Banach suy điều phải chứng minh ■ 93 GIẢI TÍCH SỐ Định lý 5.2 Giả sử ma trận A = (aij )n×n thỏa mãn hai điều kiện sau (ma trận đường chéo trội): (a) n P j=1,j̸=i (b) n P i=1,i̸=j |aij | < |aii |, ∀i = 1, , n |aij | < |ajj |, ∀j = 1, , n Khi ln đưa hệ phương trình (5.1) dạng (5.3) với điều kiện ∥B∥∞ < (với điều kiện (a)) ∥B∥1 < (với điều kiện (b)) 5.3.1 Phương pháp Jacobi Cho Ax = b hệ n phương trình, n ẩn số với   a11 a12 · · · a1n    a21 a22 · · · a2n  ,  A=    an1 an2 · · · ann Khi A viết dạng:  a11   a22 A = D + R, D=   0 Khi ta có:  x1   b1    b2   b=     bn     x2   x=  ,   xn ···   a12 · · · a1n     a21 · · · a2n    , R =        an1 an2 · · · · · · ann ··· Dx = b − Rx hay x = D−1 (b − Rx) Ta xây dựng dãy lặp x(k+1) = D−1 (b − Rx(k) ), hay (k+1) xi = aii bi − X j̸=i (k) aij xj ! , i = 1, 2, , n Gọi e(k) vector sai số e(k+1) = x(k+1) − x(k) = D−1 (b − Rx(k) ) − x(k) = D−1 (b − Ax(k) ) Định lý 5.3 (Điều kiện đủ) Nếu A ma trận đường chéo trội, tức X |aii | > |aij |, ∀i = 1, , n i̸=j với x(0) thuật tốn Jacobi hội tụ tới nghiệm hệ Ax = b 94  CHƯƠNG NGHIỆM SỐ CỦA HỆ PHƯƠNG TRÌNH TUYẾN TÍNH Tiêu chuẩn dừng ∥r(k) ∥ ∥b − Ax(k) ∥ = < ϵ ∥b∥ ∥b∥ Ví dụ 5.8 Áp dụng phương pháp Jacobi để giải hệ sau với bốn bước lặp  4x1 + x2 − x3 a) −2x1 + 5x2  2x1 + x2 + 6x3  5x1 − 2x2 + 3x3 b) −3x1 + 9x2 + x3  2x1 − x2 − 7x3  4x1 + 5x3 c) x1 + 6x2 + 2x3  8x1 + 2x2 + x3 Lời giải =1 = −7 , x(0) = 13     = 1; = −1 = , x(0) =3 = 12.5 = 18.5 , x(0) = −11.5  4x1 + x2 − x3 a) −2x1 + 5x2  2x1 + x2 + 6x3     = 0;     = 0   =1   (0) = −7 , x = 1; = 13   = −1   (0) = , x = 0; =3 Ta thấy ma trận A hệ   −2   A = −3 1 −1 −7  5x1 − 2x2 + 3x3 b) −3x1 + 9x2 + x3  2x1 − x2 − 7x3 có dạng đường chéo trội Từ hệ ta rút ra:  −1 + 2x2 − 3x3  x =    + 3x1 − x3 x2 =     x3 = − 2x1 + x2 −7 Áp dụng công thức lặp Jacobi ta có  (k−1) (k−1)  − 3x3 −1 + 2x2 (k)   x1 =     (k−1) (k−1) + 3x1 − x3 (k) , k = 0, 1, 2, · · · x2 =    (k−1) (k−1)   + x2 x(k) = − 2x1  −7 h iT Với x(0) = 0 , ta tính x(1) , từ tính x(2) , x(3) x(4) Kết 95 GIẢI TÍCH SỐ thể bảng sau: (k) (k) (k) k x1 x2 x3 0 0 −1/5 0.146037 2/9 0.2031746 −3/7 −0.5174603 0.19174603 0.3283950617 −0.41587730 0.1808818 −0.4207004 0.3323456 Hệ có nghiệm xác là:     59/317 0.186119873817035      105/317  ≈  0.331230283911672  −134/317 −0.422712933753943   = 12.5   = 18.5 , x(0) = 0 = −11.5 Trong ví dụ này, ma trận A hệ có dạng     A = 1 2  4x1 + 5x3 c) x1 + 6x2 + 2x3  8x1 + 2x2 + x3 Ta thấy A khơng có dạng đường chéo trội nên áp dụng trực tiếp phương pháp Jacobi cho hệ khơng đảm bảo dãy lặp hội tụ tới nghiệm (thực tế dãy lặp không hội tụ tới nghiệm) Vì ta đổi chỗ phương trình thứ phương trình thứ ba hệ để hệ tương đương  8x1 + 2x2 + x3 = −11.5 x1 + 6x2 + 2x3 = 18.5  4x1 + 5x3 = 12.5 Khi hệ ma trận A tương ứng có dạng đường chéo trội ta áp dụng thuật tốn Jacobi cho hệ Kết tính tốn thể bảng sau: (k) (k) (k) k x1 x2 x3 0 0 1.5625 3.0833 −2.3000 1.0792 3.5896 −3.5500 1.1089 4.0868 −3.1633 0.9362 3.9530 −3.1871 □ Chương trình MATLAB cho thuật tốn Jacobi: f u n c t i o n [ x , k , MJnorm]= J a c o b i (A, b , x0 , t o l , kmax ) i f n a r g i n |aij |, ∀i = 1, , n i̸=j với x(0) thuật tốn Gauss - Seidel hội tụ tới nghiệm hệ Ax = b Định lý 5.5 Nếu ma trận A đối xứng xác định dương phương pháp Gauss Seidel hội tụ với xấp xỉ ban đầu x(0) cho trước Tiêu chuẩn dừng 97 GIẢI TÍCH SỐ ∥r(k) ∥ ∥b − Ax(k) ∥ = < ϵ ∥b∥ ∥b∥ (0) (0) (0) Ví dụ 5.9 Sử dụng phương pháp Gauss-Seidel giải hệ sau với x1 = x2 = x3 = sử dụng bốn bước lặp:  5x1 − 2x2 + 3x3 = −1, −3x1 + 9x2 + x3 = 2,  2x1 − x2 − 7x3 = Lời giải Dễ thấy ma trận A hệ phương trình   −2   A = −3 1 −1 −7 ma trận đường chéo trội Từ hệ ta rút  −1 + 2x2 − 3x3  x =    + 3x1 − x3 x2 =     x3 = − 2x1 + x2 −7 Cơng thức lặp Gauss - Seidel có dạng:  (k) (k)  −1 + 2x2 − 3x3 (k+1)   x1 =     (k) (k+1) − x3 + 3x1 (k+1) x2 =    (k+1) (k+1)   − 2x + x2 (k+1)  x = −7 (0) (0) (0) Với x1 = x2 = x3 = ta có bảng kết sau: (k) (k) (k) k x1 x2 x3 1 1 −0.4 −0.0222 −0.5397 0.1149 0.3205 −0.4415 0.1931 0.3357 0.1871 0.3314 −0.4213 −0.4225 □ Ví dụ 5.10 Sử dụng phương pháp Gauss-Seidel giải hệ sau với bốn bước lặp 10x1 −x2 +2x3 = 6, −x1 +11x2 −x3 +3x4 = 25, , x(0) 2x1 −x2 +10x3 −x4 = −11, 3x2 −x3 +8x4 = 15, Từ hệ ta suy x1 = 98 x2 − 2x3 + , 10     = 0 CHƯƠNG NGHIỆM SỐ CỦA HỆ PHƯƠNG TRÌNH TUYẾN TÍNH x1 + x3 − 3x4 + 25 , 11 −2x1 + x2 + x4 − 11 x3 = , 10 −3x2 + x3 + 15 x4 = x2 = Lặp Gauss-Seidel (k) (k) x − 2x3 + = , 10 (k+1) (k) (k) x1 + x3 − 3x4 + 25 (k+1) x2 = , 11 (k+1) (k+1) (k) −2x1 + x2 + x4 − 11 (k+1) x3 = , 10 (k+1) (k+1) −3x2 + x3 + 15 (k+1) x4 = (0) T với k = 0, 1, 2, Với x0 = (0, 0, 0) ta có (k+1) x1 (1) x1 = 0.6, (1) x2 = 2.32727, (1) x3 = −0.987273, (1) x4 = 0.878864 Tiếp tục ta có bảng sau: (k) x1 (k) x2 (k) x3 (k) x4 0.6 2.32727 −0.987273 0.878864 1.03018 2.03694 −1.01446 0.984341 1.00659 2.00356 −1.00253 1.00086 2.0003 −1.00031 0.998351 0.99985 Nghiệm xác phương trình x∗ = (1, 2, −1, 1)T Chương trình MATLAB cho phương pháp Gauss-Seidel f u n c t i o n [ x , k , MGSnorm]= G a u s s S e i d e l (A, b , x0 , t o l , kmax ) i f n a r g i n < | | isempty ( x0 ) , x0= z e r o s ( s i z e ( b ) ) ; end i f n a r g i n < | | isempty ( t o l ) , t o l = 1e −4; end i f n a r g i n < | | isempty ( kmax ) , kmax = 0 ; end x ( : , ) = x0 ; D = d i a g ( d i a g (A ) ) ; At = A − D; L = t r i l ( At ) ; U = At−L ; M = −(D+L) \U; MGSnorm = norm (M, i n f ) ; B = (D+L) \ b ; f o r k = : kmax , x ( : , k+1)= M∗x ( : , k ) + B ; i f norm ( x ( : , k+1) − x ( : , k ) ) < t o l , break ; end end x = x ( : , end ) ; 99 GIẢI TÍCH SỐ 5.3.3 Phương pháp giảm dư hạn liên tiếp Cho hệ phương trình Ax = b   · · · a1n  · · · a2n  ,   · · · ann a11 a12   a21 a22 A=   an1 an2  x1    b1    b2   b=     bn    x2   x=  ,   xn Ta phân tích A = D + L + U, D, L, U    a11 · · · 0 ···     a22 · · ·   a21 · · · ,         0 · · · ann an1 an2 · · · là:   0 a12   0 0 ,      0 · · · a1n   · · · a2n     ··· Hệ viết lại sau: (D + ωL)x = ωb − [ωU + (ω − 1)D]x với ω > số  x(k+1) = (D + ωL)−1 ωb − [ωU + (ω − 1)D]x(k) , hay (k+1) xi = (1 − (k) ω)xi ω + aii bi − hay (k+1) xi ω (k) = xi + aii bi − X X (k+1) aij xj j= Eps x0 = x ; x = B ∗ x0 + c ; Iters = Iters + ; end end Bảng tóm tắt ba phương pháp lặp: Jacobi Gauss- Seidel SOR (k+1) xi (k+1) xi (k+1) xi = (k) xi + aii (k) = xi + aii ω (k) = xi + aii bi − bi − bi − i−1 P j=1 i−1 P j=1 i−1 P j=1 (k) aij xj − (k+1) aij xj (k+1) aij xj n P j=i − − (k) aij xj n P j=i n P j=i ! (k) ! (k) ! aij xj aij xj 5.4 Phương pháp tính gần giá trị riêng, vector riêng ma trận Định nghĩa 5.2 Cho ma trận vng An×n Số λ gọi giá trị riêng A phương trình Av = λv có nghiệm khơng tầm thường (v ̸= 0) Khi v gọi vector riêng A Tập tất giá trị riêng A gọi phổ A ký hiệu λ(A) Giả sử A thỏa mãn điều kiện sau: a) A ma trận thực b) A có n giá trị riêng λ1 , λ2 , · · · , λn |λ1 | > |λ1 | ≥ ≥ |λn | vector riêng tương ứng độc lập tuyến tính c) λ1 số thực Thuật Toán Input: Ma trận A, vec tơ ban đầu x1 , α1 = 0, ϵ (sai số) 101 GIẢI TÍCH SỐ x1 ∥x1 ∥ Với k chạy từ đến kmax (Số bước lặp tối đa.) a) Chuẩn hóa x1 : x1 = b) Tính xk+1 = Axk c) Tính αk = xTk xk+1 d) Chuẩn hóa xk+1 : xk+1 = x1 ∥xk+1 ∥ e) Kiểm tra điều kiện dừng: Nếu |αk+1 − αk | < ϵ, Thuật toán kết thúc Ngược lại, tăng k lên đơn vị (k+1) trở bước Ví dụ 5.13 Xét ma trận  −4 −2      −1 −6 −1 Bắt đầu với α1 = 0, x1 = [1, 1, 1]T ϵ = 10−4     0.5774 x1     = √ 1 = 0.5774 x1 = ∥x1 ∥ 0.5774      −1.7321 −4 −2 0.5774      x2 = Ax1 =  −1  0.5774 =  2.3094  −2.8868 −6 −1 0.5774 α2 = xT1 x2 = −1.333 Vì |α2 − α1 | = 1.333 > ϵ, ta tiếp tục tính bước lặp   −0, 4343 x2   x2 = =  0.5657  ∥x2 ∥ −0.7071      −0, 4343 −2.1213 −4 −2      x3 = Ax2 =  −1   0.5657  =  1.9799  −6 −1 −0.7071 −3.5355 α3 = xT2 x3 = 4.52 Vì |α2 − α1 | = 5.8533, ta tiếp tục tính bước lặp, ta thu α4 = 3.4742, α5 = 3.2083, α6 = 3.1097, , α20 = 3.002 Phương pháp lũy thừa nghịch đảo: Tìm vector riêng có mơ đun nhỏ Nếu 1 λ1 , λ2 , , λn giá trị riêng A , , , giá trị riêng A−1 λ1 λ2 λn 102 CHƯƠNG NGHIỆM SỐ CỦA HỆ PHƯƠNG TRÌNH TUYẾN TÍNH   B = A−1 =  − 13 3   − 16  Phương pháp tìm giá trị riêng gần số cho trước Tìm tất giá trị riêng A? Nếu λ1 , λ2 , , λn giá trị riêng A λ1 − α, λ2 − α, , λn − α vector riêng A − αI Nhận xét • Vector ban đầu x1 vector xk cần chuẩn hóa • Đặt α = ta tìm vector riêng có mơ đun nhỏ A Ví dụ 5.14 Tìm tất    −3    giá trị riêng, vector riêng ma trận sau:    −3 −9      −3 11   , x1 =     −5     −3 −8 Bài tập chương Sử dụng phương pháp khử Gauss giải hệ phương trình sau   =1 2x1 − 3x2 + 2x3 3x1 + x3 = −11 (a) x2 + 3x3 (b) −x1 + 5x2 − 2x3   −6x1 + 9x2 − 7x3 = 2x1 − 7x2 + 4x3 = −1 = 12 = −18 Giải hệ phương trình Ax = b phương pháp phân tích LU     1     (a) A = −3 −3 1 , b = −4 −3     −1 −5 −14     (b) A =  −1  , b =   Sử dụng phương pháp Cholesky, giải hệ Ax = b     −3 −18     A =  13 −5 , b = −45 −3 −5 18 97 Sử dụng phương pháp Cholesky giải hệ sau Ax = b     1 −2 −3     A =  10  , b =  33  −2 24 78 103 GIẢI TÍCH SỐ Giải hệ sau phương pháp Jacobi với bước lặp        −3 x1 24      (0)    (a)  −1 x2  = −5 , x = 0 −2 x3 12        −5 x1 18       (0)   (b)  −3 x2  = 11 , x = 1 −1 x3 Giải hệ sau phương pháp Gauss-Seidel với với bước lặp        −3 x1 24       (0)   (a)  −1 x2  = −5 , x = 0 −2 x3 12        −5 x1 18       (0)   (b)  −3 x2  = 11 , x = 1 −1 x3        −6 x1      (0)    (c)  12  x2  = 15 , x = 1 x3 −6 17        −6 1 −2 x1       (0)   (d)  10  x2  =  15  , x = 1 −2 18 x3 Giải hệ phương trình sau với x (0) h 46  3x1 + 7x2 + 13x3 = 76 x1 + 5x2 + 3x3 = 28  12x1 + 3x2 − 5x3 = iT = 1, 0, sử dụng bốn bước lặp, phương pháp (a) Lặp Jacobi (b) Lặp Gauss- Seidel     Tính số điều kiện ma trận sau:   Tìm giá tri riêng có mơ đun lớn nhất, nhỏ ma trận sau với bước lặp với α1 = 0, x1 = (1, 1, 1)T       −1 −5 1 −3 −9       (a) −2 10  (b) 0 0 (c) −4 −14 104 1 −4 −8 CHƯƠNG PHƯƠNG PHÁP XẤP XỈ TRUNG BÌNH PHƯƠNG Trong chương trước, trình bày phương pháp xấp xỉ hàm số đa thức nội suy Phương pháp có nhược điểm nhiều mốc nội suy bậc đa thức nội suy lớn, điều gây nhiều khó khăn tính tốn Hơn nữa, giá trị yi = f (xi ), i = 0, 1, , n thường nhận thực nghiệm dễ mắc sai số, nên đòi hỏi P (xi ) = yi , i = 0, 1, , n chưa thật hợp lý Trong chương này, tìm hiểu phương pháp xấp xỉ trung bình phương nhằm khắc phục nhược điểm Bạn đọc tham khảo thêm kết liên quan [1, 9] 6.1.Xấp xỉ tốt không gian Hilbert 6.1.1 Bất đẳng thức Bessel đẳng thức Parseval Giả sử H không gian Hilbert {ei }∞ i=1 hệ trực chuẩn đầy đủ H, tức ⟨ei , ej ⟩ = δij (i, j ∈ N) Span(ei ) = H Với x ∈ H xét tổng Fourier n phần tử cho n X Sn := ci ei , i=1 ei := ⟨x, ei ⟩ gọi hệ số Fourier x Khi với n ∈ N, ta có: n X 2 2 ≤ ||x − Sn || = ||x|| − 2⟨Sn , x⟩ + ∥Sn ∥ = x − c2i , i=1 suy n X i=1 Do đó, chuỗi P∞ i=1 ci c2i ≤ ||x||2 , ∀ n ∈ N hội tụ, ta cịn có bất đẳng thức Bessel sau ∞ X c2i ≤ ||x||2 (6.1) i=1 Mệnh đề 6.1 Chuỗi Fourier P∞ i=1 ci ei hội tụ x = ∞ X ci e i i=1 Chứng minh Rõ ràng, ∥Sn − Sn+m ∥ = n+m X i=1 c2i → (m → ∞) suy dãy tổng riêng {Sn } dãy nên Sn → S ∈ H Với k cố định, ta có ⟨x − S, ek ⟩ = ⟨x, ek ⟩ − ⟨S, ek ⟩ = ck − ⟨S − Sn , ek ⟩ − ⟨Sn , ek ⟩ Khi n > k ta có suy ra, ⟨x − S, ek ⟩ = ck − ⟨S − Sn , ek ⟩ − ck = ⟨Sn − S, ek ⟩ , ≤ ∥ ⟨x − S, ek ⟩ ∥ = ∥ ⟨Sn − S, ek ⟩ ∥ ≤ ∥Sn − S∥ → (k → ∞) 105

Ngày đăng: 12/11/2023, 10:44

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

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

Tài liệu liên quan