Phương pháp Newton

Một phần của tài liệu (LUẬN văn THẠC sĩ) bài toán giá trị riêng bậc hai (Trang 31 - 41)

2 Giải số bài toán giá trị riêng bậc hai

2.1.1 Phương pháp Newton

Để áp dụng phương pháp Newton giải phương trình phi tuyến cho bài toán QEP, ta đưa nó về một bài toán trong không giann+1chiều như sau

P " x λ # := " Q(λ)x vTx−1 # =0. (2.1)

Đạo hàm Fre’chet củaPđược tính bằng

∇P= " Q(λ) Q0(λ)x vT 0 # . (2.2) .

Nhắc lại rằng phần chính của phương pháp Newton cho phương trình phi tuyến P " x λ # =0, là dãy lặp " xs+1 λs+1 # = " xs λs # −(∇P)−1P " xs λs # . (2.3)

Sử dụng (2.1) và (2.2) và kí hiệu Qs =Q(λs)và Q0s =Q0(λs), (2.3) được đưa về dạng " Qs Q0sxs vTs 0 # " xs+1−xs λs+1−λs # =− " Qsxs vTs xs−1 # . (2.4)

Giả sửxs được chuẩn tắc hóa đối vớivs, tức làvTs xs=1. Khi đó (2.4) trở thành

Qsxs+1 =−(λs+1−λs)Q0sxs,

vTs xs+1=1.

(2.5)

Đặtus+1 = xs+1

(−λs+1+λs), ta viết lại (2.5) dưới dạng thuật toán như sau.

Algorithm 3Thuật toán Newton cho QEP.

Require: M,C,K,x0,λ0,ε,N. Ensure: (X,λ). 1: k=0; 2: while (k<N;||Xk+1−Xk||>ε) do 3: GiảiQsuk+1 =QsXk tìmuk+1; 4: Tính λk+1 =λk− V T k Xk (VkTuk+1); 5: Tính Xk+1 =Cuk+1; 6: k=k+1; 7: end while 8: X =Xk; λ =λk;

Trong thuật toán trênC là một ma trận chuẩn tắc hóa bất kì

Để kết thúc mục này, chúng tôi trình bày một số cách chọn dãy vs. Cách đơn giản nhất là chọnvs là một trong các véc tơ đơn vịei. Nó có nghĩa là giữ thành phần i của véc tơ xs luôn là hằng số. Trong trường hợp ta cần tính một vàicặp riêng, ta nên chọnvs sao cho nó trực giao với các véc tơ đã tính trước đó; điều này giúp thuật toán không hội tụ tới những véc tơ đã tính được.

2.1.2 Phân tích Schur thực suy rộng

Phân tích Schur được biết đến là một cách rất hữu hiệu để tìm các giá trị riêng của một ma trận. Trường hợp đơn giản nhất là trên phân tích Schur phức của một ma trận đơnA. Khi đó, các giá trị riêng của ma trận đơnA được hiển thị trên đường chéo chính của dạng Schur T của A. Với T là ma trận phức, tam giác trên thỏa mãnT =QHAQ, vàQlà ma trận phức, trong đóQH là liên hợp phức củaQ.

Trong trường hợpA- ma trận thực bậc một, ta có kết quả sau đây

Mệnh đề 2.1.1. Giả sử A,B ∈ Rn×n. Khi đó, luôn tồn tại các ma trận trực giao Q, và Z sao cho QTAZ =φ là tựa tam giác trên và QTBZ =ψ là tam giác trên.

Trong trường hợp det(B) 6=0, các phần tử trên đường chéo chính của ψ khác không. Khi đó, các giá trị riêng của λ- ma trận A−λB được tính như sau. Ta xem xét đường chéo của ma trận tựa chéo trên của φ là dạng khối, φi, i =1, ...,k, trong đó φi là một phần tử (hay ma trận cỡ 1×1) hoặc φi là ma trận cỡ2×2nếu có phần tử phía dưới đường chéo chính khác không. Ta gọiψi là ma trận khối con của ψ có cùng vị trí với φi trong φ. Theo đó, các giá trị riêng củaA−λBsẽ là φi

ψi nếu ma trận đó là cỡ1×1và sẽ là hai giá trị riêng củaλ-ma trận cỡ2×2 φi−λ ψi. Kĩ thuật này có tên là phân tích QZ. Để áp dụng kĩ thuật này cho bài toán QEP, ta chỉ cần áp dụng nó cho một dạng tuyến tính hóaA−λB của nó.

2.2 Phương pháp số cho bài toán thưa

Khi cỡ của bài toán QEP lớn thì các phương pháp trình bày ở mục 2.1 sẽ trở nên đắt đỏ. Trong mục này, chúng ta trình bày một phương pháp dựa trên không gian con Krylov, phù hợp cho bài toán cỡ lớn. Mục này được viết dựa trên việc tham kháo tài liệu [6].

Trước tiên, để bắt đầu chúng tôi nhắc lại sơ lược phương pháp Arnoldi cho bài toán giá trị riêng suy rộng(λA+B)x=0. Bởi phần chính của phương pháp này là xây dựng một cơ sở trực chuẩn {q1, ...,qk} cho không gian con Krylov

Kk(A−1B,q1) =span{q1,A−1Bq, ...,(A−1B)k−1qk}.

Kí hiệu Qk = [q1, ...,qk], khi đó hình chiếu của A−1B lên Kk(A−1B,q1) là ma trận Hk =QTk(A−1B)Qk = [hi j]. Đây là một ma trận Hessenberg, tức là

hi j=0 ∀i,j sao choi− j ≥2. Khi đó, ta có mối quan hệ (A−1B)Qk =QkHk+hk+1,kqk+1eTk,

trong đó ek ∈Rk là véc tơ đơn vị thứ k. Nếu (θ0,u) với ||u||=1 là một cặp riêng của −Hk thì (θ0,x) với x=Qku có thể được coi là một xấp xỉ của một cặp riêng của ma trậnA−1B.Cặp(θ0,x) được gọi là cặp Ritz bao gồm giá trị Ritz và véc tơ Ritz. Thặng dư của việc xấp xỉ này là

(θ0A+B)x=hk+1,kukAqk+1.

Do hk+1,k sẽ giảm khi k tăng và hơn nữa uk cùng giảm nên thặng dư này sẽ dần về0. Điều này dẫn đến sự hội tụ của phương pháp.

Ta sẽ áp dụng phương pháp này với bài toán QEP. Do bài toán liên quan đến số hạng chứa ma trận K, nên ta sẽ áp dụng thuật toán Arnoldi để xây dựng ma trận Hessenberg Hk của M−1C. Sau đó ta tiếp tục tính hình chiếu củaM−1K lên không gian Krylov này:

Khi đó, ta xét bài toán QEP chiếu

Lk(λ) =Iλ2+Hkλ+Gk. Nếu θ0,ulà một cặp riêng của Lk(λ), tức là

(Iθ2+Hkθ+Gk)u=0,

thì ta có thể sử dụng(θ0,x=Qku)là một cặp riêng xấp xỉ của L(λ). Ta cũng gọi chúng là một cặp Ritz. Xét thặng dư tương ứng

rk = (Mθ02+Cθ0+K)x =A(Qkθ2+QkHkθ0+QkGk)u+ +θ0hk+1,kAq+1eTku+∆ku =θ0hk+1,kukAqk+1+∆ku, trong đó uk là thành phần thứk củauvà ∆k =KQk−MQkGk.

Trong khi số hạng thứ nhất của ∆k sẽ nhỏ dần khi k tăng, số hạng thứ hai không nhất thiết nhỏ. Do đó ta có thể viết

||rk|| ≈ ||∆ku|| ≤ ||∆k|| ≤ ||M||||M−1K||.

Do đó, áp dụng trực tiếp phương pháp Arnoldi sẽ chỉ đạt được thặng dư ở mức ||∆ku||. Lí do là vì không gian Krylov không chứa thông tin về ma trận

M−1K và do đó hình chiếuGk sẽ không chứa đủ thông tin. Để khắc phục điều này, ta sẽ sử dụng một chiến lược trượt và nghịch đảo để giảm bớt ảnh hưởng của∆k.

Xét một giá trị riêng củaQ(λ)gần nhất với một giá trị σ nào đó. Ta chọn luôn λ0 =σ là xấp xỉ ban đầu của giá trị riêng cần tìm và x0 là véc tơ riêng tương ứng nào đó. Sử dụng phép biến đổi trượt và nghịch đảo

µ

0

= 1

λ0 = 1 λ −λ0,

dẫn đến

Q(λ) =M(λ0+λ0)2+C(λ0+0) +K =Mλ02+ (2λ0M+C)λ0+Q(λ0). Tiếp theo, ta tìm giá trị lớn nhất theo mô đun của bài toán trượt và nghịch đảo

b Q(µ) =µ2Q(λ) =Mbµ2+Cbµ+Kb, với b M =Q(λ0),Cb=2λ0M+C,Kb=M. Giả sửλ0 6=0, ta có thể viết b K =Cb−C 2λ0 .

Cuối cùng, áp dụng thuật toán Arnoldi trình bày ở phần trước vào Qb(µ) và xấp xỉ Qb(µ) bởi Qbk(µ) = Iµ2+Hkµ +Gk với Hk là hình chiếu của Mb−1Cb

sinh bởi thuật toán Arnoldi vàGk là hình chiếu củaMb−1Kb, tức là

Gk =QTkMb−1KQb k. Khi đó, ta dễ dàng kiểm tra thấy

Gk = (Hk−Gck)

2λ0 , vớiGbk =QTkMb−1CQk.

Ta có kết quả sau đây về thặng dư của phép xấp xỉ.

Mệnh đề 2.2.1. Giả sử µ0 là giá trị riêng có mô đun lớn nhất củaQbk(µ) với

u= (u1, ...,uk)T là một véc tơ riêng có độ dài đơn vị tương ứng. Đặt x1=Qku

λ1=λ0+µ0−1.Khi đó ||(Mλ12+Cλ1+K)x1|| ≤ λ 2 1 −λ02 2|λ0| hk+1,kuk||Q(λ0)qk+1|| +λ 2 1 −λ02 2|λ0| ||∆ku||, (2.6) trong đó∆k =CQk−Q(λ0)QkGck.

Chứng minh mệnh đề này được trình bày chi tiết trong [6].

Cũng giống như phần trước, số hạng thứ nhất của vế phải của (2.6) sẽ giảm khik tăng trong khi không có gì đảm bảo số hạng thứ hai sẽ giảm nếu không có một chiến lược đặc biệt. Ở đây ta sẽ cập nhật biên độ của phép tịnh tiến cho đến khi giá trị riêng tìm được thỏa mãn |λ−σ| ≤η với η >0 cho trước. Điều đó dẫn đến thuật toán sau đây.

Algorithm 4Lặp trượt và nghịch đảo Arnoldi.

Require: σ,η, dự đoánx, số bước lặp tối đam, đặtλ0 =σ;

Ensure: Một cặp riêng (µ,u) lớn nhất theo modul 1: for l=1,2,· · ·,đến khi hội tụ do

2: Mb =Q(λ0),Cb=2λ0M+C,Kb=M, 3: q1= x ||x||2. 4: for j =1,2,· · ·,m do 5: qb=Mb−1Cqb ; 6: for i=1,· · ·,j do 7: hi j=qTi qb;qb1 =qb−qihi j; 8: gi j=qTi (Mb−1Kqb j);gji=qTi (Mb−1Kqb i); 9: end for 10: hj+1,j =||qb||2; 11: if hj+1,j >0, then 12: qj+1 = qb hj+1,j; 13: else 14: break. 15: end if 16: Tính cặp riêng lớn nhất (µ0,u) củaIµ2+Hjµ+Gj =0.

17: λ1 =λ0+µ0−1; 18: γ1 = |λ12−λ02| 2|λ0| hj+1,j|uj|||Mqb j+1||; 19: γ2 = |λ2 1 −λ2 0| 2|λ0| (CQj−MQb j(Hj−2λ0Gj))|u|; 20: if γ1 ≤0.1γ2 then 21: break. 22: end if 23: end for 24: x=Qku; 25: if|λ1−σ|<η then 26: λ0 =λ1; 27: end if 28: end for 2.3 Ví dụ số

Trong mục này, chúng tôi sẽ sử dụng phương pháp Newton để tính cặp riêng của bài toán giá trị riêng bậc hai. Để thực hiện, chúng tôi sử dụng phần mềm MATLAB.

Để tiện so sánh, chúng tôi sử dụng lại bài toán ở ví dụ 1.3.1, tiểu mục 1.3.3.

Chúng tôi chọnx0= [1 −1 1]T, λ0=−10, vs= [1 1 0]T với mọis. Chúng tôi sử dụng tiêu chuẩn dừng

|λs+1−λs|<tol=10−6 Và cuối cùng ma trậnC được chọn là ma trận đơn vị.

Sau 8bước lặp, chúng tôi thu được giá trị riêng λ = −4.758617077184492.

So với giá trị riêng được tính trực tiếp bằng phần mềm MATLAP λ1 = −4.758617077184495

thì đây là kết quả rất chính xác. Cũng với chương trình này, ta thu được véc tơ riêng tương ứng có giá trị rất lớn (khoảng 1021). Tuy nhiên, cũng bằng MATLAB, chúng ta kiểm tra được rằng véc tơ này và véc tơ cột thứ nhất của

X trong ví dụ 1.3.1 ở tiểu mục 1.3.3 là phụ thuộc tuyến tính. Điều đó tức là chương trình đã xác định đúng không gian riêng tương ứng. Để giảm giá trị của véc tơ, ta có thể sử dụng ma trậnC với chuẩn khoảng 10−3. Khi đó, sau 8 bước lặp, chuẩn của véc tơ thu được sẽ giảm đi 10−24 lần và làm cho các giá trị thành phần của véc tơ thuận mắt hơn. Cũng cần nói thêm rằng thuật toán hội tụ đến giá trị riêng có trị tuyệt đối lớn nhất vì nó gần giá trị khởi động λ0=−10nhất. Khi chúng tôi chọn λ0 =−10−3, thuật toán hội tụ đến

−0.026425971910232 là xấp xỉ củaλ6 =−0.026425971912474 sau4 bước lặp.

Kết luận

Trong luận văn này, chúng tôi đã tập trung vào trình bày các khía cạnh lý thuyết gồm khái niệm và các tính chất và khía cạnh tính toán bao gồm một số phương pháp số giải bài toán giá trị riêng bậc hai. Lý thuyết bài toán giá trị riêng bậc một cũng được hệ thống hóa một cách cẩn thận.

Tài liệu tham khảo

Tiếng Việt

[1] Nguyễn Văn Tần (2015), Về một số thuật toán tính giá trị riêng của ma trận cỡ lớn, Luận văn thạc sĩ Toán học, trường Đại học Khoa học - Đại học Thái Nguyên, Thái Nguyên.

Tiếng Anh

[2] J.W. Demmel (1997), Applied Numerical Linear Algebra, SIAM, Philadelphia.

[3] G.H. Golub and C.F. Van Loan (1996),Matrix Computations, The Johns Hopkins Universsity Press, Baltimore, Maryland.

[4] A. Ruhe (1973), “Algorithms for the nonlinear eigenvalue problem”,

SIAM Journal on Numerical Analysis,10(4), pp. 674-689.

[5] F. Tiseur and K. Meerbergen (2001), “The quadratic eigenvalue problem",

SIAM Review,43(2), pp. 235- 286.

[6] Q. Ye (2006), “An iterated shift-and-invert Arnoldi algorithm for quadratic matrix eigenvalue problems",Applied Mathathematics and Com- putations.172, pp. 818- 827.

Một phần của tài liệu (LUẬN văn THẠC sĩ) bài toán giá trị riêng bậc hai (Trang 31 - 41)

Tải bản đầy đủ (PDF)

(41 trang)