1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nêu cơ sở lý thuyết của a=qr bằng phương pháp quay given viết chương trình dùng phân tích a=qr bằng phép quay given tìm các ứng dụng của phân tích a=qr

18 0 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Định dạng
Số trang 18
Dung lượng 1,12 MB

Nội dung

TRƯỜNG ĐẠI HỌC QUỐC GIA TP.HCM TRUONG DAI HOC BACH KHOA BK TP.HCM Môn Học: Đại Số Tuyến Tính Giáo Viên Hướng Dẫn : Nguyễn Xuân Mỹ Đề Tài 5 : Nêu cơ sở lý thuyết của A=QR bằng ph

Trang 1

TRƯỜNG ĐẠI HỌC QUỐC GIA TP.HCM

TRUONG DAI HOC BACH KHOA

BK

TP.HCM

Môn Học: Đại Số Tuyến Tính

Giáo Viên Hướng Dẫn : Nguyễn Xuân Mỹ

Đề Tài 5 : Nêu cơ sở lý thuyết của A=QR bằng phương pháp quay Given.Viết chương trình dùng phân tích A=QR bằng phép quay Given Tìm các ứng

dụng của phân tích A=QR

m | Ch

ú

3 | 22127 | Nguyén Hoang | Quân

99

4 | 21144 Huynh Phat Phuc

Trang 2

6 | 22126 La Thi Truc Phươn

7 | 20141 Lé Van Phi

69

TP HO CHI MINH, NAM 2023

BAO CAO KET QUA LAM VIEC NHOM

phép quay

Given

thuật toán QR

211443 | Huynh Phat Phuc Lich str gidi

tinh phan tich

QR

221285 | Cao Thanh | Quyén | Lam phần code

3

2 g ứng dung cua phan tich QR

Trang 3

201410 Lê Văn Phi Tổng hợp báo

trình

hỗ trợ các bạn hoàn thành nhiệm vụ

MỤC LỤC

Phần 1 : Cơ sở lý thuyết của phân tích A=QR

Trang 4

¬

Khái niệm phân tích A=QR, thuật toán QR

2.1 Dùng để tính bình phương nhỏ nhất tuyến tính

Phần 3y: Ứng dụng của matlab phân tích A=QR

Trang 5

3.2.2 Thuật toán phân tích A=QR của matlab

PHAN MO DAU

1.TINH CAP THIET CUA DE TAI

Phân tích A=QR có rất nhiều ứng dụng trong thực tế từ iệc nó làm nền tản của thuật toán QR, đến giải phương trình bình phương tối thiểu Nhưng do nhận thấy là ít người biết đến cũng như quan tâm về phân tích A=QR, nhóm

5 môn ĐẠI SỐ TUYỂN TÍNH lớp-L04 đã chọn đề tài “Nêu cơ sở lý thuyết của phân tích A=QR bằng phép quay Given Viết chương trình đúng phân tích A=QR bằng phép quay Given Tìm ứng dụng của phân tích A=QR” để làm rõ cơ sở

lý thuyết A=QR bằng phép quay Given cũng

Trang 6

như khám phá các ứng dụng của phân tích A=QR đồng thời viết một ứng dụng để phân tích A=QR bằng phép quay Given trong trương trình matlab

2 ĐỐI TƯỢNG NGHIÊN CỨU: phân tích A=QR, phép quay Given, ứng dụng phân tích A=QR

3 PHẠM VI NGHIÊN CỨU

Không gian: Việt Nam

Thời gian: 2023

4 MỤC TIÊU NGHIÊN CỨU

Thứ nhất, nêu khái niệm phân tích A=QR, lịch

sử thuật toán QR, các phương pháp tính phân tích A=QR bao gồm các tính phân tích A=QR bằng phép quay Given

Thứ hai, nêu ứng dụng phân tích A=QR Thứ ba, viết ứng dụng phân tích A=QR bằng phép quay Given

5 PHƯƠNG PHÁP NGHIÊN CỨU

Đọc và phân tích lý thuyết cũng như thử nghiệm các viết chương trình bằng chương trình matlab

6.KẾT CẤU CỦA ĐỀ TÀI

Ngoài mục lục, phần mở đầu và kết luận, đề tài gồm 3 phần:

Trang 7

Phần 1 : Cơ sở lý thuyết của phân tích A=QR bằng phép quay Given

Phần 2 : Ứng dụng của phân tích A=QR Phần 3 : Ứng dụng matlab phan tichsA=QR bằng phép quay Given

Phần 1 : Cơ sở lý thuyết của phân tích A=QR

bằng phép quay Given

1.1.Khái niệm phân tích A=QR, thuật toán QR 1.1.1.Khái niệm phân tích A=QR

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 phâ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 giá trị riêng cụ thể, thuật toán QR

Trang 8

Các trường hợp

*Ma trận vuông:

- Mọi ma trận vuông thực A có thể được phân tích thành A=QR, trong đó Q là ma trận trực giao( các cột của nó là vector đơn vị trực giao nghĩa là Q'=Q*) và R là ma trận tam giác trên ( còn gọi là ma trận tam giác vuông) Nếu

A khả nghịch, thì thừa số là duy nhất nếu chúng ta yêu cầu các phần tử đường chéo của

R là số dương

vuông phức, thì có một sự phân rã A=QR trong

đó Q là một ma trận đơn nhất (do đó Q”=Q')

- Nếu A có n cột độc lập tuyến tính, thì n cột đầu tiên của Q tạo thành cơ sở trực chuẩn cho không gian cột của A Nói chung, k cột đầu tiền của Q tạo thành cơ sở trực chuẩn cho khoàn của k cột đầu tiền của cho bất kì 1 £ k £

n Thực tế là bất kì cột k nào của A chỉ phụ thuộc vào k cột đầu tiên của Q sẽ có dạng tam giác của R

*Ma trận hình chữ nhật: R;

- Tổng quát hơn, chúng ta có thể nhân tử

ma trận phức m*n A, với mỏn, là tích của ma trận đơn nhất m*m Q là ma trận tam giác trên m*n R Vì (m-n) hàng dưới cùng của ma trận tam giác trên m*n bao gồm hoàn toàn 0, nó

Trang 9

thường hữu ích để phân vùng R, hoặc cả R và Q

ma trận tam giác trên n*n, 0 là ma trận không (m-n) *n, Q; là m*(m-n) và Q; và Q; đều có một trực giao

- Gọi Q:R¡ là kẻ mỏng QR của thừa số hóa của A, đây là quá trình phân tích nhân tử QR giảm Nếu A có hạng n đầy đủ và chúng ta yêu cầu rằng các phần tử đường chéo của R: và Q¡

là duy nhất, nhưng nói chung Q; thì không Khi

đó R; bằng hệ số tam giác trên của phép nhân tích Choleski của A*A ( = A'*A nếu A là thực ) 1.1.2 Khái niệm thuật toán QR

Trong đại số tuyến tính, thuật toán QR lặp lại QR la một thuật toán giá trị riêng, tức là một thủ tục để tính toán các giá trị riêng và hiệu riêng của một ma trận

Lịch sử:

- Thuật toán QR có tiền than là thuật toán

LR, su dung phan tich LU thay vì phân tích QR Thuật Toán QR ổn địng hơn, vì vậy thuật toán

LR hiếm khi được sử dụng ngày nay Tuy nhiên,

nó có thể là một bước quan trọng trong sự phát triển của thuật toán QR

Trang 10

- Thuật toán LR đucợ phát triển vào đầu những năm 1950 bởi Heinz Rutishauser, người làm việc tại thời điểm đó với tư cách là trợ lý nghiên cứu của Eduard Stiefel tại ETH Zurich Stiefel gợi ý rằng Rutishauser sử dụng chuỗi khoảnh khắc yj*A**x¿*k=0,1, (trong đó xạ và

Yo là các vector tùy ý) để tìm các giá trị riêng của A Rutishauser đã lấy một thuật toán của Alexander Aitken cho nhiệm vụ này và phát triển nó vào thuật toán chênh lệch thương số hoặc thuật toán qd Sau khi sắp xếp phép tính theo một hình dạng phù hợp, ông phát hiện ra rằng thuật toán qd thực chất là phép lặp Ac=L.Ux (phan tich LU), Aci=UxLk, duoc ap dung trên ma trận tam giác, từ đó thuật toán LR tuân theo

1.2 Các phương pháp tích phân tích QR 1.2.1 Tính bằng Gram-Schmidt process

- 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 hóa một tập học các vector trong một không gian tích trong tiêu chuẩn Quá trình Gram- Schmidt xử lý một tập hợp vector hữu hạn và độc lập tuyến tính S= |v,, ,v,) vai k < n va tao

ra từ tập đã cho một tập vector trực giao

Trang 11

S’ = lu,, ,u¿ị sinh ra không gian con k chiều của R" tương tự không gian sinh bởi tập

S

Áp dụn quá trình Gram-Schmidt vào các vector cột của một ma trạn với hạng cột đầy

đủ, ta có phép nhân rã QR to ( ma trận đó đucợ phân rã thành một ma trận trực giao và tam giác)

Vậy phân tích QR có thể được tính bằng Gram-Schmiidt

1.2.2 Tính bằng householder reflections Phản xạ Householder ( hay chuyển đổi Householder) là một phép biến đổi nhận một vector và phản ánh nó về một mặt phẳng hoặc siêu phẳng nào đó Chúng ta có thể sử dụng phép toán này để tính thừa số QR của a trận A m-by-n với m =n

Q có thể được sử dụng để phản nhs một vector theo các mà tất cả các tọa độ, trừ một tọa độ biến mất

Vậy phân tích QR cũng có thể tính bằng Householder reflections

1.2.3, Tính bằng phép quay Given Phân tích QR cũng có thể được tính bằng phép quay Given và đây cũng chính là đề tài của nhóm

Trang 12

Biểu diễn

- Phép quay Given được biểu diễn bằng một ma trận có dạng

DO 2 N số TCễ o—Sö 00 216616 *s6:66:ÿ0¿ 2Sš 6Cš

có 2T cối 6 0 OS

Trong đó c=cosØ và s=sin Ø xuất hiện tại các giao điểm tại mỗi hàng và cột thứ ¡ và j, Nghĩa là, với ¡ ¿j cố định, các phần tử khác 0 của

ma trận Givens được cho bởi :

gi= B= Cc = cos k=i,j

8y = -By = S = SinØ # k=i,j

Bá = 1

- Tích Gi,j,Ø) x đại diện cho chuyển động ngược chiều kim đồng hồ của vector x trong mặt phẳng (i,j) của Ø radian, do đó có tên gọi là phép quay Givens

Tính toán, phân tích

- Các phần tử của ma trận quay để quay một vector ngược chiều kim đồng hồ một góc @ la:

cos@ —siné

[Qo] = sin8 cos@

- Khi mét ma tran xoay Givens, G(i,j,8) ta nhan được một ma trận khác ta được :

2,2

x,†+x

‡ —L “2_ 2, 2 Xf] CX, FG SX, |_| FG —| VXi†X;

fay *]=] 22% LÍ,

X} | SX, + CX, 0

12

Trang 13

trận [A] thành tích của ma trận [Q] và ma trận [R] tức A=QR bằng cách làm cho các phần tử lần lượt bằng 0 cho đến khi có được ma trận tam giác trên

Phần 2 : Ứng dụng của phân tích A=QR 2.1 Dùng để tính bình phương nhỏ nhất tuyến tính Bình phương nhỏ nhất tuyến tính (títíS) là sự xấp xỉ bình phương nhỏ nhất của các hàm tuyến tính đối với dữ liệu Nó là một tập hợp các công thức để giải quyết các vấn đề thống kê liên quan đến hồi quy tuyến tính, bao gồm các biến thể cho phần dư thông thường (không trọng số), có trọng số và tổng quát(tương quan) Các phương pháp số cho bình phương nhỏ nhất tuyến tính bao gồm đảo ngược ma trận của các phương trình thông thường và các phương pháp phân tích trực giao

Ba công thức bình phương nhỏ nhất tuyến tính chính là :

- Binh phương nhỏ nhất thông thường(OtíS) là công cụ ước lượng phổ biến nhất Các ước tính OtíS thường được sử dụng để phân tích cá dữ liệu thực nghiệm và dữ liệu quan sát

- Bình phương nhỏ nhất có trọng số(WtíS) được sử dụng khi phương sai thay đổi có trong điều khoản sai số mô hình

- Bình phương nhỏ nhất tổng quát(GtíS) là một phần mở rộng của phương pháp OtS, cho phép ước tính hiệu quá của B khi phương sai thay đổi hoặc tương quan, hoặc cả hai đều có mặt trong các thuật ngữ sai số của mô hình, miễn là biết dạng phương sai thay đổi và tương quan, độc lập với dữ liệu Để xử lý phương sai thay đổi khi các thuật ngữ sai số không trung quan với nhau, GtíS giảm thiểu một lượng giá trị tương tự có trong số thành tổng các phần dư bình phương từ hồi quy OtíS, trong đó trọng số của thứ ¡ tỷ lệ nghịc với var(e i) Trường hợp đặc biệt này của GtíS được gọi là “ bình phương nhỏ nhất có trọng số”

Trang 14

Thuật toán QR được phát triển vào cuối những năm 1950 bởi John GF Francis và Vera N.Kublanovskaya, hoạt động độc lập Ý tưởng

cơ bản là thực hiện phân rã QR, viết ma trận dưới dạng tích của ma trận trực giao và ma giận tam giác trên, nhân các thừa số theo thứ tự ngược và lặp lại

Một biến thể của thuật toán QR, thuật toán Golub-Kahan- Reinsch bắt đầu bằng việc giảm ma trận chung thành ma trận hai cạnh Biến thể này của thuật toán QR để tính toán các giá trị đơn lẻ lần đầu tiền đucợ mô tả bởi Golub & Kahan(1965)

Chương trình con tíAPACK DBDSOR thực hiện phương pháp lặp này với một số sửa đổi để giải quyết trường hợp các giá trị đơn lẻ rất nhỏ(Demmel & Kahan1990) Cùng với bước đầu tiên sử dụng phản xạ Householder và nếu thích hợp, phân tách QR, điều này tạo thành quy trình DGESVD để tính toán phân tách giá trị đơn lẻ Thuật Toán QR cũng có thể được thực hiện trong các chiều vô hạn với kết quả hội tụ tương ứng

Phần 3: Ứng dụng matlab phân tích A=QR bằng phép quay

Given 3.1 Giải thuật của ứng dụng:

Bước 1: Nhập ma trận A

Trang 15

địa

Ara Vòng lặp chạy theo hướng mmữi Ba tên qua những phân tử inàu xanh

Amn

- Như hình trên ta chạy vòng lặp từ hàng h=2 đến hàng h=m từ cột k=1 đến cột k=n-1 từ trên xuống dưới, từ trái qua phải Trường hợp tại vị trí số hàng lớn hơn số cột hai đơn vị trở lên ta sẽ cho chạy từ cột k=1 đến k=n để tránh xét thiếu trường hợp, có thể xem ma trận dưới đây để rõ hơn :

a an a

8 822 833 Nếu chỉ dừng ở việc xét đên h-1 thi 8i 8s: 833 tai hang h=5 => k=S-1=4 => vòng lặp sẽ Asx3 = âj an ag chạy từ cột 1 đên cột4, điêu này SAT vỉ asi 83 a v ma trận của chúng ta chỉ có 3 cột, vậy để

61 862 63 cho đúng thỉ k phải chạy đến n=3

Bước 3 : Tìm ma trận B

- Gán : B bằng ma trận đơn vị cấp m Q bằn ma trận đơn vị cấp m

R=A

- Tại mỗi vị trí theo thứ tự của vòng lặp ta xét xem phần tử tại đó có bằng 0 chưa, nếu chưa thì ta tạo một ma trận P nhân với A để phần

tử lại đó bằng 0 P là ma trận vuông bậc m được tạo thành từ việc thay 4 phần tử cos(a), sin(a), -sin(a), cos(a) vào 4 vị trí thích hợp của

15

Trang 16

phần tử có vị trí (h,k) của ma trận A, ta có :

=> i=k [ta kit v; da vao vi voi tị là phân tử năm trên đường

1 chéo có vị trí là (Ä„&)j

Bu=-sin(a)

B=cos(a)

Bu=cos(a)

Bu=sin(a)

Bu=cos(a)

Bước 4: Gán

- Brx=-sin(a)

~ Bu=cos(a)

- Buu=sin(a)

~ Biu=cos(a)

- R bằng B nhân R

-Q bằng B' nhân Q

Bước 5: Xuất ra màn hình phần ma trận Q và ma trận R

- Xuất ma trận trực giao Q chính là Q vừa tính

- Ma trận tam giác trên R chính là R vừa tính

3.2 CODE

3.2.1 Bài làm của nhóm

Trang 17

3.3 DEMO

KET tiUAN

Nhóm đã thành công trong việc hoàn thành các mục tiêu đề ra: Thứ nhất, nêu khái niệm phân tích A = QR, lịch sử thuật toán QR, cách phương pháp tính phân tích A = QR bao gòm cách tính phân tích A =

QR bằng phép quay Given ở phần 1

Thứ hai, nêu ứng dụng phân tích A = QR ở phần 2

Thứ ba, viết ứng dụng phân tích A = QR bằng phép quay Given và so sánh bài làm của nhóm với thuật toán chuẩn của matlab ở phần 3

Ngày đăng: 19/12/2024, 15:34

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

TÀI LIỆU LIÊN QUAN

w