1. Trang chủ
  2. » Giáo Dục - Đào Tạo

MÔN ĐẠI SỐ TUYẾN TÍNH ĐỀ TÀI PHÂN RÃ A = QR BẰNG PHÉP BIẾN ĐỔI HOUSEHOLDER.pdf

19 20 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phép biến đổi Householder: Phân Rã A = QR Bằng Phép Biến Đổi Householder
Tác giả Trần Minh Anh, Phạm Nguyễn Thành Danh, Hà Nguyễn Minh Huy, Đặng Trần Vĩ Khang, Trần Anh Khoa, Hồ Thị Huỳnh Như, Phạm Trường Thịnh, Nguyễn Thúy Vy
Người hướng dẫn PTS. Đặng Văn Vinh
Trường học Trường Đại học Bách Khoa, Đại học Quốc gia TP.HCM
Chuyên ngành Đại số tuyến tính
Thể loại Báo cáo thực tập
Năm xuất bản 2022
Thành phố TP.Hồ Chí Minh
Định dạng
Số trang 19
Dung lượng 425,42 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

TRƯỜ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 2

BÁO CÁO ĐSTT GVHD: ĐẶNG VĂN VINH

1 TP.HỒ CHÍ MINH, tháng 5 năm 2022

Trang 3

Họ và tên MSSV Công việc

Trang 4

MỤ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 5

CHƯƠ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 6

BÁ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 7

Trong đó: 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 8

BÁ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∗AQ=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 10

BÁ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 11

Q1=(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 12

BÁ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 13

Ax – 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 14

BÁ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 16

BÁ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 17

PHỤ 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 18

BÁO CÁO ĐSTT GVHD: ĐẶNG VĂN VINH

18.Q(:,j:end) = Q(:,j:end)-(Q(:,j:end)*w)*(tau*w)';

14

Trang 19

LỜ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

Ngày đăng: 19/11/2022, 22:19

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w