1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI TẬP LỚN HỌC PHẦN ĐẠI SỐ TUYẾN TÍNH ĐỀ TÀI PHÂN TÍCH LU

28 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Phân Tích LU
Tác giả Võ Đăng Khoa, Võ Đức Quốc Trình, Trịnh Toàn Cao Thiêm, Võ Duy Phúc, Trương Viết Thuận An, Võ Đức Minh, Võ Huỳnh Nhật Long, Trương Việt Tiến, Trương Đình Thái Bảo, Võ Hoàng Khang
Người hướng dẫn Th.S. Nguyễn Xuân Mỹ
Trường học Đại học Bách Khoa
Chuyên ngành Đại số tuyến tính
Thể loại bài tập lớn
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 28
Dung lượng 1,25 MB

Nội dung

Bài tập lớn này sẽ trình bày định nghĩa và ứng dụng của phân tích LU vàPLU trong việc giải các phương trình tuyến tính dưới dạngAX=B.. Cuối cùng, chúng emsẽ giới thiệu một số ứng dụng th

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH 

BÀI TẬP LỚN HỌC PHẦN ĐẠI SỐ TUYẾN TÍNH 

ĐỀ TÀI 12: 

PHÂN TÍCH LU LỚP L13 – NHÓM 12 – HK 241 Giảng viên hướng dẫn: Th.S Nguyễn Xuân Mỹ 

Sinh viên thực hiện  Mã số sinh viên  Điểm số  Chữ ký 

Trương Việt Tiến  2413492 

Trương Đình Thái Bảo  2410306 

Võ Hoàng Khang  2411487 

Trang 3

LỜI CẢM ƠN 

Đầu tiên, cho chúng em xin gửi lời cảm ơn chân thành đến Trường đại học BáchKhoa – ĐHQG TPHCM, đã đưa môn Đại Số Tuyến Tính vào chương trìnhgiảng dạy Đặc biệt, chúng em xin gửi lời cảm ơn sâu sắc đến giảng viên bộmôn là Thạc Sĩ Nguyễn Xuân Mỹ đã dạy dỗ, truyền đạt cho chúng em kiến thứcquý báu trong những ngày qua Trong suốt thời gian tham gia lớp Đại Số TuyếnTính của cô, chúng em tự thấy bản thân mình tư duy nhạy bén hơn, học tập hiệuquả và nghiêm túc hơn Những kiến thức cô truyền đạt chắc chắn là những trithức quý báu, là hành trang cần thiết cho chúng em sau này. 

Bộ môn Đại Số Tuyến Tính là một môn học vô cùng hữu ích, có tính thực tếcao, đảm bảo cung cấp đủ nhu cầu thực tiễn cho sinh viên Tuy nhiên, do vốnkiến thức và kinh nghiệm của chúng em còn nhiều hạn chế nên mặc dù đã cốgắng hết sức nhưng chắc chắn bài tâp lớn Đại Số Tuyến Tính lần này khó có thểtránh khỏi những thiếu sót Kính mong cô có thể xem xét, góp ý cho bài tập củachúng em được hoàn thiện hơn. 

Chúng em xin chân thành cảm ơn! 

Trang 4

Mục lục 

MỤC LỤC……… 3 LỜI MỞ ĐẦU………4 

I PHÂN TÍCH LU………4-7 

1 Định nghĩa……… 4 

2 Phương pháp phân tích LU và PLU……….5-7 

II ĐIỀU KIỆN PHÂN TÍCH LU VÀ PLU……… 7-8 III ÁP DỤNG PHƯƠNG PHÁP LU/PLU VÀO GIẢI HỆ PHƯƠNGTRÌNH TUYẾN

TÍNH……… 9-13 

1 Phương pháp LU ……… 9-11 

2 Phương pháp PLU……… 11-13 

IV PHÂN TÍCH ĐÁNH GIÁ PHƯƠNG PHÁP LU/PLU và GAUSS.14-16 

1 Nhắc lại phương pháp GAUSS……… 14-16 

2 Phân tích đánh giá PP GAUSS và PT LU/PLU……… 16 

V PHÂN TÍCH LU/PLU TRONG PHẦN MỀM MATLAB……… 17-18 

1 Tổng quan về MATLAB……… 17 

2 Chương trình code MATLAB……….17-18 2.1 Các lệnh được dùng trong MATLAB……… 17-18 2.2 Đoạn code hoàn chỉnh……… 18 

VI ỨNG DỤNG PHƯƠNG PHÁP LU VÀO THỰC TẾ……… 18-21 Kết luận 22  Tài liệu tham khảo……….23 

Trang 5

LỜI MỞ ĐẦU: 

Trong lĩnh vực toán học và khoa học máy tính, giải quyết các hệ phươngtrình tuyến tính là một nhiệm vụ quan trọng trong nhiều lĩnh vực như kỹ thuật,vật lý và kinh tế Phương pháp phân tích LU (LU decomposition) là kỹ thuậtmạnh mẽ giúp phân tách một ma trận thành tích của hai ma trận tam giác dưới(L) và tam giác trên (U) Phương pháp này không chỉ đơn giản hóa quá trìnhgiải hệ phương trình mà còn cải thiện hiệu suất tính toán, đặc biệt trong các bàitoán lớn với nhiều biến Để áp dụng phân tích LU, ma trận A cần phải là matrận vuông và không có phần tử chính bằng 0, trong khi phân tích PLU (PLUdecomposition) cho phép hoán vị hàng nhằm tăng tính ổn định. 

Bài tập lớn này sẽ trình bày định nghĩa và ứng dụng của phân tích LU vàPLU trong việc giải các phương trình tuyến tính dưới dạngAX=B Chúng emsẽ

so sánh ưu điểm của hai phương pháp này với phương pháp Gauss truyền thống

và áp dụng chúng trong MATLAB để thực hiện và kiểm tra kết quả Cuối cùng,

chúng emsẽ giới thiệu một số ứng dụng thực tế của phân tích LU và PLU, từ

mô hình hóa trong kỹ thuật đến các bài toán tối ưu hóa trong kinh tế, nhằmminh họa tính ứng dụng và hiệu quả của các phương pháp này trong thực tế. 

I Phân tích LU  

1. Định nghĩa 

Trong đại số tuyến tính, phân tíchLU( LU decomposition, LU factorization)

là phương pháp phân tích ma trậnA thành tích của 1 tam giác dướiL và một matrận tam giác trênU

A =    … … … …          …  …  …      

L = 1 0 … 0  … … … …  1 … 0

    … 1  ; U =  … … … … 0  0 0 …      …  …     

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

Trang 6

Phân tích LU của A là cách viết A thành tích của 2 ma trận có dạng: A = LU,trong đó:

Với I21 =  = = 2 Ta có phép biến đổi dòng thứ hai là h2 − I21.h1 = h2  –  2h1

-Tương tự, ta cũng tính ra được I31 = = = 4 Và phép biến đổi dòng thứ ba

Trang 7

→  L =  1 0 0 I(21) 1 0 I(31) I(32) 1  =1 0 0 2 1 0 4 1 1 

Hoặc: Lập ma trận đơn vị I cùng cỡ  vớ i A Biến đổi I thành ma trận tam giác

dướ i bằng phép biến đổi hi → hi +h j

I=1 0 0 0 1 0 0 0 1 → 1 0 0 0 1 0 0 1 1 → 1 0 0 0 1 0 4 1 1 → 1 0 0 2 1 0 4 1 1 

Vậy A=LU=1 0 0 2 1 0 4 1 1 1 2  1 0 1  1 0 0 6=1 2  1 2 5  3 4 9 1 

II ĐIỀU KIỆN PHÂN TÍCH LU VÀ PHÂN TÍCH PLU: 

1 ĐIỀU KIỆN PHÂN TÍCH LU: 

Phân tích LU là phương pháp phân tích ma trận A thành tích của một ma trậntam giác dưới L và một ma trận tam giác trên U Một ma trận khả nghịch cấp nthỏa phép phân tích LU nếu và chỉ nếu tất cả các ma trận con chính cấp k, k = 0,hoặc phần tử đường chéo của L (hoặc U) đều bằng 1. 

Trang 8

Vậy A=LU=1 0 0 2 1 0 3 1 1 1 2  1 0 1  1 0 0 5 

Lưu ý: 

➢ Theo một cách nói khác, ta có L là một ma trận tam giác dưới, đườngchéo có các phần tử bằng 1, các phần tử phía dưới đường chéo là các hệ số αtrong phép biến đổi hi → hi - αh j. 

➢ Ở ví dụ trên, ta thấy ma trận L có thể tìm được ngay, không cần dùng đếncác phép biến đổi ngược Trong trường hợp này ta dùng phép biến đổi h2 → h2 

- 2h1 , h3 → h3 -3h1 và h3 → h3 - h2, nên ma trận L có các phần tử: l21 = 2,l31 = 3, l32 = 1. 

2 PHÂN TÍCH PLU: 

➢ Phân tích PLU: Phân tích PLU là cách phân tích có dạng A = PLU với L

và U vẫn tương ứng là ma trận tam giác dưới và trên, và P là một ma trận hoán

vị Mọi ma trận khả nghịch A - bất kể vuông hay không - đều có phân tích PLU. 

➢ - Khi sử dụng các phép biến đổi sơ cấp hi  ->hi + αh j mà trên đường chéoxuất hiện phần tử 0, lúc này ta có thể dùng phương pháp hoán đổi hai hàng hi 

<-> h j để làm cho phần tử ở vị trí này khác 0 Điều này tương đương với việcnhân bên trái cho ma trận sơ cấp tương ứng với phép hoán đổi Ta có kết quảnhư sau: Với mọi ma trận A không suy biến luôn tồn tại hoán vị P sao cho PA cóthể phân tích thành dạng PA=LU. 

III Áp dụng phương pháp LU/PLU vào giải hệ phương trình tuyến tính 

1 Phương pháp LU

Phân tích LU của ma trận A có dạng: A = LU, trong đó:

- A: một ma trận vuông và có khả năng phân tích LU (không suy biến). 

- L: ma trận tam giác dưới (L là viết tắt của Lower trong Lower Triangle). 

- U: ma trận tam giác trên (U là viết tắt của Upper trong Upper Triangle). 

* Áp dụng ma trận A=LU giải hệ phương trình tuyến tính: 

+ Bước 1: Đầu tiên, ta biểu diễn hệ phương trình đó thành ma trận A và hệ số tự

do b Sau đó, ta thực hiện các phép biến đổi trên dòng để đưa A thành một matrận bậc thang Lúc đó, ma trận bậc thang chính là U. 

+ Bước 2: Tìm ma trận tam giác dưới L bằng phương trình L = AU-1  Hoặc nóicách khác, L là ma trận tam giác dưới, có các phần tử trên đường chéo chính bằng 1, các phần tử phía dưới đường chéo là các hệ số trong các phép biến đổitrên. 

Trang 9

+ Bước 3: Sau khi đưa ma trận A về dạng tích LU thì phương trình Ax = b ta cóthể giải bằng cách sau

Ax = b LUx = b {  

Dùng biến đổi giải ngược đối với ma trận tam giác dưới và ma trận tam giáctrên ta sẽ được kết quả. 

Ví dụ: Giải hệ phương trình sau: 321 

- Bước 1: Trước hết, ta biểu diễn thành ma trận A 4 3 2 2 2 1 6 5 4 và hệ số b

235.Ta cần tính toán

hệ số Aij = α là hệ số trong phép biến đổi hi → hi – αh  j Với α21 =    =   = 0.5

Ta có phép biến đổi dòng thứ hai là h2 − α21.h1 = h2 – 0.5h1. 

-Tương tự, ta cũng tính ra được α31 =  =  = 1.5 Và phép biến đổi dòng thứ

Trang 10

➢ Sử dụng phương pháp phân tích PLU khi nào? 

Phương pháp PLU là một mở rộng của phương pháp LU và được sửdụng khi phương pháp LU gặp phải một số vấn đề, chẳng hạn như matrận có các phần tử chính (pivot) bằng 0 hoặc rất nhỏ Khi đó, phân rãPLU sẽ thay thế phân rã LU để đảm bảo tính ổn định và khả năng thựcthi. 

➢ Phân tích PLU như thế nào? 

Phân tích PLU là phương pháp biến đổi ma trận A thành các ma trậnP,L,U, trong đó; 

-A là ma trận ban đầu. 

-P là ma trận hoán vị để thay đổi vị trị các hang. 

-L là ma trận tam giác dưới có các phần tử trên đường chéo chính là 1. 

-U là ma trận tam giác trên. 

Phân tích PLU được viết dưới dạng: 

Trang 11

Và khi giải hệ phương trình ta có thể viết dưới dạng: 

LUx=Pb3.Áp dụng phân tích PLU vào hệ phương trình tuyến tính. 

Các bước tổng quát như sau: 

Giả sử ta có hệ Ax=b, sau khi thực hiện phép phân tích PLU, ta có : 

PAx=Pb => LUx=Pb Bước 1: phân tích A thành P,L và U 

Sử dụng phương pháp khử Gauss và phép hoán vị để tìm các ma trận P, L và Usao cho PA=LU. 

 Như vậy ta thấy ở  =0, ta không thực hiện được phương pháp LU.Vì vậy tiếp

đó ta cần hoán vị sao cho thành phần 0 không ở hang đầu nữa bằng cách hoán vịcác hàng. 

Bước 1: Hoán vị các hàng ở ma trận A bằng cách nhân với ma trận P. 

Trang 12

PA=3 1 6 2 2 5 0 2 1 , với P=0 0 1 0 1 0 1 0 0 

Bước 2: Phân tích ma trận PA=LU như phương pháp phân tích LU 

Ta sử dụng phép khử gauss trên ma trân PA thì ta có được ma trận bậc thang U 

Trang 13

IV Phân tích đánh giá phương pháp LU/PLU và GAUSS 

1 Nhắc lại phương pháp GAUSS 

Phương pháp Gauss  là một thuật toán cơ bản và hiệu quả trong đại số tuyến tính, được sử dụng để giải các hệ phương trình tuyến tính, tìm hạng của một

ma trận, và tính ma trận nghịch đảo của một ma trận vuông khả nghịch Phương pháp này dựa trên việc biến đổi ma trận hệ số của hệ phương trình thành một ma trận bậc thang hoặc ma trận tam giác trên thông qua các phép biến đổi hàng cơ bản.

-Các phép biến đổi hàng cơ bản: 

Có ba loại phép biến đổi hàng cơ bản: 

1 Đổi chỗ hai hàng: Thay đổi vị trí của hai hàng bất kỳ trong ma trận. 

2  Nhân một hàng với một số khác 0: Nhân tất cả các phần tử của một hàng vớimột số khác 0. 

3 Cộng một bội của một hàng vào một hàng khác: Cộng một bội của một hàngvào một hàng khác. 

3 Giải hệ phương trình từ ma trận bậc thang: Từ ma trận bậc thang, ta viết lại

hệ phương trình tương đương và giải hệ phương trình này để tìm nghiệm. 

Trang 14

Biến đổi thành ma trận:

2 1 1 1 3 2 1 1 1  542 

Các bước biến đổi: 

1 Đổi hàng 1 và hàng 2 để số 1 ở vị trí hàng đầu, cột đầu: 

Trang 15

Ta giải hệ bằng cách: Từ phương trình (3), ta có z = 2/5.Thay z vào (2), tìmđược y = 1 Thay y và z vào phương trình thứ nhất, tìm được x = 1 

Vậy nghiệm của hệ là: (x, y, z) = (1, 1,2/5) 

2 Phân tích đánh giá phương pháp GAUSS và phương pháp LU/PLU  Nhắc lại:

Trong đại số tuyến tính, 

• phân tích LU (LU decomposition, LU factorization) là phương pháp phântích ma trận thành tích của một ma trận tam giác dưới và một ma trận tamgiác trên Phép phân tích này thường được dùng trong giải tích số để giải

hệ phương trình tuyến tính hoặc tính định thức của ma trận. 

• phép khử Gauss là một thuật toán có thể được sử dụng để tìm nghiệm củamột hệ phương trình tuyến tính, tìm hạng (hay rank ) của một ma trận, đểtính ma trận nghịch đảo của một ma trận vuông khả nghịch. 

1 Tiêu chí so sánh: Liệt kê các tiêu chí để đánh giá cả hai phương pháp (ví dụ:hiệu quả tính toán, sử dụng bộ nhớ, và tính phù hợp cho các hệ lớn). 

2 Ưu điểm và nhược điểm: 

• Phương pháp Gauss: Đơn giản nhưng có thể cần sử dụng kỹ thuật pivot đểduy trì tính ổn định số Không phù hợp cho các phép tính lặp lại với cùngmột ma trận nhưng các vế phải khác nhau. 

• Phân tích LU/PLU: Hữu ích cho các ma trận cần phân tích một lần và giảinhiều lần với các vế phải khác nhau Thường hiệu quả hơn cho các hệ lớn. 

3 Các tình huống áp dụng: 

➢ Phương pháp khử Gauss thích hợp cho các hệ nhỏ hoặc giải một lần. 

➢ Phân tích LU/PLU thích hợp cho các hệ cần giải nhiều lần với các vế phảithay đổi. 

Các ví dụ: 

Giải ma trận bằng phương pháp phân tích LU/PLU

Cho ma trận A=1 2  1 2 5  3 3 7 1 

Trang 16

Đưa về ma trận tam giác trên U: 

Giải 1 ma trận với phương pháp Gauss 

 V PHÂN TÍCH LU/PLU TRONG PHẦN MỀM MATLAB

1 Tổng quan về MATLAB

- MATLAB (viết tắt của Matrix Laboratory) là một ngôn ngữ lập trình bậc cao bốnthế hệ, môi trường để tính toán số học, trực quan và lập trình Được phát triển bởiMathWorks

h 2 → h 2 -2h 1 h 3 → h 3 -3h 1

h 3 - h 2

h 3 → h 3 +h 2 h 3 → h 3 +3h 1 h 2 → h 2 +2h 1

Trang 17

- Nó cho phép thao tác với ma trận, vẽ biểu đồ với hàm và số liệu, hiện thực thuậttoán, tạo ra giao diện người dùng, bao gồm C, C++, Java và Fortan ; phân tích dữliệu, phát triển thuật toán, tạo các kiểu mẫu và ứng dụng.

- Nó có rất nhiều lệnh và hàm toán học nhằm hỗ trợ đắc lực cho bạn trong việc tínhtoán, vẽ các hình vẽ, biểu đồ thông dụng và thực thi các phương pháp tính toán

2 Chương trình code MATLAB

2.1.Các lệnh được dùng trong đoạn code

2.2.Đoạn code hoàn chỉnh

ban dau

nguoi dung nhap lai

size [m, n] = size(A) Lấy kích thước của ma trận Amxn

while while điều kiện

câu lệnhend

Tạo vòng lặp thực hiện cho đến khiđiều kiện trả về sai

eye A = eye(n) Tạo ma trận đơn vị A có kích thước

nxnfor for i = m : n

câu lệnhend

Tạo vòng lặp với (n-m+1) vòng lặp

break break Thoát khỏi vòng lặp

if if điều kiện

câu lệnhend

Nếu điều kiện trả về đúng thì thựchiện câu lệnh

continue continue Chuyển đến vòng lặp tiếp theo

Trang 18

8 U = A; %Sao chep ma tran A cho ma tran U

tren duong cheo

cua cac hang duoi

do voi hang hien tai

Trang 19

Nhập [0 1 2; 3 4 5; 6 7 8] vào Command Window ta được ma trận A nhưsau:

- Quá trình phân tích A thành hai ma trận LU:

+ Đầu tiên ta tạo vòng lặp để duyệt qua i hàng, trong ví dụ này vòng lặp sẽlặp

3 lần:

Trang 21

continue ;

end 

+ Ta tiến hành đưa U về dạng ma trận bật thang và tìm ma trận L:

L(j,i) = U(j,i) / ptcheo;

U(j,:) = U(j,:) - L(j,i) * U(i,:);

end 

Trong ví dụ này vòng lặp for sẽ lặp 2 lần

Ở lần lặp thứ nhất ta có j = 2, i = 1, từng biến lần lượt mang giá trị là:L(2,1) = U(2,1) : ptcheo

Trang 22

Sau khi j = 3 tức là vòng lặp không tiếp tục lặp nữa, chương trình sẽ tiếnhành lặp vòng lặp lớn hơn để tăng giá trị i, ta tiến hành thực hiện cácbước tương tự để tìm ma trận L và U

- Ta thu được kết quả cuối cùng là:

Ma trận L là:

L =1 0 0 0 1 0 2  1 1

Ma trận U là:

U =3 4 5 0 1 2 0 0 0

Kết quả được in trong phần mềm MATLAB là:

VI Ứng dụng phương pháp LU vào thực tế 

• Ứng dụng phân tích A = LU vào giải một hệ phương trình. 

Cho phương trình Ax = Lux = b ta muốn giải phương trình này với A và b chotrước Khi đó nghiệm của phương trình được tính qua 2 bước:

• Bước 1: Giải phương trình Ly = b để tìm y 

• Bước 2: Giải phương trình Ux = y để tìm x 

Ví dụ:

Ở một lớp Đại số tuyến tính tại trường Đại học Bách khoa – ĐHQG TP.HCM,top 22 bạn có điểm kiểm tra cao nhất bao gồm các điểm 8, 9, 10 Biết rằng tổng

Trang 23

số điểm của 22 bạn là 198 điểm và tổng số bạn đạt điểm 9 và 10 nhiều hơn số bạn đạt điểm 8 là 4 bạn Hỏi có bao nhiêu bạn đạt điểm 8, bao nhiêu bạn đạtđiểm 9 và bao nhiêu bạn đạt điểm 10? 

Trang 24

• Tính định thức 

Các ma trận L và U có thể được dùng để tính định thức của ma trận rất hiệu quả

vì det( A) = det( L) det(U ) và định thức của các ma trận tam giác đơn giản là tíchcác phần tử trên đường chéo của nó Đặc biệt, nếu  L là ma trận tam giác đơn vịthì: 

det(A)=det(L)det(U)=1×det(U)= 

Tương tự với phân tích LUP  Định thức của ma trận hoán vị    P  là (−1)S , với S là

số lượng phép hoán đổi dòng trong phép phân tích.∏ =  

Trang 26

Với các ưu điểm: 

- giúp ta tiết kiệm thời gian,giúp ta giảm số phép tính khi giải nhiều hệ phương trình 

- khi hoạt động tính toán trên các phần mềm toán học giúp ta tiết kiệm bộnhớ do chỉ cần lưu trữ các phần tử khác không trong 2 ma trận tam giáctrên dưới 

- đơn giản hóa quá trình tính toán thủ công 

Mặc dù vậy vẫn có một số nhược điểm sau: 

- Một số bài toán yêu cầu chuyển vị ma trận, điều này có thể phức tạp hơnvới một số ma trận không khả nghịch,… 

- Dễ gặp sai số khi làm việc với các số rất nhỏ hoặc rất lớn 

➔Tóm lại, phân tích LU là một phương pháp mạnh và tiện lợi, nhưng khi

áp dụng cần cẩn trọng với sai số và các trường hợp đặc biệt của ma trận 

Ngày đăng: 04/12/2024, 12:48

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

TÀI LIỆU LIÊN QUAN

w