Eigenvalue

 

수치해석 : Kendall Atkinson 저, 김선영 옮김, 희중당, 1994 (원서 : Elementary Numerical Analysis : John Wiley & Sons, 1993), page 286~299

 

특성다항식 (The Characteristic Polynomial)

대칭행렬의 고유치 (Eigenvalues for Symmetric Matrices)

비 대칭행렬의 고유치문제 (The Nonsymmetric Eigenvalue Problem)

멱방법 (The Power Method)

멱방법의 수렴 (Convergence of the Power Method)

 

정방행렬  에 대해 다음과 같이 의 고유치를 구한다.

이면 이때 수 λ 를 행렬 의 고유치 (eigenvalue) 라 하고 행행렬 를 고유벡터 (eigenvector) 라고 부른다. 행렬 의 고유치-고유벡터 는 선형계 를 풀 때와, 일반 열행렬 와 의 곱으로 쓸 때, 또 그 과정을 이해하는 데 쓸 수 있다. 고유치와 고유벡터는 많은 물리문제들을 풀 때 자연적으로 발생한다. 팽팽한 현이나 악기 진동의 자연주파수에서처럼 특정한 기본해를 이끌어내는 것은 초기물리적 흥미거리이다. 이 절에서 고유치와 고유벡터의 정리를 짧게 소개하고 행렬의 최대고유치를 계산하는 수치적 방법을 제시한다.

  예제

행렬

                                                                                (2)

에 대하여 고유치-고유벡터는 각각

                                                                      (3)

이다. (1) 가 위의 두쌍 모두에 대해 만족함을 보일 수 있다.

열행렬 와 의 곱을 더 잘 이해하기 위해 고유치와 고유벡터의 쓰임을 예로 들어보자. 에 대하여

                                                                                    (4)

로 쓸 수 있다는 것을 보일 수 있다. 를 - 평면의 원점으로부터 좌표가 인 점까지 벡터라고 생각하면 식 (4) 는 가 그림 1 에서 보는 것과 같이 과 의 2 개의 벡터의 합으로 쓸 수 있다는 것을 보여준다.

를 계산해보자.

                                                                           (5)

따라서 는 의 한부분, 의 길이를 2 배로 하고 다른 한 부분, 을 반으로 하는 것이다. 결과치는 그림 8.56 에서 보는 것과 같다. 그림은 를 계산하는 문제가 고유벡터 과 을 포함하는 축에 의한 좌표계에서 더 잘 설명될 수 있다는 것을 보여준다. 이와 같은 생각은 크기가 2 인 대부분의 다른 행렬과 더 큰 크기를 지닌 다른 대부분의 정방행렬에까지 확장된다.

그림 1

 

특성다항식 (The Characteristic Polynomial)

식 (1) 의 정의를

으로 다시 써보자. 이것은 계수행렬 와 0 이 아닌 해 를 가지는 선형방정식의 동차 (homogeneous) 계이다. 8.1절의 정리 8.1 로부터 이것은

과 서로 동치이다. 이때

을 의 고유 특성다항식 (characteristic polynomial) 이라 부르고, 그것의 해는 의 고유치이다. 행렬식의 성질을 이용하여 의 크기를 이라고 가정하면 의 특성다항식은

인 차수 의 다항식이 됨을 보일 수 있다.

이다. 식 (8) 은 크기 인 행렬 는 많아야 개의 서로 다른 고유치를 가질 수 있다는 것을 보여준다.

  예제

식 (2) 의 행렬 에 대해 특성다항식은

이다. 이 다항식의 해 , 2 는 (3) 에서 주어진 것과 같은 고유치이다.

일단 고유치가 알려지면 고유벡터 는 자리에 실제 고유치를 대입하여 선형계 (6) 을 풀어서 구할 수 있다. 이때 의 모든 상수배 또한 해가 되므로 해 는 유일한 것이 아니다. 반올림오차가 생길 수 있기 때문에 해 를 구하는 과정은 간단하지 않다. 반올림오차가 없는 간단한 풀이과정을 보기 위해 다음의 예제를 해보자.

  예제

행렬

                                                                              (9)

이면

 해는

                                                                        (10)

이다.

일 때 이에 관한 고유벡터 을 구할 수 있다. 식 (6) 에 대입하면

이 된다. 만약 이 계에서 이라면 곧바로 또한 이 됨을 볼 수 있다. 그러므로 이기 원한다면 이어야 한다. 의 모든 상수배 또한 해가 되므로 이라고 정한다. 그러면

이 되고 인 해를 얻는다. 그러므로

                                                                           (11)

혹은 이 벡터의 0 이 아닌 상수배도 고유벡터이다. 을 결정하는 것은 문제 2 에서 하기로 하자.

일반적으로 고유치는 고유다항식의 해를 구하는 것으로 구하지 않는다. 같은 고유치를 가지나 공 치계산이 보다 더 쉽게 되는 동치행렬로 를 변형시켜 구한다. 여기서 이러한 방법을 생각해보지는 않을 것이다. 그러나 좋은 컴퓨터 패키지를 이용하여 쉽게 그러한 과정을 수행할 수 있다.

 

대칭행렬의 고유치 (Eigenvalues for Symmetric Matrices)

행렬 가

이면 또는

일 때 행렬 는 대칭행렬이다. 즉, 가 의 대각원소들을 축으로 하여 대칭이 된다는 것을 의미한다.

은 크기 3 인 대칭행렬의 일반형이다. 대칭행렬은 주로 응용에서 나타난다. 이 경우 고유치 문제의 수치 해석과 정리 모두 훨씬 간단해진다. 대칭행렬에 대해서는 다음과 같은 중요한 결과가 있다.

  정리

정리 1   를 크기 인 대칭행렬이라고 하면 다음의 성질들을 만족하며 개인 고유치-고유벡터를 원소로 가지는 인 집합이 존재한다.

(i) 은 의 고유다항식 의 근이고 중복도 (multiplicity) 에 따라 반복되는 실수이다.

(ii) 열행렬 -차원공간에서 벡터라고 하면 길이는 1 이고 서로 수직이다.

(iii) 각각의 열행렬 에 대해서

                                                                                                   (12)

이 되는 상수 이 유일하게 존재한다. 이때 상수는

                                                              (13)

여기서 이다.

(iv) 크기 의 행렬 를

                                                                                                    (14)

로 정의하면

                                                                 (15)

이고

                                                                                   (16)

가 된다.

 

이 정리의 증명은 이 장에서 다루지 않았던 선형대수의 개념을 요구하며 상당히 길기 때문에 생략한다. 식 (16) 을 만족하는 행렬을 직교 (orthogonal) 행렬이라 부르고 그것들은 행렬대수문제를 다루는 수치해석에 중요하다. 성질 (16) 은 또한 벡터 이 길이 의 모든 열벡터의 벡터공간에 대한 직교기저 (orthogonal basic) 를 이룬다는 것을 말해준다. 그러한 직교 (orthogonal) 행렬의 예로 문제 10 을 보아라. 그리고 8.3 절의 문제 6 을 보아라.

  예제

식 (2) 에 있는 행렬 와 (3) 에 있는 고유치들을 생각해 보자. 그림 4 는 그것들이 서로 수직임을 나타내고 있다. 길이를 1 로 만들기 위해 식 (3) 을

로 바꾸자. 식 (14) 의 행렬 는

가 되고 이다. 또한 다음과 같이 된다.

식 (15) 는 종종

로 쓴다. 수학적인 면과 수학외적인 면 모두에서 의 이런 분해는 많은 응용에서 유용하다.

 

비 대칭행렬의 고유치문제 (The Nonsymmetric Eigenvalue Problem)

비 대칭행렬에서 고유치와 고유벡터가 있을 가능성이 더 많다. 특성다항식 의 근은 복소수가 될 수 있고, 그러면 원소가 복소수인 고유벡터가 된다. 또한 대칭행렬에 대해 식 (12) 에서 했던 것처럼, 의 다중근 (multiple root) 에 대해 임의의 열행렬 를 고유벡터의 결합으로 쓸 수는 없을 것이다. 그리고 더 이상 (13) 과 같은 계수에 대한 간단한 형식은 없다. 비대칭고유치문제는 중요하다. 그러나 그것은 일반정리에서는 너무 복잡한 문제이기 때문에 여기서는 다루지 않겠다.

  예제

복소수 고유치가 존재하는 예를 살펴보자. 행렬 를 다음과 같다고 하자.

이 행렬 의 특성 다항식은

의 근은 복소수

이고 이에 대응되는 고유벡터는 다음과 같다.

 

멱방법 (The Power Method)

크기가 큰 행렬 의 고유치를 계산하는 수치적 방법을 설명해 보겠다. 이 과정은 일반적이지는 않으나 프로그램하기 쉽고 많은 행렬에 만족스러운 방법이다. 행렬 의 고유치 가

를 만족한다는 가정이 필요하다. 여기서 이러한 고유치들은 고유다항식의 근으로서 중복도 만큼 반복될 수도 있다.

와 이것에 관계된 고유벡터 을 계산하기 위한 반복과정을 정의해 보자. 에 대한 초기근사값을 택해 그것을 이라고 하자. 일반적으로 난수발생기 (random number generator) 를 사용하여 각 원소를 택하는 방법으로 무작위로 선택된다.

라고 정의하고 를 의 최대원소라고 놓자. 만약 그러한 원소가 하나 이상 존재한다면 그러한 원소 중 첫 번째 것을 로 선택하자. 그러면

으로 정의할 수 있다. 이 과정을 반복하여

로 정의하고 역시 의 최대원소를 이라 하자.

라고 정의하면 벡터 이 대충 의 곱으로 수렴한다고 말할 수 있다.

이런 방법으로 를 찾아내기 위해 벡터 과 의 0 이 아닌 원소 몇 개를 골라내자. 그것을 원소 라 하고 를 고정시키자. 종종 이것이 큰 에 대하여 의 최대원소가 된다. 을 의 번째 원소라고 하면

로 정의된다. 일 때 은 로 수렴함을 보일 수 있다.

표 1  (23) 에 대한 멱방법

Ratio

0

1

2

3

4

5

6

7

1.0

1.0

1.0

1.0

1.0

1.0

1.0

1.0

0.5

0.8461538

0.9591837

0.9896373

0.9973992

0.9993492

0.9998373

0.9999593

 

1.6250000

1.8846154

1.9693878

1.9922280

1.9982494

1.9995119

1.9998779

 

 

2.596E-1

8.477E-2

2.284E-2

5.821E-3

1.462E-3

3.660E-4

 

 

 

0.327

0.269

0.255

0.251

0.250

 

  예제

이 전 예제의 (2) 에 멱방법을 적용시켜 보자.

                                                                                (22)

결과는 표 1 과 같다. 와 비율행을 보면 수렴하는 규칙적인 형태가 있다는 것을 알 수 있다. 이렇게 되는 이유는 다음에 설명할 것이다. 이 예제에서 이고 이고 수치적 결과는 이 값을 수렴하고 있음을 주목하라.

 

멱방법의 수렴 (Convergence of the Power Method)

멱방법의 수렴을 분석하기 위해 가 대칭행렬일 때만을 생각해 보자. 또 (18) 와 같이 이 최대라고 가정하자.

우선 위를 보이기로 한다. 여기서 일 때 이다. 의 최대원소를

이라 하면

이다. 이 정의에서는 의 최대원소 혹은 크기에서 최대원소가 여러 개 있을 경우 그러한 원소 중 첫 번째 것을 1 이 되게 만든다. 그러므로 우변의 부호는 이에 따라서 선택된다. 식 (23) 의 일반적 경우의 증명은 인 경우에서와 같은 아이디어를 사용하여 귀납적으로 할 수 있다. 식 (20) 의 정의에 의해 부호 은 식 (23) 의 우변의 최대원소가 1 이 되도록 선택한다.

식 (12) 를 사용하여,

로 쓴다. 이때 들은 식 (13) 에서 주어진 것이고 자리에 을 쓴 것이다. 이라고 가정하자. 만약 을 무작위로 선택한다면 이 된다. 비록 일지라도 오차 때문에 멱방법에서는 이 된다. 식 (24) 의 에 를 곱하면

을 얻는다. 를 계속 곱하면

을 얻는다. 식 (23) 으로부터

이 되고 일 때 인 에 대해서 이 되고 은 최대이다. 또한

이므로 일 때 식 (25) 의 대부분의 항은 0 으로 수렴한다. 일 때 분자, 분모에서 을 소거하여

이 되도록 할 수 있다. 만약 의 정규화 (normalization) 를 항상 몇 개의 특별한 원소가 양수가 되도록 수정한다면 과 관계없는 고정된 부호를 갖고

이 된다. 으로 나누어서 부호를 정규화하면 대개 위가 성립한다. 문제 13 을 보아라. 에서 오차는 상수 에 대해

를 만족할 것이다.

비슷한 오차의 범위에 대하여 이 에 수렴하는 것을 보일 때도 위와 같은 분석을 할 수 있다. 또한

를 가정한다면 일 때 상수 에 대해

라는 것을 볼 수 있다. 예를 들면, 식 (22) 에 있는 행렬 에 대한 표 2 의 계산을 상기해보자. 그리고 가 된다. 표에 있는 비율은 0.25 에 접근함에 주의하라. 식 (29) 의 결과와 동일함을 알 수 있다.

표 2  3 차 최소자승법을 위한 데이터

0.00

0.05

0.10

0.15

0.20

0.25

0.30

0.35

0.40

0.45

0.50

0.486

0.866

0.944

1.144

1.103

1.202

1.166

1.191

1.124

1.095

1.122

0.55

0.60

0.65

0.70

0.75

0.80

0.85

0.90

0.95

1.00

 

1.102

1.099

1.017

1.111

1.117

1.152

1.265

1.380

1.575

1.857

 

 

  예제

멱방법을 대칭행렬에 적용해보자.

                                                                   (30)

고유치는 각각

이고 에 대응되는 고유벡터 은

이다. 멱방법을 사용한 결과는 표 3 절에서 보여준다.

차의 비율이

표 3  (30) 에 대한 멱방법

Ratio

0

1

2

3

4

5

6

7

1.000000

-0.972477

1.000000

0.998265

1.000000

0.999891

1.000000

0.999993

0.800000

1.000000

-0.998388

-0.999229

-0.999775

-0.999946

-0.999986

-0.999997

0.900000

-1000000

0.993082

1.000000

0.999566

1.000000

0.999973

1.000000

 

-31.80000

-36.82075

-35.82936

-36.04035

-35.99013

-36.00245

-35.99939

 

 

-5.03E+0

9.91E-1

-2.11E-1

5.02E-2

-1.23E-2

3.06E-3

 

 

 

-0.197

-0.213

-0.238

-0.245

-0.249

에 접근함을 주목하라.

의 최대원소가 매 반복마다 변화함을 알 수 있다. 초기 예상치 은 실제 상황에서 보다 에 가깝게 선택되었다.

반복값 에 대한 오차결과 (29) 은 가속 (acceleration) 방법을 만드는데 사용된다. 식 (29) 에서 충분히 큰 의 모든 값에 대해

가 된다.

을 사용하여 를 선택하자. 이것이 타당한가 하는 것은 문제 14 (d) 에서 보도록 하자. 이런 을 이용하여 (31) 의 을 구해보자.

이것을 Aitken 유추공식 (extrapolation formula) 이라 한다. 이것을 이용하여 다음과 같은 오차추정값을 구할 수 있는데 이를 Aitken 오차추정공식이라고 한다.

가정 (28) 하에서 에 대해서 비슷한 결과를 보일 수 있다. Aitken 의 유추법에 관련된 자료는 4.4 절의 근을 찾기 위한 부동점 반복법을 다룰 때 이미 보았다.

  예제

표 3 에서 라 하자. 그러면 식 (34) 는

이 되고 이것은 실제오차이다. 또한 Aitken 의 공식 (33) 을 이용해 에 대한 유효숫자 7 자리의 정확한 답을 얻을 수 있다.