1. Trang chủ
  2. » Tất cả

BTL DSTT QR, house holder, gramsmith

24 3 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

Định dạng
Số trang 24
Dung lượng 417,68 KB

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA Đại Học Quốc Gia Thành Phố Hồ Chí Minh BÁO CÁO BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH Nhóm 2 Lớp L13 ĐỀ TÀI PHÂN TÍCH QR BẰNG 3 PHƯƠNG PHÁP GRAM SMITH, HOUSEHOLDER, GIVEN GVHD NGUYỄ.

TRƯỜNG ĐẠI HỌC BÁCH KHOA Đại Học Quốc Gia Thành Phố Hồ Chí Minh BÁO CÁO BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH Nhóm Lớp L13 ĐỀ TÀI : PHÂN TÍCH QR BẰNG PHƯƠNG PHÁP: GRAM-SMITH, HOUSEHOLDER, GIVEN GVHD: NGUYỄN HỮU HIỆP TRƯỜNG ĐẠI HỌC BÁCH KHOA Đại Học Quốc Gia Thành Phố Hồ Chí Minh ĐỀ TÀI : PHÂN TÍCH QR BẰNG PHƯƠNG PHÁP: GRAM-SMITH, HOUSEHOLDER, GIVEN GVHD: NGUYỄN HỮU HIỆP DANH SÁCH THÀNH VIÊN NHÓM 2-LỚP L13 STT Họ tên Đồn Quốc Bảo Trần Cơ Hải Bằng La Thị Huỳnh Hoa Nguyễn Tuấn Tài Võ Minh Thoại Nguyễn Hoàng Tuấn MSSV 2110776 2110812 2110174 2110515 2110566 2110645 Phạm Đình Quốc 2110491 MỤC LỤC PHẦN 1: PHÂN TÍCH QR BẰNG PHƯƠNG PHÁP GRAM-SCHMIDT 1.1 1.2 1.3 1.4 1.5 Cơ sở lý thuyết A=QR bằng phương pháp Gram-Schmidt Phân rã A=QR với ma trận cụ thể Giải hệ pttt bằng phân rã A=QR Nêu vài ứng dụng khác Viết chương trình dùng để phân tích A=QR bằng Phương pháp GramSchmidt PHẦN 2: PHÂN TÍCH QR BẰNG PHƯƠNG PHÁP HOUSEHOLDER 2.1 2.2 2.3 2.4 2.5 Cơ sở lí thuyết Hình chiếu vuông góc Phép biến đổi householder Phân tích A=QR bằng biến đởi HOUSEHOLDER Viết chương trình dùng để phân tích A=QR bằng phương pháp Householder PHẦN 3: PHÂN TÍCH QR BẰNG PHƯƠNG PHÁP GIVEN 3.1 Yêu cầu đặt ra: 3.2 Cơ sở lí thuyết: 3.3 Thuật tốn bản: 3.4 Code: 3.5 Một số ví dụ: PHẦN 1: PHÂN TÍCH QR BẰNG PHƯƠNG PHÁP GRAMSCHMIDT 1.1 Cơ sở lý thuyết A=QR phương pháp Gram-Schmidt: Định nghĩa 4.2.3: Tập hợp M gọi họ trực giao, x ⊥ y, ∀x, y ∈ M x , y Định nghĩa 4.2.4: Tập hợp M gọi họ trực chuẩn, nếu: ( M họ trực giao ||x|| = 1, ∀x ∈ M Định lý 4.3.1: Cho 𝐸 = {𝑒1 ,𝑒2 ,· · · ,𝑒𝑛 } sở trực chuẩn không gian V 1/ ∀x ∈ V Giả sử ሾ𝑥ሿ𝐸 = ሺ𝑥1 ; 𝑥2 ; · · · ; 𝑥𝑛 ሻ𝑇 Khi đó ∀i = · · · n, 𝑥𝑖 = (𝑥,𝑒𝑖 ); 2/ Giả sử  x  E   x1; x ;· · ·; xn  T ሾ𝑦ሿ𝐸 = ሺ𝑦1 ; 𝑦 ;· · · ; 𝑦𝑛 ሻ𝑇 Khi đó: (x, y) = x1y1 + x2y2 + · · · + xnyn Định lý 4.3.2: Cho 𝐸 = {𝑒1 ,𝑒2 ,· · · ,𝑒𝑛 } họ độc lập tuyến tính Khi đó có thể xây dựng họ trực giao 𝐹 = ሼ𝑓1 ,𝑓2 ,· · · ,𝑓𝑛 ሽsao cho không gian sinh F trùng với không gian sinh E  Phân tích ma trận A∈ 𝑀𝑛×𝑛 (ℝ) thành A = QR với Q ma trận trực giao (tức Q-1 = QT) R ma trận phía (tức rij = 0, ∀𝑖 > j) Giả sử họ véctơ cột A: ሼ𝑒1 ; 𝑒2 ; 𝑒3 ; …; 𝑒𝑛 ሽlà họ độc lập tuyến tính Dùng trình trực giao hóa Gram Schmidt ta họ trực giao chia véctơ cho độ dài nó ta có họ trực chuẩn ሼ𝑞 ; 𝑞 ; …; 𝑞 𝑛 ሽ Lập ma trận trực giao Q có cột véctơ trực chuẩn vừa tìm Theo định nghĩa, ta có ma trận chuyển sở từ Q sang E là: ሾ𝑞 ሿ𝐸 ȁ̏ R = ( ሾ𝑞 ሿ𝐸 ȁ̏ … | ሾ𝑞 𝑛 ሿ𝐸 ) Theo cách xây dựng họ trực giao, ma trận R ma trận phía Mặt khác ma trận chuyển sở từ Q sang E Q-1E = QTE = QT A Suy Q T A = R ⟺ A = QR  Phép phân rã A=QR có thể áp dụng tất cả ma trận vuông thực A  Cách phân rã A=QR bằng phương pháp Gram-Schmidt áp dụng cho cột ma trận xếp hạng cột đầy đủ A=[a1,…,an], với sản phẩm bên trong〈 v,w〈 = vTw (hoặc là〈 u,w〈 =v*w trường hợp phức tạp) Xác định phép chiếu: Proju (v)= 〈 u,v〈 〈 𝑢,𝑢〈 u Sau đó: u1=a1, e1= 𝑢 e2= หȁ̏ 𝑢 ȁ̏ ห u2=a2-proju1a2, u3=a3-proju1a3-projuu2a3, 𝑢1 หȁ̏ 𝑢 ȁ̏ ห 𝑢 e3= หȁ̏ 𝑢 ȁ̏ ห ⋮ ⋮ =1 uk=ȁk σ 𝑘𝑗=1 proju1ak, 𝑢 𝑘 ek= หȁ̏ 𝑢 ȁ̏ ห 𝑘 Bây có thể thể dựa sở chuẩn mực tính tốn: a1=〈 e1,a1〈 e1 a2=〈 e1,a2〈 e1 + 〈 e2,a2〈 e2 a3=〈 e1,a3〈 e1 + 〈 e2,a3〈 e2 + 〈 e3,a3〈 e3 ⋮ ak=෌ 𝑘 𝑗=1 〈 ej,ak〈 ej Ở đâu 〈 ei,ai〈 =||ui|| Điều có thể viết dạng ma trận: A=QR Ở đâu: Q=[e1,…,en] Và ෌ 𝑒1 ,𝑎1 ෌ R=൮ ⋮ ෌ 𝑒1 ,𝑎2 ෌ ෌ 𝑒2 ,𝑎2 ෌ ⋮ ෌ 𝑒1 ,𝑎3 ෌ ෌ 𝑒2 ,𝑎3 ෌ ෌ 𝑒3 ,𝑎3 ෌ ⋮ ⋯ ⋯ ൲ ⋯ ⋱ 1.2 Phân rã A=QR với ma trận cụ thể Sự phân hủy A=൭1 1 2 ൱ Nhớ lại rằng ma trận trực chuẩn Q có giá trị QTQ=I Sau đó, có thể tính tốn Q bằng Gram – Schmidt sau: Gọi U {u 1;u ;u } u1 e1 (2;1;1) u e2  (e2 ,u ) u1 (1;2;2)  (2;1;1) ( 1;1;1) (u 1, u ) u e3  1 (e3 , u ) (e , u ) u1  u = (1;2;3)  (2;1;1)  ( 1;1;1) (0; ; ) 2 (u , u ) (u , u ) Chọn u (0;  1;1) U=ሺ𝑢1 𝑢1 𝑢3 ሻ=൭1 𝑢2 Q=ቀหȁ̏ 𝑢 ȁ̏ ห 𝑢2 หȁ̏ 𝑢 ȁ̏ ห −1 1    𝑢3  หȁ̏ 𝑢 ȁ̏ หቁ=      −1 ൱; 1 3    1 2    2 Do đó, có: QTA=QTQR=R;    T R=Q A=      6 6 3 0    3    2 1.3.Giải hệ pttt phân rã A=QR Khi giải pttt Ax=b, ta phân tích A dạng QR với Q ma trận trực giao R ma trận tam giác  Ax=b  QRx=b  Rx=bQT VD 1: Giải hệ phương trình tuyến tính bằng phương pháp phân rã QR 2 𝑥1 ൭3 − ൱൭𝑥2 ൱=൭5 ൱ 𝑥3 Gọi U {u 1;u ;u } 𝑢1 = 𝑒1 = (2; 3; 6) 𝑢2 = 𝑒 − 𝑢3 = 𝑒 − U=ሺ𝑢1 𝑢1 (𝑒2 ,𝑢 ) (𝑢 ,𝑢 ) (𝑒3 ,𝑢 ) (𝑢 ,𝑢 ) 𝑢1 − 𝑢3 ሻ=൭3 𝑢2 Q=ቀหȁ̏ 𝑢 ȁ̏ ห 𝑢1 = (5; −3; 8) − 𝑢2 หȁ̏ 𝑢 ȁ̏ ห (𝑒 ,𝑢 ) (𝑢 ,𝑢 ) −6 49 49 𝑢2 =(8; 5; 3) − 49 (2; 3; 6) − (5; −3; 8) = (6; 2; −3) 49 49 ൱; −3 ‫ۇ‬ หȁ̏ 𝑢 ȁ̏ หቁ=‫ۈ‬ 7 −6 7 7 −3 ‫ۉ‬ 7 𝑢3 (2; 3; 6) = (3; −6; 2) ‫ۊ‬ ‫ۋ‬ ‫ی‬ Do đó, có: QTA=QTQR=R; 7 R=Q A=൭0 7 T 0൱ PTTT Dạng Ax=b  QRx=b  Rx=bQT 2 𝑥1 ‫ۇ‬ ൭3 − ൱൭𝑥2 ൱ = ൭5 ൱  ‫ۈ‬ 𝑥3 ‫ۉ‬  ൭0 𝑥1 ‫ۇ‬ ൱൭𝑥2 ൱ = ൭5 ൱‫ۈ‬ 𝑥3 ‫ۉ‬ 7 61 ൭0 𝑥2 = 𝑥3 = 7 −6 7 7 7 −6 7 7 −3 7 ‫ ۊ‬7 ൭0 ‫ۋ‬ −3 ‫ی‬ 7 𝑥1 𝑥 ൱൭ ൱ = ൭5 ൱ 𝑥3 ‫ۊ‬ ‫ۋ‬ ‫ی‬ 7 𝑥1 ‫ ۇ‬−10 ‫ۊ‬ ൱൭𝑥2 ൱=‫ۈ‬ ‫ۋ‬ 𝑥3 7 =>𝑥1 = 10 ‫ۉ‬ ‫ی‬ −10 49 49 1.4 Các ứng dụng khác  ỨNG DỤNG 1: SỬ DỤNG PHƯƠNG PHÁP QR ĐỂ TÌM TRỊ RIÊNG CỦA MA TRẬN  ỨNG DỤNG 2: Phân rã QR thường sử dụng để giải vấn đề bình phương tối thiểu tuyến tính 1.5 Viết chương trình phân tích A = QR phương pháp GramSchmidt 10 Công thức để xây dựng chương trình “TÌM HỌ TRỰC GIAO” f1 a1 f k ak  k1  j 1 ak , f j f1 , f1 fj “TÌM HỌ TRỰC CHUẨN” f1 q1  f1 q2  f2 f2 ……… qn  fn fn “MA TRẬN R” R QT * A CHẠY CODE MATLAB 11 PHẦN 2: PHÂN TÍCH QR BẰNG PHƯƠNG PHÁP HOUSEHOLDER 12 2.1 Cơ sở lí thuyết - Gram-Schmidt có thể không ổn định mặt số học, có nghĩa đầu vào hay thay đổi nhỏ có thể dẫn đến thay đổi tương đối lớn đầu (nguồn) Cách ổn định sử dụng phép biến đổi Householder Householder chiếu véc tơ qua “tấm gương” 2.2 Hình chiếu vng góc Ta có hình chiếu vuông góc véc tơ v lên khơng gian F tính bằng: prF (v) F T ( FMF T )  FMvT Trong đó F ma trận sở không gian F , M ma trận tích vơ hướng v véc tơ cần tìm hình chiếu vuông góc Vậy tích vơ hướng tắc ( M I ) không gian F sinh véc tơ u khác không tùy ý thì hình chiếu vuông góc v lên không gian F là: uu T pru (v )  T v u u Đây gọi phép chiếu vuông góc véc tơ tùy ý lên không gian sinh véc tơ u 2.3 Phép biến đổi householder Véc tơ v(OM ) phân tích thành v a  b(OM OH  OE ) với a(OH ) hình chiếu vuông góc v lên F  b(OE) hình chiếu vuông góc v lên F 13 Sử dụng công thức hình chiếu vuông góc ta có: b  a v  b v  uu T v uT u  uu T uu T    v v  I   uT u u T u    v' a  ( b)  I    uu T v"  v'  T   u u  uu T  uu T uu T     v v  v  I   u T u  u T u u T u    I  v  Vậy ta có phép chiếu vuông góc véc tơ lân không gian   uu T  uu T  F   I  T  , phép đối xứng qua F   I  T  (phép biến đổi u u u u    uu T  gọi phép biến đổi Householder) phép đối xứng qua F  T  I   u u  2.4 Phân tích A=QR biến đởi Householder Giả sử A*1 cột đầu tiên khác ma trận A *    0  Ta cần tìm ma trận trực giao Q1 để Q1 A*1     0  0    Ma trận Q1 tương ứng với phép biến đổi trực giao nên độ dài Q1 A*1 bằng độ dài A*1 Do đó, ta chọn Q1 A*1  A*1 e1 Đặt véc tơ OM  A*1 , ON  A*1 e1 Khi đó, ta có NM OM  ON Đặt véc tơ u NM  A*1  A*1 e1 Ta dùng u để tạo phép biến đổi Householder Q1 I  uu T uT u phép biến đổi khử tất cả phần tử cột thứ nhất ma trận A ngoại trừ phần tử đầu tiên 14 Ta lặp khử tất cả cột lại A đến thu ma trận tam giác R: R Qn Q2Q1 A  12  51      Ví dụ: Hãy phân tích A QR với ma trận A  167  68  bằng phép     24  41    biến đởi Householder 2.5 Viết chương trình dùng để phân tích A=QR phương pháp Householder Đầu tiên, cần biến đổi cột đầu tiên ma trận A , khử hết phần tử trừ phần tử đầu tiên  12    Lấy cột đầu tiên ma trận A : A*1  ; A*1 14   4    12  1           Lúc này, ta có được: u1  A*1  A*1 e1    14      4  0   4       6  7 3 T uu  Q1 I  1T  u1 u1      2 7          14 21  14       R Q1 A   49  14       168  77    Ta thấy R chưa phải ma trận tam giác tam giác nên phải thực   49  14    thêm lần Householder ma trận A1    168  77    15   49  ; A1 *1 175  168  Lấy cột đầu tiên ma trận A1 : A1 *1    224    168  Ta có: u2  A1 *1  A1 *1 e1     uu  Q '2 I   25 u u  24   25 T 2 T 2   14    R Q2Q1 A    0  21 175  1  24   25   Q        25  0     14    70     35   7 25 24 25    24  25     25  Đến ta thấy R ma trận tam giác nên ta kết luận: Ma trận  69 6  175 7  158 A phân tích QR với Q Q1T Q2T  175 7   35     14  R    0   58   175   6  175  33   35    21  14   175  70     35    16 MATHLAB 17 PHẦN 3: PHÂN TÍCH QR BẰNG PHƯƠNG PHÁP GIVEN 3.1 Yêu cầu đặt ra: Nhập vào ma trận A có vectơ cột độc lập tuyến tính, viết chương trình dựa vào phương pháp phép quay Given xuất hai ma trận Q R thỏa A=Q*R với Q ma trận vuông có vectơ cột độc lập tuyến tính trực giao, R ma trận tam giác 3.2 Cơ sở lí thuyết: - Cho A thuộc Mn (R) Tìm ma trận trực giao P1, P2, , Pk-1, Pk (là ma trận phép quay Rn) với k thuộc N để: (P1P2 Pk-1,Pk)A = R => A = (P1P2 Pk-1,Pk)-1R = QR Với Q = (P1P2 Pk-1,Pk)-1 *Cách chọn ma trận P là: P có dạng(P trực giao): Cột i Cột j ↓ ↓ cos(a) sin(a) → Hàng i cos(a) → Hàng j Pij= -sin(a) 18 Giả sử có vectơ cột v=(v1, v2, , vi, ,vj, ,vn)T Mục tiêu dùng phép quay P để khử phần tử thứ j vectơ cột v dựa vào phần tử thứ i v Để làm điều này, ta tìm ma trận quay thỏa: v1 v2 vicos(a) + vjsin(a) Pijv= -visin(a) + vjcos(a) Chọn phép quay cho thực phép nhân Pijv thì vị trí thứ j bằng 0, tức là: - visin(a) + vjcos(a) = Ta chọn: vj sin(a) = ඥvi + vj2 cos(a) = vi ඥvi + vj2 Khi đó, phần tử thứ i v là: vicos(a) + vjsin(a) = vi ඥvi + vj2 + vj2 ඥvi + vj2 = vi + vj2 ඥvi + vj2 = ඥvi2 + vj2 19 3.3 Thuật toán bản: BƯỚC 1: -kiểm tra xem ma trận A có vectơ cột độc lập tuyến tính với hay khơng Nếu khơng x́t hình: “ma trận A có vectơ cột khơng độc lập tuyến tính với nhau” Nếu có thì ta tiếp tục với bước BƯỚC 2: a11 a12 a13 a1n a21 a22 a23 a2n Amn = ↓ a31→a32 a33 a3n Vòng lặp chạy theo hướng mũi tên qua phần tử màu xanh am1 →am2 →am3 amn -Như hình 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=i-1 từ xuống dưới, từ trái qua phải Trường hợp vị trí số hàng lớn số cột hai đơn vị trở lên ta 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 để rõ hơn: a11 a12 a13 a21 a22 a23 A6x3 = Nếu dừng việc xét đến h-1 a31 a32 a33 hàng h=5 => k=5-1=4 => vòng lặp a41 a42 a43 chạy từ cột đến cột 4, điều SAI ma a51 a52 a53 trận có cột, a61 a62 a63 k phải chạy đến n=3 20 ... 2: PHÂN TÍCH QR BẰNG PHƯƠNG PHÁP HOUSEHOLDER 2.1 2.2 2.3 2.4 2.5 Cơ sở lí thuyết Hình chiếu vng góc Phép biến đởi householder Phân tích A=QR bằng biến đởi HOUSEHOLDER Viết chương trình dùng... KHOA Đại Học Quốc Gia Thành Phố Hồ Chí Minh ĐỀ TÀI : PHÂN TÍCH QR BẰNG PHƯƠNG PHÁP: GRAM-SMITH, HOUSEHOLDER, GIVEN GVHD: NGUYỄN HỮU HIỆP DANH SÁCH THÀNH VIÊN NHÓM 2-LỚP L13 STT Họ tên Đoàn Quốc... có thể dẫn đến thay đổi tương đối lớn đầu (nguồn) Cách ổn định sử dụng phép biến đổi Householder Householder chiếu véc tơ qua “tấm gương” 2.2 Hình chiếu vng góc Ta có hình chiếu vng

Ngày đăng: 14/11/2022, 14:58

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w