You are on page 1of 16

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

TRƯỜNG ĐẠI HỌC BÁCH KHOA


--------------------------------

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


Môn : Đại số tuyến tính

PHÂN TÍCH A = LU VÀ PHÂN


TÍCH PA = PLU
GVHD: NGUYỄN XUÂN MỸ
Nhóm: 02
Lớp: L13

TPHCM, THÁNG 12 NĂM 2022

1
MỤC LỤC

DANH SÁCH THÀNH VIÊN ............................................................................ 3

LỜI MỞ ĐẦU ..................................................................................................... 4

I. CƠ SỞ LÝ THUYẾT CỦA PHÂN TÍCH A = LU VÀ PHÂN TÍCH


PA = PLU ............................................................................................................ 5

1.1. GIỚI THIỆU ................................................................................................ 5

1.2. PHÉP PHÂN TÍCH MA TRẬN A = LU ................................................... 5

1.3. PHÉP PHÂN TÍCH MA TRẬN PA = PLU............................................... 8

II. CHƯƠNG TRÌNH PHÂN TÍCH A=LU...................................................... 9

2.1 Ý TƯỞNG ...................................................................................................... 9

2.2 BIỂU THỨC GIẢI CHƯƠNG TRÌNH ...................................................... 9

2.3 CODE MATLAB ........................................................................................ 11

2.4 KẾT QUẢ .................................................................................................... 12

III. CÁC ỨNG DỤNG CỦA PHÂN TÍCH A= LU ....................................... 12

3.1. GIẢI HỆ PHƯƠNG TRÌNH AX = b ....................................................... 12

3.2. TÍNH ĐỊNH THỨC ................................................................................... 13

3.3. TÌM MA TRẬN NGHỊCH ĐẢO MA TRẬN VUÔNG A ...................... 14

IV. MỘT SỐ TÀI LIỆU THAM KHẢO ........................................................ 15

V. TỔNG KẾT .................................................................................................. 15

VI. NHẬN XÉT CỦA GIÁO VIÊN ................................................................ 15

2
DANH SÁCH THÀNH VIÊN
STT HỌ VÀ TÊN MÃ SỐ
SINH VIÊN
1 HUỲNH NGỌC CÔNG BÌNH 2210306

2 LÊ VŨ BÌNH 2210310

3 TRẦN CHÂU HOÀN BÌNH 2210333

4 TRẦN ĐỨC BÌNH 2210334

5 VÕ THỊ HOÀNG CHÂU 2210364

6 LÝ ĐOÀN DỰ 2210361

7 ĐINH HỒNG DŨNG 2210565

8 HOÀNG MAI KHÁNH DUNG 2210485

3
LỜI MỞ ĐẦU

Trong toán học ứng dụng, một bước không thể thiếu là minh họa các kết quả lý thuyết

trên máy tính. Trong hầu hết trường hợp, các dữ liệu thu được được tập hợp dưới dạng

ma trận hay vector. Các ma trận mang nhiều thông tin nhưng lại không hiển thị ở dạng

vốn có. Câu hỏi đặt ra là làm thế nào có thể khai thác thông tin hữu ích từ các ma trận

đó. Phân tích ma trận thành tích của các ma trận dạng đặc biệt là một phương pháp vô

cùng quan trọng và phổ biến trong toán học. Tùy vào mục đích, một ma trận có thể

được phân tích thành những dạng khác nhau. Trong bài báo cáo này, chúng ta sẽ tìm

hiểu phân tích LU và phân tích PLU. Đây là những phép phân tích hết sức cơ bản

(nhưng không hề tầm thường) và quan trọng được dùng rất phổ biến trong toán học

tính toán.

4
I. CƠ SỞ LÝ THUYẾT CỦA PHÂN TÍCH A = LU VÀ PHÂN
TÍCH PA = PLU
1.1. GIỚI THIỆU

Trong phân tích số và đại số tuyến tính, phân tích LU (LU decomposition, LU
factorization) là phương pháp phân tích ma trận vuông thành tích của một ma
trận tam giác dưới và một ma trận tam giác trên. Cũng giống như với một số tự
nhiên, ta có thể tách số đó ra thành các nhân tử khác nhau như tách ra thành các thừa
số nguyên tố để dễ dàng nhận biết được đặc điểm của con số ấy. Thì nhân tử hóa ma
trận cũng được xây trên khái niệm tương tự. Phép phân tích ma trận đơn giản nhất là
A = LU. Phép phân tích này thường được dùng để giải hệ phương trình tuyến tính
hoặc tính định thức của ma trận. Đôi khi chúng ta cần phải thay đổi các dòng với
nhau mới có thể thực hiện loại trừ. Trong trường hợp đó ta không thể sử dụng cách
phân tích A=LU đã nói trên được vì LU bây giờ là kết quả của phép phân tích trên ma
trận A đã được đổi dòng (tạm gọi là A'). Lúc này ta phải sử dụng thêm một ma trận P
để thực hiện các phép hoán đổi dòng trên A khi đó ta xài phép phân tích Phân tích
PLU (còn gọi là LU decomposition with partial pivoting) là cách phân tích có dạng
PA = PLU. Phép phân tích ma trận LU được giới thiệu bởi nhà toán học người Ba Lan
Tadeusz Banachiewicz vào năm 1938

1.2. PHÉP PHÂN TÍCH MA TRẬN A = LU


+ Phép phân tích ma trận đơn giản nhất là A = LU.
+ Trong đó:
- A: một ma trận vuông bất kỳ.
- L: ma trận tam giác dưới cùng cỡ với A. (L là viết tắt của Lower trong Lower
Triangle).
- U: ma trận tam giác trên cùng cỡ với A. (U là viết tắt của Upper trong Upper
Triangle).
+ 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
1 2 −1
- Ví dụ 1.2.1: Ta lấy một ma trận có kích thước 3x3: (2 5 −3)
3 7 1
+ Bước 1: Tìm ma trận tam giác trên U bằng các phép biến đổi sơ cấp đối với ma trận
A để biến A thành ma trận bậc thang.
- Đầu tiên, ta cần tính toán hệ số lij = 𝜶 là hệ số trong phép biến đổi hi → hi – 𝜶hj.
𝐀𝟐𝟏 2
Với l21 = = = 2. Ta có phép biến đổi dòng thứ hai là h2 − l21.h1 = h2 – 2h1.
𝐀𝟏𝟏 1

5
𝐀𝟑𝟏 3
Tương tự, ta cũng tính ra được l31 = = = 3. Và phép biến đổi dòng thứ ba là h3
𝐀𝟏𝟏 1
− l31.h1 = h3 − 3h1

h2 = h2 − l21.h1
1 2 −1 h3 = h3 − l31.h1 1 2 −1
(2 5 −3) (0 1 −1)
3 7 1 0 1 4
𝐀𝟑𝟐 1
Tương tự, ta cũng tính ra được l32 = = = 1. Và phép biến đổi dòng thứ ba là h3
𝐀𝟐𝟐 1
− l32.h2 = h3 − h2
1 2 −1 h3 = h3 − l32.h2 1 2 −1
(0 1 −1) (0 1 −1) = U
0 1 4 0 0 5
+ 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ói cá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 đổi trên.
1 0 0 1 0 0
 L = (I (21) 1 0) = (2 1 0)
I (31) I (32) 1 3 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 + 𝜶hj.
1 0 0 1 0 0 1 0 0 1 0 0
I = (0 1 0) (0 1 0) (0 1 0) (2 1 0)
0 0 1 0 1 1 3 1 1 3 1 1
1 0 0 1 2 −1 1 2 −1
Vậy: A = LU = (2 1 0 ) ( 0 1 −1 ) = ( 2 5 −3)
3 1 1 0 0 5 3 7 1
1 1 2 1
2 3 5 4
Ví dụ 1.2.2: Ta lấy một ma trận có kích thước 4x4: ( )
3 2 7 6
4 5 9 3
+ Bước 1: Tìm ma trận tam giác trên U:
Ta tìm được:
𝐀𝟐𝟏 2
l21 = = = 2. Ta có phép biến đổi dòng thứ hai là h2 − l21.h1 = h2 – 2h1
𝐀𝟏𝟏 1

𝐀𝟑𝟏 3
l31 = = = 3. Ta có phép biến đổi dòng thứ ba là h3 – l31.h1 = h3 – 3h1
𝐀𝟏𝟏 1

𝐀4𝟏 4
l41 = = = 4. Ta có phép biến đổi dòng thứ bốn là h4 – l41.h1 = h4 – 4h
𝐀𝟏𝟏 1

6
h2 = h2 − l21.h1
1 1 2 1 h3 = h3 – l31.h1 1 1 2 1
2 3 5 4 0 1 1 2
( ) h4= h4 – l41.h1 ( )
3 2 7 6 0 −1 1 3
4 5 9 3 0 1 1 −1

𝐀𝟑𝟐 −1
l32 = = = -1. Và phép biến đổi dòng thứ ba là h3 − l32.h2 = h3 + h2
𝐀𝟐𝟐 1

𝐀𝟒𝟐 1
l42 = = = 1. Và phép biến đổi dòng thứ bốn là h4 – l42.h2 = h4 − h2
𝐀𝟐𝟐 1

1 1 2 1 h3= h3 − l32.h2 1 1 2 1
0 1 1 2 0 1 1 2
( ) h4= h4 – l42.h2 ( ) =U
0 −1 1 3 0 0 2 5
0 1 1 −1 0 0 0 −3

+ Bước 2: Tìm ma trận tam giác dưới L:

1 0 0 0 1 0 0 0
l21 1 0 0 2 1 0 0
 L= ( ) = ( )
l31 l32 1 0 3 −1 1 0
l41 l42 0 1 4 1 0 1

Hoặc:
1 0 0 0 1 0 0 0 1 0 0 0
0 1 0 0 0 1 0 0 2 1 0 0
I = ( ) ( ) ( )
0 0 1 0 0 −1 1 0 3 −1 1 0
0 0 0 1 0 1 0 1 4 1 0 1

1 0 0 0 1 1 2 1 1 1 2 1
2 1 0 0 0 1 1 2 2 3 5 4
Vậy: A = LU = ( )( ) = ( )
3 −1 1 0 0 0 2 5 3 2 7 6
4 1 0 1 0 0 0 −3 4 5 9 3

7
1.3. PHÉP PHÂN TÍCH MA TRẬN PA = PLU
Phép phân tích PLU có dạng: PA = PLU
+ Trong đó:
- A: một ma trận vuông bất kỳ.
- L: ma trận tam giác dưới cùng cỡ với A. (L là viết tắt của Lower trong Lower
Triangle).
- U: ma trận tam giác trên cùng cỡ với A. (U là viết tắt của Upper trong Upper
Triangle).
- P: ma trận hoán vị ( P chỉ gồm không và một và chỉ có duy nhất một phần tử 1
trên mỗi dòng và cột ).
−2 2 −1
- Ví dụ 1.3.1: Ta lấy một ma trận có kích thước 3x3: ( 6 −6 7)
3 −8 4

+ Bước 1: Tìm ma trận tam giác trên U:

− Đầu tiên, ta thấy thứ tự chênh lệch độ lớn giữa các hệ số ở các hàng khác nhau. Do đó
ta phải hoán vị hàng sao cho hàng đầu tiên sẽ có giá trị ở cột bên trái là lớn nhất.

−2 2 −1 h1 -> h2 6 −6 7
( 6 −6 7 ) h2 −> h1 (−2 2 −1)
3 −8 4 3 −8 4
Khi này ta sẽ sử dụng phép khử Gaussian:
𝐀𝟐𝟏 −2 −1 1
− Với l12 = = = . Ta có phép biến đổi dòng thứ hai là h2− l12.h1 = h2 + h1
𝐀𝟏𝟏 6 3 3
𝐀𝟏𝟏 3 1
− Tương tự, ta cũng tính ra được l13 = = = . Và phép biến đổi dòng thứ ba là h3
𝐀𝟑𝟏 6 2
1
– l13.h1 = h3 - h1
2
h2= h2− l12.h1
6 −6 7 h3= h3 – l13.h1 6 −6 7
(−2 2 −1) ( 0 0 4/3 )
3 −8 4 0 −5 1/2
− Ta lại thấy thứ tự chênh lệch độ lớn giữa hàng 2 và hàng 3 khác nhau nên sẽ đảo hàng
2 và hàng 3 với nhau
h2 -> h3
6 −6 7 6 −6 7
(0 0 4/3) h3 −> h2 (0 −5 1/2)= U
0 −5 1/2 0 0 4/3

8
+ Bước 2: Tìm ma trận tam giác dưới L bằng phương trình L = PA.U-1. Hoặc nói cá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 đổi trên.

6 −6 7 1/6 −1/5 −4/5


Với PA = ( 3 −8 4 ) ; U =( 0
-1 −1/5 3/40 )
−2 2 −1 0 0 3/4
6 −6 7 1/6 −1/5 −4/5 1 0 0
L = PA.U = ( 3 −8 4 ) . ( 0
-1 −1/5 3/40 ) = ( 1/2 1 0)
−2 2 −1 0 0 3/4 −1/3 0 1

1 0 0 1/6 −1/5 −4/5 6 −6 7


Vậy: PA= LU = ( 1/2 1 0) . ( 0 −1/5 3/40 ) = ( 3 −8 4)
−1/3 0 1 0 0 3/4 −2 2 −1

II. CHƯƠNG TRÌNH PHÂN TÍCH A=LU


2.1 Ý TƯỞNG
Từ các bước làm và ví dụ ở 1.2 ta có thể thấy chương trình cần phải thỏa một số yếu
tố từ đó ta có thể suy ra biểu thức giải chương trình.

2.2 BIỂU THỨC GIẢI CHƯƠNG TRÌNH

(1) 𝑎1𝑗 = 𝑢1𝑗 , 1 ≤ 𝑗 ≤ 𝑛.


𝑎𝑖1
(2) 𝑙𝑖1 = , 2 ≤ 𝑖 ≤ 𝑛.
𝑎11

(3) 𝑢𝑖𝑗 = 𝑎𝑖𝑗 − ∑𝑖−1


𝑘=1 𝑙𝑖𝑘 . 𝑢𝑘𝑗 , 1 < 𝑖 ≤ 𝑗.
𝑢𝑖𝑘 𝑗−1
(4) 𝑙𝑖𝑘 = = [ 𝑎𝑖𝑗 − ∑𝑘=1 𝑙𝑖𝑘 . 𝑢𝑘𝑗 ] , 1 < 𝑖 < 𝑗.
𝑢𝑘𝑘

2.3 CODE MATLAB


clc; clear;
disp('phan tich A = LU ');
A = input('Nhap ma tran A duoi dang ...;...;... ');
[m,n]=size(A);

9
U=A;
L=zeros(n);
if U(1,1) ==0 error('Nhap lai ma tran khac');
end;
for i=1:n L(i,i)=1;
L(i,1)=A(i,1)/A(1,1);
end;
for k=2:n for i=k:n for j=k-1:n U(i,j)=U(i,j)-L(i,k-1)*U(k-1,j);
end;
L(i,k)=U(i,k)/U(k,k);
end;
if U(k,k)==0 disp('U=');disp(U);
disp('i=');
disp(k);
error('hoan doi hang i voi hang khac');
end;
end;
format rat;
disp(A);
disp('L=');
disp(L);
disp('U=');
disp(U);

10
2.4 KẾT QUẢ

Thử với bài toán ở ví dụ 1.2.1: => Đúng

Thử với bài toán ở ví dụ 1.2.2: => Đúng

11
III. CÁC ỨNG DỤNG CỦA PHÂN TÍCH A = LU
3.1. GIẢI HỆ PHƯƠNG TRÌNH AX = b
- Ý tưởng: Nếu A có khả năng phân tích thành LU, ta có hệ LUX = b.
- Cách làm: + Phân tích A thành A = LU.
+ Đặt Y = UX.
+ Giải hệ LY = b tìm được Y. Giải hệ UX = Y tìm X.
- Ví dụ: Giải hệ phương trình sau:
𝑥1 + 𝑥2 + 2𝑥3 = 3
{2𝑥1 + 𝑥2 + 3𝑥3 = 2
𝑥1 + 2𝑥3 = 1
Lời giải:
+ Đưa hệ phương trình trên về dạng AX = b, với:
1 1 2 𝑥1 3
A=(2 1 3) , X=(𝑥2 ) , b=(2)
1 0 2 𝑥3 1
+ Phân tích ma trận A thành A=LU.
1 1 2 ℎ2 → ℎ2 − 2ℎ1 1 1 2 ℎ3 → ℎ3 − ℎ2 1 1 2
A= (2 1 3) ghs (0 −1 −1) (0 −1 −1) = U
ℎ3 → ℎ3 − ℎ1 ghs
1 0 2 0 −1 0 0 0 1

1 0 0 ℎ3 → ℎ3 + ℎ2 1 0 0 ℎ3 → ℎ3 + ℎ1 1 0 0
I= (0 1 0) (0 1 0) (0 1 0)
ghs ghs
0 0 1 0 1 1 1 1 1

ℎ2 → ℎ2 + 2ℎ1 1 0 0
ghs
(2 1 0) = L
1 1 1

12
1 0 0 1 1 2
Vậy A có phân tích A = LU = (2 1 0) (0 −1 −1)
1 1 1 0 0 1
𝑦1 1 1 2 𝑥1
𝑦 𝑥
+ Đặt Y = UX  ( 2 ) = (0 −1 −1) ( 2 )
𝑦3 0 0 1 𝑥3
+ Giải hệ LY = b.
1 0 0 𝑦1 3 𝑦1 3 𝑦1 3
LY = b  (2 1 0) (𝑦2 ) = (2)  ( 2𝑦1 + 𝑦2 ) = (2)  (𝑦2 ) = (−4)
1 1 1 𝑦3 1 𝑦1 + 𝑦2 + 𝑦3 1 𝑦3 2
+ Giải hệ UX = Y.
1 1 2 𝑥1 𝑦1 𝑥1 + 𝑥2 + 2𝑥3 3 𝑥1
UX = Y  (0 −1 𝑥 𝑦 𝑥
−1) ( 2 ) = ( 2 )  ( − 𝑥2 − 𝑥3 ) = (−4)  ( 2 ) =
0 0 1 𝑥3 𝑦3 𝑥3 2 𝑥3
−3
(2)
2
Vậy ta kết luận được hệ có nghiệm duy nhất (𝑥1 ,𝑥2 ,𝑥3 ) = (-3,2,2).
- Nhận xét: Phân tích LU chỉ tỏ ra hiệu quả khi phải giải phương tr ình trên nhiều lần
với các giá trị khác nhau của b; khi đó chỉ cần tính phân tích LU của A một lần và giải
các ma trận tam giác với các giá trị khác nhau của b , thay vì phải sử dụng nhiều lần
phép khử Gauss

3.2. TÍNH ĐỊNH THỨC


- Ý tưởng: Dựa vào tính chất của định thức det(AB) = det(A).det(B), ta có phân tích
A=LU nên det(A) = det(LU) = det(L).det(U).
- Cách làm: +, Phân tích A thành A = LU.
+, Tính det(L) và det(U), từ đó tính được det(A).
1 1 2
- Ví dụ: Tính định thức của A = (2 1 3)
1 0 2
Lời giải:
1 0 0 1 1 2
+ Phân tích A thành A = LU =(2 1 0) ( 0 −1 −1) (đã làm ở ví dụ trên).
1 1 1 0 0 1
+ Tính det(L) = l11.l22..l33 = 1.1.1 = 1

13
det(U) = u11.u22.u33 = 1.-1.1 = -1
(định thức của ma trận tam giác trên (dưới) bằng tích các phần tử đường chéo)
+ det(A) = det(LU) = det(L).det(U) = 1.(-1) = -1.
Vậy định thức của ma trận A det(A) = -1.
- Nhận xét: Các ma trận L và U có thể được dùng để tính định thức của ma trận A 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ích các phần tử trên đường chéo của nó.

3.3. TÌM MA TRẬN NGHỊCH ĐẢO MA TRẬN VUÔNG A


- Ý tưởng: Ta có A.A-1 = I. Dùng phân tích A = LU, ta giải các hệ AX = bi  LUX =
bi, với bi là các cột của ma trận đơn vị I.
- Cách làm: + Phân tích A thành A = LU.
+ Giải hệ LUX = bi, từ đó tìm được các cột của A-1, kết luận A-1.
1 1 2
- Ví dụ: Tìm ma trận nghịch đảo của A = (2 1 3).
1 0 2
Lời giải:
+, Tính det(A), ta thấy det(A) = -1 nên tồn tại A-1.
1 0 0 1 1 2
+, A có phân tích A = LU = (2 1 0) ( 0 −1 −1) (đã làm ở ví dụ trên).
1 1 1 0 0 1
+, Giải hệ LUX = bi
Tìm cột 1 của A-1, ta giải hệ LUX = (1,0,0)T. Giải tương tự như ví dụ trên, ta tìm
được X = (-2,1,1)T. Suy ra cột 1 của A-1 = (-2,1,1)T.
Tìm cột 2 của A-1, ta giải hệ LUX = (0,1,0)T. Ta tìm được X = (2,0,-1)T. Suy ra cột
1 của A-1 = (2,0,-1)T.
Tìm cột 3 của A-1, ta giải hệ LUX = (0,0,1)T. Ta tìm được X = (-1,-1,1)T. Suy ra cột
1 của A-1 = (-1,-1,1)T
−2 2 −1
-1
Vậy ta có A = ( 1 0 −1).
1 −1 1

14
- Nhận xét: Thay vì giải phương tr ình AX = B thì ta xem B là ma trận đơn vị có kích
thước n thì khi đó X là nghịch đảo của A với kích hước n x p khi đó

IV. MỘT SỐ TÀI LIỆU THAM KHẢO


1. Phân tích LU, https://vi.wikipedia.org/wiki/Ph%C3%A2n_t%C3%ADch_LU,
ngày truy cập 05/12/2022.
2. Phạm Hồng Vinh (2019), Phép phân tích ma trận A=LU, Phép phân tích ma
trận A=LU (rootonchair.blogspot.com), ngày truy cập 05/12/2022.
3. Đặng Văn Vinh (2022), Giáo trình đại số tuyến tính, Đại học Bách Khoa TP
Hồ Chí Minh, Nxb. Đại học Quốc gia TP Hồ Chí Minh.

V. TỔNG KẾT
- Có kiến thức mới để sử dụng và ứng dụng sau này.
- Sau khi làm bài tập lớn mọi người sẽ quen được nhiều bạn mới.
- Có thêm kinh nghiệm về sử dụng phần mềm văn phòng.
- Học được cách làm việc ở xa.

VI. NHẬN XÉT CỦA GIÁO VIÊN


……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………

15
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………

16

You might also like