Professional Documents
Culture Documents
BTL ĐSTT
BTL ĐSTT
ĐẠ I HỌ C BÁ CH KHOA
KHOA KHOA HỌ C Ứ NG DỤ NG
Mục lục
1 Cơ sở lý thuyết 2
1.1 Giớ i thiệu đề tà i........................................................................................................................2
1.2 Cơ sở lý thuyết..........................................................................................................................2
1.2.1 Ma trậ n trự c giao.........................................................................................................2
1.2.2 Phép quay Givens.........................................................................................................2
1.3 Thự c hiện phâ n rã trên ma trậ n cụ thể.................................................................................4
3 Ứng dụng 11
3.1 Ứ ng dụ ng trong cá c bà i toá n:...............................................................................................11
3.2 Ứ ng dụ ng thự c tế:...................................................................................................................11
3.2.1 Ứ ng dụ ng phâ n rã QR trong hệ thố ng thu - nhậ n MIMO (hay multiple-
input and multiple-output).......................................................................................11
3.2.2 Ứ ng dụ ng phâ n rã QR trong A.I (Artificial intelligence-trí tuệ nhâ n tạ o). 12
3.2.3 Ứ ng dụ ng củ a phâ n rã QR trong việc tìm ra quy luậ t chung (mộ t hà m số
gầ n đú ng) củ a cá c số liệu thự c tế trong vấ n đề phâ n tích dữ liệu.....................12
4 Kết luận 13
Bài tập lớn Lập trình Web - Năm học 2022 - Page
Trường Đại học Bách Khoa Thành phố Hồ Chí Minh
Khoa Khoa học và Kỹ thuật Máy tính
1 Cơ sở lý thuyết
• Biến đổ i Household.
1.2 Cơ sở lý thuyết
Ma trậ n trự c giao: là mộ t ma trậ n vuô ng, có tính chấ t ma trậ n chuyể n vị củ a nó chính bằ ng
ma trậ n nghịch đả o GT = G−1
Chú ng ta có thể thấ y cá ch cá c hà ng củ a ma trậ n đượ c phâ n tích thà nh dạ ng ma trậ n tam
giá c vớ i phé p phâ n tích PA=LU.
Để phâ n tích A= QR, chú ng ta có thể sử dụ ng cá ch tiế p cậ n tương tự , trong đó , cá c phé p
toá n biế n đổ i hà ng đượ c á p dụ ng cho ma trậ n A để biế n đổ i ma trậ n A về ma trậ n tam giá c
trê n, nế u Q1và Q2 là ma trậ n trự c giao. Khi đó , Q1.Q2cũ ng làmộ t ma trậ n trự c giao.
−1 0
1 0 0 1 0
Ví dụ về ma trậ n trự c giao: 0 1 0, , ,...
0 1 0 1
0 0 1
Chú ng ta sẽ sử dụ ng ma trậ n trự c giao để phâ n tích A=QR, vì ma trậ n trự c giao có nghịch
đả o bằ ng chính ma trậ n chuyể n vị.
Cho A thuộ c Mn(R). Tìm cá c ma trậ n trự c giao P1, P2, ..., Pk−1, Pk (là ma trậ n củ a phé p
quay trong Rn) vớ i k thuộ c N để:
(P1P2...Pk−1, Pk)A = R
Bài tập lớn Lập trình Web - Năm học 2022 - Page
Trường Đại học Bách Khoa Thành phố Hồ Chí Minh
Khoa Khoa học và Kỹ thuật Máy tính
⇒ A = (P1P2...Pk−1, Pk)−1R = QR
Vớ i Q = (P1P2...Pk−1, Pk)−1
Cá ch chọ n ma trậ n P là :
Giả sử có mộ t vectơ cộ t v = (v1, v2, ..., vi, ..., vj, ..., vn)T .
Mụ c tiê u là dù ng mộ t phé p quay P để khử phầ n tử thứ j củ a vectơ cộ t v dự a và o phầ n tử
thứ i củ a v.
Để là m đượ c điều nà y, ta tìm mộ t ma trậ n quay thỏ a:
Chọ n phép quay sao cho khi thự c hiện phép nhâ n Pijv thì vị trí thứ j bằ ng 0, tứ c là :
−vi sin(a) + vj cos(a) = 0
vj
sin(a) vi 2 + vj 2
Ta chọ n: vi
= √
cos(a) = √
2 2
vi + vj
Bài tập lớn Lập trình Web - Năm học 2022 - Page
Trường Đại học Bách Khoa Thành phố Hồ Chí Minh
Khoa Khoa học và Kỹ thuật Máy tính
i ji j i j
2 2
v i cos(a) + vj sin(a) = √ +√ = √ = vi + vj
Thự c hiện lầ n lượ t phép quay
v 2 +sao
v 2cho đểvchuyển
2
+ v 2đổ i từ vng2 phầ
+ v n2 tử phía bên dướ i đườ ng chéo
chính lầ n lượ t bằ ng 0. Như vậ y ta sẽ thu đượ c ma trậ n R
Xét ma trận A:
6 5 0
5 1 4
A
0 4 3
Để tạ o ma trậ n mong muố n, chú ng ta phả i khô ng có phầ n tử (2, 1) và (3, 2). Đầ u tiên ta chọ n
(2, 1) bằ ng 0. Sử dụ ng na trậ n xoay củ a:
c −s 0
G=
s c
1
0 0 1
0
Ta có phép nhâ n ma trậ n sau:
c −s 0 6 5 0
1 G1 A =2 A
= s c 0 5 1 4
Bài tập lớn Lập trình Web - Năm học 2022 - Page
0 0 0 4
1 3
Trường Đại học Bách Khoa Thành phố Hồ Chí Minh
Khoa Khoa học và Kỹ thuật Máy tính
Vớ i:
√
r = 62 + 52
c= 6
r
−5
s= r
Thê m giá trị nà y cho c và s ta thu đượ c ma trậ n A2
2 7,0 8102 −2,
4327 3,2,0729
4, 4813
A
0 4 3
1 0 0
G = −s
2 0 c
0 s c
Vớ i:
r = √(−2, 4327)2 + 42
−2.4237
c= r
−4
S= r
Khi đó ta có :
7, 8102 4, 4813 2, 5607
A=R= 0 4, 4817 0, 9664
3
0 0 −4, 1843
0, 7682 0, 3327 0, 5470
1T
Q = G .G = 2T −0, 3992 −0,
Bài tập lớn Lập trình Web - Năm học 2022 - Page
Trường Đại học Bách Khoa Thành phố Hồ Chí Minh
Khoa Khoa học và Kỹ thuật Máy tính
0 0, 8544 −0, 5196
Bài tập lớn Lập trình Web - Năm học 2022 - Page
Trường Đại học Bách Khoa Thành phố Hồ Chí Minh
Khoa Khoa học và Kỹ thuật Máy tính
Kết luận:
A = QR :
6 5 0 0, 7682 0, 3327 0, 5470 7, 8102 4, 4813 2, 5607
5 1 4
0, 6402
0, 3992
0 4, 4817
0, 9664
= −
0 4 3 0 0, 8544 −0, 5196 0 0 −4, 1843
Bài tập lớn Lập trình Web - Năm học 2022 - Page
Trường Đại học Bách Khoa Thành phố Hồ Chí Minh
Khoa Khoa học và Kỹ thuật Máy tính
18
19
20 end
21
22 % givensrotation.m
23 function [c, s] = givensrotation(a, b) if b == 0
c = 1;
24 s = 0;
25 else
if abs(b) > abs(a) r = a / b;
26
27
28
29
Bài tập lớn Lập trình Web - Năm học 2022 - Page
Trường Đại học Bách Khoa Thành phố Hồ Chí Minh
Khoa Khoa học và Kỹ thuật Máy tính
30 s = 1 / sqrt(1 + r^2);
31 c = s * r; else
r = b / a;
32 c = 1 / sqrt(1 + r^2); s = c * r;
33 end
34
35
36
37 end
38 end
Chương trình trê n phâ n tích ma trậ n A thà nh cá c ma trậ n Q và R theo phương phá p phé p
quay Given trong phâ n tích QR. Ma trậ n Q là ma trậ n trự c giao và ma trậ n R là ma trậ n tam
giá c trê n.
1. function [Q, R] = qrgivens(A)
2. [m, n] = size(A)
• m: Số hà ng củ a ma trậ n A.
• n: Số cộ t củ a ma trậ n A.
3. Q = eye(m)
Bài tập lớn Lập trình Web - Năm học 2022 - Page
Trường Đại học Bách Khoa Thành phố Hồ Chí Minh
Khoa Khoa học và Kỹ thuật Máy tính
5. disp(Q), disp(R)
• In ma trậ n Q, R ra mà n hình
2.3 Kết quả thu được khi chạy code trên Matlab
2.3.1 Ví dụ 1
6 5 0
5 1 4
A
0 4 3
Kết quả:
Nhận xét: Kết quả sau khi chạ y chương trình giố ng vớ i kết quả đã tính tay ở phầ n I
Bài tập lớn Lập trình Web - Năm học 2022 - Page
Trường Đại học Bách Khoa Thành phố Hồ Chí Minh
Khoa Khoa học và Kỹ thuật Máy tính
2.3.2 Ví dụ 2
Xét ma trận A:
3 7 0
2 4 9
A
0 4 5
Kết quả:
Bài tập lớn Lập trình Web - Năm học 2022 - Page
Trường Đại học Bách Khoa Thành phố Hồ Chí Minh
Khoa Khoa học và Kỹ thuật Máy tính
3 Ứng dụng
3.2.1 Ứng dụng phân rã QR trong hệ thống thu - nhận MIMO (hay multiple-input
and multiple-output).
Bài tập lớn Lập trình Web - Năm học 2022 - Page
Trường Đại học Bách Khoa Thành phố Hồ Chí Minh
Khoa Khoa học và Kỹ thuật Máy tính
3.2.2 Ứng dụng phân rã QR trong A.I (Artificial intelligence-trí tuệ nhân tạo).
3.2.3 Ứng dụng của phân rã QR trong việc tìm ra quy luật chung (một hàm số
gần đúng) của các số liệu thực tế trong vấn đề phân tích dữ liệu.
Trong cuộ c số ng, việc phâ n tích dữ liệu rấ t khó khă n vì trên thự c tế số liệu đượ c biểu diễn
dướ i dạ ng cá c đồ thị rấ t khó để tìm ra quy luậ t chung. Nhờ và o phâ n rã QR, chú ng ta có thể
tìm đượ c 1 hà m số gầ n đú ng vớ i cá c số liệu đượ c cho ban đầ u. Qua đó , giú p chú ng ta thuậ n lợ i,
dễ dà ng hơn trong việc tính toá n, đo đạ c, dự đoá n cá c dữ liệu cầ n thiết.
Bài tập lớn Lập trình Web - Năm học 2022 - Page
Trường Đại học Bách Khoa Thành phố Hồ Chí Minh
Khoa Khoa học và Kỹ thuật Máy tính
4 Kết luận
Phâ n tích ma trậ n A thà nh tích củ a hai ma trậ n Q và R là mộ t phương phá p quan trọ ng
trong đạ i số tuyế n tính. Trong bà i bá o cá o nà y, chú ng tô i đã trình bà y về phương phá p phâ n
tích A = QR bằ ng phé p quay Given và triể n khai nó trong MATLAB.
Phép quay Given là mộ t phương phá p tiếp cậ n linh hoạ t và hiệu quả để thự c hiện phâ n tích
QR. Phương phá p nà y dự a trên việc á p dụ ng cá c phép quay đơn giả n để biến đổ i ma trậ n A
thà nh ma trậ n tam giá c trên R. Đồ ng thờ i, cá c phép quay tương ứ ng đượ c á p dụ ng và o ma trậ n
Q để tạ o ra ma trậ n trự c giao.
Chương trình MATLAB đã đượ c cung cấ p để thự c hiện phâ n tích QR bằ ng phép quay Given.
Bằ ng cá ch sử dụ ng mã nguồ n nà y, chú ng ta có thể nhậ p ma trậ n A và nhậ n đượ c ma trậ n Q và
R tương ứ ng. Kết quả đượ c hiển thị trự c tiếp trên mà n hình, giú p ngườ i dù ng dễ dà ng xem và
kiểm tra kết quả .
Phâ n tích A = QR bằ ng phép quay Given mang lạ i nhiều ưu điểm, bao gồ m tính ổ n định và
tính toá n đơn giả n. Nó cũ ng đó ng vai trò quan trọ ng trong nhiều ứ ng dụ ng, chẳ ng hạ n như giả i
hệ phương trình tuyến tính, tìm kiếm giá trị riêng và phâ n tích dữ liệu.
Tổ ng kế t lạ i, phâ n tích A = QR bằ ng phé p quay Given là mộ t phương phá p mạ nh mẽ và
linh hoạ t trong đạ i số tuyế n tính. Chương trình MATLAB đã đượ c trình bà y trong bà i bá o cá o
nà y cung cấ p mộ t cá ch tiệ n lợ i để thự c hiệ n phâ n tích QR và hiể n thị kế t quả . Phương phá p
phé p quay Given nà y sẽ tiế p tụ c đó ng vai trò quan trọ ng trong việ c giả i quyế t cá c bà i toá n đạ i
số tuyế n tính và ứ ng dụ ng tương tự .
Bài tập lớn Lập trình Web - Năm học 2022 - Page
Trường Đại học Bách Khoa Thành phố Hồ Chí Minh
Khoa Khoa học và Kỹ thuật Máy tính
Bả ng 1: Phâ n cô ng cô ng việc
Bài tập lớn Lập trình Web - Năm học 2022 - Page
Trường Đại học Bách Khoa Thành phố Hồ Chí Minh
Khoa Khoa học và Kỹ thuật Máy tính
Bài tập lớn Lập trình Web - Năm học 2022 - Page