Professional Documents
Culture Documents
I .CƠ SỞ LÝ THUYẾT PHÂN TÍCH A=QR BẰNG PHÉP BIẾN ĐỔI HOUSEHOLDER.....
II. CHƯƠNG TRÌNH MATLAB DÙNG ĐỂ PHÂN TÍCH A=QR BẰNG PHÉP BIẾN ĐỔI
HOUSEHOLDER
1
DANH SÁCH THÀNH VIÊN
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
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)
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.
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:
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
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
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
—
A (1) =Q (1) R(1)
— A2(1) = P2 A(1)
— A3(1)= P3 A2(1)
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:
��:= Quant[ � � ]
���
��:= Quant[ � � ]
���
�
− �=�+1 ��� ��
��
��:= Quant[ ] , k=n-1, n-2,..., 1
���
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