You are on page 1of 19

PHỤ LỤC

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

I .CƠ SỞ LÝ THUYẾT PHÂN TÍCH A=QR BẰNG PHÉP BIẾN ĐỔI HOUSEHOLDER.....

1. Định nghĩa và giới thiệu thuật toán........................................................................................3


2. Ý tưởng thuật toán phân rã QR.............................................................................................. 7
3. Các bước thực hiện.................................................................................................................7
4. Các ví dụ ..............................................................................................................................8

II. CHƯƠNG TRÌNH MATLAB DÙNG ĐỂ PHÂN TÍCH A=QR BẰNG PHÉP BIẾN ĐỔI
HOUSEHOLDER

1. Chương trình MATLAB.......................................................................................................... 10


2. Giải thích CODE......................................................................................................................10
3. Kết quả trong MATLAB......................................................................................................... 11

III. CÁC ỨNG DỤNG CỦA PHÉP PHÂN TÍCH A=QR

1. Giải quyết các vấn đề về binh phương tối thiểu......................................................................12


2. Giải quyết các vấn đề tìm giá trị riêng.................................................................................... 13
3. Các ứng dụng trong MIMO..................................................................................................... 16

IV. NGUỒN TÀI LIỆU THAM KHẢO

1
DANH SÁCH THÀNH VIÊN

1 NGUYỄN THÀNH HƯNG 2211372

2 LÊ VĂN HÙNG 2211365

3 LÊ PHÁT HUY 2211193

4 NGUYỄN PHI HÙNG 2211338

5 NGÔ TẤN HIẾU 2210994

6 PHAN ĐẶNG MINH HIẾU 2211005

7 NGUYỄN TRƯƠNG TRỌNG HIẾU 2211003

8 NGUYỄN MẠNH HƯNG 2211365

2
PHẦN I: CƠ SỞ LÝ THUYẾT PHÂN TÍCH A=QR BẰNG PHÉP BIẾN ĐỔI
HOUSEHOLDER
1. Định nghĩa và giới thiệu thuật toán
a) Khái niệm:
Trong đại số tuyến tính, phân rã QR, còn được gọi là phân tích nhân tố QR hoặc
phân tích nhân tố QU là phân rã ma trận A thành tích A = QR của ma trận trực giao Q và
ma trận tam giác trên R. Phân rã QR thường được sử dụng để giải quyết vấn đề bình
phương tối thiểu tuyến tính và là cơ sở cho một thuật toán eigenvalue cụ thể, thuật toán
QR.
b) Quy trình Gram-Schmidt:
- Giới thiệu: Trong toán học, đặc biệt là trong lĩnh vực đại số tuyến tính và giải tích số,
quá trình Gram-Schmidt là một phương pháp trực chuẩn hoá một tập hợp các véc tơ
trong một không gian tích trong, thường là không gian Euclide Rn
- Phân hủy QR có công thức: A = QR
Trong đó:  A là ma trận ban đầu mà chúng ta muốn phân rã
 Q là ma trận trực giao
 R là ma trận tam giác trên

- Điều kiện: Họ các véctơ cột của A là họ độc lập tuyến tính.
- Dùng quá trình trực giao hóa Gram-Schmidt ta được họ trực giao và chia mỗi véctơ
cho độ dài của nó ta có họ trực chuẩn.
- Ma trận trực giao Q có các cột là véctơ trực chuẩn vừa tìm được.
- Ma trận R (ma trận chuyển cơ sở từ Q sang E) = QTA
( E={e1, e2, e3,...} là cơ sở trực chuẩn)
Để tạo vectơ trực giao, chúng ta có thể sử dụng thông tin sau. Vectơ a là vectơ đầu tiên
và chúng ta có thể so khớp nó với v1. v2 phải trực giao với vectơ v1, vì vậy chúng ta nên

3
chiếu vectơ b lên v2 để b trực giao với a (v1). Phép chiếu của vectơ b lên a (v1) được
cho bởi:

4
Điều đang xảy ra trong nhiều chiều hơn là chúng ta đang trừ các hướng vectơ cho
các thành phần trước đó (v1, v2,… nếu chúng ta có nhiều thứ nguyên hơn). Bây giờ
chúng ta biết cách lấy ma trận Q
Để tính toán ma trận R, chúng ta có thể sử dụng các thay đổi sau trong công thức QR

c) Phản chiếu Householder Gram-Schmidt: có thể không ổn định về mặt số học, có


nghĩa là đầu vào thay đổi nhỏ có thể dẫn đến thay đổi tương đối lớn trong đầu ra
(nguồn). Cách ổn định hơn là sử dụng phản chiếu của Householder. Householder
chiếu véc-tơ qua một “tấm gương”. Chúng ta có vectơ x mà chúng ta muốn phản ánh
vectơ Qx. Để phản ánh, chúng ta sẽ sử dụng ma trận trực giao Q.

5
6
2. Ý tưởng thuật toán phân rã QR
-Dựa trên sự phân hủy của ma trận A, trở thành tích A = QR với Q là ma trận trực giao,
và ma trận tam giác trên R, người ta thường sự dụng phân rã QR trong giải quyết vấn đề
bình phương nhỏ nhất tuyến tính (là một tập hợp các công thức để giải các bài toán
thống kê liên quan đến hồi quy tuyến tính), đồng thời là cơ sở cho một thuật toán giá trị
riêng cụ thể (thuật toán QR).
3. Các bước thực hiện:
-Thuật toán phép biến đổi Householder:

Giả sử u là vectơ khác không tùy ý, khi đó hình chiếu vuông góc của vectơ v lên không
gian con F sinh bởi vectơ u là pru(v) = uuTv.

Vectơ v được phân tích thành v = a + b, với a là hình chiếu vuông góc của u lên F và b là
hình chiếu vuông góc của v lên F.

Ta có: =>

Vậy ta có phép đối xứng qua là (phép biến đổi này được gọi là phép
biến đổi Householder)

#Cách thực hiện:

Giả sử A*1 ≠ 0 là cột thứ nhất của ma trận A.

Ta cần tìm một ma trận trực giao P1 để P1A*1 =

Ma trận P1 tương ứng với phép biến đổi trực giao nên nó bảo toàn độ dài của
vectơ. Vậy độ dài của P1A*1 bằng độ dài của A*1.

Do đó, ta chọn P1A*1 = || A*1 ||e1.

Đặt vectơ , = || A*1 ||e1. Khi đó:

7
<=> . Đặt

Dùng vectơ này tạo ra phép biến đổi Householder và phép biến đổi
này sẽ khử tất cả các phần tử trong cột thứ nhất của ma trận A ngoại trừ hạng tử
đầu tiên.

4. Các ví dụ:
1 −1 0
1 5 −2
Ví dụ 1: Cho ma trận A= . Dùng phép biến đổi Householder, tìm phân
1 5 2
1 −1 −4
tích A = QR.

Giải:

Tạo ra vecto = A*1 − ||A*1|| . e1 =(1; 1; 1; 1)T – 2*(1; 0; 0; 0) = (-1 ; 1 ; 1 ; 1) T


Dùng phép biến đổi Householder để khử cột 1 của A:
0.5 0.5 0.5 0.5 2 4 −2
��� 0.5 0.5 −0.5 −0.5 0 0 0
Q1=(I-2���)= Q1A= và xét ma trận
0.5 −0.5 0.5 −0.5 0 0 4
0.5 −0.5 −0.5 0.5 0 −6 −2

0 0
A1= 0 4
−6 −2

Lặp lại các bước trên cho ma trận A1 Tạo ra vecto =A*1(1)-||A*1(1)||. e1=(-6;0;6)T
Dùng phép biến đổi Householder để khử cột 1 của A1 :

���
0 0 −1 6 2
Q’2=(I-2���)= 0 1 0 Khi đó Q’2.A1= 0 4
−1 0 0 0 0

8
1 −1 0
1 5 −2
Ví dụ 2: Cho ma trận A= .Dùng phép biến đổi Householder, tìm
1 5 2
1 −1 −4
phân tích A = QR.

1 0 0 0 2 4 −2
0 0 0 −1 0 6 2
Khi đó, ta đặt: Q2= Q2.Q1.A= =R
0 0 1 0 0 0 4
0 −1 0 0 0 0 0

Suy ra=A= Q1-1.Q2-1.R= Q1T.Q1T.R= QR

9
PHẦN II. CHƯƠNG TRÌNH MATLAB DÙNG ĐỂ PHÂN TÍCH A=QR BẰNG
PHÉP BIẾN ĐỔI HOUSEHOLDER
1. Chương trình MATLAB
function [Q,R] = qr(A)
[m,n]=size(A);
Q=zeros(m,n);
R=zeros(n);
for k=1:n
Q(:,k)=A(:,k);
for j=1:k-1
Q(:,k)=Q(:,k)-(A(:,k)'*Q(:,j)) .*Q(:,j);
end
Q(:,k)=Q(:,k)./norm(Q(:,k));
for j=1:k
R(j,k)=Q(:,j)'*A(:,k);
end
end
end

2. Giải thích CODE


o A = [4 1 -2 2;1 2 0 1;-2 0 3 -2;2 1 -2 -1];
o [n,m] = size(A) : Kích thước của ma trận
o Zeros: Ma trận 0 cấp mxn
o For k=1:n

o End : vòng lặp chạy k từ 1 đến n
o Q (:,k): Lấy cột k không lấy hàng nào của ma trận Q
o A': Ma trận chuyển vị của A
o Norm : Tính độ dài vecto

10
3. Kết quả trong MATLAB

11
PHẦN III. CÁC ỨNG DỤNG CỦA PHÉP PHÂN TÍCH A=QR
1.Giải quyết các vấn đề bình phương tối thiểu
-Bình phương tối thiểu tuyến tính là một kỹ thuật trong ngành tối ưu toán học để tìm
một nghiệm gần đúng cho một hệ phương trình tuyến tính không có nghiệm chính xác.
Điều này thường xảy ra khi số phương trình là (m) lớn hơn số biến (n).

Theo từ ngữ toán học, chúng ta muốn tìm nghiệm của phương trình. với A là
một ma trận cỡ m-nhân-n (với m > n) và x và b theo thứ tự đó là vectơ cột với n- và m-
hàng.
Ta có : �� �� = �� � ↔ �� = �� �
 (A = QR, với Q là ma trận trực giao, R là ma trận tam giác trên)
Ví dụ:
Tìm hàm bậc ba f(t)=�+βt+γt2+δt3, với D={(-3;-1.4); (-2;-1.3); (-1;-0.6); (0;0.1);
(1;0.9); (2;1.8); (3;2.9)}.
Lời giải
Đặt g(t)=t; h(t)=t2; k(t)=t3
1 �1 �1 �1
1 �2 ℎ2 �2
1 �3 ℎ3 �3
Xét ma trận A= 1 �4 ℎ4 �4
1 �5 ℎ5 �5
1 �6 ℎ6 �6
1 �7 ℎ7 �7

1 −3 9 −27 −1.4
1 −2 4 −8 −1.3
1 −1 1 −1 −0.6
= 1 0 0 0 , b= 0.1
1 1 1 1 0.9
1 2 4 8 1.8
1 3 9 27 2.9

12
7 0 28 0 2.4
0 28 0 196
Khi đó ATA= và ATb= 20.6
28 0 196 0 18.5
0 196 0 1588 142.8

Giải hệ ATAX = ATb, ta được nghiệm


X=(0.0476; 0.7940; 0.0738; -0.0083)T
Vậy hàm f(t)=0.0476+ 0.7940t+ 0.0738t2- 0.0083t3

2. Giải quyết các vấn đề tìm giá trị riêng


a) Các bước tìm trị riêng bằng phương pháp QR:
— B1: Tìm số từ ma trận A đã cho, ta có ma trận A - �i .

— B2 :Từ ma trận Ak(i) => Ma trận quay Pk+1.

— B3 : underline Tinh A k+1 ^ (i) .

— B4 : Tìm các giá trị riêng của ma trận A đã cho.

b) Công thức cần lưu ý:


A (1) =Q (1) R(1)

— A (i+1)= Q (1) r(1)

— A2(1) = P2 A(1)

— A3(1)= P3 A2(1)

— A(2) = R (1) Q(1) =P3 P2 A(1) P2’ P3’

— Dạng tổng quát của Ak(i):

13
��−1 0 0
0 ��+1 ��+1 0
— Dạng tổng quát của Pk+1: −��+1 ��+1
0 ��−�−1
0

��+1 ��
Với: sk+1 = ; ck+1 =
�2 �+1 + �2 � �2 �+1 + �2 �

c) Ví dụ:
3 1 0
Cho ma trận A = 1 3 1 là ma trận 3 đường chéo, đối xứng. Tìm trị riêng của A?
0 1 3
��ả�:
- Tính s1 bằng cách tìm trị riêng ma trận vuông 2×2 tạo bởi dòng thứ 2,3 và cột thứ 2,3
3 1
1 3
Ma trận này có 2 trị riêng μ1 = 2 và μ2 = 4
Chọn trị riêng gần với giá trị a3 =A33=3 => Chọn s1=μ1 =2

- Ta có:

14
2.6720277 0,37597448 0
A(3)= 0,37597448 1.4736080 0,030396964
0 0,030396964 −0,047559530
Nhận thấy b(2)3 = 0.030396964 đã đủ nhỏ, ta đi tỉnh các giá trị riêng:
�3 =a3(3) + s1 + s2 = 1.5894151
2.6720277 0.37597448
- Bỏ đi hàng 3 cột 3 ma trận A(3), ta được:
0.37597448 1.4736080
+ 2 trị riêng của ma trận trên là: μ1 = 2.7802140 và μ2 = 1.3654218
+ 2 trị riêng còn lại của ma trận A là:
�1 = �1 + s1 + s2 = 4.4141886
�2 =�2 + s1 + s2 =2.9993964

15
3. Ứng dụng trong MIMO
Trong radio, nhiều đầu vào và nhiều đầu ra, hay MIMO, là việc sử dụng nhiều ăng-ten ở
cả máy phát và máy thu để cải thiện hiệu suất truyền thông
 MIMO là một trong nhiều dạng công nghệ ăng ten thông minh.
 MIMO cung cấp sự gia tăng đáng kể về thông lượng dữ liệu và phạm vi liên kết
mà không cần thêm băng thông hoặc công suất truyền.
 MIMO là một phần quan trọng của các tiêu chuẩn truyền thông không dây hiện
đại như IEEE 802.11n (Wifi) và 4G.
 Trong hệ thống MIMO, một máy phát sẽ gửi nhiều luồng bằng nhiều ăng-ten phát.
Các luồng truyền đi qua một kênh ma trận bao gồm tất cả các đường dẫn
NtNr giữa các ăng ten phát Nt ở máy phát và Nr ăng-ten thu ở máy thu.
 Sau đó, máy thu nhận các vectơ tín hiệu đã nhận bởi nhiều ăng-ten thu và giải mã
các vectơ tín hiệu nhận được thành thông tin ban đầu
Mô tả toán học
Cho x = (x1,..., xn)T là một vectơ được truyền qua một kênh nhiễu.
Mỗi xi được chọn từ một bảng chữ cái có kích thước hữu hạn X
Một hệ thống MIMO chung được mô hình hóa như
r = Hx + ξ
H là m × n kênh ma trận xếp hạng cột đầy đủ (m ≥ n) (bộ thu đã biết)
ξ = (ξ1,..., ξm)T là vectơ nhiễu Gaussian màu trắng trong đó E (ξξ*) = σ2I
r = (r1,..., rm)T là vectơ nhận được quan sát.
Nhiệm vụ của chúng ta là phát hiện / ước lượng vectơ � = (�1 ,.., �� )T ∈ Xn với quan
sát nhiễu r.
Sự phân hủy QR của ma trận kênh H có thể được sử dụng để tạo thành bộ dò hủy ngược.
Đặt H = QR, là phương trình phân rã QR của ma trận hệ thống H với m hàng, n cột.
Q = Ma trận trực giao mxn
R = Ma trận tam giác trên nxn
=> r = Hx + �=> Q*r=Rx + Q* �

16
Đặt:

(2) Phương pháp chính thức


Giả sử ước tính xn bằng công thức:

��:= Quant[ � � ]
���

Với quant(t) là phân tử X gần nhất với t


(3) Phân Hủy
Quay lại công thức:

��:= Quant[ � � ]
���

− �=�+1 ��� ��
��
��:= Quant[ ] , k=n-1, n-2,..., 1
���

 Thuật toán về cơ bản là phương pháp bình phương cực tiểu

17
Nhận xét:
-Sự phân rã QR cung cấp một cách thay thế để giải hệ phương trình A x = b mà không
cần nghịch đảo ma trận A. Thực tế là Q là trực giao có nghĩa là QTQ = I, do đó A x = b
tương đương với R x = QTb, dễ giải hơn vì R là ma trận tam giác.
-Việc sử dụng các phép biến đổi Householder vốn dĩ là đơn giản nhất trong số các thuật
toán phân rã QR ổn định về số lượng do sử dụng phản xạ làm cơ chế tạo ra các số 0
trong ma trận R. Tuy nhiên, thuật toán phản chiếu Householder nặng về băng thông và
không thể song song hóa, vì mọi phản xạ tạo ra phần tử 0 mới sẽ thay đổi toàn bộ ma
trận Q và R.

18
IV.NGUỒN TÀI LIỆU THAM KHẢO:
1. Giáo trình ĐẠI SỐ TUYẾN TÍNH (Thầy Đặng Văn Vinh) ĐHQG TP HỒ CHÍ
MINH- ĐH BÁCH KHOA.
2. Youtube:
(https://www.youtube.com/watch?v=FAnNBw7d0vg)
(https://www.youtube.com/watch?v=J41Ypt6Mftc&t=189s)
3.Internet:
(https://thuthuat.taimienphi.vn/ma-tran-trong-matlab-32848n.aspx)
4.Wikipedia:
(https://en.wikipedia.org/wiki/Householder_transformation)

19

You might also like