báo cáo bài tập lớn môn học đại số tuyến tính phương pháp successive over relaxation

11 1 0
báo cáo bài tập lớn môn học đại số tuyến tính phương pháp successive over relaxation

Đ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

Định nghĩaTrong đại số tuyến tính , phương pháp hồi quy liên tiếp SOR là phương pháp khái quát hơn của phương pháp Gauss–Seidel để giải một hệ phương trình tuyến tính, dẫn đến sự hội tụ

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌCBÁCH KHOA KHOA KHOA HỌC ỨNG DỤNG 2022 - 2023

-o0o -BÁO CÁO BÀI TẬP LỚN

MÔN HỌC: ĐẠI SỐ TUYẾN TÍNH PHƯƠNG PHÁP SUCCESSIVE OVER-RELAXATION

Nhóm: 4 – ANO1GVHD: ĐẶNG VĂN VINH

Tp.HCM, tháng 12 năm 2022

Trang 2

2.ĐIỀU KIỆN HỘI TỤ 3 CHƯƠNG TRÌNH SỬ DỤNG THUẬT TOÁN

Trang 3

CƠ SỞ LÝ THUYẾT

I Định nghĩa

Trong đại số tuyến tính , phương pháp hồi quy liên tiếp (SOR) là phương pháp khái quát hơn của phương pháp Gauss–Seidel để giải một hệ phương trình tuyến tính, dẫn đến sự hội tụ nhanh hơn Là một phương pháp tương tự có thể được sử dụng cho bất kỳ quá trình lặp lại hội tụ chậm nào.

SOR được phát triển bằng cách sửa đổi mô hình lặp Gauss-Seidel Mô hình Gauss-Seidel dựa trên các bước sau

II Cơ sở lý thuyết

SOR là một phương pháp giải hệ phương trình tuyến tính thu được bằng cách ngoại suy phương pháp Gauss-Seidel Phép ngoại suy này có dạng trung bình có trọng số giữa lần lặp trước và lần lặp Gauss-Seidel được tính toán liên tiếp cho mỗi thành phần

trong đó biểu thị một phép lặp Gauss-Seidel và là hệ số ngoại suy Ý tưởng là chọn một giá trị cho điều đó sẽ đẩy nhanh tốc độ hội tụ của các lần lặp lại cho giải pháp.

Theo thuật ngữ ma trận, thuật toán SOR có thể được viết là

trong đó các ma trận D, -L, và -U tương ứng biểu thị các phần đường chéo, tam giác dưới và tam giác trên của A.

Nếu =1, phương pháp SOR đơn giản hóa thành phương pháp Gauss-Seidel Một lý do do Kahan (1958) chỉ ra rằng SOR không hội tụ nếu nằm ngoài khoảng (0,2).

Nói chung, không thể tính toán trước giá trị sẽ tối đa hóa tốc độ hội tụ của SOR Thông thường, một số ước tính heuristic được sử dụng, chẳng hạn như

=2-O(h) tại h là khoảng cách lưới của sự rời rạc của miền vật lý cơ bản.

Trang 4

ĐIỀU KIỆN HỘI TỤ

Điều kiện cần để phương pháp SOR hội tụ là Vì vậy thì sẽ dẫn đến

Tỷ lệ hội tụ :

Tốc độ hội tụ cho phương pháp SOR có thể được phân tích Người ta cần giả định như sau

 tham số thư giãn là phù hợp:

Sau đó, tốc độ hội tụ có thể được biểu thị bằng

trong đó tham số thư giãn tối ưu được đưa ra bởi

Giả thiết cuối cùng được thỏa mãn đối với ma trận tam giác

các mục

Trang 5

CHƯƠNG TRÌNH SỬ DỤNG THUẬT TOÁN

Sau đó, A có thể được phân tách thành một thành phần đường chéo D và các thành phần tam giác trên và dưới L và U :

Phương pháp giản quá mức liên tiếp là một kỹ thuật lặp giải quyết phía bên trái của biểu thức này cho x , sử dụng giá trị trước đó cho x ở phía bên tay phải Về mặt phân tích, điều này có thể được viết là:

ở đâu là xấp xỉ hoặc lần lặp thứ k của là lần lặp tiếp theo hoặc + 1 của X Tuy nhiên, bằng cách tận dụng dạng ktam giác của ( + ), các phần tử của DωLx ( k +1) có thể được tính tuần tự bằng cách ể :

Trang 6

2.THUẬT TOÁN

Vì các phần tử có thể bị ghi đè khi chúng được tính toán trong thuật toán này nên chỉ cần một vectơ lưu trữ và việc lập chỉ mục vectơ được bỏ qua Thuật toán diễn ra như sau:

Inputs: , , A b ω

Output: φ

Choose an initial guess to the solutionφ

repeat until convergence for ifrom until 1 ndodo đó tiết kiệm được một phép nhân trong mỗi lần lặp của vòng lặp - bên ngoài for

% SOR Successive Over-Relaxation Method % This function solves linear equation systems such as Ax=b using SOR

Trang 7

% method (Successive Over-Relaxation) % When the relaxation scalar w=1, the method % err - norm err estimate

% iter - nu,ber of performed iterations % flag - 0 = a solution was found / 1 = no convergence for max_it

Trang 8

x = M \ (N * x + b); % adjust the aproximation %err = norm(x - x_1) / norm(x); % compute error

err = norm(x_1 - x, 1); % compute error if (err <= tol) % check for convergence

% MATSEP Matrix Separation

% Input matrix is splitted into several others in diferent ways depending

% on the method to be used: Jacobi and SOR

Trang 10

maxerr = input('enter the error allowed: ');w = input('enter the relaxtion parmeter: ');if size(A,1) ~= size(A,2)

disp('ERROR: MATRIX A SHOULD BE A SQUARE ') return

if size(b,1) ~= size(A,1) || size(b,2) ~= 1 disp('ERROR:input error please re-input data ') return

if size(x,1) ~= size(A,1) || size(x,2) ~= 1 disp('ERROR: please check input ')

Trang 11

Barrett, R.; Berry, M.; Chan, T F.; Demmel, J.; Donato, J.; Dongarra, J.; Eijkhout, V.; Pozo, R.; Romine, C.; and van der Vorst, H Templates for the Solution of Linear Systems:

Building Blocks for Iterative Methods, 2nd ed Philadelphia, PA: SIAM,

Young, D Applied Iterative Methods New York: Academic Press, 1981.Kahan, W Gauss-Seidel Methods of Solving Large Systems of Linear Equations Ph.D thesis Toronto,

Canada, University of Toronto, 1958.Press, W H.; Flannery, B P.; Teukolsky, S A.; and Vetterling, W T "Successive Overrelaxation (SOR)." Numerical Recipes in FORTRAN: TheArt of Scientific Computing, 2nd ed Cambridge, England: Cambridge University Press, pp 866-869, 1992.Varga, R Matrix Iterative Analysis Englewood Cliffs, NJ: Prentice-Hall,1962.Young, D Iterative Solutions of Large Linear Systems New York: Academic Press, 1971.

Ngày đăng: 20/04/2024, 09:34

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

Tài liệu liên quan