Gersgorin Circle 정리

성대 수학과 이 상 구교수

서 론

1931년에 발견된 Gersgorin Circle 정리는 복잡한 차 정사각행렬의 고유값을 계산에 의하지 않고 단지 행렬의 성분들을 이용하여 그려지는 원들을 이용하여 고유값이 존재하는 영역과 그의 위치를 복소평면 위에 나타낼 수 있는 근거를 준다. 이 절에서는  Gersgorin Circle 정리를 MATLAB을 이용하여 고유값이 존재하는 영역과 그의 위치를 복소평면 위에 그림으로 나타냄으로써 시각화 하고자 한다.

본론

 

제 1 Gersgorin Circle 정리는 행렬의 주대각선의 성분들을 중심으로 하고 주대각선성분 각각에 대하여 그 성분이 있는 행의 나머지 성분들의 절대값의 합을 반지름으로 하는 원들 안에 그 행렬의 고유값이 모두 놓인다는 정리이다.

 

제 1 Gersgorin Circle 정리

  차 정사각행렬의  모든 고유값은 중심이  이고 반지름 인 원들 중 적어도 한 개 이상의 원 내부에 존재한다.

 

 제 1 Gersgorin Circle 정리는 행렬을 ATLAST M-file 인  gersch는 Gersgorin Circle들의 영역을 그림으로 나타내 보자.

function gersch(a,eigplot,color)

% 명령어 gersch(magic(5),1,'b') 는 5차의 magic square의 고유값들과

% Gerschgorin circles을 그려준다.

if nargin==1  

   eigplot=0;

end

if eigplot

   e=eig(a);

else   e=[];

end

c=diag(a);

r=sum(abs(a-diag(c))');

t=0:0.1:6.3;

x=real(c)*ones(1,length(t))+r'*cos(t);

y=imag(c)*ones(1,length(t))+r'*sin(t);

if nargin == 3

   plot(x',y',color,real(e),imag(e),[color,'*'])

else

   plot(x',y',real(e),imag(e),'*')

end

  

 이제 여러 가지 다양한 행렬을 가지고 ATLAST M-file 인 gersch를 이용하여 Gersgorin Circle정리를 시각화 해 보도록 한다. 먼저, N자형의 5차 정사각행렬과 그의 고유값을 명령어 nmatrix(5) 와 eig를 이용하여 구한 다음에 명령어 gersch로  Gersgorin Circle을 만들어 비교해 보자.

 

 ≫N=nmatrix(5)

 N =

    1     0     0     0     1

    1     1     0     0     1

    1     0     1     0     1

    1     0     0     1     1

    1     0     0     0     1

 ≫e=eig(N)

 e =

    1

    1

    1

    2

    0

 ≫gersch(N)

 ≫gersch(N,1)

   

                                        (gersch(N))                              (gersch(N,1))

 

 gersch(N) 은 위의 행렬 의  Gersgorin Circle 들은 복소평면 위에 그림으로 나타내어 주었으며 gersch(N,1)은 Gersgorin Circle 로 주어진 원의 내부에 고유값 0, 1, 2들을 실수 축 위의 점으로 나타내 주었다. 다음의 행렬은  그 고유값이 실수와 허수를 모두 갖는 경우를 예로 든 것이다.

 ≫A=randint(5,5,6)

 A =

    -4    -2     0    -1     0

    -6     0     2     2    -5

     2     4    -6     1     2

     2    -6    -2     6    -1

     6    -6    -6     5     3

 ≫e=eig(A)

 e =

    8.5126          

   -5.2720 + 1.3596i

   -5.2720 - 1.3596i

   -1.2324          

    2.2639          

 ≫gersch(A)

 ≫gersch(A,1)

 

 

       

                                              (gersch(A))                              (gersch(A,1))

 

제 2 Gersgorin Circle 정리

 차 정사각행렬 의 Gersgorin Circle들 중에서 서로 소가 아닌  개의 의 Gersgorin Circle이 있으면 이런 원 개들의 합집합   내부에 개의 의 고유값이 존재한다.

 

이제 제 2 Gersgorin Circle 정리를 쉽게 이해하기 위하여 행렬를 만든 다음에 명령어 gersch를 이용하여 아래와 같이 Gersgorin Circle을 만들어 보았다.

 

 ≫B=[-15 -2 0 1 3;0 10 2 4 -1;-1 -2 -10 0 -7;1 -1 0 15 3;0 0 -1 2 -20]

 

 B =

    -15    -2     0     1     3

      0    10     2     4    -1

     -1    -2   -10     0    -7

      1    -1     0    15     3

      0     0    -1     2   -20

 

 ≫e=eig(B)

 

 e =

    -9.1358

   -15.1345

    14.2857

    10.7284

   -20.7438

 

 ≫gersch(B,1)

 

 

위의 그림은 5차 정사각행렬 의 Gersgorin Circle들 중에서 서로 소가 아닌 3개의 원의 합집합과 2개의 원의 합집합의 내부에 행렬 의 고유값들이 각각 3개와 2개씩 존재하고 있음을 보여 주는 것이며, 이것이 바로 제2 Gersgorin Circle 정리를 의미하는 것이다. 이와 같이 MATLAB은 정리의 깊은 이해와 계산능력 그리고 시각화를 통하여 새로운 정리를 만드는 수학내용을 학습하고 방법을 크게 바꿀 수 있는 수학적 도구로 성장해 오고 있는 것이다.  

 

 결 론

 

선형대수학의 행렬이론에 관한 여러 가지 성질을 새로이 해석하여 연구하는 방안으로  그들의 개념을 시각화하고 conjecture의 개발을 모색하기 위하여 선형대수학 컴퓨터 프로그램을 활용해 보았다. 이론적으로만 알고 인식되어 왔던 행렬의 고유값과 고유벡터를 그림으로 시각화함으로써 그 의미를 더욱 분명히 할 수 있었으며, Gersgorin Circle에 관한 정리를   MATLAB을 이용하여 다양한 행렬의 고유값과 고유값이 존재하는 영역을 그림으로 확인할 수 있었음은 매우 큰 수확이 아닐 수 없다.

 

     결론적으로 MATHEMATICA나 MATLAB과 같은 컴퓨터 프로그램을 이용한 수학 연구는 다양한 수학적 개념을 구체적이면서도 쉽게 확인할 수 있는 장점이 있으므로 수학적 개념을 깊이 이해시키고 더욱 발전시키기 위한 수단으로 자리를 잡아가고 있다. 이러한 연구는 “무엇을 가르칠 것인가”에서 “어떻게 가르칠 것인가”로의 강조점이 변해온 우리 나라의 현행 6차 및 7차 교육과정과 일치하며 구체화 된 수학적 이론을 배경으로 실제로 사회에서 필요로 하는 여러 가지 현상들을 수학적으로 해결해 주는 방향도 아울러 제시해 주는 것이다.     

 

(이 내용은 ATLAST SKKU Project의 일부임)  이상구교수 2000 3. 18.

 

이상구교수의 읽고 보는 수학 자료실  (http://math.skku.ac.kr/~sglee)         

이상구교수 2000년 1학기 강의 Schedule

bar01a.GIF

ⓒ 2000 Prof. S.G.Lee, Dept. of Math of SungKyunKwan University