Phương pháp Jacobi tìm trị riêng và vector của một ma trận vuông đối xứng bất...

5
Phương pháp Jacobi tìm trị riêng và vector của một ma trận vuông đối xứng bất kì Ý tưởng: Chú ý: một ma trận vuông đối xứng (n×n) bất kì sẽ luôn luôn có n trị riêng thực hay nói cách khác ma trận đó luôn chéo hóa được. Để tìm trị riêng và vector riêng của 1 ma trận vuông đối xứng chúng ta sẽ biến đổi ( chính xác là chéo hóa ma trận A. chúng ta dựa trên tính chất của ma trận. Đó là: Hai ma trận tương đương thì có cùng PTĐT và trị riêng, ma trận đường chéo sẽ có trị riêng là các phần tử đường chéo còn ma trận làm chéo hóa ma trận lúc đầu sẽ là ma trận cột các vector riêng Như vậy, mục tiêu của chúng ta là: tìm ma trận O sao cho có đẳng thức ma trận: D = O T AO = diag( λ 1 2 ,….λ n ) Khi đó, các trị riêng của ma trận A λ 1 2 ,….λ n các vector cột của ma trận O là các vector riêng Phương pháp Jacobi dựa vào việc xây dựng một dãy các ma trận (Ω k ) k≥1 các ma trận trực giao sao cho: A k+1 = k T A k k = ( 1 2 …Ω k ) T A ( 1 2 …Ω k ) k≥1 Chúng ta trông đợi Dãy ma trận này sẽ hội tụ về 1 ma trận đường chéo Diag ( λ 1 , λ 2 , ….λ n ) Đặt O k = 1 2 …Ω k là 1 ma trận trực giao có các cột là các vector hội tụ về vector riêng của ma trận A Nguyên tắc biến đổi: A k A k+1 = k T A k k k≥1

Transcript of Phương pháp Jacobi tìm trị riêng và vector của một ma trận vuông đối xứng bất...

Page 1: Phương pháp Jacobi tìm trị riêng và vector của một ma trận vuông đối xứng bất kì

Ph ng pháp Jacobi tìm tr riêng và vector c a m t ma tr n vuông đ i ươ ị ủ ộ ậ ốx ng b t kìứ ấ

Ý t ng:ưở

Chú ý: m t ma tr n vuông đ i x ng (n×n) b t kì sẽ luôn luôn có n tr riêng ộ ậ ố ứ ấ ịth c hay nói cách khác ma tr n đó luôn chéo hóa đ c.ự ậ ượ

Đ tìm tr riêng và vector riêng c a 1 ma tr n vuông đ i x ng chúng ta sẽ ể ị ủ ậ ố ứbi n đ i ( chính xác là chéo hóa ma tr n A. chúng ta d a trên tính ch t c a ế ổ ậ ự ấ ủma tr n. Đó là: Hai ma tr n t ng đ ng thì có cùng PTĐT và tr riêng, ma ậ ậ ươ ươ ịtr n đ ng chéo sẽ có tr riêng là các ph n t đ ng chéo còn ma tr n ậ ườ ị ầ ử ườ ậlàm chéo hóa ma tr n lúc đ u sẽ là ma tr n c t các vector riêngậ ầ ậ ộ

Nh v y, m c tiêu c a chúng ta là: tìm ma tr n O sao cho có đ ng th c ma ư ậ ụ ủ ậ ẳ ứtr n:ậ

D = OTAO = diag(λ1 , λ2 ,…. λn)

Khi đó, các tr riêng c a ma tr n A là ị ủ ậ λ1 , λ2 ,…. λnvà các vector c t c a ma ộ ủtr n O là các vector riêngậ

Ph ng pháp Jacobi d a vào vi c xây d ng m t dãy các ma tr n (Ωươ ự ệ ự ộ ậ k )k≥1 các ma tr n tr c giao sao cho:ậ ự

Ak+1=ΩkT AkΩk= (Ω1Ω2…Ωk )

T A (Ω1Ω2…Ωk) k≥1

Chúng ta trông đ i Dãy ma tr n này sẽ h i t v 1 ma tr n đ ng chéo ợ ậ ộ ụ ề ậ ườDiag ( λ1, λ2, ….λn)

Đ t Oặ k = Ω1Ω2…Ωk là 1 ma tr n tr c giao có các c t là các vector h i t v ậ ự ộ ộ ụ ềvector riêng c a ma tr n Aủ ậ

Nguyên t c bi n đ i: ắ ế ổ

Ak Ak+1 = ΩkT AkΩk k≥1

Tri t tiêu h t các ph n t aệ ế ầ ử ij (i≠j) hay chính là tri t tiêu t ng c p 2 ph n tệ ừ ặ ầ ử n m ngoài đ ng chéo chính c a ma tr n . ằ ườ ủ ậ

Đ đ n gi n v kí hi u, chúng ta sẽ đ t: ể ơ ả ề ệ ặ

Ak=A=(aij )

Ak+1=B=(bij), Ωk = Ω

Page 2: Phương pháp Jacobi tìm trị riêng và vector của một ma trận vuông đối xứng bất kì

Công vi c c a chúng ta c n d a vào đ nh lí sau đ th c hi n các vi c quay ệ ủ ầ ự ị ể ự ệ ệcác ph n t c a ma tr n Aầ ử ủ ậ

Đ nh lí : cho p, q là các s nguyên th a mãn: 1≤p<q≤n và là m t s th c. ị ố ỏ θ ộ ố ựchúng ta xây d ng m t ma tr n tr c giao nh sau: ự ộ ậ ự ư

1. N u A=(aế ij) là m t ma tr n đ i x ng thì ma tr n: ộ ậ ố ứ ậB=ΩTAΩ= ( bij)

Cũng là m t ma tr n đ i x ng, h n n a ta cóộ ậ ố ứ ơ ữ :

∑i , j=1

n

bij2=∑

i , j=1

n

aij2

2. N u aế pq ≠ 0, t n t i m t và ch m t giá tr c a ồ ạ ộ ỉ ộ ị ủ θ ∈ (−π4,0)∪(0 , π

4) làm

cho bpq = 0. Giá tr đ c xác đ nh nh sauị θ ượ ị ư :

cotan 2 = θaqq−app2apq

Và v i giá tr trên thì bớ ị θ pq = 0 nên ta có :

∑i=1

n

bii2=∑

i=1

n

a i2+2a pq

2

Đó là đ nh lí mà chúng ta sẽ áp d ng đ th c hi n vi c quay Jacobiị ụ ể ự ệ ệ

Sau đây là m t vài chú ý c a ph ng pháp cũng nh vi c th c hi nộ ủ ươ ư ệ ự ệ :

1. Các công th c tính giá tr các ph n t c a ma tr n Aứ ị ầ ử ủ ậ k+1 ( ma tr n B) ậtheo Ak ( tri t tiêu ph n t thu c hàng p c t q – aệ ầ ử ộ ộ pq)

Page 3: Phương pháp Jacobi tìm trị riêng và vector của một ma trận vuông đối xứng bất kì

bij=a ijnếu i≠ p ,q và j ≠ p ,q

b pj=api cosθ−aqi sin θnếu i≠ p ,qbqi=api sinθ+aqi cosθnếu i≠ p ,qbpp=app cos

2θ+aqqsin2θ−apq sin 2θ

bqq=appsin2θ+aqq cos

2θ+a pqsin 2θ

bpq=bqp=apqcos 2θ+a pp−aqq2

sin 2θ

Nhìn vào những công thức trên ta thấy : chúng ta không cần phải đi tính rõ góc θ mà chỉ cần tính giá trị tan θ rồi tính các hàm còn lại qua tan θ. Việc này sẽ làm giảm đi sai số và thật thuận lợi nếu chúng ta không có máy tính hay bảng số trong tay. Có nhiều cách thực hiện phương pháp này nhưng sau đây mình sẽ nên ra một phương pháp trong số đó.Từ công thức cơ bản của định lí : cotan 2 = θ

aqq−app2apq

Đặt : m = cotan 2 = θaqq−app2apq

Ta có : cotan 2 = θ 1−tan2a2 tan a

=1−t2

2t=m

t = tan là nghi m c a ph ng trình b c 2θ ệ ủ ươ ậ :

t2 +2mt – 1= 0 ( chú ý |θ| ≤ π4 đ ch n nghi m t cho đúng )ể ọ ệ

và khi đó ta sẽ d dàng tính đ c các hàm l ng giác còn l i c a nh ễ ượ ượ ạ ủ θ ưsau :

¿Tức là ta có dạng gọn hơn của công thức quay như sau :

bpi=ca pi−s aqi i ≠ p ,qbqi=c aqi+sapi i≠ p ,qb pp=app−t apqbqq=aqq+ t apq

bpq=bqp=apq cos2θ+app−aqq2

sin 2θ

Vấn đề ti p theo chính là vi c ch n các giá tr p, q nh th nào. Ng i taế ệ ọ ị ư ế ườ phân bi t thành 3 cách chon nh sauệ ư :

1. Ph ng pháp Jacobi c đi nươ ổ ể : chúng ta sẽ chon l a giá tr p, q sao choự ị |apqk |=max

i ≠ jaijk

Page 4: Phương pháp Jacobi tìm trị riêng và vector của một ma trận vuông đối xứng bất kì

Ph ng pháp này n u l p trình chúng ta sẽ m t r t nhi u th i gian và ươ ế ậ ấ ấ ề ờcông s c trong công đo n tìm ra ph n t l n nh t và sau m i l n quay, ứ ạ ầ ử ớ ấ ỗ ầchúng ta l i ph i tìm ki m l i trong ma tr n m iạ ả ế ạ ậ ớ

2. Ph ng pháp Jacobi vòngươ : nguyên t c ph ng pháp này là chúng ta ắ ươsẽ tri t tiêu l n l t t ng ph n t không n m trên đ ng chéo ệ ầ ượ ừ ầ ử ằ ườchính c a ma tr n A theo th t nh t đ nh ( có th làủ ậ ứ ự ấ ị ể : (1, 2) (1, 3) (1, 4) …. (2, 3 ) ,………………….). nh v y các ph n t c a A khôngư ậ ầ ử ủ n m trên đ ng chéo chính sẽ h i t v 0 h t và chúng ta có ma ằ ườ ộ ụ ề ếtr n đ ng chéo. ậ ườ

3. Ph ng pháp Jacobi ng ng ( seuil)ươ ưỡ : chúng ta cũng b t đ u nh ắ ầ ưtr ng h p Jacobi xoay nh ng nh ng chúng ta sẽ b qua nh ng ườ ợ ư ư ỏ ữph n t c a ma tr n có giá tr nh h n m t giá tr làm ng ng cho ầ ử ủ ậ ị ỏ ơ ộ ị ưỡtr c. vi c này sẽ giúp chúng ta ti t ki m th i gian h n, tính toán ít ướ ệ ế ệ ờ ơh n. Ph ng pháp này càng h u hi u n u các giá tr các ph n t c aơ ươ ữ ệ ế ị ầ ử ủ ma tr n khá nh v giá tr tuy t đ i. ậ ỏ ề ị ệ ố