본문 바로가기
AI 수학/선형대수

정정(positive-definite) 행렬의 고유값

by 깊은대학 2020. 7. 21.

실수 대칭행렬(real symmetric matrix)의 고유값(eigenvalue)과 고유벡터(eigenvector)는 모두 실수값이다. 또한 서로 다른 고유값에 해당하는 고유벡터는 서로 직각이다.

증명하기는 다소 어렵지만 실수 대칭행렬의 경우에는 서로 다른 고유값 뿐만 아니라 같은 고유값에 대응하는 고유벡터가 여러 개일 경우에도 그 고유벡터들은 서로 직각이다.

 

 

정정 행렬도 실수 대칭행렬이므로 고유값과 고유벡터는 실수값을 가지며, 고유벡터들은 서로 직각이다. 이에 덧붙여서 정정 행렬의 고유값은 모두 0보다 크다.

증명해 보자.

정정 행렬 \( A \)의 고유값을 \( \lambda \), 그에 대응하는 고유벡터를 \( \mathbf{v} \)라고 하면,

 

\[ A \mathbf{v} = \lambda \mathbf{v} \]

 

이 성립한다. \( A \)가 정정 행렬이므로 위 식의 양변에 \( \mathbf{v}^T \)를 곱하면

 

\[ \mathbf{v}^T A \mathbf{v} = \lambda \mathbf{v}^T \mathbf{v} > 0 \]

 

가 된다. \( \mathbf{v}^T \mathbf{v} > 0 \)이므로 \( \lambda > 0 \)이 증명된다.

그러면 반대로 실수 대칭행렬의 고유값이 모두 0보다 크다면 그 행렬은 정정 행렬일까? 증명해 보자.

먼저 \( n \times n \) 실수 대칭행렬 \( A \)의 고유값 \( n \)개를 \( \lambda _1 \), \( \lambda _2 \), \( ... \), \( \lambda _n \)이라 하고 그에 대응하는 고유벡터 \( n \)개를 \( \mathbf{v}_1 \), \( \mathbf{v}_2 \), \( ... \) , \( \mathbf{v}_n \)이라고 하면 다음 식이 성립한다.

 

\[ \begin{align} A \begin{bmatrix} \mathbf{v}_1 & \mathbf{v}_2 & ... & \mathbf{v}_n \end{bmatrix} &= \begin{bmatrix} \lambda _1 \mathbf{v}_1 & \lambda _2 \mathbf{v}_2 & ... & \lambda _n \mathbf{v}_n \end{bmatrix} \\ \\ &= \begin{bmatrix} \mathbf{v}_1 & \mathbf{v}_2 & ... & \mathbf{v}_n \end{bmatrix} \begin{bmatrix} \lambda _1 & & & 0 \\ & \lambda _2 & & \\ & & \ddots & \\ 0 & & & \lambda _n \end{bmatrix} \end{align} \]

 

여기서

 

\[ \begin{align} P &= \begin{bmatrix} \mathbf{v}_1 & \mathbf{v}_2 & ... & \mathbf{v}_n \end{bmatrix} \\ \\ \Lambda &= \begin{bmatrix} \lambda _1 & & & 0 \\ & \lambda _2 & & \\ & & \ddots & \\ 0 & & & \lambda _n \end{bmatrix} \end{align} \]

 

로 놓으면 위 식은 다음과 같이 된다.

 

\[ AP = P \Lambda \]

 

행렬 \( P \)는 고유벡터를 열로 하는 행렬이고 \( \Lambda \)는 성분이 고유값인 대각행렬이다. 고유벡터들은 서로 직각이므로 \( P^T P=I \)이 되어서 \( P^T=P^{-1} \)이다. 따라서 위 식의 양변에 \( P^T \)를 곱하면

 

\[ A=P \Lambda P^T \]

 

가 된다.

이제 \( \mathbf{x} \)를 0이 아닌 어떤 벡터라고 하면,

 

\[ \mathbf{x} ^T A \mathbf{x} = \mathbf{x} ^T P \Lambda P^T \mathbf{x} \]

 

이 된다. \( \mathbf{y} = P^T \mathbf{x} \)로 놓으면,

 

\[ \mathbf{x}^T A \mathbf{x} = \mathbf{y} ^T \Lambda \mathbf{y} \]

 

이 된다. 벡터 \( \mathbf{y} \)를

 

\[ \mathbf{y} = \begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{bmatrix} \]

 

이라고 하면, 위 식은

 

\[ \begin{align} \mathbf{x} ^T A \mathbf{x} &= \mathbf{y} ^T \Lambda \mathbf{y} \\ \\ &= \lambda _1 y_1^2 + \lambda _2 y_2^2 + ⋯ + \lambda _n^2 y_n^2 \end{align} \]

 

이 된다. 가정에 의해서 고유값이 모두 0보다 크고 \( \mathbf{x} \ne 0 \)이므로 \( \mathbf{y} \ne 0 \)이어서, 위 식의 덧셈의 총합은 0보다 크다. 따라서 행렬 \( A \)는 정정 행렬임이 증명된다.

 

 

결론적으로 정정 행렬의 모든 고유값은 0보다 크며, 그 반대로 어떤 실수 대칭행렬의 고유값이 모두 0보다 크면, 그 행렬은 정정 행렬이다. 따라서 어떤 행렬이 정정 행렬인지 아닌지는 고유값을 이용해서 판별할 수 있다.

 

 

댓글