Mở đầuGiá trị riêng đóng một phần quan trọng trong các ứng dụng của đại số tuyếntính, là bài toán điển hình trong nhiều lĩnh vực lý thuyết và ứng dụng thực tế.. Với bài toán có kíchthước
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC
Trang 2TRƯỜNG ĐẠI HỌC KHOA HỌC
LUẬN VĂN THẠC SĨ TOÁN HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS NGUYỄN THANH SƠN
Thái Nguyên - 2015
Trang 3Mục lục
1.1 Nhắc lại sơ lược kiến thức trong đại số tuyến tính 3
1.1.1 Tầm quan trọng của giá trị riêng 3
1.1.2 Một số khái niêm và ký hiệu 6
1.1.3 Bài toán giá trị riêng 8
1.2 Không gian con Krylov 12
2 Một số phương pháp tìm giá trị riêng 15 2.1 Phương pháp luỹ thừa 15
2.1.1 Lặp đơn vectơ 15
2.1.2 Trường hợp đối xứng 17
2.1.3 Lặp nghịch đảo vectơ 18
2.1.4 Tính giá trị riêng bậc cao 20
2.2 Phương pháp Arnoldi 21
2.2.1 Cơ sở trực giao cho không gian Krylov 21
2.2.2 Phương pháp Arnoldi tính giá trị riêng 23
2.3 Phương pháp Lanczos 24
3.1 Một vài giải thích cho phương pháp Arnoldi và phương pháp Lanczos 27
Trang 43.1.1 Thuật toán QR 28
3.1.2 Thuật toán Chia để Trị của Cuppen 29
3.2 Ví dụ số 34
3.2.1 Phương pháp Arnoldi 34
3.2.2 Phương pháp Lanczos 36
3.2.3 Nhận xét 37
Trang 5Lời cảm ơn
Tôi xin bày tỏ lòng biết ơn chân thành và sâu sắc đến TS Nguyễn Thanh Sơn,người thầy đã tận tình chỉ bảo, hướng dẫn tôi trong suốt thời gian làm luận văn.Tôi xin chân thành cảm ơn sự giúp đỡ quý báu của các thầy, cô giáo đã tham giagiảng dạy lớp cao học khóa 7 của Khoa Toán - Tin trường Đại học Khoa học - Đạihọc Thái Nguyên, đã truyền thụ và mang đến cho tôi những kiến thức bổ ích trongkhoa học và cuộc sống
Tôi xin cảm ơn sự động viên, giúp đỡ, tạo điều kiện của gia đình, bạn bè, đồngnghiệp, Ban chuyên môn, Ban giám hiệu trường THPT Nguyễn Trung Ngạn - ÂnThi, Hưng Yên đã dành cho tôi trong quá trình nghiên cứu và hoàn thành luận văn
Thái Nguyên, tháng 11 năm 2015
Vũ Văn Tần
Học viên Cao học Toán K7Y, Trường ĐH Khoa học - ĐH Thái Nguyên
Trang 6Mở đầu
Giá trị riêng đóng một phần quan trọng trong các ứng dụng của đại số tuyếntính, là bài toán điển hình trong nhiều lĩnh vực lý thuyết và ứng dụng thực tế Nhữngphương pháp giải trực tiếp cho kết quả chính xác nhưng chỉ làm được với những bàitoán cỡ nhỏ, không đáp ứng được các ứng dụng trong thực tế Với bài toán có kíchthước lớn phương pháp này là không khả thi và các giá trị riêng phải được tính bằngcác phương tiện khác May mắn thay là có tồn tại một số kỹ thuật khác để tìm ragiá trị riêng và vectơ riêng của ma trận Những phương pháp này, là những phươngpháp lặp, làm việc bằng cách liên tục cải tiến xấp xỉ các giá trị riêng, và có thể đượcchấm dứt bất cứ khi nào những xấp xỉ đạt được một mức độ phù hợp chính xác Cácphương pháp lặp cho kết quả gần đúng nhưng đáp ứng được nhiều ứng dụng trongthực tế, đặc biệt là các ma trận cỡ lớn Nó hình thành cơ sở của nhiều đại tính toángiá trị riêng ngày nay
Luận văn này chúng tôi đã tìm hiểu và trình bày "Về một số thuật toán tính giátrị riêng của ma trận cỡ lớn" Ngoài phần mở đầu và kết luận, luận văn này gồm bachương
Chương 1: Kiến thức chuẩn bị Chương này nhắc lại sơ lược các kiến thức trongđại số tuyến tính như một số khái niệm và ký hiệu, bài toán giá trị riêng và khônggian con Krylov
Chương 2: Một số phương pháp tìm giá trị riêng Nội dung của chương này nhằmtrình bày phương pháp lũy thừa, phương pháp Arnoldi và phương pháp Lanczos.Chương 3: Ví dụ số Chương này trình bày một vài giải thích cho phương phápArnoldi và phương pháp Lanczos là thuật toán QR cơ bản, thuật toán chia để trị của
Trang 7Thái Nguyên, ngày 01 tháng 11 năm 2015
Trang 8Chương 1
Kiến thức chuẩn bị
Chương 1 được viết dựa trên tài liệu tham khảo [1], [3], [4]
1.1 Nhắc lại sơ lược kiến thức trong đại số tuyến tính
1.1.1 Tầm quan trọng của giá trị riêng
Trong vật lý, giá trị riêng thường gắn với các dao động Các đối tượng như dâyđàn, trống, cầu, dao động ở tần số nhất định Và trong một số tình huống chúng daođộng rất nhiều đến mức bị phá hủy Ngày 07 tháng 11 năm 1940, cây cầu TacomaNarrows, Washington, Hoa Kỳ bị sập sau khi khai trương gần nửa năm Gió mạnhkích thích cây cầu quá nhiều khiến cây cầu bị sụp đổ Một vài năm trước đây cây cầu
đi bộ Thiên niên kỷ ở London bắt đầu lắc lư và bị đóng cửa Đây là những ví dụ nổibật của cấu trúc dao động
Nhưng giá trị riêng xuất hiện ở nhiều nơi khác Điện trường tại cyclotrones, mộthình thức đặc biệt của máy gia tốc hạt có dao động một cách chính xác để đẩy nhanhtiến độ các hạt tích điện quay tròn quanh tâm của nó Các giải pháp của phương trìnhSchrodinger từ vật lý lượng tử và hóa học lượng tử có những giải pháp tương ứng vớidao động của các mô hình phân tử Các giá trị riêng tương ứng với mức năng lượng
mà phân tử có thể chiếm Nhiều giá trị đặc trưng trong khoa học là giá trị riêng.Xét dao động dây là sự dịch chuyển của các vị trí tại x, 0 < x < L, và thời gian
tđược ký hiệu là u(x, t) Chúng ta có phương trình vi phân có dạng
∂x
+ q(x)u(x, t) = 0, (1.1)
Trang 9với u(0, t) = u(1, t) = 0 Ở đây ρ(x) đóng vai trò của mật độ khối lượng, p(x) làmodul đàn hồi khác nhau tại địa phương.
Từ vật lý chúng tôi biết rằng ρ(x) > 0 và p(x) > 0 với mọi x Để đơn giản chúngtôi giả sử rằng ρ(x) = 1 Để tìm u trong (1.1) chúng tôi phân tích
trong đó v là một hàm mà chỉ phụ thuộc vào thời gian t, trong khi w chỉ phụ thuộcvào biến không gian x Với phân tích này (1.1) trở thành
v”(t)w(x) − v(t)(p(x)w0(x))0− q(x)v(t)w(x) = 0 (1.3)Bây giờ chúng tôi rút các biến phụ thuộc vào t theo biến phụ thuộc vào x
v00(t)v(t) =
1w(x)(p(x)w
0(x))0+ q(x)
Chúng tôi có thể thay đổi t và x độc lập với nhau mà không cần thay đổi giá trịtrên mỗi vế của phương trình Do đó, mỗi vế của phương trình phải bằng một giátrị không đổi, chúng tôi biểu thị giá trị này bằng λ Như vậy, từ vế trái chúng tôi cóđược phương trình
−v00(t) = λv(t)
Phương trình này có nghiệm v(t) = a cos(√λt) + b sin(√
λt)với giả sử λ > 0 Vếbên phải của (1.3) cho ta bài toán
− (p(x)w0(x))0+ q(x)w(x) = λw(x), w(0) = w(1) = 0 (1.4)Một giá trị λ thuộc (1.4) có một nghiệm không tầm thường (tức là khác không) đượcgọi là một giá trị riêng, w là một hàm riêng tương ứng Tất cả các giá trị riêng của(1.4) là dương Bằng phân tích (1.2) chúng tôi nhận được
u(x, t) = w(x)[a cos(√
λt) + b sin(√
λt)]
là một nghiệm của (1.1) Ta thấy (1.4) có vô số các giá trị riêng thực dương 0 < λ1 <
λ2 < < λk, (λk → ∞ khi k → ∞), mỗi nghiệm khác không w(x) của (1.4) chỉ
Trang 10cho ta những giá trị đặc biệt λk Vì vậy, nghiệm chung của (1.1) có dạng
u(x, t) =
∞
X
k=0
wk(x)[ak cos(pλkt) + bk sin(pλkt)]
Các hệ số ak và bk được xác định bởi các điều kiện ban đầu và kết thúc Chúng tôigiả sử
để giải quyết vấn đề của bài toán (1.4) Để giải quyết bài toán (1.4) chúng tôi xấp xỉw(x)bởi giá trị của nó tại các điểm rời rạc xi = ih, h = 1/(n + 1), i = 1, , n Tại thời điểm xichúng tôi xấp xỉ các đạo hàm bởi các điểm khác biệt hữu hạn Đầutiên chúng tôi viết
p(xi+1
Chúng tôi thu thập tất cả các phương trình trong một phương trình ma trận
Trang 11Aw = λw,trong đó A là ma trận ba đường chéo đối xứng Đây là một ví dụ về bài toán giá trịriêng của một ma trận thưa
1.1.2 Một số khái niêm và ký hiệu
Các trường số thực và số phức được biểu thị tương ứng bằng R và C Chúng tôibiểu thị không gian vectơ có n thành phần thực bởi Rn và không gian vectơ có nthành phần phức bởi Cn
Khi chúng tôi làm việc với vectơ hoặc ma trận thực hoặc phức thì chúng tôi viếtnhư sau, ví dụ x ∈ Fn
Tích vô hướng của hai vectơ cỡ n trong C được định nghĩa là
Hai vectơ x và y được gọi là trực giao nếu x∗y = 0 Ta ký hiệu là x⊥y
Tích vô hướng trong (1.5) tạo ra một chuẩn trong F
Trang 12Trong đó |xi|là modul của số phức hoặc trị tuyệt đối của số thực Chuẩn này thườngđược gọi là chuẩn Euclid hay chuẩn - 2.
Ma trận cỡ m × n trong trường F được ký hiệu là Fm×n,
Các khái niệm sau đây của các ma trận vuông là đặc biệt quan trọng:
• A ∈ Fn×nđược gọi là Hermite nếu và chỉ nếu A∗ = A
• Một ma trận Hermite thực được gọi là đối xứng.
• U ∈ Fn×n được gọi là Unita nếu U−1 = U∗, hay U∗U = In
• Ma trận Unita thực được gọi là trực giao.
• A ∈ Fn×n được gọi là chuẩn tắc nếu A∗A = AA∗ Ma trận Hermite và matrận Unita là chuẩn tắc
Chúng tôi định nghĩa chuẩn của một ma trận theo chuẩn vectơ (1.6) là
Trang 131.1.3 Bài toán giá trị riêng
Cho một ma trận vuông A ∈ Fn×n Tìm đại lượng vô hướng λ ∈ C và vectơ
x ∈ Cn, x 6= 0sao cho
hoặc
có một nghiệm không tầm thường (khác không)
Định nghĩa 1.1 Cho cặp (λ, x) là một nghiệm của (1.7) hoặc (1.8) tương ứng thì
• λ được gọi là một giá trị riêng của A.
• xđược gọi là một vectơ riêng của A tương ứng với λ.
• (λ, x) được gọi là một cặp riêng của A.
• Đặt σ(A) là tập tất cả các giá trị riêng của A Ta gọi nó là phổ của A.
• Tất cả các vectơ riêng tương ứng với giá trị riêng λ cùng với các vectơ0 tạo
thành một không gian con tuyến tính của Cn gọi là không gian riêng tương ứng của λ
• Một giá trị riêng λ là một nghiệm của đa thức đặc trưng
det(λI − A) = λn+ an−1λn−1+ + a0
Một nghiệm không tầm thường y của y∗A = λy∗ được gọi là vectơ riêng trái tương ứng với λ. Một vectơ riêng trái của A là một vectơ riêng phải của A∗ tươngứng với các giá trị riêng λ, ta viết A∗y = λy
Ađược gọi là một ma trận tam giác trên nếu aij = 0 ∀i > j Hay A có dạng
Trang 14thì chúng tôi có det(λI − A) = Qn
i=1
(λ − aii)
Một không gian con V ∈ Fn được gọi là bất biến đối với A nếu AV ⊂ V.
Định nghĩa 1.2 Một ma trận A ∈ Fn×n được gọi là tương đương với một ma trận
C ∈ Fn×n ta viết A ∼ C khi và chỉ khi có một ma trận không suy biến S sao cho
S−1AS = C Ánh xạ A → S−1AS được gọi là một phép biến đổi tương đương.
Định lí 1.1 Hai ma trận tương đương có giá trị riêng bằng nhau với bội số tương
ứng bằng nhau Nếu (λ, x) là một cặp riêng của A và C = S−1AS thì (λ, S−1x) là một cặp riêng của C.
Định lí 1.2 (Phân tích Schur) Nếu A ∈ Cn×n
thì có một ma trận Unita U ∈ Cn×nsao cho U∗AU = T là một ma trận tam giác trên Các phần tử trên đường chéo của
T là những giá trị riêng của A.
Nhận xét 1.1 Vậy, bằng cách tìm phân tích Schur, ta cũng có thể tìm được các giá
trị riêng của A
Chú ý 1.1 Phân tích Schur không duy nhất.
Cho U∗AU = T là một phân tích Schur của A với U = [u1, u2, , un] Các phântích Schur có thể được viết là AU = UT Cột thứ k của phương trình này là
Auk ∈span{u1, , uk}, ∀k (1.10)Như vậy, k vectơ Schur đầu tiên u1, , uk tạo thành một không gian con bất biến đốivới A Từ (1.9) ta có vectơ Schur đầu tiên là một vectơ riêng của A (nhưng các vectơkhác thì không phải)
Định lí 1.3 (Phân tích Schur thực)
Trang 15Nếu A ∈ Rn×n thì có một ma trận trực giao Q ∈ Rn×nsao cho
, α, β ∈ R có giá trị riêng α + iβ và α − iβ
Tính phân tích Schur của ma trận Hermite là đơn giản Đầu tiên chúng ta lưu ýrằng A là Hermite tức là các tam giác trên Λ trong phân tích Schur A = UΛU∗ làHermite và chéo Thật vậy, bởi vì
Λ = Λ∗ = (U∗AU )∗ = U∗A∗U = U∗AU = Λ,
mỗi phần tử đường chéo λicủa A thoả mãn λi = λi Vì vậy Λ phải là thực
Tóm lại ta có kết quả sau
Định nghĩa 1.3 Tỉ số
ρ(x) := x
∗Ax
x∗x , x 6= 0được gọi là các tỉ số Rayleigh của A tại x
Trang 16Định nghĩa 1.4 Một ma trận P thỏa mãn P2 = P được gọi là một phép chiếu.
Nếu P là một phép chiếu thì P x = x với mọi x trong vùng ảnh <(P ) của P Thật vậy nếu x ∈ <(P ) thì x = P y, với y ∈ Fn và P x = P (P y) = P2y = P y = x
Định nghĩa 1.5 Một ma trận P được gọi là phép chiếu trực giao nếu
Định nghĩa 1.7 Các ma trận G(i, j, ϑ) ∈ Rn×nlà một phép quay, được định nghĩa
p|xi|2+ |xj|2, s = −xj
p|xi|2+ |xj|2
Trang 17Định nghĩa 1.8 Cho A là một ma trận vuông Phép phân tích LU của A là cách viết
A thành tích của hai ma trận có dạng A = LU, trong đó L và U lần lượt là các matrận tam giác dưới và tam giác trên có cùng kích thước với A
Phép phân tích LDU là cách phân tích có dạng A = LDU, với D là một ma trận
chéo, L và U là các ma trận tam giác đơn vị, nghĩa là tất cả các phần tử trên đường
chéo của L và U đều bằng một
Phép phân tích LU P là cách phân tích có dạng P A = LU, với L và U tương ứng
là ma trận tam giác dưới và trên, và P là một ma trận hoán vị, nghĩa là P chỉ gồmkhông và một và chỉ có duy nhất một phần tử 1 trên mỗi dòng và cột
Định nghĩa 1.9 Cho A ∈ Cn×m, n ≥ m có hạng là m (nghĩa là các cột của A độclập tuyến tính)
Phân tích A = Q bbR, trong đó Q ∈ Cb n×m có các cột là các vectơ trực giao vàb
R ∈ Cm×m là ma trận tam giác trên Phép phân tích như vậy (nếu có) gọi là phân tích QR rút gọncủa ma trận A
Với ma trận A như trên, dạng phân tích QR đầy đủ của A chính là sự mở rộng
của QR rút gọn bằng cách thêm vào bên phải củaQ n − mb vectơ trực chuẩn để tạothành ma trận Unita Q có n hàng và n cột Ma trậnRbcũng được thêm vào bên dưới
n − mdòng không tạo thành ma trận tam giác trên R với n dòng và m cột
1.2 Không gian con Krylov
Trang 18Một cơ sở tự nhiên của không gian Krylov là các vectơ x, Ax, cho đến khi hệnày vẫn độc lập tuyến tính Tuy nhiên, chúng thường có xu hướng gần phụ thuộctuyến tính Điều này cần phải tránh trong tính toán Do đó, thay vì sử dụng cơ sở tựnhiên, người ta tìm cách xây dựng một cơ sở trực chuẩn của nó Các phương phápArnoldi và Lanczos là những phương pháp để tính toán một cơ sở trực chuẩn củakhông gian Krylov.
Cho [x, Ax, , A(k−1)x] = Q(k)R(k)là nhân tử QR của ma trận Krylov Km(x).Các giá trị Ritz ϑ(k)
j , 1 ≤ j ≤ k và Ritz vectơ của A trong không gian này thu đượcbằng phương pháp của bài toán giá trị riêng k × k
Q(k)∗AQ(k)y = ϑ(k)y (1.12)
Nếu (ϑ(k)
j , yj) là một cặp riêng của (1.12) thì (ϑ(k)
j , Q(k)yj) là một cặp Ritz của Atrong Km(x)
Ta có các tính chất sau của không gian Krylov
Trang 19tính tức là có một vectơ khác không a ∈ Fm+1 sao cho Km+1(x)a = p(A)x = 0 vớip(λ) = a0+ a1λ + + amλm.
Đa thức p(λ) với am 6= 0được gọi là đa thức tối thiểu của A so với x
Trang 20Chương 2
Một số phương pháp tìm giá trị riêng
Như đã biết giá trị riêng của ma trận là nghiệm của phương trình đặc trưng, nhưvậy ý tưởng đơn giản để tìm giá trị riêng đó là giải phương trình đặc trưng Một matrận cỡ n × n thì phương trình đặc trưng là một phương trình đa thức bậc n, nếumuốn tìm giá trị riêng chính xác thì ta phải giải được chính xác nghiệm của phươngtrình đặc trưng Theo định lý nổi tiếng của lý thuyêt Galois thì phương trình đa thức
từ bậc 5 trở lên không thể giải được bằng căn thức, tức là nghiệm của nó không thểtính được bằng các phép tính của các số hữu tỉ như là cộng, trừ, nhân, chia hoặc lấycăn Như vậy, đối với ma trận từ bậc 5 trở lên chúng ta không thể tìm được chính xácgiá trị riêng Vậy để giải được những bài toán thực tế mà có cấp lớn hơn thì ta buộcphải sử dụng phương pháp xấp xỉ, những phương pháp xấp xỉ ở đây đều là nhữngphương pháp lặp Trong chương này chúng tôi sẽ giới thiệu một số phương pháp lặpphổ biến, thông dụng và hiệu quả để tính giá trị riêng Chương này được viết dựatrên tài liệu tham khảo [1], [2]
2.1 Phương pháp luỹ thừa
2.1.1 Lặp đơn vectơ
Trong mục này chúng tôi trình bày một phương pháp đơn giản để tính giá trịriêng có modul lớn nhất và duy nhất Cho A ∈ Fn×n bắt đầu với một vectơ ban đầutùy ý x(0) ∈ Fn chúng ta hình thành các chuỗi vectơ x(k) ∞
k=0 được xác định như
Trang 21x(k) := Ax(k−1), k = 1, 2 (2.1)
Rõ ràng x(k) := Akx(0)khi đó x(k)hội tụ đến vectơ riêng tương ứng với giá trị riênglớn nhất
Algorithm 2.1 Thuật toán lặp đơn vectơ
1: Chọn một vectơ bắt đầu x(0) ∈ Fn với ||x(0)|| = 1
8: until một tiêu chuẩn hội tụ được thoả mãn.
Vectơ x(k)chính là xấp xỉ vectơ riêng cần tìm tương ứng với giá trị riêng µk = ±|λ1|
và giá trị thực sự của λ1được xác định trong Nhận xét 2.1 bên dưới Người ta đã chỉ
λ2
λ1
Trang 22
chon tiêu chuẩn dừng cho Thuật toán 2.1 là |µk − µk−1| < tol với tol > 0 làmột số cho trước nhỏ.
A = U ΛU∗, U = [u1, , un], Λ = diag(λ1, , λn) (2.3)Ngược lại, với các trường hợp chung, trong trường hợp Hermitie chúng ta xấp
xỉ các giá trị riêng bởi các tỉ số Rayleigh của x(k) Khi đó λ(k) := x(k)∗Ax(k) với
||x(k)|| = 1.Ta có thuật toán sau
Định lý sau đây mô tả sự hội tụ của thuật toán
Định lí 2.2 Cho A là một ma trận đối xứng với phân tích phổ (2.3) thỏa mãn λ1 >
λ2 ≥ ≥ λn ≥ 0 khi đó lặp đơn vectơ của Thuật toán 2.2 tính chuỗiλ(k) ∞
k=0
và x(k) ∞
k=0 hội tụ tuyến tính đến giá trị riêng riêng lớn nhất λ1 của A và vectơ riêng tương ứng là u1 miễn là vectơ ban đầu x(0)có một thành phần khác không theo hướng u1, tức là u∗1x(0) 6= 0 Tốc độ hội tụ được cho bởi
sin ϑ(k) ≤
λ2
λ1
... tốn 2.2 tính chuỗiλ(k) ∞
k=0
và x(k) ∞
k=0 hội tụ tuyến tính đến giá trị riêng riêng lớn λ1... xấp
xỉ giá trị riêng tỉ số Rayleigh x(k) Khi λ(k) := x(k)∗Ax(k) với
||x(k)|| = 1.Ta có thuật tốn sau... tụ thuật tốn
Định lí 2.2 Cho A ma trận đối xứng với phân tích phổ (2.3) thỏa mãn λ1 >
λ2 ≥ ≥ λn ≥ lặp đơn vectơ Thuật