Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
334,95 KB
Nội dung
BỘ MÔN TOÁN ỨNG DỤNG - ĐHBK om - C PHƯƠNG PHÁP TÍNH – BG SINH VIÊN Zo ne CHƯƠNG nh Vi en HỆ PHƯƠNG TRÌNH TUYẾN TÍNH Si Ax = b SinhVienZone.com TS NGUYỄN QUỐC LÂN (2/2006) https://fb.com/sinhvienzonevn NOÄI DUNG om A- CÁC PHƯƠNG PHÁP CHÍNH XÁC C 1- PHƯƠNG PHÁP KHỬ GAUSS (PHẦN TỬ TRỤ) ne 2- PHÂN TÍCH NHÂN TỬ A = LU nh Vi en Zo 3- PHÂN TÍCH CHOLESKY B- CÁC PHƯƠNG PHÁP LẶP 1- LẶP JACOBI Si 2- LẶP GAUSS - SEIDEL C- SỐ ĐIỀU KIỆN – HỆ ĐIỀU KIỆN XẤU SinhVienZone.com https://fb.com/sinhvienzonevn TỔNG QUAN - Si Đơn giản: Hệ tam giác , C b1 b2 b bn ne Zo a1n a 22 a2n , an2 a nn a 12 nh Vi en a 11 a 21 A a n1 om Hệ n phương trình bậc (tuyến tính), n ẩn Dạng Ax = b: a 11 A x1 x2 x xn x x n a1n a 22 a2n a nn a 12 T Giaûi lùi Hàng i: hi = [ai1 ai2 … ain]T Biến đổi sơ cấp hàng hi hi + khj: Nhân hj với k cộng xuống hi (chỉ hi thay đổi) SinhVienZone.com https://fb.com/sinhvienzonevn PHƯƠNG PHÁP KHỬ GAUSS m 21 m 31 C ne Xây dựng ma trận mở rộng Zo 14 8 30 Si 2 A A | b 2 SinhVienZone.com 1 14 nh Vi en VD: Giải hệ x1 x x x x 14 x x x 30 x 14 om Giải thuật: Biến đổi sơ cấp hàng A: Giải lùi 14 8 30 Khử cột với hệ số khử m1j m1 j a1 j Tổng quát : m ij a 11 h h 3h 2 h h h1 14 2 1 24 https://fb.com/sinhvienzonevn a ij a ii 1 12 GIẢI LÙI & PHẦN TỬ TRUÏ 1 24 1 h3 h3 h 12 2 om 1 ne 1 1 Zo 2 m 32 C Khử cột với hệ số khử: nh Vi en Giải lùi với hệ tam giác thu được: Si x1 x x x2 x3 x3 x3 4 2 x x x x 1 x x Điều kiện: Khử cột 1: a11(1) & Khử cột 2: a22(2) & Giải lùi: a33(3) Phần tử trụ (pivot) akk SinhVienZone.com https://fb.com/sinhvienzonevn KHỬ GAUSS VỚI LỆNH MAPLE - > with(linalg); # Khởi động gói lệnh Đại số tuyến tính om > A := matrix(2,3,[2, 3, 4, 1, 2, 3]); # Nhập ma trận C > m21 := A[2,1]/A[1,1]; # Tính hệ số khử ne > A := addrow(A,1,2,–m21) ; # Cộng hàng h2 h2 – m21h1 Zo > A := swaprow(A,1,2) ; # Nếu cần thiết, đổi hàng h2 h1 nh Vi en > x := backsup(A) ; # Hệ dạng tam giác trên: Giải lùi > AA := gausselim(A); # Lệnh gộp khử Gauss toàn ma traän x1 x1 x1 x Si VD: Giải hệ SinhVienZone.com x2 x3 x4 8 x x x 20 x2 x2 x3 x4 x3 2 https://fb.com/sinhvienzonevn KHỬ GAUSS VỚI MA TRẬN “LẺ”: PIVOT ĐƠN VỊ SinhVienZone.com 08 nh Vi en 08 608 152 168 116 264 152 168 08 116 Zo Si 08 A b ne C Gauss, laøm tròn chữ số lẻ) 08 x x x 08 x x x 08 x x x 08 x om VD: Giải hệ với phép khử 1 006 636 y 593 736 https://fb.com/sinhvienzonevn THỰC TẾ TÍNH TOÁN: VẤN ĐỀ LÀM TRÒN SỐ C Nghiệm xác: [10, 1]T ne 003 x 59 14 x 59 17 (E ) 291 x 130 x 46 78 (E ) om VD: Giải hệ máy tính với phép làm tròn chữ có nghóa , 234567 10 , 235 10 nh Vi en 12 , 34567 Zo Quy tắc làm tròn máy tính: Làm tròn chữ số có nghóa Trụ khử: a11 = 0.003 m 21 12 , 35 a 21 1763 , 67 1764 a 11 Si Biến đổi cột một: (E2) (E2) – m21(E1) 003 x 59 14 x 59 17 104300 x 104400 SinhVienZone.com x 001 : Taïi ??? x 10 https://fb.com/sinhvienzonevn PHÂN TÍCH NHÂN TỬ (MATRIX FACTORIZATIONS) L Heä Ax = b (LU)x = b ne C * * * * Zo * * * * * 0 * 0 0 nh Vi en 1 0 * 0 A * * * * * om Ma trận vuông A phân tích thành dạng LU Ux y Ly b 1 2 : hệ tam giác U Si Giải hệ đầu Giải hệ : Ly = b (2) tìm y; Ux = y (1) tìm x Nhaân A x Nhaân U SinhVienZone.com y Nhaân L https://fb.com/sinhvienzonevn b VÍ DỤ 2 1 5 12 0 C ne Zo A om Giả sử ma trận A phân tích thành dạng LU sau: 3 0 0 0 1 1 0 1 1 1 nh Vi en Sử dụng phân tích LU giải hệ Ax = b = [–9 11]T Giải Ux = y tìm x Si Giải Ly = b tìm y SinhVienZone.com https://fb.com/sinhvienzonevn TỔNG QUAN PHƯƠNG PHÁP LẶP om Chương 1: Phương pháp lặp đơn với phương trình f(x) = x n 1 x n ne C x (x) f (x) (x) ( y) q x y : 'x q Zo Heä Ax = b x = Tx + c = (x), T: ma trận, c: vectơ Đkiện: nh Vi en (x) – (y) qx – y Dãy lặp: x(n+1) = Tx(n) + c Chuẩn vectơ, ma traän: x = [x1, x2 … xn]T Rn, A = [aij ] xi Si x max 1 i n A n x i 1 SinhVienZone.com n max a ij 1 i n j 1 max a ij 1 j n i 1 n xi A https://fb.com/sinhvienzonevn VÍ DỤ C A ne 1 x x x om Tính chuẩn vectơ ma traän A A 12 13 Zo Vectơ số hai vectơ sau xấp xỉ tốt theo 1 2 , x Si x nh Vi en chuẩn , chuẩn nghiệm hệ phương trình x1 x x x1 x x x1 x x 2 x x 1 x x Tch chuẩn vectơ, chuẩn ma trận: Chuẩn tích tích chuẩn Ax A x SinhVienZone.com x y T x y T x y : T https://fb.com/sinhvienzonevn LAËP JACOBI 10 x x x x 10 x x x1 x x om Với vectơ x(0) = [0, 0, 0]T, tìm vectơ nghiệm xấp xỉ x(k) phép lặp ne C Jacobi với hệ sau Dừng: x(k) Zo “giống” x(k-1) (khoảng 0.3) So với nghiệm = [0.5, 1, -0.5]T nh Vi en 1/ Ruùt x đường chéo Đưa dạng x = Tx + c Si x x2 x3 x x 75 10 10 10 x1 x3 x1 x x2 10 10 10 2 x x1 x 125 x 25 x 3125 8 SinhVienZone.com x = Tx + c https://fb.com/sinhvienzonevn CÔNG THỨC LAËP JACOBI 10 , 10 ne C T 75 3 max , 1, c 10 10 3125 x x x 75 75 (1 ) (0) (0) x x x (1 ) (0) (0) x 125 x 25 x 3125 3125 ( k 1) (k ) (k ) x1 x x 75 (k+1) x : x 2( k ) x 1( k ) x 3( k ) ( k 1) (k ) (k ) x3 125 x 25 x 3125 (0) (0) nh Vi en Zo (1 ) 2/ Từ x(0) tính x(1): om 0 10 T 3 10 1 8 Si Tổng quát: x(k) Sai số: Như lặp đơn với q = ||T||: SinhVienZone.com x k x* q 1 q https://fb.com/sinhvienzonevn x 1 x 0 LẶP JACOBI KHÔNG BIẾN ĐỔI MA TRAÄN A ( k 1) 10 x x x ( k 1) (k ) (k ) 10 x x x ( k 1) (k ) (k ) x x x (k ) SinhVienZone.com om C : Giữ đ/chéo vế trái ( x(k+1)) ; Chuyển số hạng lại sang vế phải ( x(k)) : Thay x(k) vào số hạng (k ) đường chéo Xem x(k+1) ẩn Giảix(k+1) ( k 1) x3 (k ) x3 x2 x3 10 x x x 10 x x3 10 x x x x1 x (k ) (k ) x2 Si ( k 1) 10 x (k ) x (k ) x nh Vi en Zo (k ) Đ / chéo ne Heä Ax = b: 10 x x x x 10 x x x1 x x ( k 1) https://fb.com/sinhvienzonevn TÍNH TOÁN & KẾT QUẢ LAËP JACOBI - ( k 1) x x x 10 (k ) (k ) x1 x ( k 1) x2 10 (k ) (k ) ( k 1) x1 x x3 ne (k ) (k ) om (k ) x1(k) 0.0 0.75 x2(k) 0.0 0.9 x3(k) 0.0 –0.3125 Zo k nh Vi en (k ) ( k 1) 10 x x x ( k 1) (k ) (k ) : 10 x x1 x ( k 1) (k ) (k ) x x x C 10 x x x Heä : x 10 x x Laëp Jacobi x1 x x x(k)-x(k-1) 0.9 Si Ưu điểm Lặp Jacobi: Giải hệ “thưa” (chứa nhiều số 0) ĐK đủ : T 1 M/trận đ/c trội nghiêm ngặt: n a ii j 1, j i SinhVienZone.com https://fb.com/sinhvienzonevn a ij i LAËP GAUSS – SEIDEL om Tương tự lặp Jacobi với thông tin cập nhật hoá ( k 1) x x x1 10 (k ) (k ) x1 x ( k 1) x2 10 (k ) (k ) ( k 1) x1 x x3 Seidel ne Dùng x(k) để tính giá trị x(k+1) (k ) Si Zo ( k 1) x x x1 10 ( k 1) (k ) x1 x3 ( k 1) x2 10 ( k 1) ( k 1) ( k 1) x1 x2 x3 SinhVienZone.com (k ) Gauss nh Vi en 10 x x x Laëp Heä : x 10 x x Jacobi x1 x x (k ) C (k ) x1 (mới): dùng x2 (cũ), x3 (cũ) x2 (mới): dùng x1 (mới), x3 (cũ) x3 (mới): dùng x1 (mới), x2 (mới) https://fb.com/sinhvienzonevn LẶP GAUSS – SEIDEL: SƠ ĐỒ TÁCH MA TRẬN - ( k 1) 10 x 3 x2 ( k 1) ( k 1) 10 x x1 ( k 1) ( k 1) ( k 1) x x x (k ) (k ) x3 x3 ne C (k ) Si nh Vi en Zo 10 x x x x 10 x x x1 x x om Trình bày dạng khác: Xem x(k+1) ẩn chuyển sang vế trái x 0 k b k k k 1 Giải hệ x k 1 Gauss - Seidel: Biết x(k) Tính vế phải b(k) Giải hệ x(k+1) SinhVienZone.com https://fb.com/sinhvienzonevn LẶP GAUSS – SEIDEL: VÍ DỤ TÁCH MA TRẬN ( k 1) 10 x 3 x2 ( k 1) ( k 1) x 10 x ( k 1) ( k 1) ( k 1) x x x om Xét ví dụ lặp Gauss – Seidel, x(0) = [0, 0, 0]T Công thức lặp: (k ) x3 (k ) x3 x nh Vi en k Zo ne C (k ) 0.0 x2(k) 0.0 x3(k) 0.0 x(k)-x(k-1) x b x Si x1(k) b k b Phép lặp Thay hệ Ax = b giải liên tiếp nhiều hệ SinhVienZone.com https://fb.com/sinhvienzonevn b TỔNG KẾT LẶP JACOBI & GAUSS – SEIDEL C om 10 x x x x 10 x x x1 x x ( k 1) nh Vi en x x 10 x x3 10 x x x x1 x Si Laëp Jacobi Zo ne x = Tx + c 10 x x x ( k 1) (k ) (k ) 10 x x x ( k 1) (k ) (k ) x x x (k ) SinhVienZone.com (k ) ( k 1) Laëp Gauss– Seidel 10 x x x ( k 1) ( k 1) (k ) 10 x x x ( k 1) ( k 1) ( k 1) x x x (k ) https://fb.com/sinhvienzonevn (k ) HỆ PHƯƠNG TRÌNH BỊ NHIỄU - Minh hoạ: Giải hệ phương trình nhận xét om Hệ “gần” nhau, nghieäm x y x y ne C “xa” nhau! Do detA 0: xi det A i ? det A nh Vi en Zo x y x y x 2y Si x y 2 x y SinhVienZone.com https://fb.com/sinhvienzonevn VÍ DỤ WILSON: Ax = b, detA = - 7 32 23 ,b x 10 33 10 31 C om ne 1 1 1 Zo 10 Ax b : A 8 nh Vi en 32 22 Ax x b b : b b 33 30 x x 10 08 x x b : A A x' 99 SinhVienZone.com Si A A 04 98 99 89 9 98 https://fb.com/sinhvienzonevn SỐ ĐIỀU KIỆN CỦA HỆ Ax = b - x om •“Nhiễu” vế phải A(x + x) = b + b A A 1 b x ; nh Vi en x Zo ne C •“Nhiễu” vế trái (A + A)(x + x) = b x b x x b x b x x x A A A A A A 1 A A Số điều kiện: (A) = ||A|| ||A–1|| đặc trưng cho độ “nhạy Si cảm” nghiệm hệ Ax = b thay đổi dù nhỏ b A Hệ điều kiện xấu (ill – conditionned): (A) >> SinhVienZone.com https://fb.com/sinhvienzonevn VÍ DỤ 25 41 10 C om ne 41 7 10 10 10 68 17 17 10 3 nh Vi en A 1 10 A 8 6 10 3 Zo VD Wilson: ma trận Si VD: Tính số điều kiện theo chuẩn vô (A) 58 09 1 003 A 550 321 SinhVienZone.com https://fb.com/sinhvienzonevn PHƯƠNG PHÁP TÌM MA TRẬN NGƯC A 1 x z y c1 t c2 om Tính ma trận ngược C Giải hệ phương trình A.c1 = e1 = [1 0]T (vectơ đơn vị thứ ne nhất) máy tính bỏ túi Cột ma trận ngược Zo Vẫn chế độ giải hệ phương trình, giải tiếp hệ nh Vi en A.c2 = e2 = [0 1]T (vectơ đơn vị thứ nhì) Cột A-1 Trường hợp ma trận cấp 3: Giải hệ Ac1 = e1, Ac2 = e2, Si Ac3 = e3 với e1, e2, e3 vectơ đơn vị Tìm vectơ nghiệm c1, c2, c3: cột ma trận ngược A–1 cần tìm SinhVienZone.com https://fb.com/sinhvienzonevn ... c1 t c2 om Tính ma trận ngược C Giải hệ phương trình A.c1 = e1 = [1 0]T (vectơ đơn vị thứ ne nhất) máy tính bỏ túi Cột ma trận ngược Zo Vẫn chế độ giải hệ phương trình, giải tiếp... Zo VD Wilson: ma trận Si VD: Tính số điều kiện theo chuẩn vô (A) 58 09 1 003 A 550 321 SinhVienZone. com https://fb .com/ sinhvienzonevn PHƯƠNG PHÁP TÌM MA TRẬN NGƯC ... y Ly b 1 2 : hệ tam giác U Si Giải hệ đầu Giải hệ : Ly = b (2) tìm y; Ux = y (1) tìm x Nhân A x Nhaân U SinhVienZone. com y Nhaân L https://fb .com/ sinhvienzonevn b VÍ DỤ