MỞ ĐẦU1.1 Lí do chọn đề tài Phân rã A = QR khi sử dụng phép biến đổi Householder sẽ tối ưu hơn phương pháp trực giao Gram - Schmidt 1.2 Giới thiệu về đề tài Trong đại số tuyến tính, phân
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA
Giảng viên hướng dẫn: Đặng Văn Vinh
ĐỀ TÀI PHÂN RÃ A = QR BẰNG PHÉP BIẾN ĐỔI HOUSEHOLDER
MÔN: ĐẠI SỐ TUYẾN TÍNH Lớp: L06 – Nhóm: 1 Danh sách thành viên:
3 Hà Nguyễn Minh Huy
4 Đặng Trần Vĩ Khang
2113469 2113654
Trang 2BÁO CÁO ĐSTT GVHD: ĐẶNG VĂN VINH
1 TP.HỒ CHÍ MINH, tháng 5 năm 2022
Trang 3Họ và tên MSSV Công việc
Trang 4MỤC LỤC
1.1 Lí do chọn đề tài 1
1.2 Giới thiệu về đề tài 1
1.2.1 Đối tượng nghiên cứu 1
1.2.2 Phạm vi nghiên cứu 1
1.2.3 Phương pháp nghiên cứu 1
1.2.4 Mục đích nghiên cứu 1
CHƯƠNG II CƠ SỞ LÝ THUYẾT 2
2.1 Phép biến đổi Householder 2
2.1.1 Cơ sở lý thuyết 2
2.1.2 Thuật toán phép biến đổi Householder 3
2.2 Phân rã A = QR bằng Householder 3
CHƯƠNG III MỘT SỐ VÍ DỤ 5
3.1 Ma trận vuông 5
3.2 Ma trận hình chữ nhật 6
CHƯƠNG IV ỨNG DỤNG 8
4.1 Bình phương tối thiểu của đẳng thức rang buộc tuyến tính (LSE) 8
4.2 Mô hình hồi quy tuyến tính 11
4.3 Giải phương trình Ax = b 15
CHƯƠNG V TÀI LIỆU THAM KHẢO 17
PHỤ LỤC 18
LỜI CẢM ƠN 20
Trang 5CHƯƠNG I MỞ ĐẦU
1.1 Lí do chọn đề tài
Phân rã A = QR khi sử dụng phép biến đổi Householder sẽ tối ưu hơn phương pháp trực giao Gram - Schmidt
1.2 Giới thiệu về đề tài
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
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 vecto qua một “tấm gương” Chúng
ta có vecto x mà chúng ta muốn phản ánh vecto Qx Để phản ánh, chúng ta sẽ sử dụng ma trận trực giao Q
1.2.1 Đối tượng nghiên cứu
Thuật toán phân rã A = QR bằng phép biến đổi Householder
1.2.2 Phạm vi nghiên cứu
Ma trận vuông
Ma trận hình chữ nhật
1.2.3 Phương pháp nghiên cứu
Sử dụng thuật toán để giải các bài toán, chạy chương trình Matlab để phân rã A =
QR bằng phép biến đổi Householder
1.2.4 Mục đích nghiên cứu
Đề tài nhằm đáp ứng nhu cầu học tập của học sinh, sinh viên Giải quyết các bài toán liên quan đến trực giao ma trận với sai số nhỏ nhằm giải quyết các bài toán và các ứng dụng thực tế chính xác hơn
Trang 6BÁO CÁO ĐSTT GVHD: ĐẶNG VĂN VINH
CHƯƠNG II CƠ SỞ LÝ THUYẾT
2.1 Phép biến đổi Householder
2.1.1 Cơ sở lý thuyết
Nếu a là một vecto khác vecto 0 trong không gian R2 hoặc R3, thì tồn tại mối quan
hệ giữa phép chiếu trực giao qua tập sinh của a và ảnh của phép chiếu lên phần bù vuông
góc của không gian con F sinh ra bởi a (được minh họa bởi hình 7.10.1 trong R3)
Nếu chúng ta ký hiệu hình chiếu của vecto x trên đường thẳng là proj a x ⊥ và phép
chiếu của x qua phần bù vuông góc của không gian con F là refl a x ⊥ Từ đó suy ra:
x -refl a x ⊥ = 2 proj a x ⊥ (refl a x ⊥ + 2 proj a x ⊥ = x)
<=>refl a x ⊥ = x - 2 proj a x ⊥
Từ kết quả trên ta có:
Nếu a là một vecto khác vecto 0 trong không gian R n , và x là vecto bất kì trong không gian R n , thì phép chiếu của vecto x qua F⊥ của a được ký hiệu là refl a x và được xác định bằng công thức:
refl a x ⊥ = x - 2 proj a x ⊥
Một ma trận vuông n x n có dạng: H = I -a2T a aa
T
(16)
2
Trang 7Trong đó: a là vecto khác 0 trong R n H được gọi là ma trận Householder Về mặt
hình học, H là ma trận tiêu chuẩn cho phép chiếu một vectơ x phân biệt qua phần
bù vuông góc của không gian con F sinh bởi a.
Phép chiếu Householder trong R ncó những điểm tương đồng với phép chiếu trong không gian R2 và R3
Ma trận Householder mang tính đối xứng và trực giao
2.1.2 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ó:
⃗ON=⃗ OH+⃗ HN ⇒ y=⃗ ON=(Iư uu T
u T u)vưuu T
u T u v=(Iư2 uu T
u T u)v
Vậy ta có phép đối xứng qua F
⊥
Householder)
2.2 Phân rã A = QR bằng Householder
( (X X X
X X X
X X X
X X X) ) với X, Y, Z là các số tùy ý (có thể khác nhau)
B1: Tạo vecto u=A¿ ư| |A¿| |∗e1 với A¿ là cột thứ nhất của ma trận A
B2: Dùng phép biển đổi Householder để khử cột 1 của A:
Q1=(Iư2 uu T
u T u)= ¿) với v= u
‖u‖
Trang 8BÁO CÁO ĐSTT GVHD: ĐẶNG VĂN VINH
Khi đó Q1∗A=(Y Y Y
0 Y Y
0 Y Y
0 Y Y)
Ta xét M11=A2=(Y Y
Y Y
Y Y)
B3: Lặp lại Bước 1,2 Tạo vecto u2= A(2)¿ −| |A¿(2)| |∗e1
Q2'=(I−2 u2u2T
u2T u2)=(Z Z Z
Z Z Z
Z Z Z)
Nếu Q2 ' ∗A2có dạng: hàng cuối gồm các số 0 và ma trận vuông phía trên có dạng tam giác trên thì dừng lại (Q2' ∗A2=(Z Z
0 Z
0 0) )
Đặt Q2=(1 0 0 0
0 Z Z Z
0 Z Z Z
0 Z Z Z)
(Thêm hàng 1, cột 1 vào Q2 ' )
Thì R=Q2∗Q1∗A và Q=Q1 T Q2T
CHƯƠNG III MỘT SỐ VÍ DỤ
3.1 Ma trận vuông
A = (12 6 −20
3 5 3
4 0 10 )
4
Trang 9Đầu tiên, chúng ta cần dùng phép phản chiếu để biến đổi cột đầu tiên của ma trận A, vector
a1=(12 3 4)T , có ‖a1‖=13
Bây giờ ta có:
u=a1−‖a1‖e1=(−1 3 4)T
v= u
‖u‖
Do đó:
v= 1
√26[−1 3 4]T
Q1=(I−2 uu T
u T u)=(I−2v v T)
Q1 =I− 2
√26√26(−1
3
4 )(−1 3 4)¿I− 113( 1 −3 −4
−3 9 12
−4 12 16)¿(12/13 3/13 4/13
3/13 4/13 −12/13 4/13 −12/13 −3/13 )
Từ đây ta có:
Q1 A=(13 87/13 −19/13
0 38/13 −168 /13
0 −36/13 −146 /13)
*Chúng ta gần như đã có một ma trận hình tam giác, chúng ta chỉ còn cần số không hóa cho giá trị hàng 3 cột 2
Lấy (1,1) phụ hợp, sau đó áp dụng lại quy trình cho
A ' =M11=( 38/13 −168/13
−36/13 −146/13)
Bằng phương pháp tương tự ở trên, ta có được ma trận của phép biến đổi Householder
Trang 10BÁO CÁO ĐSTT GVHD: ĐẶNG VĂN VINH
0 0.726 −0.687
0 −0.687 −0.726)
Tiếp theo ta tính
Q=Q1T Q2T=(0.923 −0.044 −0.382
0.231 0.858 −0.458
0.308 −0.511 −0.802)
R=Q2Q1A=Q T A=(13 6.692 −14.49
0 4.02 −1.66
0 0 17.04 )
3.2 Ma trận hình chữ nhật
D=(1 −1 4
1 4 −2
1 4 −2
1 −1 0 )
Đầu tiên, chúng ta cần dùng phép phản chiếu để biến đổi cột đầu tiên của ma trận A, vector
a1=(1 1 1 1)T, có ‖a1‖=2
Bây giờ ta có:
u=a1−‖a1‖e1=(−1 1 1 1)T
‖u‖
Do đó:
v1=v= u1
‖u1‖(−0.5 0.5 0.5 0.5)T
6
Trang 11Q1=(I−2 uu T
u T u)=(I−2v v T)
Q1=(0.5 0.5 0.5 0.5
0.5 0.5 −0.5 −0.5 0.5 −0.5 0.5 −0.5 0.5 −0.5 −0.5 0.5 )
Từ đây ta có:
Q1D=(2 3 2
0 0 0
0 0 4
0 −5 2)
Chúng ta tiếp tục để tìm được ma trận tam giác trên bên phải kích thước 3x3, còn hàng cuối sẽ là (0 0 0)
Lấy (1,1) phụ hợp, sau đó áp dụng lại quy trình cho
A ' =M11 =( 0 0
0 4
−5 2)
Bằng phương pháp tương tự ở trên, ta có được ma trận của phép biến đổi Householder
Q2=(1 0 0 0
0 0 0 −1
0 0 1 0
0 −1 0 0 )
Tiếp theo ta tính
R=Q2Q1A=Q T A=(2 3 2
0 −5 −2
0 0 0 )Trong quá trình biến đổi, chúng ta tình cờ thu được một ma trận R 4x3 với ma trận vuông 3x3 ở trên là ma trận tam giác trên bên phải,
Trang 12BÁO CÁO ĐSTT GVHD: ĐẶNG VĂN VINH
còn hàng 4 ở dưới cùng chỉ gồm số 0 Như vậy chúng ta đã tìm được ma trận R mà không phải làm bước biến đổi Householder lần thứ 3.
*Lưu ý: Đây là trường hợp đặc biệt, ở những trường hợp khác sẽ có thể phải làm thêm 1 bước biến đổi Householder tương tự
Q=Q1T Q2T=(0.5 −0.5 0.5 0.5
0.5 0.5 −0.5 −0.5
0.5 0.5 0.5 −0.5
0.5 −0.5 −0.5 −0.5)
CHƯƠNG IV ỨNG DỤNG
4.1 Bình phương tối thiểu của đẳng thức ràng buộc tuyến tính (LSE)
Bài toán bình phương tối thiểu của đẳng thức ràng buộc tuyến tính thường phát sinh trong việc điều chỉnh bề mặt bị ràng buộc, tối ưu hóa có ràng buộc, điều chỉnh bình phương tối thiểu trắc địa, xử lý tín hiệu và các ứng dụng khác
Bài toán được phát biểu như sau:
Tìm n-vecto x để:
max hoặc min Bx−d=‖Ax−b‖
Trong đó:
Bx – d: là đẳng thức ràng buộc tuyến tính (Bx ⩾ d hoặc là Bx ⩽ d)
Ax – b : là đẳng thức mục tiêu
Bài toán: Ta tìm x ở đẳng thức ràng buộc Bx – d sao cho độ dài được cho bởi Ax – b
có giá trị lớn nhất (hoặc nhỏ nhất)
Giải: Ta áp dụng phân rã A = QR để giải các đẳng thức trên như sau:
Giả sử ban đầu:
Bx – d = 0
8
Trang 13Ax – b = 0
Ta được:
R2 x = Q2 T d
R1 x = Q1 Tb
Từ đó ta giải được cái nghiệm x
Ứng dụng của bài toán này là dùng để tính toán độ dài nhỏ nhất/ lớn nhất (ý nghĩa hình học); tính toán số lượng sản phẩm cần tạo ra với đẳng thức ràng buộc là nhu cầu thị trường (ý nghĩa kinh tế),…
4.2 Mô hình hồi quy tuyến tính
Bài toán mô hình hồi quy tuyến tính tổng quát có thể được viết như sau:
b = Ax+ ω, Trong đó ω là một sai số ngẫu nhiên (giá trị nhỏ) Ta cũng có thể ứng dụng phân rã A=QR để giải phương trình trên
Ứng dụng của bài toán này được dùng trong lĩnh vực kinh tế, phân tích dữ liệu,…
4.3 Giải phương trình Ax = b (ứng dụng chính của phân rã A=QR)
Với việc phân tích A = QR, ta có:
A x=b
⇔QR x=b
⇔R x=Q T b
Cho hệ phương trình {x1+3 x2+5x3=−2
x1+x2=3
x1+x2+2x3=−1
x1+3 x2+3x3=2
Tính x1, x2, x3
Trang 14BÁO CÁO ĐSTT GVHD: ĐẶNG VĂN VINH
Gọi A = (1 3 5
1 1 0
1 1 2
1 3 3) . Tạo ra véctơ u 1 = A *1 - ||A *1|| . e1 =(1
1 1
1 )−2.(1
0 0
0)=(−1
1 1 1 )
→Q1=(I−2 u.u T
‖u‖)= 12×(1 1 1 1
1 1 −1 −1
1 −1 1 −1
1 −1 −1 1 ) →Q1 A=R1=(2 4 5
0 0 0
0 0 2
0 2 3)
Gọi A1=(0 0
0 2
2 3) Tạo vecto u2
⇒ Q2'=(0 0 1
0 1 0
1 0 0) Khi đó Q2' A1=(6 2
0 4
0 0)
Đặt Q2=(1 0 0 0
0 0 0 1
0 0 1 0
0 1 0 0)→Q2.Q1.A = (2 4 5
0 2 3
0 0 2
0 0 0)=R
⇒Q=(Q2.Q1)T = 12×(1 1 1 1
1 −1 −1 1
1 −1 1 −1
1 1 −1 −1)
10
Trang 16BÁO CÁO ĐSTT GVHD: ĐẶNG VĂN VINH
CHƯƠNG V TÀI LIỆU THAM KHẢO
- Giáo trình đại số tuyến tính – Đại học Bách Khoa (tác giả: Đặng Văn Vinh)
- QR FACTORIZATION (tác giả: E.Anderson, Z.Bai and J Dongarra)
- QR decomposition - Wikipedia
- Tài liệu hướng dẫn sử dụng Matlab
- Tài liệu của các anh chị khóa trước
12
Trang 17PHỤ LỤC
Đoạn code:
using
5.[m,n] = size(A);
10.normx = norm(R(j:end,j));
11.s = -sign(R(j,j));
12.u1 = R(j,j) - s*normx;
13.w = R(j:end,j)/u1;
14.w(1) = 1;
15.tau = -s*u1/normx;
17.R(j:end,:) = R(j:end,:)-(tau*w)*(w'*R(j:end,:));
Trang 18BÁO CÁO ĐSTT GVHD: ĐẶNG VĂN VINH
18.Q(:,j:end) = Q(:,j:end)-(Q(:,j:end)*w)*(tau*w)';
14
Trang 19LỜI CẢM ƠN
Nhóm chúng em xin ghi nhận sự hỗ trợ về thời gian của Trường Đại học Bách Khoa Tp.HCM – Đại học Quốc gia Tp.HCM Xin gửi lời cảm ơn tới giảng viên hướng dẫn thầy Đặng Văn Vinh đã hướng dẫn nhóm chúng em hoàn thành bài báo cáo này