63
수수수수 (Numerical Analysis) 수수수 (Eigenvalues)

수치해석 (Numerical Analysis) 고유치 ( Eigenvalues )

Embed Size (px)

DESCRIPTION

수치해석 (Numerical Analysis) 고유치 ( Eigenvalues ). In this chapter …. 고유치 (Eigenvalues). 본 장에서는 행렬의 중요한 성질인 고유치 (eigenvalues) 와 고유 벡터 (eigenvectors) 에 대해서 , 1) 고유치와 고유 벡터의 정의 및 이를 구하는 방법을 배우고 , 2) 행렬의 특성 방정식과 이를 이용한 케일리 - 해밀턴 정리를 알아보며 , 3) 파데브 - 레브리어 알고리즘과 이를 활용하는 방법을 익힌다. We are now …. - PowerPoint PPT Presentation

Citation preview

Page 1: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

수치해석 (Numerical Analysis)

고유치 (Eigenvalues)

Page 2: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 2

고유치 (Eigenvalues)In this chapter …

본 장에서는 행렬의 중요한 성질인 고유치 (eigenvalues) 와 고유 벡터(eigenvectors) 에 대해서 ,1) 고유치와 고유 벡터의 정의 및 이를 구하는 방법을 배우고 ,2) 행렬의 특성 방정식과 이를 이용한 케일리 - 해밀턴 정리를 알아보며 ,3) 파데브 - 레브리어 알고리즘과 이를 활용하는 방법을 익힌다 ..

Page 3: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 3

We are now …

고유치와 고유 벡터

케일리 - 해밀턴 정리

파데브 - 레브리어 알고리즘

Eigenvalues & Eigenvectors

Page 4: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 4

Eigenvalues & Eigenvectors대각 행렬로의 변환 (1/6)

선형 연립 방정식 Ax = b 에서 , 어떤 정칙 행렬 P 가 있어서 , 그 행렬이 다음 관계를 만족한다고 하자 .

행렬 P 를 사용하여 연립 방정식 Ax = b 를 정리하면 다음과 같다 .

결국 , 원래 연립 방정식은 다음 형태로 정리될 수 있다 .

-1

-1

x Px', x' = P x

b Pb', b' = P b

-1

Ax=APx' =Pb'

(P AP)x'=b'

-1x'=b' ( P AP)

Page 5: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 5

Eigenvalues & Eigenvectors대각 행렬로의 변환 (2/6)

여기에서 , 행렬 가 다음과 같은 대각 행렬의 성질을 만족시킨다고 하자 .

이와 같은 성질 ( 행렬 가 대각 행렬인 성질 ) 을 만족시키는 행렬 P 를 모우들 행렬 (modal matrix) 이라 하고 , 이때 만들어진 대각 행렬 를 스펙트럼 행렬 (spectrum matrix) 라 한다 .

1

2

3

0 0 0

0 0 0

0 0 0

0 0 0 n

Page 6: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 6

Eigenvalues & Eigenvectors대각 행렬로의 변환 (3/6)

상기 식 = P-1AP 의 행렬 P 를 n 개의 n 차원 벡터 p1, …, pn 으로 표현하면 다음과 같다 .

AP = P =

=

1 2 311 1 1 1

1 2 322 2 2 2

1 2 333 3 3 3

1 2 3

1

2

1 23

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

0 0 0

n

n

n

nnn n n n

n

n

p p p p

p p p p

p p p p

p p p p

p p p

Page 7: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 7

Eigenvalues & Eigenvectors대각 행렬로의 변환 (4/6)

결국 , 원래 연립 방정식은 다음 형태로 정리될 수 있다 .

A i iip p

그 이유는 , AP = P 가 다음과 다음과 같이 나타나기 때문이다 .

AP =

1 2 31 1 1 11 1 1 1

1 2 32 2 2 21 1 1 1

1 2 33 3 3 31 1 1 1

1 2 31 1 1 1

n n n n nj j j j j j j jj j j j

n n n n nj j j j j j j jj j j j

n n n n nj j j j j j j jj j j j

n n n n nnj j nj j nj j nj jj j j j

a p a p a p a p

a p a p a p a p

a p a p a p a p

a p a p a p a p

= = P

1 2 31 1 1 2 1 3 1

1 2 32 1 2 2 2 3 2

1 2 33 1 3 2 3 3 3

1 2 31 2 3

nn

nn

nn

nn n n n n

p p p p

p p p p

p p p p

p p p p

= A = =

1 11

2 21

3 31

1

n i ij j ij

n i ij j ij

n i i i ij j i ij

n i inj j n ij

a p p

a p p

a p p p p

a p p

Page 8: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 8

Eigenvalues & Eigenvectors대각 행렬로의 변환 (5/6)

지금부터는 편의상 pi 를 p 로 , i 를 로 나타내기로 한다 .

Ap = p 를 다시 정리하면 , 다음과 같다 ( 다음에서 , 0 는 n 차원 벡터이다 ). I A 0p

그런데 , 여기에서 p 는 0 가 아니므로 , (I – A) = 0 가 되어야 한다 . 즉 , (I – A) 가 특이 행렬 (singular) 이 되어야 하고 , 따라서 , 그 행렬식은 0 이 되어야 한다 ( 다음 식이 성립하여야 한다 ).

I A 0

Page 9: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 9

Eigenvalues & Eigenvectors대각 행렬로의 변환 (6/6)

그리고 , |I – A| 는 다음과 같이 에 대한 n 차 방정식이 되며 ,이 방정식을 행렬 A 의 특성 방정식 (characteristic equation) 이라 한다 . 1 2

1 2 1 0 0n n nn n

그 이유는 왼편과 같은 과정으로 행렬식이 구해지기 때문이다 .

I A

11 12 13 1

21 22 23 2

31 32 33 3

1 2 3

22 23 2

32 33 311

2 3

11

n

n

n

n n n nn

n

n

n n nn

a a a a

a a a a

a a a a

a a a a

a a a

a a aa

a a a

a

33 3

22

3

1 21 2 1 0

n

n nn

n n nn n

a a

a

a a

Page 10: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 10

Eigenvalues & Eigenvectors고유치의 정의

정의 : 행렬 A 의 특성 방정식의 근 ( 해 ) 을 행렬 A 의 고유치(eigenvalues) 라 정의한다 . 즉 , 특성 방정식을 아래와 같이 나타냈을 때 ,

정리 : 행렬 A 의 고유치는 행렬 A 의 대각 행렬인 의 대각 원소이다 .

즉 , 행렬 A 의 고유치를 1, 2, …, n 이라 하면 , 다음이 성립한다 .

1 21 2 1 0

1 2 0

n n nn n

n

1, 2, …, n 을 행렬 A 의 고유치라 한다 .

1

2

3

0 0 0

0 0 0

0 0 0

0 0 0 n

Page 11: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 11

Eigenvalues & Eigenvectors고유치를 구하는 예제 (1/2)

예제 ) 다음 행렬 A 의 고유치를 구하라 .

A

3 1 1

22 10 32

2 1 3

행렬 A 의 특성 방정식을 구한다 .

I A

3 1 1

22 10 32 0

2 1 3

Page 12: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 12

Eigenvalues & Eigenvectors고유치를 구하는 예제 (2/2)

다음 과정에 의해서 행렬 A 의 특성 방정식을 계산할 수 있다 .

I A

2

3 2

3 1 1

22 10 32

2 1 3

10 32 22 32 22 103 1 1

1 3 2 3 2 1

3 10 3 32 1 22 3 32 2 22 1 10 2

3 7 2 22 2 2 2

4 6 1 2 3 0

결국 , 행렬 A 의 고유치는 다음과 같다 .

1 2 31, 2, 3

Page 13: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 13

Eigenvalues & Eigenvectors고유치의 성질

행렬 A 의 고유치가 0 가 되기 위한 필요충분조건은 A 가 ( 정칙 행렬이 아닌 ) 특이 행렬 (singular matrix) 인 것이다 .

임의의 실수 k 에 대해 , 행렬 kA 의 고유치는 원래 행렬 A 의 고유치의 k 배에 해당하는 값이다 .

행렬 A 와 이의 전치 (transpose) 행렬 AT 의 고유치는 동일하다 .

행렬 A 의 역행렬 A-1 의 고유치는 A 의 고유치의 역수와 같다 .

행렬 Ak 의 고유치는 A 의 고유치의 k 제곱과 같다 .

대각 행렬의 고유치는 그 대각 원소들이다 .

행렬 A 의 고유치들의 합은 trace(A) 가 된다 .

행렬 A 의 고유치들의 곱은 행렬 A 의 행렬식이 된다 .

11 221

Note: trace(A )n

ii nni

a a a a

Page 14: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 14

Eigenvalues & Eigenvectors고유 벡터의 정의

정의 : 행렬 A 에 대한 n 개의 고유치 (1, 2, …, n) 에 대해서 각기 다음

식을 만족하는 벡터 pi(p1, p2, …, pn) 를 행렬 A 의 고유 벡터라 정의한다 .( 하기 식은 앞서 고유치를 유도하는 과정에서 얻은 식과 동일함 )

A I A 0i i ii ip p p

Page 15: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 15

Eigenvalues & Eigenvectors고유 벡터를 구하는 예제 (1/2)

다음 행렬에 대한 고유 벡터를 구하라 .

A

3 1 1

22 10 32

2 1 3

앞서 행렬 A 의 고유치를 1=1, 2=-2, 3=3 으로 구했으므로 ,

우선 고유치 1 에 대해서 식을 전개하면 다음과 같다 .

I -A

11

1 11 2

13

1 1 11 2 3

1 1 11 2 3

1 1 11 2 3

2 1 1

22 11 32 0

2 1 2

2 0

22 11 32 0

2 2 0

p

p p

p

p p p

p p p

p p p

Page 16: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 16

Eigenvalues & Eigenvectors고유 벡터를 구하는 예제 (2/2)

그런데 , 세 번째 식이 첫 번째와 두 번째 식에 선형 의존이다 . 따라서 , 다음 두 식으로 나타낼 수 있다 .

1 1 11 2 3

1 1 11 2 3

2 0

22 11 32 0

p p p

p p p

상기 두 식을 만족하는 p1i 은 무수히 많으므로 ,

임의로 p11 = 2 로 두면 , 왼편과 같은 고유

벡터를 얻을 수 있다 .

11

1 12

13

1

2

0

p

p p

p

마찬가지 방법으로 , 다른 고유치에 대해서도같은 방식을 적용하면 , 다음과 같이고유 벡터를 얻을 수 있다 .

2 3

0.174 0.147

1 , 1

0.130 0.118

p p

Page 17: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 17

Eigenvalues & Eigenvectors고유 벡터의 성질

임의의 실수 k 에 대해서 , 행렬 kA 의 고유 벡터들은 행렬 A 의 고유 벡터와 동일하다 .

행렬 A-1 의 고유 벡터들은 행렬 A 의 고유 벡터들과 같다 .

서로 다른 고유치에 해당하는 고유 벡터들은 서로 선형 독립이다 .

(i.e., pi kpj if i j)

실수를 원소로 하는 행렬 A 의 고유 벡터들 중에 복소수가 있으면 , 그들은 서로 켤레 복소수의 관계를 가진다 .

Page 18: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 18

Eigenvalues & Eigenvectors닮은 변환 (Similarity Transformation) (1/2)

( 앞서 살펴본 바와 같이 ) 행렬 A 와 이의 스펙트럼 행렬 는 다음 관계가 성립한다 .

-1 1 2Λ=P AP where P np p p

상기와 같은 관계가 성립할 때 , 행렬 A 와 는 닮았다 (similar) 고 한다 .

정의 : 행렬 A 와 B 사이에 모으들 행렬 P 가 존재하여 B=P-1AP 의 관계를만족하면 행렬 A 와 B 는 닮았다 (similar) 고 정의한다 .

Page 19: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 19

Eigenvalues & Eigenvectors닮은 변환 (Similarity Transformation) (2/2)

만일 , 행렬 A 와 B 가 서로 닮았다고 하면 , 다음 관계들이 성립한다 .

1. P-1(A2)P = B2

2. P-1(An)P = Bn

3. P-1(A-1)P = B-1

4. trace(B) = trace(A)

5. |B| = |A|

6. 행렬 B 의 고유치는 행렬 A 의 고유치와 동일하다 .

Page 20: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 20

Eigenvalues & Eigenvectors고유 벡터의 계산 - 개념

( 앞서 언급한 바와 같이 ) 행렬 A 가 nxn 행렬인 경우 , 미지수 n 개의 선형 연립 방정식을 풀면 고유 벡터를 계산할 수 있다 .

선형 연립 방정식은 가우스 - 조던 방식 등을 사용하여 풀 수 있다 .

그런데 , 몇몇 경우에는 선형 의존 관계에 의하여 , 임의의 값을 대입한 후 고유 벡터를 계산해야 한다 . 다음의 예제 참조

11

1 1 11 11 1 12 2 1

1 1 121 1 1 22 2 2

1 1 11 1 2 2 1

I A 0

0

0

0

n n

n n

n n nn n

p

a p a p a p

a p a p a p

a p a p a p

Page 21: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 21

Eigenvalues & Eigenvectors고유 벡터의 계산 – 예제 I (1/2)

다음 행렬 A 에 대해서 고유치를 계산하라 .

A

3 1 1

22 10 32

2 1 3

앞서 행렬 A 의 고유치를 1=1, 2=-2, 3=3 으로 구했다 .

이번에는 고유치 -2 에 대해서 식을 전개하면 다음과 같다 .2 2 21 2 3

2 2 21 2 3

2 2 21 2 3

5 0

22 8 32 0

2 5 0

p p p

p p p

p p p

Page 22: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 22

Eigenvalues & Eigenvectors고유 벡터의 계산 – 예제 I (2/2)

가우스 - 조단 방식을 사용하면 , 다음 식을 얻을 수 있다 .

p22 에 1 을 대입하여 나머지 값을 구하면 다음과 같이 고유 벡터를 구할

수 있다 .

2 21 2

2 22 3

0.174 0

0.130 0

0 0

p p

p p

2

0.174

1

0.130

p

Page 23: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 23

Eigenvalues & Eigenvectors고유 벡터의 계산 – 예제 II (1/2)

( 중근 예제 1) 다음 행렬 A 에 대해서 고유치를 계산하라 .

A

8 1 0

21 0 1

18 0 0

행렬 A 의 특성 방정식을 구하여 풀면 다음과 같다 .

1 11 2

1 1 11 2 3

1 11 3

5 0

21 3 0

18 3 0

p p

p p p

p p

23 28 21 18 2 3 0

중근인 고유치 (-3) 에 대해서 고유 벡터를 구하는 방정식은 다음과 같다 .

Page 24: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 24

Eigenvalues & Eigenvectors고유 벡터의 계산 – 예제 II (2/2)

가우스 - 조단 방식을 사용하여 방정식을 풀면 다음과 같다 .

이 경우 , ( 중근임에도 불구하고 ) 서로 독립인 고유 벡터는 하나만 나온다 .

예를 들어 , p13=1 이라 하면 , p1

1=0.167, p12=0.833 이 된다 .)

1 11 31 12 3

0.167 0

0.833 0

0 0

p p

p p

결국 , 이 경우는 고유 벡터를 ( 세 개가 아닌 ) 두 개밖에 구할 수 없으므로 , 정칙 행렬 (nonsingular matrix) 인 모우들 행렬 P 를 구할 수 없다

Page 25: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 25

Eigenvalues & Eigenvectors고유 벡터의 계산 – 예제 III (1/3)

( 중근 예제 2) 다음 행렬 A 에 대해서 고유치를 계산하라 .

A

1 0 1

1 2 1

0 0 2

행렬 A 의 특성 방정식을 구하여 풀면 다음과 같다 .

1 11 3

1 11 3

0

0

0 0

p p

p p

23 25 8 4 1 2 0

중근인 고유치 (2) 에 대해서 고유 벡터를 구하는 방정식은 다음과 같다 .

Page 26: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 26

Eigenvalues & Eigenvectors고유 벡터의 계산 – 예제 III (2/3)

가우스 - 조단 방식을 사용하여 방정식을 풀면 다음과 같다 .

이 경우 , 첫 번째 식을 만족하는 여러 개의 고유 벡터를 구할 수 있다 .이 중에서 두 개의 고유 벡터를 구하면 다음과 같다 .

1 11 3 0

0 0

0 0

p p

1 2

0 1

1 , 0

0 1

p p

Page 27: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 27

Eigenvalues & Eigenvectors고유 벡터의 계산 – 예제 III (3/3)

나머지 고유치 (1) 에 대해서 고유 벡터를 구하면 다음과 같다 .

결국 , 다음과 같이 행렬 A 의 모우들 행렬을 구할 수 있다 .

3

1

1

0

p

P 1 2 3

0 1 1

1 0 1

0 1 0

p p p

그리고 , 이때의 스펙트럼 행렬 는 다음과 같다 .

1

2

3

0 0 2 0 0

0 0 0 2 0

0 0 0 0 1

Page 28: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 28

Eigenvalues & Eigenvectors고유 벡터의 계산 – 예제 IV (1/3)

( 해가 복소수인 경우 ) 다음 행렬 A 에 대해서 고유치를 계산하라 .

A2 1

5 0

행렬 A 의 특성 방정식을 구하여 풀면 다음과 같다 .

2 1 11 2

1 2 11 2

1 0

5 1 0

i p p

p i p

2 2 5 1 2 1 2 0i i

첫 번째 고유치 (-1+2i) 에 대한 고유 벡터를 구하는 방정식은 다음과 같다 .

Page 29: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 29

Eigenvalues & Eigenvectors고유 벡터의 계산 – 예제 IV (2/3)

실수부와 허수부로 나누어 정리하면 다음과 같다 .

1 1 11 1 2

1 1 11 1 2

1 1 11 2 2

1 1 11 2 2

2 0

2 0

5 2 0

5 2 0

e f e

e ff

e e f

f e f

가우스 - 조던 방식을 이용하여 방정식을 풀면 다음과 같다 .

1 1 11 1 1

1 1 12 2 2

0, where

0

p e fi

p e fi

1 1 11 2 2

1 1 11 2 2

0.4 0.2 0

0.2 0.4 0 0 0

0 0

f e f

e e f

Page 30: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 30

Eigenvalues & Eigenvectors고유 벡터의 계산 – 예제 IV (3/3)

다음과 같이 두 미지수를 왼편과 같이 임의의

값으로 정해 준다 .

11

11

1

0

e

f

결국 , 첫 번째 고유 벡터는 왼편과 같다 .

나머지 값들에 대해서 풀면 , 왼편과 같다 .

12

12

1

2

e

f

1 1

1 2p

i

두 번째 고유 벡터는 첫 번째의 켤례 복소수에 해당하므로 , 왼편과 같이 구할 수 있다 .

2 1

1 2p

i

Page 31: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 31

We are now …

고유치와 고유 벡터

케일리 - 해밀턴 정리

파데브 - 레브리어 알고리즘

Cayley-Hamilton Theorem

Page 32: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 32

행렬의 제곱승에 대한 정의

2 3

0

2 1 1 3 1 1 1

1. A AA, A AAA,

2. A I

3. A A A , A A A A ,

4. A A Am n m n

Cayley-Hamilton Theorem

Page 33: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 33

케일리 - 해밀턴의 정리

케일리 - 해밀턴의 정리 : 임의의 정방 행렬 A 의 특성 방정식이 다음과 같이 주어진다면 ,

Cayley-Hamilton Theorem

다음과 같이 행렬 A 에 대한 방정식이 성립한다 . ( A)

1 21 2 1 0 0n n n

n n

A A A A 1 21 2 1 0 0n n n

n n

케일리 - 해밀턴의 정리에 따르면 , 정방 행렬의 고차 제곱들은 그 이하 차수를 가지는 제곱들의 선형 조합으로 나타낼 수 있다 .

A A A A 1 21 2 1 0

n n nn n

Page 34: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 34

케일리 - 해밀턴 정리의 예제 (1/2)

정방 행렬 A 가 다음과 같이 주어졌다고 하자 .

Cayley-Hamilton Theorem

행렬의 특성 방정식을 구하면 다음과 같다 .

A

1 2 0

3 1 4

2 1 1

3 2 15 0

케일리 - 해밀턴 정리를 사용하면 다음의 행렬 방정식을 구할 수 있다 .

3 2

3 2

A A A 15I 0

A =A A 15I

Page 35: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 35

케일리 - 해밀턴 정리의 예제 (2/2)

계속 적용해 보면 , An(n 3) 은 A2 이하 차수를 가지는 항들의 선형 조합으로 나타낼 수 있다 .

Cayley-Hamilton Theorem

4

3 2 3 2

2 2

A

AA A A A 15I A A 15A

A A 15I A 15A

=16A 15I

Page 36: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 36

역행렬 구하기

케일리 - 해밀턴 방정식의 양변에 A 의 역행렬을 곱해 전개한다 .

Cayley-Hamilton Theorem

A A A A A

A A A I A

1 1 21 2 1 0

1 2 3 11 2 1 0 0

n n nn n

n n nn n

결국 , A 의 역행렬은 다음과 같이 구할 수 있다 .

A A A A I 1 1 2 31 2 1

0

1 n n nn n

Page 37: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 37

We are now …

고유치와 고유 벡터

케일리 - 해밀턴 정리

파데브 - 레브리어 알고리즘

Faddeev-Leverrier Algorithm

Page 38: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 38

파데브 - 레브리어 알고리즘 개요 (1/3)

파데브 - 레브리어 알고리즘은 특성 방정식의 계수인 i 를 구할 수 있는

효율적인 알고리즘이다 .

또한 , 이를 사용하면 행렬의 역행렬을 손쉽게 구할 수 있다 .

Faddeev-Leverrier Algorithm

행렬 A 의 특성 방정식이 다음과 같이 주어진다고 가정하자 .

즉 , 행렬 A 에 대해 다음의 방정식이 성립한다 .

1 21 2 1 0 0n n n

n n

A A A A 1 21 2 1 0 0n n n

n n

Page 39: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 39

파데브 - 레브리어 알고리즘 개요 (2/3)

그러면 , 다음의 파데브 - 레브리어 방법에 의해 특성 방정식의 계수 들을 구할 수 있다 .

Faddeev-Leverrier Algorithm

B A traceB

B A B I traceB

B A B I traceB

B A B I traceB

1 1 1

2 1 1 2 2

1 1 1

1 0 0

, ( )

1, ( )

2

1, ( )

1, ( )

n

n n

k k n k n k k

n n n

k

n

1 21 2 1 0 0n n n

n n

Page 40: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 40

파데브 - 레브리어 알고리즘 개요 (3/3)

덧붙여 , 행렬 A 의 역행렬을 다음과 같이 구할 수 있다 .

파데브 - 레브리어 알고리즘의 자세한 증명 과정은 다음을 참조한다 .Faddeeva, V. N., “Computation Methods of Linear Algebra,” (translated from the Russian by Benster, C. D.), Dover Publications Inc., N.Y., 1959.

Faddeev-Leverrier Algorithm

A B I11 1

0

1n

A A A A I1 1 2 31 2 1

0

1 n n nn n

Page 41: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 41

특성 방정식 구하기 - 알고리즘Faddeev-Leverrier Algorithm

procedure char_eq(aij: real numbers, n: integer)

{ [aij] is an nxn matrix. (1 i,j n)}

{ n is # of columns(= # of rows).}

[bij] := [aij];

n1 := trace([bij]);

for k := 2 to nbegin

[bij] := [aij]([bij] + nk+1[iij]);

nk := (1/k)trace([bij]);

end

return k for every k in between 1 and n;

Page 42: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 42

특성 방정식 구하기 – 프로그램 (1/4)Faddeev-Leverrier Algorithm

Page 43: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 43

특성 방정식 구하기 – 프로그램 (2/4)Faddeev-Leverrier Algorithm

Page 44: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 44

특성 방정식 구하기 – 프로그램 (3/4)Faddeev-Leverrier Algorithm

Page 45: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 45

특성 방정식 구하기 – 프로그램 (4/4)Faddeev-Leverrier Algorithm

Page 46: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 46

특성 방정식 구하기 – 실행 결과 I (1/2)Faddeev-Leverrier Algorithm

사용한 행렬

2 1 1

1 2 1

1 1 2

입력 파일 구성

Page 47: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 47

특성 방정식 구하기 – 실행 결과 I (2/2)Faddeev-Leverrier Algorithm

실행 결과

구해진 특성 방정식

3 26 11 6 0

Page 48: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 48

특성 방정식 구하기 – 실행 결과 II (1/2)Faddeev-Leverrier Algorithm

사용한 행렬 ( 교재에서 사용한 행렬 )

2 2 2

1 0 4

3 1 3

입력 파일 구성

Page 49: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 49

특성 방정식 구하기 – 실행 결과 II (2/2)Faddeev-Leverrier Algorithm

실행 결과

구해진 특성 방정식

3 2 6 24 0

Page 50: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 50

특성 방정식 구하기 – 실행 결과 III (1/2)Faddeev-Leverrier Algorithm

사용한 행렬 (4 x 4 행렬 )

8 1 3 1

1 6 2 0

3 2 9 1

1 0 1 7

입력 파일 구성

Page 51: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 51

특성 방정식 구하기 – 실행 결과 III (2/2)Faddeev-Leverrier Algorithm

실행 결과

구해진 특성 방정식

4 3 230 319 1410 2138 0

Page 52: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 52

역행렬 구하기 - 알고리즘Faddeev-Leverrier Algorithm

procedure char_inv(aij: real numbers, n: integer)

{ [aij] is an nxn matrix. (1 i,j n)}

{ n is # of columns(= # of rows).}

[bij] := [aij];

n1 := trace([bij]);

for k := 2 to nbegin

[bij] := [aij]([bij] + nk+1[iij]);

nk := (1/k)trace([bij]);

if k = n1 then [cij] = [bij];

end

[rij] := (1/0)([cij]+1[iij]);

return [rij];

Page 53: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 53

역행렬 구하기 – 프로그램 (1/5)Faddeev-Leverrier Algorithm

Page 54: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 54

역행렬 구하기 – 프로그램 (2/5)Faddeev-Leverrier Algorithm

Page 55: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 55

역행렬 구하기 – 프로그램 (3/5)Faddeev-Leverrier Algorithm

Page 56: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 56

역행렬 구하기 – 프로그램 (4/5)Faddeev-Leverrier Algorithm

Page 57: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 57

역행렬 구하기 – 프로그램 (5/5)Faddeev-Leverrier Algorithm

Page 58: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 58

역행렬 구하기 – 실행 결과 I (1/2)Faddeev-Leverrier Algorithm

사용한 행렬

2 1 1

1 2 1

1 1 2

입력 파일 구성

Page 59: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 59

역행렬 구하기 – 실행 결과 I (2/2)Faddeev-Leverrier Algorithm

실행 결과

Page 60: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 60

역행렬 구하기 – 실행 결과 II (1/2)Faddeev-Leverrier Algorithm

사용한 행렬 ( 교재에서 사용한 행렬 )

2 2 2

1 0 4

3 1 3

입력 파일 구성

Page 61: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 61

역행렬 구하기 – 실행 결과 II (2/2)Faddeev-Leverrier Algorithm

실행 결과

Page 62: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 62

역행렬 구하기 – 실행 결과 III (1/2)Faddeev-Leverrier Algorithm

사용한 행렬 (4 x 4 행렬 )

8 1 3 1

1 6 2 0

3 2 9 1

1 0 1 7

입력 파일 구성

Page 63: 수치해석  (Numerical Analysis) 고유치  ( Eigenvalues )

Page 63

역행렬 구하기 – 실행 결과 III (2/2)Faddeev-Leverrier Algorithm

실행 결과