Professional Documents
Culture Documents
HCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA
--------------------
ĐỀ TÀI 2
CƠ SỞ LÝ THUYẾT VÀ ỨNG DỤNG
PHÂN TÍCH A = LU
ĐỀ TÀI 2
CƠ SỞ LÝ THUYẾT VÀ ỨNG DỤNG
PHÂN TÍCH A = LU
Trang 2
VỀ ĐỀ TÀI
ĐỀ 2
1/ Nêu cơ sở lý thuyết của phân tích A = LU và phân tích PA = PLU.
2/ Viết chương trình dùng để phân tích A = LU.
3/ Tìm các ứng dụng của phân tích A = LU.
Trang 3
CHƯƠNG 1: CƠ SỞ LÝ THUYẾT
I.1 CÁC KHÁI NIỆM VỀ MA TRẬN.
I.1.1 Ma trận.
Trong toán học, ma trận là một mảng chữ nhật – các số, ký hiệu, hoặc biểu thức,
sắp xếp theo hàng và cột – mà mỗi ma trận tuân theo những quy tắc định trước. Từng ô
trong ma trận được gọi là các phần tử hoặc mục. Ví dụ một ma trận có 2 hàng và 2 cột:
1 3
� �
−3 4
I.1.2 Các loại ma trận.
Ma trận tam giác và ma trận đường chéo.
Nếu mọi phần tử của A ở bên dưới đường chéo chính bằng 0, thì A được gọi là
ma trận tam giác trên. Tương tự, nếu mọi phần tử của A ở bên trên đường chéo chính
bằng 0, thì A được gọi là ma trận tam giác dưới. Nếu mọi phần tử nằm bên ngoài đường
chéo chính đều bằng 0, thì A được gọi là ma trận đường chéo.
Ma trận đơn vị.
Ma trận đơn vị In có số chiều n là một ma trận n × n trong đó mọi phần tử trên
đường chéo chính bằng 1 và tất cả những phần tử khác đều bằng 0, ví dụ
1 0 0
�0 1 0�
0 0 1
Ma trận bậc thang.
Ma trận A là ma trận bậc thang nếu thoả mãn hai điều kiện:
+ Các hàng bằng 0 (nếu có) ở dưới cùng của ma trận.
+ Phần tử cơ sở của hàng phía dưới ở bên phải so với phần tử cơ sở của hàng trên
Biến đổi về ma trận bậc thang thông qua phương pháp khử Gauss. Ví dụ
1 −3 2 0 1
0 0 2 5 1
� �
0 0 0 −1 2
0 0 0 0 0
Ma trận nghịch đảo.
+ Ma trận vuông A gọi là khả nghịch hay không suy biến nếu tồn tại một ma trận
B sao cho AB = BA = In.
+ Nếu B tồn tại, thì nó là duy nhất và được gọi là ma trận nghịch đảo của A, ký
hiệu bằng A−1.
+ Một số tính chất của ma trận khả nghịch:
(A−1) −1 = A (AB) −1 = B−1A−1 (AT) −1 = (A−1)T
Trang 4
I.1.3 Phép nhân hai ma trận.
Cho hai ma trận Am×n và Bn×p trong đó ma trận A có số cột bằng số dòng của ma
trận B. Tích của ma trận A và ma trận B là ma trận cấp m×p, được kí hiệu là AB. Ví dụ
phép tính ma trận 3×2 với ma trận 2×3:
Trang 5
Đầu tiên, ta cần tính toán hệ số để nhân dòng 1 (r1 ) rồi trừ cho dòng 2 (r2 ) để
A21 3
thực hiện loại trừ. Có thể tính được l = = = 3. Gọi hệ số này là l21 . Vậy phép
A11 1
biến đổi dòng đầu tiên là r2 − l21 .r1 = r2 − 3.r3 . Tương tự, ta cũng tính ra được
A31
l31 = = −2 và phép biến đổi dòng thứ hai là r3 − l31 .r1 = r3 + 2.r1 . Đến đây, ta có
A11
một ký hiệu chung lij là hệ số nhân cho dòng j và trừ cho dòng i.
1 5 2 r2 − 3r1 1 5 2 r3 + 2r1 1 5 2
�3 6 4� �⎯⎯⎯⎯� � 0 −9 −2� �⎯⎯⎯⎯� �0 −9 −2�
−2 2 7 −2 2 7 0 12 11
12 4
Tiếp tục các bước biến đổi, ta có l32 = =−
−9 3
1 5 2 r3 + 4� r2 1 5 2
3
�0 −9 −2� �⎯⎯⎯⎯⎯⎯� �0 −9 −2 �
0 12 11 0 0 25�
3
Vậy kết quả thu được là ma trận tam giác trên U:
1 5 2
U = �0 −9 −2 �
0 0 25�
3
Tiếp theo cần phải xác định ma trận tam giác dưới L.
Tìm ma trận L.
Ta có phân tích A = LU nên có thể tìm L thông qua công thức L = AU−1.
−1
1 5 2 1 5 2
L = � 3 6 4� �0 −9 −2 �
−2 2 7 0 0 25�3
Trên thực tế không cần thực hiện phép tính trên, ma trận L có thể tìm được như sau:
1 0 0 1 0 0
L = �l21 1 0� = � 3 1 0�
l31 l32 1 −2 −4 �3 1
Những phần tử trong mỗi dòng của L giúp đảo lại các phép toán trên dòng mà ta đã làm.
Ví dụ với dòng 2 của ma trận U có được từ việc trừ đi l21 .r1 thì ở dòng 2 của ma trận L
ta đã khôi phục lại, lấy dòng 2 của U và cộng thêm vào dòng 1 để lấy lại dòng 2 ban đầu:
1 5 2
(l21 1 0) �0 −9 −2 �
0 0 25�
3
= l21 (1 5 2) + (0 −9 −2) = (3 6 4)
Trang 6
1 0 ⋯ 0
l21 1 ⋯ 0
L có thể được biểu diễn như sau: L = � �
⋮ ⋱
lm1 lm2 ⋯ 1
Vậy kết quả của phân tích trên là
1 0 0 1 5 2
A = LU = � 3 1 0� �0 −9 −2 �
−2 −4� 1 0 0 25�
3 3
I.3 PHÂN TÍCH PA = LU.
Đô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. Lúc này: A′ = LU ⇔ PA = LU.
Trang 7
CHƯƠNG 2: CHƯƠNG TRÌNH PHÂN TÍCH A = LU
II.1 THUẬT TOÁN CƠ BẢN
Cho một ma trận m×m A = (an,n), đặt A(0) :=A và lặp với n = 1, 2, ..., m−1. Khử
các phần tử bên dưới đường chéo chính của cột thứ n của A(n–1) bằng cách cộng vào
dòng thứ i của ma trận này với dòng thứ n và nhân thêm hệ số li,n, với i = n + 1, n + 2,
…, m.
Sau m−1 bước, ta đã khử tất cả các phần tử bên dưới đường chéo chính, và nhận
được ma trận tam giác trên A(m–1). A(m–1) là ma trận tam giác trên U. Có thể sử dụng ma
trận nghịch đảo để tìm L một các đơn giản bằng công thức L = AU−1.
Trang 8
1 1 2 1
2 3 5 4
Ví dụ 3: Cho A là ma trận vuông cấp 4, A = � �. Phân tích A = LU.
3 2 7 6
4 5 9 3
Trang 9
CHƯƠNG 3: ỨNG DỤNG CỦA PHÂN TÍCH A = LU
III.1 GIẢI HỆ PHƯƠNG TRÌNH TUYẾN TÍNH.
Từ phương trình tuyến tính, ta có Ax = b (với A và b cho trước). Từ A ta có thể
phân tích thành A = LU. Khi đó nghiệm của phương trình có thể được tính toán theo 2
bước sau:
1. Giải Ly = b => Tìm y.
2. Giải Ux = y => Tìm x.
Ví dụ: Giải hệ phương trình
−x1 + 1x2 − 1x3 = −5
17x1 + 10x2 = 19
19x1 + 6x3 = −19
Từ hệ phương trình trên ta biến đổi thành:
−1 1 −1 x1 −5
A = � 17 10 0 � x = �x 2 � b = � 19 �
19 0 6 x3 −19
Phân tích ma trận A = LU:
1 0 0 −1 1 −1
A = LU = �−17 1 0� � 0 27 −17 �
−19 19�27 1 0 0 −28�
27
Trang 10
III.2 TÌM MA TRẬN NGHỊCH ĐẢO
Khi giải hệ phương trình, thường thì b được xem là vector có chiều dài bằng số
dòng của A. Nếu thay vì vector b, ta có ma trận B, với B là ma trận kích thước n×p, thì
ta sẽ phải tìm ma trận X (cũng có kích thước n×p): AX = LUX = B.
Có thể sử dụng cùng phương pháp Ly = b, Ux = y để giải cho mỗi cột của ma
trận X. Với giả sử rằng B là ma trận đơn vị với kích thước n thì X khi đó là nghịch đảo
của A.
1 2 2
Ví dụ cho ma trận A = �2 5 6�. Tìm ma trận nghịch đảo.
1 1 3
Gọi ma trận A, B, X:
1 2 2 1 0 0 x11 x12 x13
A = �2 5 6 � B = �0 1 0� X = �x21 x22 x23 �
1 1 3 0 0 1 x31 x32 x33
Phân tích A = LU:
1 2 2 1 0 0 1 2 2
A = LU ⇔ �2 5 6 � = � 2 1 0� �0 1 2�
1 1 3 1 −1 1 0 0 3
Giải Ly = Bi, với i là các cột của ma trận B.
1 0 0 y11 1
Ly = B1 ⇔ �2 1 0� � 21 � = �0� y
1 −1 1 y31 0
y11 1
y
⇔ � 21 � = �−2�
y31 −3
Giải Ux = y
1 2 2 x11 1
UX = y ⇔ �0 1 2� �x21 � = �−2�
0 0 3 x31 −3
x11 3
⇔ �x21 � = � 0 �
x31 −1
Thực hiện tương tự với B2 và B3, tìm được
x12 −4 x13 2
1
�x22 � = �3 � 1 � �x23 � = 1�3 �−2�
x32 1 x33 1
9 −4 2
1
⇒ Vậy X = �3 �0 1 −2� là ma trận nghịch đảo của A.
3 1 1
Trang 11
III.3 TÍNH ĐỊNH THỨC CỦA MA TRẬN
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ó. Đặc biệt, nếu L là ma trận tam giác đơn vị thì:
1 1 2 1
2 3 5 4
Ví dụ: Tính định thức ma trận A = � �.
3 2 7 6
4 5 9 3
1 0 0 0 1 1 2 1
2 1 0 0 0 1 1 2
Ta có A = LU =� �� �.
3 −1 1 0 0 0 2 5
4 1 0 1 0 0 0 −3
Trang 12
TÀI LIỆU THAM KHẢO
[1] Đặng Văn Vinh, Giáo trình Đại Số Tuyến Tính, Nhà Xuất Bản Đại Học Quốc Gia,
2020.
[2] https://vi.wikipedia.org/wiki/Phân_tích_LU.
[3] https://tailieuvnu.com/wp-content/uploads/2020/11/19/Slide-2-Dai-so-Tuyen-Tinh-
Ma-Tran-nghich-dao-va-phan-tich-LU-Le-Xuan-Thanh-UET.pdf.
[4] https://rootonchair.blogspot.com/2019/06/phep-phan-tich-ma-tran-alu.html.
[5] Vũ Thị Hương Trang, Phân Tích Ma Trận Và Một Số Ứng Dụng, Đại Học Thái
Nguyên, 2016.
Trang 13