báo cáo giải tích số phương pháp danielevski tìm trị riêng và vector riêng

22 1 0
Tài liệu đã được kiểm tra trùng lặp
báo cáo giải tích số phương pháp danielevski tìm trị riêng và vector riêng

Đ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

9 Chương 3: Tìm vector riêng bằng phương pháp Danilevski ..... ịHơn nữa, nếu B= T−1 AT và u là vector riêng của B ứng với thì .T u là vector riêng của A ng vứ ới .Ta thấy, để tìm giá tr

Trang 1

TRƯỜNG ĐẠI H C BÁCH KHOA HÀ N I ỌỘVIỆN TOÁN NG DỤNG VÀ TIN H C ỨỌ

***

PHƯƠNG PHÁP DANIELEVSKI TÌM TR ÊNG VÀ VECTOR RIÊNG Ị RI

Gi ng viên h ng dả ướ ẫn: TS Hà Thị Ngọc Y n ế

Sinh viên th c hi n:ựệ

Lớp 125002 H c k 2020.2 HTTTQL K64 – ọ ì –Vũ Trọng Nghĩa 20195985 Vũ Tiến Lâm 20195975 Vũ Quốc Huy 20195967 Nguy n Vễ ăn Lâm 20195974 Trịnh Xuân Trường 20196003

Trang 2

Mục l c ụ

Chương 1: Nhắc l i m t s ạộ ố kiến thức đạ ối s tuyến tính 2

1.1 Tr riêng và vector riêng c a ma tr n ị ủ ậ 2

1.2 H s cệ ố ủa đa thức đặc trưng sử dụng khai tri n tr c ti p ể ự ế 2

1.3 Khai triển định thức của ma trận – khai tri n Laplace ể 3

2.1.2 Đa thức đặc trưng của ma trận Frobenius 5

2.2 Phương pháp cho trường hợp lí tưởng 5

2.3 Phương pháp cho các trường hợp đặc biệt 8

2.3.1 Trường hợp 1 8

2.3.2 Trường hợp 2 9

Chương 3: Tìm vector riêng bằng phương pháp Danilevski 10

3.1 Phương pháp cho trường hợp lí tưởng 10

3.2 Phương pháp cho trường hợp lí tưởng 11

Trang 3

Chương 1: Nhắc lại mộ ốt s kiến thức đại số tuyến tính

1.1 Trị riêng và vector riêng c a ma tr n ủậ

C hoA=( )aij là ma tr n vuông c ậ ỡn n N u t n t i vector ế ồ ạ uvà số thực sao cho Au= u, khi đó được g i là tr riêng c a ọ ị ủA và u được g i là vector riêng ọứng với trị riêng

Giá tr riêng cị ủa A là nghi m cệ ủa đa thức đặc trưng: ( ) det(KA = A− I

a aa a

= là tổng các định th c con bứ ậc 2 trên đường chéo chính của A, và cứ như thế…

Cuối cùng, n=det(A

Trang 4

Nhận xét: Có t t c ấ ảnk định th c con bứ ậc ktrên đường chéo chính Khi đó việc tính toán h s cệ ố ủa đa thức đặc trưng tương đương với vi c th c hi n: ệ ự ệ

C hoA vàB là hai ma tr n vuông Ta có các tính ch t sau: ậ ấ• Nếu A thì B

• Nếu A , B thì A

Trang 5

• Nếu A thì A và B có cùng đa thức đặc trưng, vì vậy có cùng tr riêng ịHơn nữa, nếu B= T−1 AT và u là vector riêng của B ứng với thì T u là vector riêng của A ng vứ ới .

Ta thấy, để tìm giá tr riêng c a m t ma trị ủ ộ ận ta cần tìm đa thức đặc trưng của ma trận đó và từ đó tính nghiệm của đa thức Phương pháp đơn giản nhất để tìm hệ số của đa thức đặc trưng đó là sử dụng khai triển trực tiếp (phần 1.2), tuy nhiên độ phức tạp thuật toán sẽ là O( )2n Hay, khi s d ng kh i triử ụ ả ển theo Laplace để tính định thức

cũng cần thực hiện !n n phép tính

Ý tưởng của phương pháp Danilevski là đưa ma trận A ban đầu về dạng ma trận Pđồng d ng c ạ ụ thể P là ma tr n Frobenius Viậ ệc tính đa thức đặc trưng của P d dàng ễđược th c hiự ện Khi đó, tìm được trị riêng của P, đồng thời cũng là trị riêng của A 2.1 Ma tr n Frobenius

2.1.1 Khái ni m

Ma tr n Frobenius có dậ ạng:

P =

Trang 6

2.1.2 Đa thức đặc trưng của ma trận Frobenius

S d ng khai tri n Laplace theo c t n, ta có: ử ụ ể ộ1

= −+ −

= −−+ −+ −= −+ −−+ −

= = −−−− −−

2.2 Phương pháp cho trường hợp lí tưởng

Mục đích chung của phương pháp là đưa ma trận ban đầu v d ng Frobenius qua mề ạ ột số h u hữ ạn các bước Trường hợp lí tưởng, gi s các ph n t ả ử ầ ử(1)

,1 0

in i n i

a +

−− tại bước biến đổi th ứi + Ta th c hi1 ự ện như sau:

Bước 1: Đặt ma trận ban đầu A A= (0)

Trang 7

M A M

A = −, với các ma tr n ậM1, M−1 như sau:

và,

Trang 8

Bước i: Biến đổi ma trận A( )i thành ma trận ( 1)i( )i, 1ii

Nhậ Khối lượng phép tính để biến đổ ừA đến P c ỡn3− phép nhân và n2

chia Rõ ràng, phương pháp Danilevski có khối lượng tính toán giảm hơn so với phương pháp thông thường

Trang 9

2.3 Phương pháp cho các trường hợp đặc biệt

Ở trường hợp lí tưởng, ta có giả thi t các phần t ế ử( )1, 0

kn kn k

a− + − Tuy nhiên, sau các phép biến đổi có th xể ảy ra trường h p mà ợ ( )

1, 0

kn kn k

a− + − = Ở phần này, ta s xem xét ẽcác phương pháp để xử lý trường hợp đặc biệt đó

2.3.1 Trường hợp 1

Trong hàng n k− +1 t n t i ph n t ồ ạ ầ ử ( )k1, 0

n kj

a− + với j n k− Khi đó, ma trận có d ng: ạ

Trường h p này, ta hoán v cợ ị ột j và cột n k− , hàng j và hàng n k− , s thu ẽđược m t ma tr n m i ộ ậ ớA( )k =C A C−1( )k đồng d ng v i ma trạ ớ ận ban đầu ớ V i ma tr n ậCnhư sau:

Trang 10

Lúc này, ph n t ầ ử ( )

1, 0

kn kn k

a− + − , ta th c hi n ti p tự ệ ế ục như với trường h p lí ợtưởng

2.3.2 Trường hợp 2

Trong hàng n k− +1 c a ma trủ ận A( )k không t n t i ph n t ồ ạ ầ ử( )1, 0

kn kj

a− + đứng trước ( )

1,kn kn

a− + − Khi đó, ma trận A( )k có d ng: ạ

Trang 11

Biểu di n thành ma tr n khễ ậ ối như hình vẽ:

Hay ( )1203

A = , ta th yấ D là m t kh i Frobenius c3 ộ ố ấp k, ti p tế ục sử ụng dphương pháp Danilevski với ma trận D1 T ừ đó, ta tính giá trị riêng c a ma tr n b ng ủ ậ ằcách đưa về tính giá tr riêng c a 2 ma trị ủ ận D1và 3D

( )k 1 3A− I= A − I= D− I D− I

Chương 3: Tìm vector riêng bằng phương pháp Danilevski 3.1 Phương pháp cho trường hợp lí tưởng

Gọi y là vector riêng c a ma trủ ận P A P M~ : = 1−AM, ta có:

Py y

M AMy yAMy My

Trang 12

Trong đó,

n n n

Vậy x M M= n−1 n−2 M M y2 1 là vector riêng ng v i tr riêng ứ ớ ị của ma trận A

Xác định y : Ta có, Py= y

n n

p y p y p y yy y

y− y

Chọn y = , suy ra n 1 y=( n−1, n−2, , ,1

Từ đó, ta sẽ thu được vector riêng x ng v i tr riêng ứ ớ ị c a ủ A

3.2 Phương pháp cho trường hợp lí tưởng

3.2.1 Trường h p 1

Trong hàng n k− +1 c a ma trủ ận A( )k t n t i ph n t ồ ạ ầ ử ( )1, 0

kn kj

a− + đứng trước

( )1,kn kn

a− + − Khi đó, để tìm tr ịriêng, ta đã hoán vị hàng j và hàng n k− , cột j và cột

n k− c a ma trủ ận 𝐴(𝑘) bằng biến đổi:

Do đó, vector riêng của ma tr n sậ ẽ được tính như sau:

Trang 13

3.2.2 Trường h p 2

Trong hàng n k− +1 c a ma trủ ận A( )k không t n t i ph n t ồ ạ ầ ử( )1, 0

kn kj

a− + đứng trước ( )

1,kn kn

a− + − Trong tr ng h p này, ta ườ ợ đưa bài toán v tìm tr êng c a 2 ma trề ị ri ủ ận

3.2.3 Gi i quy t vảế ấn đề

Vấn đề trong tr ng hườ ợp đặc bi t 2 x y ra do vi c chia nh ma tr n ệ ả ệ ỏ A thành ậ( )k

2 ma tr n nh hậ ỏ ơn Vì vậy, ta sẽ chỉnh sửa thuật toán tìm giá tr êng ị ri để giữ nguyên kích th c c a ma tr n qua các b c biướ ủ ậ ướ ến đổi b ng cách b qua không làm gì và thằ ỏ ực hiện b c ti p theo ướ ế

Khi ó, sau đ n −1 b c th c hi n, ma ướ ự ệ trận A(n−1)có d ng: ạ

A − =

a) Tìm giá tr êng ị ri

Trang 14

Ví d , sau ụ n −1 b c biướ ến đổi

Ta duy t tu n t cệ ầ ự ác phần t ửai i, 1− t d i lên tr ừ ướ ên(i n= ,1)

Nếu ai i, 1− = => Trong hàng i, các ph n t 0 ầ ửa n i i, đế a là các h s ci j, ệ ố ủa đa thức đặc trưng của một ma tr n con vậ ới j thỏa mãn aj+1,j là ph n t bầ ử ằng 0 liền trước

Giải các đa thức đặc trưng thu được các giá tr riêng c a ma trị ủ ận ban đầu

b) Tìm vector riêng

Xét 2 phương trình cuối: 67676

3y 7 y y

+ ==

3 y 7y y

Trang 15

7y( 3 7) 0

Nhận thấy, 2−3 − chính là m t trong nh7 ộ ững đa thức đặc trưng Nếu là nghi m cệ ủa đa thức đặc trưng, chọn y7=1,y6= Nếu không, y7 =0, y6 =0

Xét phương trình 3, 4 , 5

8 2

y y

− − − với y6và y 7đã tính được ở bước trước

Tương tự như trên,

Trang 16

Nếu là nghi m c a ệ ủ ( −7 − , chọn 3) y2=1,y1= .

Nếu không, 3456722

Trang 17

Chương 4: Thuật toán v ví dà ụ minh hoạ

if A[j,k]!=0 v i b t k k = ớ ấ ỳ 0,𝑗 − 2 : //N u t n t i ph n t ế ồ ạ ầ ử đứng trước A[j,j-1] khác 0

Hoán v hàng th k và j- ị ứ 1; Hoán v c t thị ộ ứ k và j- 1; M[k,k] = M[j-1,j-1] = 0; M[k,j-1] = M[j-1,k] = 1; i -= 1;

else: //N u t t c ế ấ ả phầ ử đứng trước A[j,j-1] bằng 0 n t continue;

C *= M;

//B2: TÌM GIÁ TR RIÊNGỊ

j = n; //Đánh dấu vị trị lần xử lý trước eigenvalue []; //Lưu trữ các trị riêng

for i=n-1 down to 0 do{ //Duy t ma tr n t ệ ậ ừ dưới lên if A[i,i-1] == 0 or i==0{

ChaPoly = A[i,i:j]; //H s cệ ố ủa đa thức đặc trưng Thêm vào trước ChaPoly ph n t - ầ ử 1;

Trang 18

Giải phương trình đa thức với hệ số ChaPoly; Thêm vào eigenvalue các nghi m v a giệ ừ ải được; j = i;

} }

//Thu được danh sách eigenvalue là các tr riêng c a A ị ủ

//B3: TÌM VECTOR RIÊNG

eigenvector = []; //Lưu trữ các vector riêng j = n; //Đánh dấu vị trị lần xử lý trước for value in eigenvalue{ //Duy t t ng tr riêngệ ừ ị y = [];

for i=n-1 down to 0 do{ //Duy t ma tr n t ệ ậ ừ dưới lên if A[i,i-1] == 0 or i==0{

ChaPoly = a[i,j]; //h s cệ ố ủa đa thức đặc trưng Thêm ph n t -ầ ử 1 và trước ChaPoly; f(value) = giá tr cị ủa đa thức h s ChaPoly; ệ ố if f(value)==0{

Thêm vào y các ph n t có giá tr value^k v i k = ầ ử ị ớ 0,𝑗 − 𝑖; }

else{

Tính s = sum(a*b) v i a,b tu n t trong y và arr[j:]; ớ ầ ự

Thêm vào y các ph n t có giá trầ ử ị -s/f(value)*value^k v i k = ớ 0,𝑗 − 𝑖; }

} }

y = y.reverse(); //Vector riêng của ma trận Frobenius y = C*y; //Vector riêng c a ma tr n Aủ ậ

Thêm vào eigenvector vector y vừa tìm được;}

//Thu được danh sách eigenvector các vector riêng ng v i tr riêng trong ứ ớ ịeigenvalue

Trang 19

4.2 Ví d minh hoụạ

VD1: Tìm tr êng và vector riêng c a ma tr n sau ị ri ủ ậ

3 16 8 3910 86 5 94 73 60 295 5 27 5

Ta có các bước gi i b ng phả ằ ương pháp Danilevski như sau

Và thu được k t qu ế ả

Trang 20

VD2: Tìm tr êng và vector riêng cị ri ủa ma tr n sauậ

3 42 5 68 6 9 24 0 6 918 4 0 2−

Ta có các bước gi i b ng phả ằ ương pháp Danilevski như sau

Và thu được k t qu ế ả

Trang 21

VD3: Tìm tr êng và vector riêng cị ri ủa ma tr n sau ậ

3 42 5 6 10 6 9 2 450 6 6 91 20 4 0 2 90 6 0− 8 3

Ta có các bước gi i b ng phả ằ ương pháp Danilevski như sau

Trang 22

Và thu được k t qu ế ả

Ngày đăng: 13/06/2024, 16:31

Tài liệu cùng người dùng

Tài liệu liên quan